這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

忙完了幾個研討會後,可以慢慢回歸正常的學習生活. 目前專注於研究 Kubernetes 的代碼與運作架構. 歡迎各位先進來討論討論 :)

此外,最近在籌辦新一次的 Golang 聚會 (Gopher Taipei Gathering ) 歡迎大家一起參加.如果發現報名報不到,歡迎參與閃電秀來分享一下 :p .



Go

fastcsv:

這個套件因為它支援的 csv 種類比較少所以能號稱比原生的 Enconding/csv 快上五倍.

有人因為 encoding/csv 真的太慢了,於是發了 issue

  • Go: avg 1.489 secs
  • Python: avg 0.933 secs (1.5x faster)
  • Java: avg 0.493 secs (3.0x faster)

恩… 真的不快吧 XDDD 有興趣的可以進去 issue 裡面看更多的細節

iamduo/workq: Job server in Go

Golang 寫的 Job Scheduler ,具有一千多的 star

Introduction to OAuth on gRPC

透過 GRPC 的方式來串接 OAuth Server

[有用小技巧] 使用 gofmt 與 golint 將 snake_case 換成 camelCase

由於 Golang 還算新,所以許多人原本都是從 java 或是 python 來學 GO . 就容易在程式碼裡面看出一些蛛絲馬跡 ( 使用 python 的 snake_case 或是 使用 foo().bar().do() 這樣類似的用法.

這個工具可以幫你把 GO 程式碼裡面所有的 python snake_case 轉換成 camelCase.

golint |
   awk '/should be/{printf("gofmt -w -r %c%s -> %s%c .\n", 39, $9, $12, 39)}' |
   sh

coreos/dex: OpenID Connect Identity (OIDC) and OAuth 2.0 Provider with Pluggable Connectors

coreOS 開發出來的 dex 不僅僅支援 openID , OAuth 還可以快速的跟 Kubernetes 整合

https://github.com/dgryski/go-lttb/commit/b13787546e2d18325b0222e9cad298a3943c7fab

[有用小技巧] 使用 gofmt 與 golint 將 snake_case 換成 camelCase

由於 Golang 還算新,所以許多人原本都是從 java 或是 python 來學 GO . 就容易在程式碼裡面看出一些蛛絲馬跡 ( 使用 python 的 snake_case 或是 使用 foo().bar().do() 這樣類似的用法.

這個工具可以幫你把 GO 程式碼裡面所有的 python snake_case 轉換成 camelCase.

gravitational/teleconsole: UNIX shell broadcasting tool

類似 tmate 有自己帶網路伺服器的 SSH console sharing 小工具.

透過一個自己建立的 SSH Public 伺服器,甚至可以提供防火牆內的使用者來分享自己的終端器介面.

此外,補充一下 原來不需要 tmate , tmux 跟 screen 就可以。



Python

How I built a Slack bot to help me find an apartment in San Francisco

這篇很有趣,他分享了如何透過自己寫的 Slack Bot 來幫自己找房子.

projectcalico/calico-containers: Project Calico deployed in a containerized environment

calico 是一個幫助你設定網路的工具(類似 ip addr 但是功能比較強大) .



Android/JAVA/NODE.JS/Scala



Docker



Kubernetes

Huawei Launches a Kubernetes-based Container Engine

Huawei 發表了他們自己的 Container Engine 稱為 CCE (Cloud Container Engine).市場似乎針對 NFV 因為高喊著極低的 CPU 與 network latency .

awesome-kubernetes

不少關於 Kubernetes 好的文章介紹. 不論從起源,如何使用,如何在 RPI 上面架設都有清楚的介紹.

Kubernetes Logging With Elasticsearch and Kibana

如何使用ElasticSearch 跟 Kibana 來串接 Kubernetes 的 log .



iOS/Swift



其他程式語言



論文收集

Majority agreement is not necessary for consensus

論文草稿

來自劍橋的博士生 Heidi Howard 針對 Consensus 演算法 Paxod 提出了一個相當有趣的見解.也就是在至少達成一個 commit 的狀態下,可以不需要達到 majority agreement (超過半數的同意) 就可以讓 Paxos 保有相當程度的穩定 (Steady state) 與可用性 (avaliability) .

相當有趣的論點,要好好找時間來瞭解一下. 同時相當推薦可以看看這個博士生的部落格,有著相當多對於 Consensus Algorithm 的研究.



網站文章



網站收集



有聲書/影片心得

Kubernetes Migration with Sheriff Mohamed

15 years company GolfNow share experience move from C# .Net to #kubernetes




Evan

Attitude is everything