這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

本週主要在玩 Bot Framework 跟 wit.ai .主要是想把它改寫成 Golang 版本的. 寫到一半發現由於 wit.ai 已經是兩三年前就發行了.(也沒啥在更新,這次F8 只是講說 Messenger 以後會支援) .就改來寫 KMP.

既然要寫 KMP 當每週專案,當然要搞清楚他的原理跟他要解決的問題.當然也去想了一下應用. (好像也只有 strstrstrchr ).

我加入了碼天狗策展團隊,文章會在下一期(下週一出刊的版本)上.有興趣的可以看看.



Go

Golang 1.6.1 & 1.5.4 Security update

修復兩個主要的安全漏洞的更新版本: 1.5.4 與 1.6.1 將會在 04/13 02:00 UTC 更新,有需要的朋友記得更新. 安全漏洞如下: 點這裡

此外: json decoder 導致https的速度提升修改,將不會在這次的更新中.

Binary Sizes in Go

文章探討到如何縮小你的 Golang App Binary Size,裡面除了用到 -ldflags '-w' 之外,還有用到 unix strip

結果 Dave Chenney 不建議 strip.其他可以參考 reddit

An Enterprise-class Container Registry Server based on Docker Distribution

除了官方的 Docker Registry Server 之外,有人另外寫了一個具有以下的衍生功能:

  • Role Based Access Control: Users and docker repositories are organized via “projects”, a user can have different permission for images under a namespace.
  • Graphical user portal: User can easily browse, search docker repositories, manage projects/namespaces. AD/LDAP support: Harbor integrates with existing AD/LDAP of the enterprise for user authentication and management.
  • Auditing: All the operations to the repositories are tracked and can be used for auditing purpose. Internationalization: Localized for English and Chinese languages. More languages can be added.
  • RESTful API: RESTful APIs are provided for most administrative operations of Harbor. The integration with other management softwares becomes easy.


Parse RSS and Atom feeds in Go

算是支援度相當高的 RSS/ATOM feed parser

能讓你 Go 程式碼變得更好的工具集

除了常聽到的 Go Lint 之外,還有不少工具比如 Gocyclo , Depscheck 可以看看一些簡單介紹跟怎麼使用.

BGP implemented in the Go Programming Language

website: http://osrg.github.io/gobgp/

透過 Go 來實現的 BGP (Border Gateway Protocol) ,一種更複雜的 SDN .

參考:

AthenaPDF

透過Electron, Docker 與 #‎Golang 讓網頁轉換成漂亮的PDF



Python

Android/JAVA/NODE.JS

[日文] FB Messenger 與 Line Bot API 比較

FB在前天的 F8 公開了 Messenger Platform ,剛好前幾天 Line 也公佈了他的 Line Bot API . 這邊有日本工程師做了相當好的比較. 雖然我看不懂日文,但是有漢字跟英文的部分就加減看.挺好的.

A Multi-Paxos implementation in pure JavaScript.

找時間來研究一下,不過有可能花在 nodejs 會更多. @_@

Docker

iOS/Swift

網站文章

RESTful (Photo credit: Cait Stewart @flickr CC BY-SA 2.0)

RESTful 設計的要點

Yahoo 前亞洲區制定網站 API 協定的人分享RESTful 設計的要點.此外整理兩篇我覺得很值得不斷複習的好文章:

  1. 關於 RESTful API 設計部分,這篇 Slide 很棒.
  2. 關於 Web Error Code 部分,蠻建議搭配這一篇有許多流程圖來解釋 Error Code 該如何給,一看就不容易忘記.

算是打通一些基礎概念.




打造AWS的10年裡學到的10個經驗

簡單的心得就是: 要設計一個網路服務,你得當他隨時有可能都會壞掉(這邊指的是事故 accident 不是程式碼的錯誤) .以下舉兩個例子:

  1. Github 今年就因為有人不小心踢到插頭,復原後發現 server 重啟失敗

  2. Heroku 的 Dyno 如果免費的狀態下,一天會強制睡六個小時.

這兩個都是讓你去思考建構網路服務的重點. 順便來看看 “Site Reliability Engineering” 這本書會不會提到這個重點.


如海洋般的課程CS50

最近很紅的文章「程式自學十年心得:想吃這行飯,學好演算法與資料結構才能讓你站穩腳步」 裡面有提到這個 CS50 的介紹.看完相當吸引人. 推薦這篇文章給大家看看,不論是新手或是資深工程師可能都應該找時間修修看.


RECAP: F8 2016 Day 1

Facebook 技術日F8第一天總結 : Surround 360 相機 (開源,要價三萬美金) , live video and VR, 還有聊天機器人

網站收集

有聲書/影片心得

本週專案

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

本週專案: KMP 與相關應用

其實 KMP 程式不難寫,倒是花比較多的時間去了解為何要使用 KMP 來做字串搜尋.還有為什麼原先的暴力解法與 MP 解法有可以改進的空間. 這個在前面已經有相關的文章了.


Evan

Attitude is everything