Hello World
CodeTengu Weekly 碼天狗週刊
CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一 AM 10:00 出刊,每週會由三位 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到感興趣的東西,可能下一期就有了。你也可以瀏覽一下前幾期的內容。
目前的 curator 陣容:
- @vinta - I failed the Turing Test - 科幻迷,最近在讀 Wool
- @saiday - Imnotyourson - 電量給我這種人用就是一種浪費
- @tzangms - Oceanic / 人生海海 - 靠, 買比特幣了啊!!!
- @fukuball - ImFukuball - 有新工作了,但歡迎直接挖角
- @mingderwang - Ethereum enthusiast
- @kako0507 - 熱愛嘗試新事物的前端工程師
- @chiahsien - 徵有經驗的 iOS 工程師,快來 Twitter 私訊我
- @uranusjr - Smaller Things - 我要成為錯字王
- @kkdai - 態度萬歲 - Learning Deeply....
- @yhsiang
- @johnlinvc - 挑戰自動化家中電器
- @drumrick - 歡迎加入台灣 Kaggle 交流區
- @wancw
你也可以關注我們的 Facebook、Twitter、GitHub 或 Open Source 專案,有很多 weekly 看不到的內容。有任何建議也歡迎來 Gitter 聊聊。
@mingderwang
pytudes (Python 練習曲)
有些人想學 ML,但苦於 Python 不夠熟悉,這裏剛好有一些 Python 的練習程式與教學。重點是,這 git repo 的作者是我在 Stanford 網路上學人工智慧 時的老師之一,Peter Norvig。這些以前 A.I. 的老師,最後幾乎都到 Google 上班 (或已經離開了)。
註:現在要上課,也能到 UDACITY - Intro to Artificial Intelligence,完全免費!
now – Realtime global deployments
談到自動部署,我想沒有比 now 還要快的了。只是跟大家開一個玩笑,CI 不是只要能快速部署就夠了,還需要搭配其他情境使用。但對於喜歡一天寫一支 SPA,或是 micro service 的人來説,這未嘗不是一個好工具。
traefik or linkerd
看起來 linkerd 想要追上 traefik 還要加把勁... 另外還有一個後起之秀 istio,整合了 linkerd 在 Google Trends 應該會超越 traefik。
如果想進一步看 linkerd 與 istio 之間的比較,可以參考 Jeff Gensler 的 Linkerd vs Istio: my 2¢。
Rapid Ethereum Dapp Development with Next.js
最近以太幣跟比特幣都漲的很兇,如果先前有在玩 blockchain 的人,應該不會後悔當時的努力了吧。現在開始寫 blockchain 應用程式還來得及,這篇文章教你如何利用 Next.js 快速開發 Ethereum Dapps。
A Billion Taxi Rides on Google's BigQuery
Mark Litwintschik 做了很多瘋狂的實驗,他拿了 11 億筆 6 年來紐約市搭計程車的資料,放在各式個樣的環境裏做查詢速度的比較,有 PostgreSQL,AWS EMR 的 Presto,Elasticsearch 與另一個比較快的測試,還有這篇用 Google 的 BigQuery 等。更有趣的是,他還放在 3 台 Raspberry Pi 3 安裝 HDFS 與執行 Spark,太厲害了。
Bringing it all together with Google Pay
Google Wallet,也許很少人在用 Google Wallet,甚至沒聽過。2011 開始上市,到 2016 幾乎沒人再談 Google Wallet 了。剛看了一下 Google Payment Center 網站,竟然發現我在 17 Mar. 2011, 8:02 am 還真的用過,捐了 5,000 日幣給日本紅十字會。連我自己都忘記我用過了。沒成功的原因到底在哪裡? 這次直接把還有一點起色的 Android Pay 直接換名字叫 Google Pay,會成功嗎? 不管如何,誰會願意放棄這塊 payment system 大餅。
@johnlinvc
Meltdown
最近鬧得沸沸揚揚的 Meltdown 和 Spectre 可以說是近年來前幾大的安全漏洞,影響了最近十年的 CPU。 簡單來說就是 CPU 在亂序執行指令時,會在快取系統裡留下旁道攻擊弱點。 Meltdown 可以由作業系統的 KAISER 來避免,不過會影響效能。目前各大作業系統和雲端服務都已經開始處理了。 Spectre 影響的範圍則大得多,大多數的程式都會需要重新編譯,目前 LLVM compiler 已經開始 patch 一部分的 Spectre 漏洞了。
可以用來練習各種語言的開源平台, Exercism
有的時候想要學一個新的程式語言,但又不知道重哪裡開始嗎? 除了大家都很熟的 leetcode 之外,現在又多了一個新選項, Exercism。 這個開源平台提供了超過30 種語言的安裝教學,各種常見的練習題。在上傳答案後,大家可以一起對上傳的答案做 code review。 之前就想學 Swift, Erlang 了嗎? 現在就開始吧!
使用 Yelp 資料來預測餐廳會不會關門
作者用了 Yelp 上的資料來預測餐廳會不會倒閉。 準確率高達91%。他發現決定餐廳會不會倒閉的最重要因素不是評價,而是它是不是一間連鎖店。 我們在 iCHEF 也和凱基合作做過類似的事,幫助店家預測營運狀況。
PS. iCHEF 誠徵工程師中
@wancw
[翻譯] 我是這樣拿走大家網站上的信用卡號跟密碼的
一則簡單的寓言,提醒大家現在對 3rd-party 的過度依賴可能帶來什麼樣的安全問題。 (想想當初的 left-pad 事件。)
裡面也有些值得參考的技術資料:
- 偵測 DevTool 有沒有被打開的套件 devtools-detect
- 如何偵測 CSP (content security policy)
[TIP] 如何設計 RESTful API 避免重複建立資源
開發(或使用)HTTP API 最常遇到的問題之一就是建立新的 resource,
尤其是像訂單、文章這類沒有原生唯一識別資訊的資料。
作者建議用先 POST (創建 ID) 再 PUT (填寫資料)的方式。
雖然多一筆 request,但讓錯誤處理變得比較簡單。
Building a Simple Blockchain in Python
搞懂區塊鏈最快的方式是啥?
自己寫一個吧!或者……看別人寫一個。
這篇文章以 Python 程式說明基本的區塊鏈概念,包括:
- 區塊鍊(block & blockchain)是啥東西
- 挖礦在幹嘛(mining & proof of work)
每個 node 間的溝通則在 Part 2。
Cost of stubs in tests | Dmitriy Nesteryuk
用了 stub 可以讓 unit test 變單純,但其實只是把麻煩全都推到 integration test 而已。 與其完全依賴 intergration test 來找出物件互動時的問題,不如少用 stub。
作者認為以下情況還是適合用 stub :
- low-level library
- 存取網路或外部系統的元件
[Game] Human Resource Machine
從名稱看不太出來,這其實是個模擬 compiler 把高階指令轉換成低階動作(CPU 指令)的解謎遊戲。
雖然現在網頁、mobile app、AI 等高階應用比較熱門;對編譯器技術有興趣的人比較少。閒暇之時不妨玩玩這個遊戲,感受一下 compiler/interpreter 是如何轉換你的程式。然後感謝願意投入這些領域的人們吧!
它有 desktop、iOS、Android 等版本,可以從各家 app store 和 GOG、Steam 上購買。