這是什麼?

程式週記主要內容如下:

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


Evan

Attitude is everything