這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

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

網路文章心得:

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

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

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

本週摘要

下個禮拜就要過年了,手邊只好先挑些簡單然後好像跟公事扯得上一點關係的小專案來玩.本週只好先玩Project Oxford的Face API,下週會把相關App寫得更詳細.

Go

inconshreveable/ngrok: Introspected tunnels to localhost

  • 透過hole punching的方式將內部網站穿過防火牆與NAT分享出去.每個網站透過一個中間網站ngrok.com來達到打洞的方式.

dvyukov/go-fuzz: Randomized testing for Go

nlf/dlite: The simplest way to use Docker on OS X

  • 一個可以讓你更容易在Mac OSX下透過xhyve的虛擬方式使用docker的方式,會先在local建立一個VM所需要的檔案然後跑.不過消耗的硬碟空間有點大(預設至少要30G),還要再考慮一下.
  • 這裡有教學

Bidding farewell to Google Code

  • 這是去年的文章.. 不過時間已經過了(2016/01/25)…. Google Code已經關閉了.有使用go get Google Code的人.. 請注意.

Go 1.6 release party

  • Go team決定要使用software estimation的原力,來預告2016/02/17會舉辦Go 1.6 release party.這篇有順便預告了所有的新功能

Go 1.7 Plan

  • Go team決定好要在02/17舉辦Go1.6 release party之後,也順便開始了Go 1.7的計畫.這篇Google Forum有很清楚地討論,有興趣的可以進去仔細查看.

Visualizing Concurrency in Go

  • 不是很瞭解Go在concurrency上面的控制流程? 這篇文章全部都視覺化了…

Generate Free SSL Certs in Go

  • 使用Golang來架設一個免費的SSL Certs,這樣做一些內部HTTPS的測試就方便多了.

Automated Testing with go-fuzz by Filippo Valsorda

  • 這篇是教導go-fuzz的教學.go-fuzz可以幫助你產生fuzz testing,但是不是很容易上手.這篇範例算是簡單了,很推薦大家從這篇來入手go-fuzz

curl-to-Go: Instantly convert curl commands to Go code

  • 雖然我正在寫微軟的Project Oxford Face API wrapper 看到這種工具還是覺得相當的方便.直接幫你把Curl 指令轉換成Golang http.client的code.

ELM

Elm in 5 minutes

  • Learning ELM in 5 minutes video.

Python

jorgebastida/awslogs: AWS CloudWatch logs for Humans™

  • 將AWS的log變得比較親近與容易閱讀,並且支援group與filter的概念.可以讓你用比較lightweight 的方式來處理AWS logs (而不是使用ELK那些東西).

Android/JAVA/NODE.JS

Android 应用开发性能优化完全分析

  • 雖然這種題目隨便找就一堆,但是這篇整理得還不錯.

Tutorial: AWS API Gateway to Lambda to DynamoDB

  • 基礎教學如何導入AWS API透過Lambda 到 DynomoDB.

CSharp

Docker

透過 Vagrant 在 Azure 上面部署虛擬機器

  • 透過vagrant在azure上面來部署vm

How Container Clusters Like Kubernetes Change Operations

  • 透過Kubernetes用同一個 service,再搭配不同的 version、replica size 及 label,就能做到 canary deployment。

Running Docker Containers On Windows Server 2016 (Quick Start Guide)

  • Windows Server 2016 default support docker,感覺比較方便.
  • 也不用再管MingGW那種奇怪的path (ex: /c/ /d/ )與相關bug. 不過不知道%programfiles%會如何?

Docker SF Meetup January 2016

  • Docker Ecosystem 2016展望

iOS/Swift

How to detect whether custom keyboard is activated from the keyboard’s container app?

  • 在做一個custom 鍵盤嗎?想知道使用者有把你的鍵盤裝到了沒?很容易!(摘自: FB)
  • 其實,也可以用這個做法,但Swift + iOS 9目前有bug,不能用
  • 這篇算是整理的不錯,針對iOS 9帶來的Deep Link變革與相關的改變方式.

網站文章

數位時代: 創下單月 45TB 流量紀錄的個人專案: MyAudioCast

  • 其實我不常推薦數位時代的文章,因為大部分都是轉貼知名的網路文章.但是這一篇一定要推薦一下是因為這一篇是經驗談.發文的人為人稱海總管的海大.裡面有不少的經驗談,當這個個人專案遇到大量的流量開始,要如何轉變?如何scale?都是讓人可以好好學習的部分.

Nginx 的线程池与性能剖析

  • 清楚解釋了Nginx如何處理muliple request的方式,跟傳統伺服器不同的是Nginx會將多個request在一個處理器中處理。但是這樣會遇到接下來一個問題是如何處理block i/o? 這邊的方式透過thread pool的方式,將任何需要等待的block op (i/o or others)透過thread pool的方式來處理.就不會阻礙到後面排隊的其他task.

Microsoft releases CNTK, its open source deep learning toolkit, on GitHub

  • 相較於Google 開源Tensorflow,微軟也把他們的Deep Learning Engine CNTK(Computational Network Toolkit) 開源出來. 這一篇還有效能比較圖,可以看看.

真是佛心來的》Google 核心技術指導網路開課了,學費全免

  • Google 除了開源Tensorflow之外,還有開課告訴大家怎麼使用.挺值得看看的.

年会上的程序员们……

  • 某間軟體科技公司的尾牙用抽獎程式來抽獎,結果每個工程師都覺得這個程式有問題,於是尾牙開始一千多人來review code.這故事告訴我們,用簽桶當尾牙抽獎有多精準.

關於 Parse 服務準備關掉的一些因應措施

  • Facebook收購Parse之後,就一直沒有特別的動作.總算決定把它收掉(2017年),這是不是代表BaaS(Backend As A Service)開始式微?還是開始泡沫呢? 這篇文章告訴你該怎麼樣搬出來其中有官方的步驟也有一些個人的意見,相當有意義.

CVE-2016-0728 受災OS出爐,Linux核心漏洞影響大盤點

  • 近年來Linux kernel 最大的漏洞,只有有心人最多在30分鐘內就可以拿到root權限. 這邊有修復方法

有聲書/影片心得

IT公論: 188 美丽旧世界——从苹果 Music Memos 谈起

  • 這次有個來賓蠻特別的是負責教學生數位媒體跟聲學工程師TT,來談談Apple 的Music Memos算是挺有趣的題目.
  • 主要是從音質,操作方式與介面來討論這個App.也討論到iPhone的硬件與軟件在設計上如何讓使用者使用沒有任何困難.

本週專案

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

本週題目,將微軟的Project Oxford的Face API implement出Golang.

https://github.com/kkdai/oxford-face

主要下週會開始針對這部份開始寫一個小的應用App


Evan

Attitude is everything