Hello World
CodeTengu Weekly 碼天狗週刊
@vinta - I failed the Turing Test
@saiday - Imnotyourson
@tzangms - Oceanic / 人生海海
@vinta
Introduction to PDB
pdb 是 Python 內建的互動式 debug 神器,堪稱是 Python 的定海神針,只要往 source code 裡一插,什麼魑魅魍魎都會現形。不過我們通常不會直接用 pdb,而是會使用整合了 IPython 的 ipdb。其他選擇還有 pdbpp 和 pudb。
PS. 標題的連結是影片,懶得看影片的人可以直接看延伸閱讀。
Why Move to Cassandra?
這陣子除了多了不少新特性的 MySQL 5.7、能見度越來越高的 PostgreSQL 和持續被唱衰的 MongoDB 之外,跟 Google BigTable、Amazon Dynamo 系出同門的 Apache Cassandra 也是一個相當熱門的 NoSQL 資料庫。這篇文章提到了 Instagram、eBay、Spotify、Comcast 等大公司改用 Cassandra 的理由和其用途。
另外值得一提的,Planet Cassandra 網站上也有一個 Use Cases 專欄,列舉了世界各地、各行各業的公司使用 Cassandra 的經驗分享,從 News Feed、Recommendation Engine、Fraud Detection 到 IoT (Internet of Things),非常實用。真希望每個 open source 專案的官方網站都可以效法一下這種做法~
延伸閱讀:
淺入淺出 MySQL & PostgreSQL(來自 Ant 的簡報)
MySQL 5.7 版本新特性连载(一)
别再用 MongoDB 了!
How to Write a Git Commit Message
作者總結了各方意見,歸納出 7 條如何(用英文)寫好 git commit messages 的規則。因為文章有點長,沒有耐心的人可以點延伸閱讀或是直接看以下重點摘要翻譯:
- 在 commit message 裡用空行分成標題和內文
- 在內文裡說明 what 和 why,至於 how 其實看 diff 就知道了
- 開頭大寫
- 標題控制在 50 個字元以內
- 標題不要用句號結尾
- 標題一律使用「祈使語氣」(就是原形動詞啦)
- 內文每行控制在 72 個字元以內
延伸閱讀:
Format commit messages
從實例學設計模式
來自 KKBOX 的 @jaceju 關於物件導向程式設計的簡報,主要在講 SOLID 原則和幾個常見的 Design Patterns。
延伸閱讀:
Design Patterns
台灣勞工的轉型正義
作者是「政大學生勞動權益促進會」(簡稱:政大勞促會)的成員之一,前陣子政大因為不願意幫學校工讀生付勞健保費,而選擇解聘所有工讀生,校長周行一甚至還寫信給學生希望學生可以無償地幫學校勞動。這整起事件的「始作俑者」之一就是政大勞促會。作者在這篇文章中說明了即使會被視為是在「找碴」或「自我感覺良好的正義感」,爭取自己和其他人的勞動權益仍舊是重要的。
@saiday
ChenYilong/iOS9AdaptationTips
升級你的 iOS App 到 iOS 9 有什麼要注意的?作者整理了以下六點,有點感人啊(甚至還有中文版本):
- You'd better Convert HTTP to HTTPS
- iOS9 new feature in CoreLocation : background only when you need
- Untrusted Enterprise Developer with no option to trust
- Bitcode optional
- Privacy and Your App【URL scheme changes】
- Support Slide Over and Split View of iOS 9
facebook/fresco - Android 圖片下載、快取套件
載入速度快、也可以套 OkHttp 當 fresco 的 network fetcher client、文件寫得很全。
最大的特色應該是在 Android 4.x 以下把圖片的 cache data 放在 Ashmem Heap (匿名共享內存) 而不是 Java Heap,這避免了 Java Heap 因為塞圖片造成的 OOM (Out of Memory) 跟 GC (Garbage Collector) 啟動 App 變慢。
Advanced Swift
我有買這本在 iOS 界引領潮流、中流砥柱的 objc.io 出的 Advanced Swift,目前還是 pre-release,購買後新的章節推出會發 pdf 給你,也會把你加到一個 private 的 GitHub repo,裡面是原稿的 markdown。
也因為還在 pre-release,所以錯字跟錯 code 還不算少。目前已經推出了 Strings、Optionals、Collections 三章,預計有九章。
不愧其名 Advanced Swift,這本完全不適合當 Swift 的入門書,內容深度很夠。大概兩個禮拜出一章的時間,一章大概是 30 頁,有點像在追劇,蠻過癮的。
Defeating the Anti-Pattern Bully 💥 Part 1 - Singletons
最熟悉的人卻傷你最深 - Singleton。
Singleton 大概是最惡名昭彰的 pattern,從該作者在寫完 The right way to write a singleton in Swift 後被大家指責你在鼓勵更多人用 Singleton 的叫罵聲中可得知。
於是這篇就介紹了一下什麼時候可以用 Singleton,他舉了 Caching 的例子。也說明了怎麼用 Dependency Injection 替代你的 Singleton。
為什麼不好?
Singleton 因為 Global state 的特性非常難被單元測試、比起 Dependency Injection,Singleton 相對難以閱讀、不符合物件導向精神的 Single responsibility principle。
如果你在寫 Swift 的話,這個作者的 If you're Subclassing, You're doing it WRONG 也值得一看。
@tzangms
JAWS: The JavaScript + AWS Stack
用 JavaScript 搭配 AWS 的 S3 + API Gateway + Lambda + DynamoDB 組出來不需要 Server 的服務,(搓手,躍躍欲試)JavaScript 銳不可擋啊啊啊!
Automate Your Life And Job With ToDoist And IFTTT
其實是去年的文章,不過最近因為看到這篇才開始使用 todoist。文章裡面有一個搭配 IFTTT 用來寄工作報告給老闆的範例,覺得很有趣,得跟大家分享一下。
Unsplash it
一個叫 Unsplash 的網站提供的精美 placeholder 圖片服務,看了一下 Unsplash 本身就個提供免費 (do whatever you want) 的 License 圖片的網站。
