DevOps

在 Windows 架設 nginx + php

安裝 nginx

前往 nginx 官網,下載nginx/windows 的檔案

這裡下載的版本是 Stable version - nginx/Windows-1.12.2

在 C 槽新增一個 nginx_php/ 資料夾

將下載的nginx 壓縮檔解壓縮後放入

Continue Reading

SQL Joins

A LEFT JOIN B: 左外聯結,取得兩個資料表中,與A有關的資料。 A RIGHT JOIN B: 右外聯結,取得兩個表單中,與B有關的資料。 A INNER JOIN B: 將兩者匹配的資料取出來,即取得AB交集。 A OUTER JOIN B: 將兩者匹配及沒匹配的資料都取出來,即取得AB聯集。

Continue Reading

MySQL - Text 和 Blob 特性探討

簡介 MySQL 儲存格式中,常用TEXT或BLOB來儲存長字串 兩者之間的差異主要為: TEXT 只能儲存字元資料,BLOB 可以保存二進位資料(圖片..) 通常,根據內文預期的長度來挑選適當的類型 Type | Bytes | English words | Multi-byte words ———–+—————+—————+—————– TINYTEXT or TINYBLOB | 255 | ±44 | ±23 TEXT or BLOB | 65,535 | ±11,000 | ±5,900 MEDIUMTEXT or MEDIUMBLOB | 16,777,215 | ±2,800,000 | ±1,500,000 LONGTEXT or LONGBLOB | 4,294,967,295 | ±740,000,000 | ±380,000,000

Continue Reading

如何調整 MySQL 上傳資料庫檔案大小限制 [紀錄]

php 預設都會有檔案上傳大小、傳輸時間等等限制

雖然一般資料庫都是由DBA負責維運,但有時在維護特殊的專案時,

也可能需要用到匯入測試,進而需要調整一些設定,

所以直接把常用的參數記錄起來,也可方便於日後查詢

Continue Reading

自動化測試工具介紹

主流測試框架介紹

本篇主要參考 Essential Skills for Landing a Test Automation Job in 2018 內容整理而成。

Test Automation Engineers (測試自動化工程師) 在業界的需求有不斷持續的增加的趨勢,從去年 34% 已成長到 40%

Continue Reading

MySQL - 浮點數與定點數

一般對於數字應用上,多數還是以整數為主 實際應用時,通常會先考量數字長度,並且通常都不會有問題 但是遇到與金融交易時,常常會牽涉到小數點的問題,也就是這裡要談的議題 - 定點數與浮點數 浮點數 具有小數點,插入的資料若小數點超過預設長度,則會實施四捨五入 在MySQL中,float, double( or real) 都可以用來儲存浮點數 在使用時,可能會有誤差的問題 定點數 字串形式存放數值,若插入的數值長度超過預設長度,會回報錯誤 (在SQLMode 預設情況仍會四捨五入後,插入資料) 在 MySQL 中,decimal (or numberic) 都可以用來儲存定點數 對於精確度要求較高的資料,都要使用定點數來儲存 範例 我們直接來建立一個浮點數及定點數的資料表 MariaDB [example]> CREATE TABLE float_and_decimal(flo float(10,2), deci decimal(10,2)); Query OK, 0 rows affected (0.

Continue Reading

MySQL - 檢視表 (View)

檢視表是一個虛擬的資料表,從MySQL 5.0.1 版本即開始支援 在使用時,設計者可自行將多個表格進行關聯、篩選,製作成一份獨立的檢視表 使用上,具有以下優點 簡單明瞭: 使用者不需要理解整個資料結構,直接呼叫檢視表就能取得整合完成的資料 安全: 使用者僅能看到檢視表允許查詢的部分 獨立: 檢視表結構會彙整關聯的資料表,當關聯資料表新增資料時,也能同時取得;僅有當關聯表修改列名時,才需要調整檢視表的結構對應名稱 建立檢視表 CREATE OR REPLACE VIEW user_view AS SELECT * FROM user; Query OK, 0 rows affected (0.01 sec) 刪除檢視表 DROP VIEW user_view Query OK, 0 rows affected (0.

Continue Reading

GraphCool 介紹

安裝 GraphQL Server 教學 這裡會紀錄 GraphQL 也稱 GraphCool 的操作 安裝 首先,用管理員權限開啟 cmd,安裝graphcool 安裝 graphcool npm install -g graphcool 初始化graphcool專案 接著,前往專案資料夾,建立 local 端的graphcool管理初始化 graphcool init Deploy 安裝完畢後,會看到選項 graphcool deploy, 將你的Graphcool server發布在線上 graphcool local up, 開始你的本地端Graphcool graphcool add-template facebook-auth, 加入facebook 驗證

Continue Reading

MySQL - InnoDB 簡介

MySQL 5.0 之後的版本支援的儲存引擎包括 MyISAM, InnoDB, MEMORY, CSV …等 其中 InnoDB 屬於交易安全表(支持交易,行級鎖定,外鍵和表加密) MyISAM、MEMORY、CSV則屬於非交易安全表。 將目前支援的儲存引擎列出來,就能看到個引擎的支援狀況: > SHOW ENGINES \G ... *************************** 2. row *************************** Engine: InnoDB Support: DEFAULT Comment: Percona-XtraDB, Supports transactions, row-level locking, foreign keys and encryption for tables Transactions: YES XA: YES Savepoints: YES *************************** 3.

Continue Reading

MySQL - ENUM 與SET 類型比較

ENUM 列舉陣列 與 SET 集合 非常類似 底下分別說明兩者類型,以及舉例說明: ENUM ENUM 最多可預設 65535 個成員 1-255個成員 (佔1位元) 255-65535個成員 (佔2位元) 存取資料時,只允許從預設的成員之中,挑選其中單一值 也可以用數字代表,1就代表第一個成員..以此類推 範例: > CREATE TABLE enum_demo (name VARCHAR(10), gender ENUM('M','F')); 回應: Query OK, 0 rows affected (0.

Continue Reading

MySQL 內建功能函數 - IP 格式轉換處理與天數計算

這裡特別介紹MySQL內建的功能函數

分別說明如下:

Continue Reading

SQL 資料庫設計 - 讓產品支援多國語系的四種方式

一、單列方式 (Column Approach) 在單一列,設定多個語系欄位 優點: - 簡單 - 易於實施 - 輕鬆查詢 - 無需JOIN - 沒有重複 - 沒有重複的內容(每個記錄只有一行,只有語言列被重複) 缺點: - 很難維護 - 如果只有2-3種語言會很容易維護,但當您有很多欄或很多語言時,它變得非常龐大且不容易維護 - 很難添加新語言 - 添加新語言時,有設定多國語言的欄位都要進行新增調整(以及db用戶的特殊訪問權限) - 佔用空間 - 如果不是所有的項目都必需翻譯(例如在某些地方,只需使用默認語言),它可能會導致冗餘數據或空的db字段 - 需要建立檢視判斷 - 需要依照目前語系環境決定要撈出哪一列,還需額外判斷才能達成

Continue Reading

Git 操作筆記

這裡簡單記錄一些常用的 git 指令

Continue Reading

windows10以及之前版本,如何開啟啟動資料夾 (開機時自動啟用軟體)

在windows系統用戶安裝的多數軟體,通常都會自動設定"開機自動啟用"功能,

但是,並不是所有軟體都會預設開啟這項功能,

如果你想手動的方式來達到 開機時自動啟用軟體

通常會直接透過windows 啟用資料夾的方式來管理,

只要將你的軟體捷徑圖示(或者啟用程式)直接拖曳複製一份到啟用資料夾

就能夠達成在開機時自動啟用這個軟體,

這裡將會說明 windows10、windows8、windows7、windows xp 的啟動資料夾在哪裡

Continue Reading

如何關閉/停用 windows 開機啟用項目

電腦隨著使用時間越來越長,安裝的軟體服務通常也會越來越多,

原本多元的軟體可以讓你更加方便的工作及管理作業,但是產生的困擾就在於,

多數軟體都會自動加入開機程序,當電腦開機後會自動執行,

當開機自動啟用的項目越來越多,

就會明顯發現電腦開機的速度越來越慢,非常不方便

因此,接著內容會說明如何開啟或關閉開機啟用軟體的方法:

Continue Reading

手動查詢網址WHOIS Domain Name 或 IP 的DNS設定 - nslookup

在很多情況,我們會需要使用手動方式查詢 domain name 或 ip 的DNS設定

例如: 一般設定好DNS之後,都需要一段時間才能完成配對,這時我們就能透nslookup確定IP是否已經對應到dns

在這裡,會針對一些平時會使用的nslookup查詢方式進行說明

後續會陸續再新增更多說明及內容

Continue Reading

單頁應用程式的登入權限驗證 - 開源標準規範 JSON Web Tokens

在一頁式網頁架設登入系統通常是一件非常麻煩棘手的事情,

在一開始要思考的是該挑選哪個主流框架 Angular、React或Vue…

然後開始建立一個前後端分離的架構,只透過RESTful API來進行溝通,

在這樣的架構下,搭建CMS相當容易,前端通常只需要取得資料後,進行render出來即可,

##SESSION BASE 無用武之地 如果要建設會員或管理者權限功能,傳統 session-based 的權限登入方式相當簡單,

但是在透過 RESTful API 應用的框架中,session-based的方式則行不通,

此外,單純使用SESSION的情況,也必須解決資料跨 Server 的問題

Token

Token是一串加密字串,並儲存在前端, 當使用者再次操作時,就能在後端從資料庫中比對token, 檢查是否為有效的使用者, 但是這樣的查詢也會產生伺服器的負擔

Continue Reading

無法連結到內網 windows http server 時,該如何處理

最近有朋友在學習架設網站,想透過內網分享時,卻無法連線

在協助他處理完畢後,就順便將解決方法記下來

希望能幫助到遇到類似問題的朋友,順利解決無法連線的問題

Continue Reading

Juila language 應用篇

DataFrames

讀取csv 說明

先安裝 DataFrames http://juliastats.github.io/DataFrames.jl/stable/ 在julia終端機介面輸入下指令即可安裝

Pkg.add("DataFrames")

Continue Reading

Julia language 入門

Julia 是一種科學計算語言,具有以下特性:

  • 免費且開源 (MIT licensed)
  • 使用者可定義types的方式,增加效率
  • 不須為了增加效能而特別編譯程式碼,直接寫效能就已經很快
  • 適用於平行運算及分布試運算
  • 輕量綠色版
  • 強大的types系統
  • 可以優雅的對數字和其他類型進行轉換和拓展
  • 支援Unicode(當然包含UTF8)
  • 可以直接呼叫C的functions(不須額外加載或特定API)
  • 強大的類shell功能,用於管理其他進程
  • Lisp-like macros and other metaprogramming facilities

以下是學習過程的一些紀錄:

Continue Reading