[Linux] 使用 private key產生 public key 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 6月 26, 2018 如何使用 private key產生 public key: ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
[MySQL] schema 與資料類型優化 1月 06, 2021 選擇優化的資料類型 原則: 越小越好 因為會佔用最小的磁碟、記憶體與CPU快取。 越簡單越好 操作整數比操作字串代價低,因為字串排序規則 ex: 儲存ip應該用 unsigned int - 4 bytes, 用 varchar 會用到 15 bytes 儲存時間應該用 mysql 內建的時間類型 DATETIME, TIMESTAMP可以儲存相同資料:時間日期,精確到秒 TIMESTAMP 只用 DATETIME 一半的儲存空間,根據時區自動變化 TIMESTAMP 允許的時間範圍比 DATETIME 小很多 避免 NULL 在 innodb 上有單獨的 bit 儲存 null 值,但在 myisam,但還是盡量避免 整數類型 tinyint - 8 bits smallint - 16 bits mediumint - 24 bits int - 32 bits bigint - 64 bits 如果是有正負數的,會因為 1 bits 會用來記錄正負,故範圍為 -2^(n-1) ~ 2^(n-1) unsigned 的範圍則是 -2^n ~ 2^n MySQL 可以為整數指定寬度,例如 INT(11),其實沒什麼意義,11只是表示與 MySQL 相關工具(client 端的 cli) 用來顯示的長度,對於儲存與計算來說,INT(1)與INT(20)是一樣的。 實數類型 decimal(M,N) - M: 最大位數, N: 小數點後有幾位 ex: decimal(18, 9) => 9位數字.9位數字,總共使用 9 個 bytes float => 4 bytes double => 8 bytes decimal的計算雖然比較精確,但需要額外,但需要額外的空間與計算開銷,資料量較大時,可以用 bigint 代替 decimal,假設需要精準到萬分之一,則可以將數字*1百萬,將結果存在 bigint 內,可以同時避免福點數計算不精準與 decimal 計算代價太高。 字串類型 VARCHAR row_format=fix,這樣就都會固定長度,沒意義 varchar會需要額外1~2 bytes記錄長度, 假設用 latin1 charset, varchar(10) => 11 bytes, varchar(1000) => 1002... 閱讀完整內容
[ Linux ] 將訪問 port 80 的 流量到 port 8080, 清除防火牆規則 3月 20, 2016 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 閱讀完整內容
[Nginx] 使用轉址做負載平衡 1月 09, 2019 Ref: http://blog.51cto.com/smileyouth/1623766 https://serverfault.com/questions/597671/load-balancing-in-nginx-with-redirect-rather-than-proxy https://stackoverflow.com/questions/46515842/nginx-proxy-pass-same-protocol-http-https 有個需求是這樣的 現在前端使用某一個 url, 假設是 http://example.com/test 然後希望前端載入這個網址的時候, 可以讓這個 url 隨機導向N個不同的網域, 假設是 a.example.com, b.example.com, c.example.com 但是後面路徑要是一樣的 也就是 http://example.com/test?t=1 -> http://c.example.com/test?t=1 這樣該怎麼做呢? 先假設 nginx 路徑是安裝在 /usr/local/nginx 先建立一個 /usr/local/nginx_module的目錄 安裝這個 module 要先下載另一個 ngx_devel_kit 先到 https://github.com/simplresty/ngx_devel_kit/tags 找個版本下載 cd ~ && wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.tar.gz tar zxfv v0.3.1rc1.tar.gz #把解壓縮出來的目錄去掉版本號 mv ngx_devel_kit-0.3.1rc1 ngx_devel_kit && mv ngx_devel_kit /usr/local/nginx_module/ 然後接著下載 set-misc 這個 module 先到 https://github.com/openresty/set-misc-nginx-module/tags 找個版本下載 c... 閱讀完整內容
留言
張貼留言