GTG 16 聚會的照片

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

本週的幾件事情就是總算重新啟動了 Golang Taiwan 社群.結果忙完之後,我女兒就不斷地生病並且在醫院住了三天. 大家也要好好注意自己的健康.

最近工作上會使用到許多 Machine Learning 的技巧,現在每天都在 K 相關書籍希望能夠在短時間把所有的演算法與應用場景都搞熟.



Go

Take a REST with HTTP/2, Protobufs, and Swagger

GRPC 大家用了沒? 是不是因為還不想把手邊的 RESTful API 換掉而沒有改到 GRPC ?

CoreOS 展示如何透導入 GRPC 後,依舊有 RESTful API 並且有 Swagger 的服務。

相關議題,其實有上 Google Cloud Platform Podcast,想聽聽訪問的可以聽聽看 CoreOS CTO 如何解釋:

[gRPC at CoreOS with Brandon Philips Google Cloud Platform Podcast](https://www.gcppodcast.com/post/episode-43-grpc-with-brandon-philips/)

Go Development with Vim-go

Vim-Go 的作者在 Digital Ocean 工作的 Fatih Arslan 來分享如何使用 vim-go .跟我一樣主要是在 Vim 上面開發 Go 的人不可以錯過,順便可以看看新版的 vim-go 又多了什麼功能.

NEUGO: Neural Networks in Go

使用 Golang 的類神經網路計算工具.

Google I/O talk: Building Sourcegraph, a large-scale code search & cross-reference engine in Go

Google I/O 今年的 Talk 講解 Sourcegraph 如何透過 Golang 來製造他們 Code Search Chrome Plugin .

Sourcegraph 是一個 Chrome Plugin 可以讓你直接去 parse github 上面得程式碼,直接尋找相關的宣告與函數的實體.

而他們如何透過 Golang 來建置相關的設施如下,以下摘錄幾個標題:

  • No web framework
    • 不使用任何 Golang Web Framework 而使用 net/http (個人後來也偏好這個)
  • Unified API client and data store interfaces
    • 使用統一的 API 來處理 repositories, users, code definitions .
  • Unifying URL routing and generation
    • 這邊是使用 gorilla/mux 來處理 URL route 與 mout handler 的功能.
  • Sharing parameter structs
    • 這邊敘述,不論是 API 與 Data Store 或是前端的 Web Frontend 都是使用相同的資料架構.讓處理上更具有一致性.
  • 還有不少細節與小工具:
    • 使用自建的 Appdash 來追蹤 http.Handlershttp.Transport
    • 將 typed error value 從 data store 傳遞到 frontend .
    • 將結果的分頁使用共用的介面.

Looking at your program’s structure in Go 1.7

中文翻譯: Go1.7中程序结构的解析

Go 1.7 最大的變革(可能是最不容易被察覺的)就是基於 SSA (“single static assignment”) 設計的 Compiler (淺顯易懂的好處就是多了許多 SSA 編譯器的優化選項可以使用

這篇文章簡單的介紹了 SSA 是什麼,並且也講解了 SSA Compiler 在 Golang 裡面會如何的應用.

衍伸閱讀: Golang 在 1.8 會變成是完全符合SSA 的 Compiler: final architecture went SSA

悟空: 高度可定制的全文搜索引擎

支援簡體斷詞,變且可以客製化的全文搜尋引擎.

至於全文搜尋引擎那麼多,為何還要做一個? 以下來自官方的解釋:

  • 需要有客製化的全文搜尋功能
  • 要能夠垂直整合
  • 即時反應
  • 結果排序法則需要訂製

spf13 join: Google Go Team

spf13 也就是 viper , cobra 與 Hugo 的作者,寫文章宣布他加入了 Google Golang Team .

proposal: add ACME (LetsEncrypt, etc) support to the standard library

bradfitz 提議讓 net/http 能夠支援 ACME (Automatic Certificate Management Environment) 的簽章(也就是目前 Let’s Encrypt在使用的)

簡單的來說,也就是之後要建立 HTTPS 的伺服器的時候.不用在使用包好的 CA key 而可以透過連線 ACME Server 的方式來達成.

package main

import (
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", websiteHandler)
    srv := &http.Server{
        Addr:         "example.com:443",
        ACMEServer:   http.LetsEncrypt, // non-empty enables autocert support
        ACMEAgreeTOS: func(tosURL string) bool { return true },
        ACMEEmail:    "foo@bar.com", // (but optional)
    }
    log.Fatal(srv.ListenAndServeTLS("", ""))
}

個人相當期待,可以讓之後 HTTPS 的部分變得更加的簡單.

P.S. 目前要使用 Let’s Encrypt 只能透過 ericchiang/letsencrypt 套件



Python



Android/JAVA/NODE.JS/Scala

Android平台渗透测试套件zANTI v2.5发布(含详细说明)

整個系列相當好用的滲透套件,從掃描網路,修改 MAC ,到監視 WIFI 都有.



Docker



Kubernetes

Kubernetes Cluster demo with Go container as example.

PDF 放在 github 上面,如何在 Kubernetes 上面來使用 Go container 的範例. Go container 使用最小的 alpine 建置而成的 image .



iOS/Swift



其他程式語言

building hacker news with angular 2 cli, rxjs and webpack

透過 Angular2 來從頭開始建置一個 Hacker News.

Functional Programming: Which of Haskell and OCaml is more practical?

有人在 quora 上面詢問,對於 Functional Programming 的語言而言, Haskell 跟 OCaml 哪個比較實用?

就有人回答是 Haskell ,基於以下的原因:

  • Parallelism and Concurrency
  • Libraries
  • Typeclasses vs Modules
  • Software Engineering

當然他也有提出了相較於 OCaml 來說 Haskell 的缺點如下:

  • Module System 經常缺少
  • 比較複雜的 C FFI (foreign function interface)

不過整體而言,這篇問答中最受歡迎的答案還是傾向 Haskell .

王垠: 对 Rust 语言的分析

每當有一個新的語言,大家都會期待王垠的評論.來看看最近到了微軟的王垠,來看看他對於 Rust 的評論.

Chrome Plugin: 工程師求職健檢小幫手

可快速過濾出人力銀行上已存在30天以上的無用職缺 (目前僅適用於台北,新北資訊產業類職缺)



Machine Learning

谷歌开源深度学习系统 TensorFlow 的图片文字说明模型,可深层次理解图片

講解 TensorFlow 如何透過文字說明模型(也就是類似 imageNet 是識別大賽中的) 給予你一張圖型,透過機器來判讀這張圖片並且給予一段文字. 透過類神經網路判別方式來達到圖片產生敘述.

Youtube: Prof. Yann LeCun - Deep Learning and the Future of AI

知乎: 每周会分享N篇nlp领域好玩的paper

這個知乎挺不賴的,可惜不能透過 Feedly 來訂閱.

大数据导航-大数据工具导航

許多中國的大數據工具檢索清單,要什麼就來這裡找.

Youtube: Bay Area Deep Learning School Day 1 at CEMEX auditorium, Stanford

十個小時的 Deep Learning 課程直播.



論文收集



網站文章

So You Want to be a Functional Programmer (Part 1)

一系列還有: part2 , part3

相當淺顯易懂的 Functional Programming (FP) 的教學,應該來說是 Mindset . 可以讓完全不知道如何開始 FP 的人開始慢慢有感覺.



網站收集



有聲書/影片心得

Youtube: 你所不知道的 C 語言:指標篇 復刻!

Jserv 大大的 C語言基礎指標教學,很基礎但是很重要.由其實對於字串的指標處理,都是一開始 C語言的初學者相當容易搞混的.

Talk in which Patrick Hamann gives a great introduction to HTTP2

HTTP2 的介紹,從網站方面開始簡介.




Evan

Attitude is everything