Hello World
CodeTengu Weekly 碼天狗週刊
如果命運的齒輪沒有出差錯,CodeTengu Weekly 都會在 UTC+8 時區的每個禮拜一 AM 10:00 出刊。每週會由三位 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到感興趣的東西,可能下一期就有了。當然你也可以瀏覽一下前幾期的內容。
目前的 curator 陣容:
- @vinta - I failed the Turing Test - 科幻迷,最近在讀 Dirk Gently 系列
- @saiday - Imnotyourson - 電量給我這種人用就是一種浪費
- @tzangms - Oceanic / 人生海海 - 最近真的都在玩薩爾達
- @fukuball - ImFukuball - 有新工作了,但歡迎直接挖角
- @mingderwang - Ethereum enthusiast
- @kako0507 - 熱愛嘗試新事物的前端工程師
- @chiahsien - 誰能告訴我到底該怎麼處理螢幕觸控壞掉的 iPad Mini 2
- @uranusjr - Smaller Things - 我要成為錯字王
- @kkdai - 態度萬歲 - Learning Deeply....
- @yhsiang
- @johnlinvc - 挑戰自動化家中電器
- @drumrick - 歡迎加入台灣 Kaggle 交流區
- @wancw
你也可以關注我們的 Facebook、Twitter、GitHub 或 Open Source 專案,有很多 weekly 看不到的內容。有任何建議也歡迎來 Gitter 聊聊。
@tzangms
Share your Manager README
這一兩年來因為技術相關事務越來越少,也越來越忙,所以相對的,跟技術同事們也都比較少接觸,這其實真的不太好,不過也因此了解了,所謂的 Engagement 這詞的真正含義,像我這樣就是太不 Engagement 了! ( 什麼鬼 )
所以最近的 1 on 1 了解到這件事之後,我開始問每個人說:「是不是會因為覺得我很忙所以不敢找我?」 「拜託,以後有事想講看到我在就馬上抓住我,Slack 也行,或是直接看我的 Google 日曆,直接 Booking 時間」
不過其實最棒的還是直接攤開你身為主管的 README,身為技術人應該都會看 GitHub 上面發現新套件,使用之前應該都會看過他的 README。
其實主管們也該提供一下 README,讓大家知道怎麼使用你。 你期待的是什麼,你怎麼看事情,怎麼評估價值 ... 等等。
除了這一篇外還有另外兩篇可以參考一下,其實本來這週我也想附上我的 README,但是實在是沒有太多時間。 也許大家期待一下下週。
另外這篇文章還有一個很大的收穫就是 DRI: Directly Responsible Individuals
Apple's corporate innovation? The 'directly responsible individual'
在上一篇看到的 DRI 其實還滿讓我好奇的,不過原來我早就知道這件事了,早期在研究如何進行更好的會議的時候就知道這件事。
除了開會前要有 Agenda 之外,開完會還需要有決定好要做什麽的 Action list, 而每則 Action list 都必須要有一個負責人跟結束時間。 不然會議的事情很常會落入,不知道誰要負責,不知道什麼時候結束的狀況。
而 DRI: Directly Responsible Individual 則是 Steve Jobs 在 Apple 開會都會用的方式,其實好像很簡單,但其實也沒有那麼簡單,因為我 run 過一段時間,有時候自己都會覺得困難而放棄。
例如: 有一件事你不確定是前端還是後端,或是都有,這時要交給誰負責? 甚至怎麼設定完成日期? 或是 ... 現在還不知道某個功能的瓶頸,負責人應該是 Dev 還是 Ops? (我知道 DevOps 就解決了嘛)
所以,我這邊先前有發生過同一個狀況好幾次,某個產品原本有兩個工程師,因為我們走 Free style,自己撿 issue,所以以前也就不會指定誰負責,但是其中有人離職之後,剩下一個工程師的產出還比兩個工程師還要好上很多。 因為只有他負責了 ... XD
DRI 看似簡單,但其實還是有一些「眉角」,除非你在一個非常小的團隊, 所以下面兩篇也可以參考一下:
- Directly Responsible Individuals - 這篇是 TripAdvisor 的產品副總寫的
- How well does Apple's Directly Responsible Individual (DRI) model work in practice? - 這篇有一則回答是在 Apple 工作過的員工所提出的,我覺得非常棒
@fukuball
Tom-Chang-Deep-Lyrics | 基於 LSTM 深度學習方法研發而成的張雨生歌詞產生模型,致敬張雨生
Machine Learning:中級
之前看到〈『致敬赵雷』基于TensorFlow让机器生成赵雷曲风的歌词〉這篇文章覺得非常有趣,因此一直都想自己動手試試看,中國有趙雷,那台灣要找什麼值得紀念的音樂人來作這個歌詞機器學習模型呢?我想張雨生應該會是台灣非常值得令人紀念的音樂人之一了。
程式的基礎我使用了之前在 GitHub 上有點小小貢獻的一個 Project 作為程式碼基礎,這個 Project 是 char-rnn-tf,可以用於生成一段中文文本(訓練與料是英文時也可以用於生成英文),訓練語料庫我收集了張雨生的百餘首歌詞,由於這樣的歌詞語料還是有些不足,因此也加入了林夕、其他著名歌詞、新詩作為輔助,整個語料庫大致包含 74856 個字、2612 個不重複字(其實語料庫還是不足)。
演算法基本上就是 LSTM,細節在此就不多加著墨,若有興趣可以在這篇文章了解一下,相關程式碼我放在這邊:Tom-Chang-Deep-Lyrics,如何安裝環境、如何訓練、如何生成歌詞,基本上都寫在 Readme 了,大家可以前往瞧瞧。
GAN with Keras: Application to Image Deblurring
Machine Learning:中級
GAN 可能會是未來 Machine Learning 會有長足進展的最有影響力的演算法,不過複雜度實在是太高,我個人也沒有時間去自己實作好好理解這個算法。本篇文章用圖片去模糊這個例子去實踐了 GAN,有空應該要好好來跟著實作一遍啊!
【Ethereum 智能合約開發筆記】透過 MetaMask 使用 web3 和使用 EthJS 呼叫合約
Ethereum:初級
個人覺得 Ethereum Developer 除了懂 Smart Contract 怎麼寫之外,也應該要知道怎麼寫 Dapp,Smart Contract 就像是後端,而 Dapp 就是前端了,Ethereum Developer 不該只局限於其中一個領域,這篇算是一個非常簡易的前端入門,如何接上在前端接上 Smart Contract 與之互動,其實不難啊!
Getting Started with Signed Routes in Laravel
Laravel:初級
Laravel 5.6 出了一個新的 feature - signed URLs,可以做到像是 S3 的 signed URLs 那樣,暫時給予使用者 access 特定資源的權限,其實要做這樣的功能並不難,但就跟登入登出一樣,做了幾次就會覺得煩、做到懷疑人生,web framework 本身就該提供這樣的功能啊!升級 Laravel 5.6 讓您馬上擁有!
@yhsiang
Learn to combine RxJs sequences with super intuitive interactive diagrams
利用互動的圖片教你認識 Rxjs 的一些用法,例如 merge, mergeAll, concat 等
包括使用可編輯的程式碼,適合想要入門學習 Rxjs 的朋友。
Speedier Server-Side Rendering in React 16 with Component Caching
Server Side Rendering 已經成為 React 的顯學之一,過去有許多公司導入這樣記述,並且提出各樣的方法解決 React 的 SSR 問題。
Sasha Aickin 在 2016 的時候就有提過 React Component Cache 的方式,而隨著 React 16 的推出。React 已經改進了 SSR 的效能,所以作者決定推出這個方便使用的 library。
主要有幾個特色:
- 兩種類型的 Caching
- 支援 Stream method
- 支援 Redis 或 Memcached
有在玩 SSR 的朋友們,不仿試看看!
Working with the new CSS Typed Object Model
Chrome 66 將會支援 CSS typed OM。
隨著 Type system 在前端越來越受到重視,像是 typescript、flow、Elm、PureScript、ReasonML,而 CSS 的 Object Model 也可以導入 type。type 可以幫助我們減少 bug 跟更好的錯誤處理!
有興趣的朋友,可以多多了解!
工作機會
Senior Frontend Developer at Swag
薪資範圍:年薪新台幣 100 ~ 200 萬元。
能力需求:
- 精通 JavaScript、CSS 與 HTML
- 相容主流瀏覽器的前端整合開發經驗
- 前端 framework / library 的使用經驗
- 熟悉 React
- 模組化開發經驗