這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

深刻體驗到時間不夠用的痛苦,又需要準備四月份的一些演講,又需要弄公司的東西,不過相當得充實又有趣啊.

四月一共有一場分享加上一場大型研討會.雖然兩個都會提到 Tensorflow ,但是內容有些不太一樣.



Go

Slide: 簡單介紹 golang 使用的 gc 演算法

介紹 GC 演算法在 stack 的 scan 方式,在 Go 1.7 的時候 stack rescaning 會造成 GC Pause (俗稱的 Stop-The-World).

在 Go 1.9 的 Proposal Eliminate STW stack re-scanning 就是為了要減少這樣的問題. 在 1.8 已經預設打開.

參考: DK 的文章

Automatic Stackdriver Tracing for gRPC

這篇講解了如何透過 Golang 來撰寫一個使用 stackdriver (也就是 Google 之前所併購的線上分散式追蹤 distributed tracing 的工具) 來查看在 gRPC 下問是否有任何問題.

想要試試看 Open Source 的 distributed tracing ? 那麼可以試試看最近進入 CNCF 的 Open Tracing . 官方的部落格有一個範例讓你學習如何用 Golang 透過 Open Tracing 來追蹤 http latency

名詞解釋: CNCF (Cloud Native Computing Foundation) 是由 Google, Intel, CoreOS 與華為 等等各家網路 大公司所組成的協會.主要選取一些優秀的服務來推廣適合作為 Cloud Native Computing 之用.. 目前裡面的軟體有: Kubernetes, Prometheus, Fluentd 與 GPRC .. 等等 Cloud Native 上重要的服務

3.5 Years, 500k Lines of Go (Part 1)

juju 是ubuntu 開源出來使用 Golang 開發的 devops 工具,目前已經開發了超過三年多的過程.他們分享在公司內部如何使用 Golang 的.

不論是如何做 package management (使用 godep) 或是專案的如何組織與分割各種不同的 repo .分享了許多使用 Golang 作為大型專案開發的經驗,很推薦大家一起來學習.



Python

Qix-/better-exceptions: Pretty and useful exceptions in Python, automatically.

可以讓 python 的 exception 顯示得更漂亮.

Android/JAVA/NODE.JS

derhuerst/tcp-over-websockets: Tunnel TCP through WebSockets

透過 websocket 來做 TCP tunnel .



Docker

iOS/Swift



其他程式語言



論文收集



Kubernetes

Lessons Learned: Using Concourse In Production

這篇介紹了 ChatWork 這間公司從 AWS EC2 + Jenkins 移到 Kubernetes Helm + concourse CI 所學習到的一些課程.

有好的部分,也有一些犧牲,挺值得看看的.

https://kubernetes.io/docs/concepts/cluster-administration/access-cluster/ 搞懂 API server ….

  1. token, namespace 只能在 pod 裡面使用…
  2. API server 也建議從 pod 裡面呼叫…
  3. pod 裡面都會有 /var/run/secret ….. 的資料… 裡面就是從 pod 裡面設定的權限…

參考

Monitoring Kubernetes

由 sysdig 寫的技術部落格,主要是講解如何在 Kubernetes 上面做監控( Monitoring ).內容整理得相當好.

一連有五篇,一開始從 Kubernetes 的基本開始介紹.並且介紹大家常用的 cAdvisor, Kubernetes Dashboard, Kube-state-metrics 跟 Probes.並且也有介紹經常遇到的問題與解決方式.

當然.. 最後會廣告一下他們自己的產品 XDD



Machine Learning

GitHub - readbeyond/aeneas: aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)

有人寫出透過 python 與 c 來做自動對聲音跟文字的工具.

GDG-Shanghai 2017 TensorFlow Summit Recap

GDG SH RECAP slide 相當有幫助喔

Neural Networks and Deep Learning: Free online ebook

不錯的電子書關於類神經網路與深度學習.

Index of Best AI/Machine Learning Resources

整理一些不錯的 Machine Learning 的資源.

Practical Deep Learning For Coders, Part 1,

快速學會寫深度學習的程式,免費 18 小時線上課程

Models built with TensorFlow

這邊列出不少透過 Tensorflow 建立出來的有趣 ML Models ,不論是 image to text 或是 NLU 專案都有.

[slide: Stream Programming

with Kafka Streams](https://docs.google.com/presentation/d/1YOFdWrNtXQccKuup8OO-DIARN4V5eft3N9-TwZb4rBw/edit#slide=id.p)

強者我同事在 Flink Meetup 上面討論關於 Kafka Streams

Data Coding 101 – Intro To Bash

許多.. bash 相關技巧,對於做 data coding 的人有很多幫助.



網站文章

Learn how to design large-scale systems. Prep for the system design interview.

[學習如何設計一個具有規模的系統]

這一篇整理了很多大型系統會用到的一些範例,原本作者是準備要作為面試之用,裡面整理了許多關於大型或是分散式系統的設計原理,原則甚至是一些模式.

雖然我們都已經經常在使用,但是這一篇文章相當適合當作大型系統設計的教材.

I’ve been a Web Developer for 17 Years, and this is what I learned - Daniel Khan

很有趣的故事…. 也可以看到這十多年 web developer 的改變

OpenTracing: Towards Turnkey Distributed Tracing

舊聞… 不過看完就知道 opentracing 為何可以進 cncf 了.. dapper 論文發了之後… distributed tracing 就是顯學…

雖然是官方的廣告 blog 不過整個介紹的夠清楚…

網站收集



有聲書/影片心得


Buy Me A Coffee

Evan

Attitude is everything