Responsible Rails 讀書摘要

斷斷續續看完了 Responsible Rails 這本小書,蠻喜歡這本書的主題,講 Production 上的實操問題。

可惜內容作者沒有完全寫完,裡面還留著很多 (TODO),不過還是有一些不錯的出錯倒站故事跟心得就是了。

一些摘要:

  1. 強調 Responsible Software Developer 的重要性
    1. 軟體開發的整個流程,到實際部署給 end-user 後,又是新的世界: 各種 bugs、意外倒站、DevOps 問題等等
    2. Say No! To regressions 以及要專業處理 bugs, failure 和各種意外
  2. Production 的意外處理
    1. 要立即讓相關人等知道情況
    2. 給出預估修復時間
    3. 事後 post-mortem 分析
  3. 對外的 integrations 要紀錄所有 input 和 output,有助於事後分析
    1. 除了 happy path,也要問客戶什麼是 business-critical failure paths,要重點處理
    2. 各種 Service 的 integration 要 fail fast, 要設定 timeout
  4. 關於 Domain Event (也適用於API設計) 小心修改、Mutable messages 是 anti-pattern、傳遞 generic attributes 也是 anti-pattern
  5. MySQL 要用 utf8_bin,這樣字串比較才會精準
  6. 網路相關的 integration 應該要考慮拆開或其他容錯處理,例如用 background job, 設定 timeout, 用 service object 包錯誤處理等
    1. 作者碰到的問題是 Elastic Search 因為 AWS 掛了,造成全站都掛。但理想上應該只影響 全文搜尋 就好
    2. 推薦讀 Release It! 這本書
  7. 推薦可用 feature flag 來做 高頻次的小變更部署,提早發現錯誤,要修復也快
  8. External JS 會拖慢 CI,在 capybara 裡面有設定可以關掉
  9. 記得加 DB indexes,作者有次跑 rake script 跑了 20hr,加了 index 後只要幾分鐘
    1. 寫 Script 顯示完成百分比沒用,建議多顯示每處理 1000 筆花了多久時間
  10. 小心套件升級: 可能會有 bug,若不急可以等等。即時是安全性升級也可能有 bug,可以多了解細節再決定要不要趕著升級。
  11. 刪除 production data 要萬分小心
    1. 不要刪
    2. 真的要刪,code 請同事幫忙 review
    3. 把資料搬到別處,而不是直接刪除
    4. 真的要刪,先手動備份
  12. 寫驗收測試降低 regression 可能性
  13. 要成為 responsible developer 必須了解 devOps

Tweets 整理 (2021 Q2)

2021/6

2021/5

2021/4

Release It! 讀書摘要

Release It! 第一版出版於 2007,獲得了 2008 年的 Jolt Awards 獎。第二版是 2019 年出的,跟第一版差了11年,二版前半段講 Stability 的內容一樣,這也是我認為這本書最精彩的部分。而二版整個後半章節幾乎用全新的 DevOps 內容改寫了,十年間的變化還是很大的 :>

這裡摘要第一版 + 第二版上半的一些心得重點,第二版下半段講 DevOps 這幾年講很多了,很多知識點這幾年很熱門都知道了,就沒有細看了。

何謂 Stability

Resilient system 在當有突發流量或持續壓力時,用戶仍能完成任務不會全面崩潰。

閱讀全文〈Release It! 讀書摘要〉

非線性成長 讀書摘要

這本非線性成長(簡體書),算是 2020 年念過最喜歡的一本書。作者黃有燦是三節課的共同創辦人,我也買過三節課的好幾門課程,都還不錯。

我通常不太喜歡看個人成長的書,因為大多是很顯而易見的正確教條,舉例跟故事性太少。例如 Ray Dalio 的原則,他的原則很棒,但是書讀起來其實蠻無聊的。但非線性成長這本寫的很精彩,總結個人經驗有邏輯又有很多案例,不只是個人成長,連如何營銷管理的思考架構也有提到。對於已經工作 5 年以上,本行專業技能已經不成問題,想要有所突破的工作者,會蠻有幫助的。

閱讀全文〈非線性成長 讀書摘要〉

Tweets 整理 (2021 Q1)

2021/3

  • 2021-03-30 21:36 ARKX 今天掛牌上市了,買個幾股 🚀🚀🚀 # 美股
  • 2021-03-29 21:28 @thecat 這事還有更多紅棒 t.co/y8gHWcBl1w
  • 2021-03-29 20:24 供應鏈管理: 高成本、高庫存、重資產的解決方案 (藍皮書) 讀書摘要 t.co/2ZdIRpCSCv # 可能要踩過一些坑才能體會庫存管理的痛苦。想要的缺貨、不想要的庫存一堆,然後你在N個月前就得預估銷量下採購了….
  • 2021-03-21 19:04 @thecat BvS 前面還有一樣是查導的 “超人: 鋼鐵英雄” 喔,這樣劇情才接的起來
  • 2021-03-21 18:51 @thecat 是在上一集”蝙蝠俠對超人 BvS”被怪物叉死的喔,不是 justice league
  • 2021-03-05 13:57 @wildjcrt 有,升級 ffi 跟 sassc 就可以了
  • 2021-03-05 13:24 @wildjcrt 正常,開心地使用中,用了就回不去 intel 了

2021/1

供應鏈管理: 高成本、高庫存、重資產的解決方案 (藍皮書) 讀書摘要

因為電商銷售工作的需要,想要了解如何解決實體商品的庫存管理問題。找書找到劉寶紅系列的書很不錯,不是教科書那種,一整套有五本,分別是:

  • 藍皮書: 這系列的入門書
  • 紅皮書: 主要講採購和供應商管理
  • 綠皮書: 針對第一本藍皮書的中間治亂部分: 需求預測、庫存計畫、供應連執行,展開來細講
  • 青皮書: 針對上一本需求預測和庫存計畫,又更進一步講統計公式跟計算
  • 橘皮書: 講供應鏈職涯,如何成為供應鏈領域專家

我先看了藍皮書,這作者真會講的、內容很流暢、故事很真實精彩。工作上營銷以外想要解決的產品和庫存問題,在這本書裡面都有講到。

基本改變了我對什麼是供應鏈管理的想像,原本以為只有生產採購管理,跟我營銷端沒啥關係。沒想到跟產品設計、營銷業務都有關係,像我就特別想了解中間庫存管理的部分,這套書就講得特別實戰。

企業核心職能

作者認為就三個職能:

  1. 產品管理: 研發出產品
  2. 需求管理: 把產品銷售出去,目標是業績和利潤
  3. 供應鏈管理: 生產產品,目標是要低成本又快速的生產出來。這又包括
    1. 計劃: 目標是 有貨率與週轉率
    2. 採購: 目標是 價格與供應商質量
    3. 生產: 目標是 速度與產品質量
    4. 物流配送

這本書針對供應鏈管理: 如何把成本做下來,把速度做上去,提出三個部分來解決:

閱讀全文〈供應鏈管理: 高成本、高庫存、重資產的解決方案 (藍皮書) 讀書摘要〉