這是什麼?
程式週記主要內容如下:
Gihub project 介紹:
- 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢
網路文章心得:
- 會寫些心得,強迫自己閱讀.
“程式週記”並且定期週期性更新.
大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.
本週摘要
這個禮拜有三天請假,因為帶我的小孩去石垣島的 ClubMed 遊玩.雖然當地每天都是 Buffet 吃到飽,但是我跟老婆還是因為照顧小孩子太辛苦而消瘦.
由於只有兩天,本週專案想了很久不知道要寫什麼.於是先把上週的專案加以應用.但是也重寫了好幾次,並且想不到一個很好的處理方式.
Go
dgryski: best practices for writing high-performance Go code.
大大 dgryski 教導如何寫出高效能的 Go App.
Replication of Etcd - Blog With ReeZhou
有介紹 etcd 裡面使用 raft 的 propose 的流程分析.
Suffix arrays in the Go standard library
介紹如何使用 Go 內建的 Suffix Array ,其實 Go 內建也有 container/ring 的套件可以用.這裡有篇介紹文章.
To create package alias for your #Go tool by using “go list”
Application data caching using SSDs
Netflix 最新的部落格提到有一個 golang 寫的 application data cache proxy - Rend 決定資料要存放 memcached 或是 SSDs
Abstracting S3 for Fun and Profit in Go
試著做一出一個類似 AWS S3 的服務.
Practical Golang: Using Protobuffs | Jacob Martin
一些關於 Protobuf 的實際應用.
VoV is a high score game for Android
完全使用 Go 開發的 Android 射擊遊戲.
Four and a Half Years of Go in Production at goto Chicago 2016
講解 iron.io 在四年半前如何從 ruby 換到 Go 的故事. 當時 Go 才一年多,算是相當新的程式語言.他們必須要說服相當多人如何從穩定的 Ruby 換到一個嶄新的嘗試,並且還不敢開始找 Go 工程師 (怕找不到?)
How to organise a Go HTTP service
教導你要如何組織你的 Http Go App ,這裡有更詳細的文章
Python
Android/JAVA/NODE.JS
Docker
iOS/Swift
其他程式語言
PHP GitHub - howtomakeaturn/pay2go-invoice: 一個用來呼叫智付寶電子發票API的library。
先備份起來,這種東西需要的時候總是會想看看.
論文收集
API Design Reviews at Scale
[論文][Paper] Jump Consistent Hash algorithm
Some implement code here.
網站文章
淺析 serverless 架構與實作
算是最齊全資料的繁體中文 serverless 架構與實作解析.
Fizz Buzz in Tensorflow
關於 tensorflow 的笑話.(應該只有工程師才看得懂)
m157q: GCP 筆記: CP100A: Google Cloud Platform Fundamentals
阮一峰:要聊天,先付费
將群聊當作諮詢的一種要收費,這樣的商業模式到底能不能起來.
时序列数据库武斗大会之什么是TSDB
關於 TSDB 的一些基本介紹.
Amazon Debuts Flourish, a Runtime Application Model for Serverless Computing
AWS Serverless部門的GM @timallenwagner 宣布AWS即將來源一套Serverless開發工具叫Flourish, 感覺是一個能在本地開發測試的IDE或SDK,一起期待了
How I Satisfied My Passion for Software Development and Open-Source by Doing a Part-Time PhD
講解一個人如何邊上班邊做 Open Source 並且念完博士班.
來日本工作三個月的心得
講解在日本的 Line 工作有不少與在台灣工作不相同的地方.提到面試,專案時程與文化. 很值得一看.
为什么你有10年经验,但成不了专家?
除了工作經驗之外,沒有不斷的努力學習與自我強化.沒辦法說自己是專家的.
網站收集
StackOverkill: Programming language and framework ranking based on StackOverflow’s activity
一個專門搜集 Stackoverflow 一些趨勢的網站,可以看看最近受歡迎的問題來自於哪個平台.哪些問題比較多.
有聲書/影片心得
podcast: Dropbox’s Magic Pocket with James Cowling
幾個月前 Dropbox 離開 Amazon S3 離開到自己建立的 Magic Pocket 硬體架構,被稱為是史詩般的故事.
Dropbox storage lead James Cowling 來談談當初的轉換過程.不少有趣的架構討論與經驗談(包含測試).
會放在這裡是因為在 (32:55) 開始會討論到使用 Go 與 Rust 在的選擇上.
大家都知道 Dropbox 本身是使用 Python 起家的,但是他們喜歡 Go 的 Concurrency 跟 Strong type system ,架構語言選擇上:
- 整體架構使用 Golang ,整個流程.
- 商業部份的邏輯仍舊使用原來的 Python
- 硬體相關與記憶體相關操作使用 Rust ,因為 Rust 在記憶體部分比較有彈性.
有考慮使用 Go 與 Rust 的人可以聽聽那一段.
Steve Klabnik 介紹 Rust
透過淺顯易懂的方式來介紹 Rust ,並且介紹三大 Goal:
- Safety
- Speed
- Concurrency
如果你還在觀看 Rust ,針對以下三個角色講者也提出一些 Rust 會吸引你的地方:
- 如果你是 C/C++ 的使用者
- 如果你是 FP 的使用者
- 如果你是 Web App 的使用者 ( Python/Ruby)
並且有介紹為何 Rust 沒有 GC 與 使用 LLVM 的優點,也有介紹到 LLVM 與其優點. 蠻適合新手聽聽看
Youtube: SREcon16
原來 Site Reliability Engineeering 也是有 conference.
本週專案
—–
這邊會寫一些我的Project 52的成果.
本週專案: https://github.com/kkdai/trr
透過 Gorilla time-series algorithm 做一個簡單的 KV value DB with Raft consensus algorithm RPC client/server
特色:
- Gorilla 演算法來壓縮時間資料
- 透過 Raft 可以做到分散式 Consensus
- Key Value 架構,可以快速搭配多個資料
- RPC Entry point 使用簡單
怎麼有種撒尿牛丸的感覺… orz