Transaction
一個 transaction 可以包含多種行為 (e.g. select、update、insert、delete)
transaction 不保證會成功,select 也可能會 lock
寫程式時,transaciton 不一定只有寫入才會失敗
ACID
單元性 (Atomicity)
全部執行,或全部不執行
全部執行 => commit
全部不執行 => 一個 query 失敗,全部 rollback 成執行前狀態
一致性 (Consistency)
不管
»
MyISAM
MySQL 5.5 以前預設引擎
不支援 transaction,僅能使用 table lock
table lock 不保證 ACID 的 Durability,有可能會掉資料
寫入時屬於 Exclusive Lock,其他人同時無法寫入與讀取
InnoDB
MySQL 5.5 及之後預設引擎
支援 ACID 特性,當機後不會掉資料 (需設定參數)
寫入時屬於 MVCC,支援多人同時寫入與讀取
Ref:
【筆記-轉載】MyISAM 與 InnoDB 帶來的
»
控制背景圖片的位置設定
可以設定背景圖片根據外邊框(border-box)、內距邊框(padding-box)以及內容邊框(content-box)來定位
Ref:
CSS3 background-origin 屬性
»
最近有個需求必須爬主站文章到活動網站
但因主站有設置 rate limit,連續打太多 request 會被導至 503
可想而知… 爬蟲就被拒於門外了
這時要在主站 nginx whitelist 裡加入爬蟲的 ip
http {
geo $whiteiplist {
default 1;
127.0.0.1 0;
10.0.0.0/8 0;
121.207.242.0/24 0;
}
map $whiteiplist $limit {
1 $binary_remote_addr
»
如何將爬回來的圖片,做 DESC 在前端顯示
使用 reverse_each
e.g.
Ref:
apidock - reverse_each
»
今天碰到一個需求,需將爬回來的 youtube 資料
丟進 carousel 的 slider 內 (3個一組,可以左右切換)
搜尋了一下,發現 ruby 有 reverse_each 這個方法可以用
e.g.
將分完組的資料,再進行一次 each 即可解決
Ref:
apidock - each_slice
»