這是什麼?

程式週記主要內容如下:

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 的方式來編譯,執行甚至是跨平台編譯的相關指令. 但是有些地方需要注意:

  1. cgo 與 net : 使用 Docker-Golang 來編譯與執行 Golang 程式碼,需要注意到是否有使用到 netcgo 的部分,如果有你的 base image 可能要換成 from debian 雖然會比較大,但是就比較不會有平台上的問題.
  2. 關於使用 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 效能,甚至遠遠超過 GRPCAlibaba DubboWeibe 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)

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

以下文字截自 Ant 臉書

主持人問 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 將在以下幾個方面對於醫療有著重大改革:

  1. 人口管理: 透過學習來識別是否有重大危險.
  2. 護理管理: 個性化護理管理.
  3. 患者自我管理:透過學習來管理患者服藥以及其他的自我管理.
  4. 系統設計: 透過設計讓每一份支出可以獲得最大效益,或是病人獲得最好的照顧.
  5. 決策支援: 讓醫生可以有更快速與更精準的決策輔助.

深度解读:阿里离亚马逊还有多远?

很有趣的文章,主要講到 Alibaba 跟 Amazon 一樣都是注重長遠發展(超過七年的計畫).並且在 Cloud Service 上 AWS 雖然居於領先的地位,但是阿里雲也是緊追在後.



網站收集



有聲書/影片心得

Paxos lecture (Raft user study)

講解 Paxos ,不光是有 Basic-Paxos 也有 Multiple-Paxos .還有 Raft Case Study .




Evan

Attitude is everything