這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

本週時間花在Survey 各種IoT Big Data的架構與各種元件的用法,因為Docker三週年聚會,也花了不少時間玩Docker.

比較少時間來弄Golang.下周應該繼續看分散式系統才對.

Go

Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template

這個Go template 效能有點恐怖.. 20x faster than html/template!!

“Go Learn: Some rookie Go mistakes we made (And how we recovered from them)”

不少值得看的粗心錯誤,挑出幾個很容易犯的:

  1. Naked return (先定義好的return value) 會讓整個function 更難閱讀(因為return不需要再帶回傳值). 並且很容易少回傳幾個參數而造成回傳沒有意義的初始值.

  2. Map 的concurrency 不穩定性 (可以參考Go FAQ: Atomic_Maps),要寫concurrency program 要儘量避免使用map

同場加印: Gist上面有人提供Go地雷Landmines

  • 主要是for i scope
  • interface pointer
  • 前面提到Naked return與容易踩到scope問題.

vim-go 1.5 Release

vim-go release新版 New in 1.5 (1) fatih/motion 提供函式檢索的功能 (2) GoAlternate 可以快速切換test跟原本檔案

A microservice toolkit

號稱有著相當多microservice功能的 toolkit,並且具有pluggable(可拔插)功能的設計.感覺很酷…

jsonparser: Alternative JSON parser for Go that does not require schema

相當快速的json parser(根據作者測試),甚至可以比”encoding/json” 快上九倍.

其實有附上跟一些其他json parser的效能比較表,可以參考看看. 同場加映: https://github.com/mailru/easyjson 也說他比 “ encoding/json”快上不少… 不過他跟jsonparser沒有比過效能.. 倒底”encoding/json”是有多慢呢 XDDD

Python

Android/JAVA/NODE.JS

Docker

docker-NAT-router: Docker container that functions as a simple NAT router. Linux iptables MASQUERADE provides network address translation (NAT) and dnsmasq provides DHCP, DNS, and TFTP services.

透過docker來做NAT router.之前再找就是想透過docker來做hole punching的.總算找到比較類似的東西… 主要是透過pipework來達成,這篇有更多相關應用.

此外這一篇有提到Docker 1.9裡面的新東西Container Network Model (CNM) (更多官方文件,).不過似乎無法達成我需要的MASQUERADE的功能. 繼續多多研究.

katacoda: Learn new technologies right in your browser

透過瀏覽器來學習一些科技,裡面有docker的相關教學.可以線上透過瀏覽器來下指令操作.

原生的Docker VM for Mac/Windows

Docker for Mac 與 Docker for Windows 版本,以後在 Mac 與 Windows 上面跑 Docker 不用再安裝VirtualBox,提供的原生的網路支援與更棒的磁碟掛載功能

iOS/Swift

網站文章

網站收集

有聲書/影片心得

本週專案

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

本週專案: https://github.com/kkdai/rss-webserver

主要是把前一次的專案githubrss架成RSS Server,順便複習一下Host在Heroku上面. 結果花最多的時間都在弄Heroku.

結果弄好之後,接上IFTTT沒兩天就爆量 (笑) 不過至少看來是個正確的RSS Provider.


Evan

Attitude is everything