CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一早上 10:00 出刊,每一期會從目前的 curator 名單中選出三位來負責當期的內容,每一位 curator 各自負責不同的領域,如果你在這一期沒有看到自已感興趣的東西,說不定下一期就會有了。
你也可以瀏覽一下前幾期的內容,有價值的東西是不會過時的。
以下是目前的 curator 陣容:
大家也可以 follow 一下 CodeTengu 的Facebook、Twitter 或GitHub,有很多 Weekly 看不到的內容。有任何建議或疑問也可以來Gitter 聊一聊,歡迎亂入 :japanese_goblin:
致力於解決開發者之間的資訊不對稱
不管是學習任何一種程式語言,該語言的 package / module / import 機制可能都是我們在學完那些基本的資料型態和語法之後,首先需要掌握的知識。這篇文章就 Python 的幾種常見的 import 方式做了一個簡單的梳理,然後,你就可以接著看一下 Related Reading 裡提到的那三篇文章,非常值得一讀,例如 __init__.py
的作用、 __name__
屬性以及 script 和 module 的分別。
延伸閱讀:
pythonlibrary.org
這篇文章提到了以下幾個在使用Celery 和 Django 時的最佳實踐,例如:
除此之外,關於transaction 的部分也常常是個坑啊,而且其實官方的 User Guide 真的就講了很多重點啦。
延伸閱讀:
denibertovic.com
上禮拜幾乎都在寫 React,在胡亂 google 的過程中找到了一篇寫得非常不錯的速查表,建議再搭配 Execution sequence of a React component’s lifecycle methods ,這樣上手 React 基本上就妥當啦。
P.S. 作者的網站上還有超多其他主題的 cheatsheet,媽的這個人到底有多閒!
延伸閱讀:
ricostacruz.com
現在大家一天到晚都在講 HTTPS,如果你的網站沒有全站 HTTPS 似乎還會被人瞧不起,但是說到底,為什麼 HTTPS 跟 HTTP 相比會更安全呢?
看完這篇文章你就懂了!
segmentfault.com
這篇文章專門在講 HTTP 的 cache 相關的 headers,作者是@othree,他是我看過寫技術文章寫得最好的工程師了啊。而且他的 blog 上還有很多關於JavaScript 的文章。
我覺得他可能就是台灣 Web 界的管仁健。
延伸閱讀:
othree.net
前 Amazon 技術副總 Neil Roseman 分享的技術面試剖析。
幾個月前因為覺得自己面試技巧非常不足, 所以一口氣讀了 6, 7 本面試相關的書籍, 我發現這篇文章其實也用上了許多書中看到的技巧。
例如:
並不是每個人都很善於表達, 特別是內向的人, 面試也容易緊張, 讓面試者放鬆是非常必要的
不要只聽到表面的答案, 繼續挖深
我覺得這點算是面試技巧中的 "Visualize", 像是: 如果要完成 XX 任務, 得知道哪些條件、限制, 看面試者如何發問, 問出重點, 剖析問題
另外, 文中提到, Neil 特別喜歡聊產品設計,因為好的工程師並不單只接受指令進行開發, 而是主動參與產品的整個發展。
最後, 「找到對的人」真的是管理工作中最重要的事, 不免再提一句名言叫:「Hire smart or manage tough」
firstround.com
一隻 .py
就可以跑的 Django 專案範例, 提供了一個 Django 可以跟 Flask 一樣小的概念, 不過其實 url router 還可以簡化成像是 flask 那樣的 decorator, 如果再補上個 wsgi 應該會更完整了。
用 Python 基於 MySQL 開發的遊戲排行榜系統, 還提供了中文文件 做詳細的算法以及技術效能說明啊, 學習了!
github.comFiestar 主唱, 但 Fiestar 我還是最愛Jei 了 ~
instagram.comGoogle Unveils Neural Network with “Superhuman” Ability to Determine the Location of Almost Any Image - Google 發表辨識照片拍照地點演算法 PlaNet 準確度擊敗人類
Machine Learning:中級
這是一篇 Google 剛在 2016 二月發表的一篇論文,Tobias Weyand 等人提出了一個基於 Neural Network 的機器學習演算法 PlaNet,這個演算法可以分析照片然後正確辨識照片的地點。
其實這個問題非常難,如果拍照的地點沒有任何眾所皆知的地標,例如自由女神像、艾菲爾鐵塔、101 大樓等等,那就很難辨識拍照的地點。PlaNet 可以做到給定一個街景照片,然後相對精準(比起人類)的辨識拍照地點。
其中的核心原理就像是很有經驗的旅人,可以透過建築的樣式、招牌的文字或是道路左駕右駕來辨識地點,PlaNet 透過大量的照片作為學習資料,確實比人類更有優勢可以辨識街景照片辨識地點,畢竟一個人類一生可以去旅行的地方是有限的。
如果大家有興趣,也可以看一下本篇論文做更深入的了解。
延伸閱讀:
technologyreview.com
Machine Learning:初級
經過了 10 講的課程我們才在上一講學會了如何讓機器學習做多元分類,在這一講我們又要讓技能快速進化了!(希望大家跟我一樣感到興奮)在之前的問題中,我們只能夠讓機器笨笨地學習用直線來分類,在這短短的一講,我們將能夠學到透過非線性轉換的方式讓機器學習到如何使用非線性方程式來做分類,可能是圓圈、橢圓、雙曲線或是任何奇形怪狀的曲線,機器可以從中挑出一個最好的結果。學會了這個方法就如同打開了潘多拉的盒子啊!
fukuball.com
JavaScript:中級
前端框架在這短短幾年的時間改變了非常多,JavaScript 新手在接觸這些框架時,往往也是在一知半解的情況下隨著時代往前,從 jQuery、Backbone.js、Angular 到現在最紅的 React,究竟這些框架為自己帶來多少開發上的益處?其實值得好好思考。
本篇文章從 one-way data flow 以及 two-way data binding 兩個名詞及觀念上的混淆出發,慢慢闡述每個框架如何做到 one-way data flow 及 two-way data binding,清楚陳述了面對這兩個名詞時應有的觀念是什麼,這樣思考一個問題的思路正是新手邁入進階者可以學習、訓練的方向。
turn.tw
PHP:初級
寫程式時缺少不了使用 Array 作為資料結構來進行一些簡單的運算,但 PHP 因為發展的早,早期不成熟的範例程式碼充斥在網路上,也因此 PHP 新手在使用 PHP Array 時常常會使用到舊的寫法,而沒有使用 PHP 新內建的 PHP Array 操作方法,這反而有可能造成程式的效能低落。
舉例來說,假設現在我們有許多書本的書名 String 資料存在 Array 中,當我們現在想要從書本書名含有 "Design" 這個字串的書本移出 Array,那 PHP 新手可能會這樣寫:
for ($i = 0; $i < count($books); $i++) { if (false !== strpos($books[$i], 'Design')) { unset($books[$i]); } }
但其實 PHP 有內建 array_filter
這個 function 可以使用,寫法就可以改成:
$books = array_filter($books, function($book) { return (false === strpos($book, 'Design')); });
還在新手村的 PHP 朋友們可以進去看一下還有沒有什麼好用的 Array 操作方法吧!
startutorial.com
9 Development Workflow Upgrades You Should Know About - PHP 進階開發者需要知道的 9 個開發工具
PHP:中級
當 PHP 新手脫離新手村之後,就要開始慢慢學習讓自己工作得更快更好。這是Bruno Skvorc 分享的一些好用開發工具,其中git-fresh、 git-extras 、 快速切換 PHP 版本環境套件 phpv 以及 Composer 同步下載套件 prestissimo 都很好用!
至於後面勸敗的拆分鍵盤、跑步機工作桌 大家可以參考看看就好了~
sitepoint.com
這是個神奇的 Gmail 秘技,就是其實你可以在你的 Gmail 的 username 的部分加上 +
和任意的 .
組成新的 email 地址,而寄到這些 email 的信通通都會寄到你原本的 Gmail,簡單說就是 alias 啦。
由@vinta 分享。
github.io在我心中有一部漫畫超越『獵人』的存在,它的名字叫做『異獸魔都』(ドロヘドロ)。
老實說要寫這篇的時候我想了很久,因為林田球的作品不是三言兩語可以說盡的,如果說『獵人』具備鬼才式的開創性和世界觀,那『異獸魔都』即是擁有惡魔般的創造力和不屬於這個世界的世界觀,這樣說也許有點抽象,但就想像你在看《瘋狂麥斯》那種感官衝擊。
medium.com