這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

最近有在歐萊禮買了一本電子書,也找了不少有趣的電子書要看.得花更多時間來看,也想花點時間來看Coursera,時間真的要好好想想.

本週專案部分,最近實在花太多時間在看NSQ的內部構造.反而比較少花時間去寫Code.這其中的取捨變得困難不少,可能也跟我了解得不夠紮實有關.這部分要努力學習.

Go

A complete, reliable, ircd written in Go.

  • 用 go 寫的 ircd

xo is a command line tool to generate Go code based on a PostgreSQL, MySQL, SQLite, or Oracle, or Microsoft SQL Server database

  • 只要給SQL的Schema,就可以長出Golang的model

Youtube: Comparing Erlang and Go Concurrency

  • 可以參考看看一個session介紹關於Erlang跟Go的Concurrency.

licenses lists Go packages dependencies licenses

  • 可以列出所有用到的Go project的License,算是很有用的工具.

    [Go projects and the BSD license

    ](http://misfra.me/2016/02/28/go-projects-bsd-license/)

  • 從來沒有仔細思考過Go project 的license,只是簡單的把自己的專案都用MIT.看完才知道其中的關連…

One HTTP Request From Stardom: How Alan Shreve Built ngrok Using Go

  • ngrok是一個可以讓你在防火牆內部的Server可以直接被存取的技術,這邊介紹如何透過Go來build ngrok.

Python

Android/JAVA/NODE.JS

Pretty unicode tables for the CLI with Node.JS

  • 可以畫出很漂亮的unicode table在console mode.

Docker

iOS/Swift

奇点机智,用深度链接让 app 不再孤单

  • Deep Link 在iOS9獲得了不少的加強功能,而在App的設計上其實Deep Link 已經佔有一定的地位.這邊有談到說一家公司奇点机智如何透過幫忙控制Deep Link來讓App更好而且更多人使用.

Swift @ LinkedIn

  • LinkedIn裡面透過Swift開發的經驗,巔峰的時候有50人工程師參與開發.透過Swift開發App最大的瓶頸還是開發機器的能力.灣區日報有很精彩的評論

網站文章

學術論文解放!將近五萬篇論文可透過Sci-Hub免費下載

  • 當初Aaron Swartz 因從JSTOR 的學術期刊下載約400萬篇文章被停的Sci-Hub復活了.超過五萬篇論文可以下載.

Github: January 28th Incident Report

  • 引用: IngramChen from kaif:
    • Github 內部發生了類似 不小心踢掉電源線 這種意外,然後 25% 的 server reboot,reboot 過程中 redis cluster 爛掉,造成 application server 啟動失敗。他們無奈只好先救 redis cluster,直到 redis 救好後,才重啟 application server… 看完後覺得 Github engineer 實在有點遜,這種 failure 不該是這麼強的公司該犯的… 一個子系統失效了,就造成 application server 完全不能啟動 (平常完全沒有模擬過這類型的失常)。然後子系統失效的原因是電源異常,這表示他們只用一個 Data center 囉?電源一斷就 1/4 server reboot… 有點遜。 我不是說我能做的比他們好,但 Github 已經不是 startup,也能吸收到世界最頂尖的開發者,這種等級的錯誤不是他們該犯的…

如何投资自己?

  • 這一篇跟我最近在看的書籍Soft Skills後面的章節很類似.基本上就是討論如何訂定目標而努力學習的部分.書籍讀書心得會再出來.

網站收集

搜集一堆China 技術團隊使用Github issue當作blog

Interview with Jay Kreps about Apache Kafka

  • 採訪了Kafka的其中一個創始者-Jay Kreps 不僅僅有談到Kafka的設計理念,也有談到如果對分散式系統有興趣的人該如何開始了解. 裡面有不少有用的鏈結跟書籍推薦

APP 美工大捕帖

  • 要各種APP美工圖案可以來這裡看看.

Code School特惠

  • 線上學習網站 Code School 在2016/3/5 AM 6:00 到 2016/3/7PM 1:00 兩天半的時間內,開放全站所有課程都可以「免費」學習,只要累積分數在前 10 名者,還可以獲得額外一整年的免費學習帳號

“Software Engineering Radio”

  • Scott Tsai推薦的這個podcast真的不賴,很值得投資時間來聽聽.

有聲書/影片心得

IT公論: #190-给建筑师用的 GitHub

  • 這次請來了兩個建築師,一個是 Modelo 的創辦人Qi Su跟一個建築師事務所的黄璟璐.主要是來講解身為建築業使用的github:Modelo 的創業由來與其中設計的理念.
  • Modelo (http://modelo.io/)提供了一個可以讓建築師可以線上透過WebGL的Rendering方式來即時查看整個3D設計的方式.本來是在哈佛設計學院(Graduate School of Design (GSD))的一個畢業論文.由於在學時間這個論文得了不少獎,於是Qi Su就把它當創一個新創產業來建立了Modelo.
  • 透過這段談話,可以了解兩個產業間的用語不同與建築業界在意的事情.建築師們在意的是如何能夠快速地展現他的設計產品,並且能夠快速地得到反饋.根據得到的反饋能夠有儲存每個版本修訂間的變更,交互下能得到最大的效益.進而達到Modelo 的設計概念 Pain Less, Design More.

Paxos 發明者 Leslie Lamport 的採訪的 Podcast

Scale with NSQ: a realtime distributed messaging platform

  • 一些基本介紹關於NSQ如何scale與處理.

本週專案

這邊會寫一些我的Project 52的成果.

本週專案: https://github.com/kkdai/rd

本來是想過透過RabbitMQ的RPC方式來實現,不過這樣實在不是很像RPC,而且這樣分隔也無法把Message Queue本身做得更加的泛用.

只好先試著做出一個簡單版的RPC Message Queue Server,不過這樣設計上就更加的狹隘.

基礎架構是把Diskqueue所建置的Pubsub機制弄在RPC Server上面.發現無法使用Channel來達到訊息的流通,於是只能做了一個Consume也就是會把目前該topic 的所有訊息拉下來,並且清除掉.在這個狀態上,這個RPC Server必須要有格外的loop來處理Pubsub的結果.


Evan

Attitude is everything