這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

情人節左右似乎是雲端大廠的新產品發表會,先有 Google 的 Cloud Spanner 又有 HTTPS LB ,之後 AWS 又出了 Amazon EBS . 更別說深度學習最重要的平台(之一) Tensorflow 也在 02/16 正式發表了 1.0 的版本.

情人節最幸福的大概就是跟老婆(這輩子情人)跟女兒(相傳是上輩子情人) 一起度過了.



Go

muesli/beehive: A flexible event and agent system with lots of bees

透過 Golang 實作類似 IFTTT 的東西.

Top 10 Most Imported Golang Packages — Some Insights

有人分析了某個禮拜中最常被 imported 的 Golang 套件。

選出了十大套件,裡面有不少都是測試與 logging 用的。大家可以看看那些套件你們有沒有用過。

Building a Performant API using Go and Cassandra

使用 Golang 來建置高效能可以跟 Cassandra 互動的 API 很基礎的教學。 想學學怎麼透過 Golang 存取 Cassandra 並且從頭開始的教學文章可以看看這篇。

Exploring shared objects in Go

C 裡面使用 dynamic loading 是很平常的事情,但是在 Golang 裡面要怎麼用呢?

這篇文章詳細的介紹,並且有稍微比較與 C 語言不同的地方。

vim-go: New tool “GoAddTag”

vim-go 出了一個更好的工具,就是 GoAddTags 可以幫你直接在資料內加上 Structure Tag (json, xml, bson)

可以很快速地增加,減少或是更改內容. 再也不會不小心打錯 structure tag 了



Python



Android/JAVA/NODE.JS/Scala



Docker



Kubernetes

Highly Available Kubernetes Clusters

[Inside JD.com’s Shift to Kubernetes from OpenStack

](http://blog.kubernetes.io/2017/02/inside-jd-com-shift-to-kubernetes-from-openstack.html)

JD.com 分享他們從 OpenStack 轉換到 K8S 的經驗,主要原因是:

[TIL] How to to setup GPU experimental tag with kubernetes via kops



iOS/Swift



其他程式語言



論文收集

Fast and scalable minimal perfect hashing for massive key sets

code is here.



網站文章

Postmortem of database outage of January 31

業界都在傳 gitlab 因為不小心刪錯 production 資料而造成整個系統服務當機回朔六個小時的資料. 這一篇事後檢討報告可以好好的閱讀.

這裡有另外一篇中文的可以看看.

How eBay’s Shopping Cart used compression techniques to solve network I/O bottlenecks

Cheat Sheet: All Facebook Chatbot Interactions

一些關於 Chatbot 的 UI/UX 的列表.

淘寶架構的演變史

其實就是講述一段(黑)歷史,到底淘寶是如何從頭打造成世界上最大的拍賣網站.幾件事情值得注意:

  • 一開始淘寶也是買來的,從 PHPAuction 那買來第一版來改
  • 買來的架構並不難,但是能夠搭配業務快速演變就是相當的難
  • “好的架构是进化来的,不是设计来的”。的确如此,其实还可以再加上一句“好的功能也是进化来的,不是设计来的”
  • 任何牛B的人物,都必须有一段苦B的经历

這篇文章從一開始買來的系統,發現業務發展得太快需要有太多架構上的修改講得非常清楚. 真的是不可多得的一篇好文章.

Amazon Elastic Block Store (Amazon EBS) Enables Live Volume Modifications with Elastic Volumes

AWS EBS 支援線上動態擴容,過程不斷線也不影響效能。 ( 這是要逼死誰 )

還可以換 storage type

Google全球级分布式数据库Spanner原理

Cloud Spanner 出來後,可以看看舊文了解它的原理.

Introducing Cloud Spanner: a global database service for mission-critical applications

Google 改變世界的幾篇論文中 (MapReduce, BigTable, Chuppy, Borg, Spanner) ,總算又有一個從論文變成商品了. 參考: 五大神論文

當然宣傳內容很讓人驚訝, CAP Theorem 可以完全(強)滿足嗎?可以看看這篇文章

當然我們都知道 CAP 無法都完全支持,大部分會選擇某些比較弱,當另外兩項選擇強支持的時候.

“Spanner does not actually beat CAP theorem. It chooses C over A when P happens. But the infra team in google manages it so well so they could still deliver high Availability to most users.”

但是,當然這麼好的神器便宜嗎?

“開一台 0.9 usd/hour,儲存和傳輸另外算錢” refer kaif

難道 Spanner 論文出來後沒有人試著把 Spanner 做出嗎?

當然有! 就是之前很紅的小強資料庫 CockroachDB ,所以他們當然趁著風頭繼續推廣他們的 Open Source 小強資料庫

最後,別忘記 CockroachDB 使用 Golang 寫的!! 歡迎加入 Go程式語言 (Golang Taiwan, Gopher Taipei)



Machine Learning

Google軟件工程師解讀:深度學習的activation function哪家強?_幫趣網

Announcing TensorFlow Fold: Deep Learning With Dynamic Computation Graphs



有聲書/影片心得






Buy Me A Coffee

Evan

Attitude is everything