這是什麼?
程式週記主要內容如下:
Gihub project 介紹:
- 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢
網路文章心得:
- 會寫些心得,強迫自己閱讀.
“程式週記”並且定期週期性更新.
大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.
本週摘要
公司的公事開始要忙碌了,不過還是要開始把一些記錄一下.此外, Coursera 的 Cloud Computing 第二輪希望能夠修完.筆記有點多都還沒寫完.
最重要的是下週有 Gopher Taiwan 聚會在 09/20 ,大家記得要參加.
Go
初試 Go lang 經驗
同事透過 Pokemon naming package 來學習如何透過 VSCode 來寫 Golang.
SOLID Go Design
dfc (Dave Cheaney) 在 GopherCon 2016 上面的 Talk
如果想看中文版本,可以看這個.
Creating a Bot using the Telegram Bot API
使用 Golag 的 Telegram Bot API 來建立一個聊天機器人
jpetazzo/Go + Docker = ♥
Docker 界的大大 jpetazzo 寫了篇講解如何透過 Docker 而不安裝 Golang 的方式來編譯,執行甚至是跨平台編譯的相關指令. 但是有些地方需要注意:
- cgo 與 net : 使用 Docker-Golang 來編譯與執行 Golang 程式碼,需要注意到是否有使用到
net
與cgo
的部分,如果有你的 base image 可能要換成from debian
雖然會比較大,但是就比較不會有平台上的問題. - 關於使用 ssl : 處理 SSL certificate 一直都是很麻煩的事情,這裡建議透過
alpine
來安裝 root certificate
FROM alpine:3.4
RUN apk add --no-cache ca-certificates apache2-utils
rpcx is a distributed RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan. One of best performance RPC frameworks.
這個 RPC Service 透過分散式的方式來提供更好的 RPC 效能,甚至遠遠超過 GRPC 與 Alibaba Dubbo 與 Weibe Motan
除了速度快,更有以下的特點:
- 支援多種資料格式 json, protobuf, gob
- 支援多種 discovery service: zookeeper, etcd
- 由於根據
net/rpc
寫成,使用原生套件的人可以很快速的轉換過來. - 支援 Load Balancer
Python
教你阅读Python开源项目代码
這幾個推薦的 Repo 跟作者都挺有名的.
Android/JAVA/NODE.JS/Scala
Use RecastAI to build A NodeJS chatbot tutorial
這篇文章教導了如何透過 RecastAI 一樣是做自然語言的公司.(使用 node.js)
- Recast.AI
- 範例就是透過 Pokemon 的 Facebook Bot
yhsiang/pokemon-go-query: Pokemon Go Query, help to find the nearest pokemon (Use Go Radar)
G0V 的 LY 開源他的 Pokemon IM 機器人,透過 Go Radar 可以了解發文者周圍有沒有 Pokemon .
Docker
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Europe 2015)
舊文章,不過仔細地講解 cgroup, namespace 也就是 container 的底層教學.
Docker 1.13 : Checkpoint & Restore preview
主要講解 Docker 1.13 的新功能,可以將你的 container 狀態像是 snapshot 一樣做 checkpoint 與 restore 的功能.看起來很有趣.
Docker 線上讀書會: Willy - Docker Netowork
強者我同事 Willy 講 Docker Network 不得不學的好東西啊
Kubernetes
iOS/Swift
其他程式語言
PhxSQL: high availability MySQL cluster that guarantees data consistency between a master and slaves.
WeChat 出的具有 HA 的 MySQL Cluster 稱為 PhxSQL , 細節可以看 MySQL的一致性世界 .
裡面有提到 MySQL 5.7 本身其實已經支援 Group Replica ,除了 HA 之外已經支援多結點寫入的功能.
論文收集
網站文章
DevOps Taiwan wiki
整理許多好文的列表,並且歡迎大家的 PR .
DevOps Summit 2016 全部影片
Y2016W36| Just for noting by m157q
這個禮拜整理的鏈結都還不錯,可以建議長期訂閱相關文章.
[成功大學: 進階電腦系統理論與實作
THE PERSPECTIVE AND APPLICATIONS OF COMPUTER SYSTEMS 授課大綱](http://class-qry.acad.ncku.edu.tw/syllabus/online_display.php?syear=0105&sem=1&co_no=P75I100&class_code)
學生必須要先具備 Guts .可惡,已經就業的人可以修嗎?
Evan Klitzke 受訪談論為什麼 Uber 要從 PostgreSQL 轉到 MySQL
主持人問 3 年前 #Uber 從 #MySQL 轉用 PostgreSQL 的原因。Evan 指出最重要的原因之一,就是 MySQL 的 Schema change 功能不如 PostgreSQL 好,例如需要新增欄位或索引。
Uber 的簡報分享於 2013-03-13,而 MySQL 5.6 同年 2 月才剛 GA ,所以估計 Uber 當初使用的還是 MySQL 5.5,而 MySQL 5.6 對於 Online DDL (Online Schema change) 才開始廣泛支援。
主持人問轉到 PostgreSQL 後遇到什麼問題。Evan 指出效能問題,在轉用 PostgreSQL 後,Uber 需要新增更多的機器來撐起效能需求,例如 PostgreSQL Connection ability 不如 MySQL。
其他內容官方網站上都有,就不引述了
逆向工厂(一):从hello world开始
從基本的程式概念解釋,一直到如何開始你的第一個逆向工程.這篇算是科普文章,不過相當實用.
丁香园现任CTO:我二次创业遭遇的3个失败
幾次的創業經驗分享,蠻值得好好閱讀的.主要就是專注在創業方向與好的創業團隊.
如何透過聊天機器人(Chatbot) 翻轉企業與客戶的溝通方式
台灣新創的自然語言系統,至於有多麼強大可已慢慢期待.
O’REILLY最新报告:人工智能将在这5个方向触发医疗变革
根據這份報告, AI 將在以下幾個方面對於醫療有著重大改革:
- 人口管理: 透過學習來識別是否有重大危險.
- 護理管理: 個性化護理管理.
- 患者自我管理:透過學習來管理患者服藥以及其他的自我管理.
- 系統設計: 透過設計讓每一份支出可以獲得最大效益,或是病人獲得最好的照顧.
- 決策支援: 讓醫生可以有更快速與更精準的決策輔助.
深度解读:阿里离亚马逊还有多远?
很有趣的文章,主要講到 Alibaba 跟 Amazon 一樣都是注重長遠發展(超過七年的計畫).並且在 Cloud Service 上 AWS 雖然居於領先的地位,但是阿里雲也是緊追在後.
網站收集
有聲書/影片心得
Paxos lecture (Raft user study)
講解 Paxos ,不光是有 Basic-Paxos 也有 Multiple-Paxos .還有 Raft Case Study .