這是什麼?
程式週記主要內容如下:
Gihub project 介紹:
- 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢
網路文章心得:
- 會寫些心得,強迫自己閱讀.
“程式週記”並且定期週期性更新.
大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.
本週摘要
最近聽到同事 J 的名言 : “先去報名分享,就會學習到這門新的技術”
挺好的.. 所以我也去報名了一些研討會,於是又欠一堆 slide 要準備.最近加緊在學習 Tensorflow 中.
最後,很久沒有寫小專案了.於是手會癢(剁手) 就跑去刷 HackerRank 的題目(因為裡面有 Go ).很好玩,裡面 easy 的真的太 easy .. 不小心刷到 Hard 的還會要求時間複雜度,真有趣啊.
Go
Fission: Serverless Functions for Kubernetes
fission 是一個透過 Golang 完成的 kubernetes serverless function 的伺服器.
目前 serverless 支援的語言有:
- dotnet
- python
- nodejs
- php7
Giving dep
a try: Using the new Go dependency tool with piladb
Dep 已經越來越重要了,甚至被考慮當成官方套件之一。這篇文章透過使用 dep 來開發 piladb 一個堆疊式資料庫。整個流程可以學習使用 dep. 來看看吧。
Go doesn’t support exception, in syntax. Go has many exceptions, in syntax.
覺得 Go 有很多語法限制嗎? 其實他也是有很多語法例外,來看看這篇的介紹,很多沒想過的語法例外。
Linux, Netlink, and Go — Part 1: netlink
這篇文章看了好幾天,終於看完. 透過 #Golang 來介紹 Linux 中與 Kernel 溝通的另外一種方式 “Netlink”
本文的作者原來是在看 Prometheus 的一個工具 node_exporter 的時候發現一個跟 WiFi 的有關的 issue ,看了幾個禮拜後發現是 ioctl 太慢了… 於是就決定要換成 Netlink
[科普] Netlink Socket 是一種在透過 kernel 來傳遞訊息的方式,但是跟一般常用的 ioctl 不同的是 Netlink 透過 udp 來傳遞,不需要像 ioctl 一樣需要有透過 response ,所以他的速度比較快.
Netlink Socket 優點:
- 透過 UDP 沒有 ioctl 的 kernel round trip time
- 可以一次發給同一個 group 中的 user process
缺點:
- UDP 老問題.. 你不確定對方有沒有收到
- 由於透過 socket 其實感覺不如 ioctl 那麼的直覺
這篇文章也附上透過 Go 來實作 Netlink 的 github 可以看看
BTW: Prometheus 的 node_exporter 感覺很好用??
關於 Netlink Socket 可以參考
knq/usql: usql is a universal command-line interface for SQL databases
一個很方便的工具,只要輸入 db connect string 就可以透過 cli 操作資料庫
aschagrunert/ccli: Command line parsing in go, with coloring support 🌈
一個撰寫 cli 的套件,類似於 spf13/cobra 只是可以讓他更多顏色
Python
Android/JAVA/NODE.JS
A blockchain in 200 lines of code
使用兩百行代碼來開發簡單的區塊鏈.
Docker
iOS/Swift
其他程式語言
論文收集
Challenges to Adopting Stronger Consistency at Scale
找時間要看…
Kubernetes
Introduce Kubernetes Course
基礎的 Kubernetes 教學… 有興趣的可以上去學學
Getting Started With A Local Kubernetes Environment
想學 Kubernetes 卻不想要開 AWS 或是 GCP?
那就看看這篇網頁吧,裡面把所有本地端可以學習 Kubernetes 的方式都詳列出來.不論是 cluster 或是 single mode
BTW: Corel APP for Mac OSX 跟 Kubernetes Cluster for Mac OSX 很方便啊..
johanhaleby/kubetail: Bash script to tail Kubernetes logs from multiple pods at the same time
一次可以拿 K8S 上多個 POD 的 logs
Machine Learning
A massive dataset of manually annotated audio events
Google 開源他們一些研究的音效資料集.
在TensorFlow 1.0上實現快速圖像生成算法Fast PixelCNN++
伊利諾大學香檳分校的研究者在 GitHub 上發布了一個快速圖像生成算法 Fast PixelCNN++的實現.論文在這裡
[Asgard is deprecated at Netflix. We use Spinnaker ( www.spinnaker.io ).] Web interface for application deployments and cloud management in Amazon Web Services
Netflix 舊版的雲端管理系統,雖然已經被廢棄掉.但是裡面的 wiki 有一些不錯的文章,比如說:
Baidu Deep Voice explained: Part 1 — the Inference Pipeline
百度公佈他們的最新系統 Deep Voice 號稱比 Google 的 WaveNet 還要快速可以產生 TTS (Text To Speech) 並且具有情緒與其他各種可以調整的部分. 這一篇就是來講解 Deep Voice 的方法,第一部分就要探討他的 Inference Pipeline . 關於 Deep Vioce 這裡有中文介紹[engaget]
如何面試資料科學家? (How to Interview Data Scientist?)
這些建議很忠肯… 我當初幫忙面試團隊中的夥伴們也都有依照這個方式.
Moocs: Big Data Analysis with Scala and Spark
雖然也是 Scala 這次的課主要專注在 spark 跟 distributed data parallelism
jostmey/NakedTensor: Bare bone examples of machine learning in TensorFlow
一些簡單的 tensorflow 範例
google/seq2seq: A general-purpose encoder-decoder framework for Tensorflow
Google 開源的 encoder-decoder 工具,本來是使用文字翻譯支用,但是 Google 強調這應該是 tensorflow 上通用的一個工具.
網站文章
vscode-tips-and-tricks: Collection of helpful tips and tricks for VS Code.
搜集 vscode 一堆訣竅與 tips ,由微軟編輯的
JWT (JSON Web Tokens) is a Bad Standard That Everyone Should Avoid
裡面提到 JWT 是不好的標準,還會讓你系統變得脆弱外.
drduh/macOS-Security-and-Privacy-Guide: A practical guide to securing macOS.
Mac OSX SEP: MacOS 的安全和隐私指南