CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一早上 10:00 出刊,每一期會從目前的 curator 名單中選出三位來負責當期的內容,每一位 curator 各自負責不同的領域,如果你在這一期沒有看到自已感興趣的東西,說不定下一期就會有了。
你也可以瀏覽一下前幾期的內容,有價值的東西是不會過時的。
以下是目前的 curator 陣容:
大家也可以 follow 一下 CodeTengu 的Facebook、Twitter 或GitHub,有很多 Weekly 看不到的內容。有任何建議或疑問也可以來Gitter 聊一聊,歡迎亂入 :japanese_goblin:
致力於解決開發者之間的資訊不對稱
沒這麼泰國的泰國妹子
instagram.com
最近正好在幫忙建置一套藍牙 BLE 裝置的 SDK,除了收集廣播(advertising)訊息,免不了要跟透過 GATT 跟裝置溝通、交換資訊。對於一直在 Web/App 等純軟體領域發展的我來跟天書一樣。
本來以為這大概是 mobile App 才會遇上的事情,沒想到現在連 browser 都要提供藍牙 API 了……但回頭想想,如果物聯網真的如預期中的發展起來,這也是不可避免的趨勢吧。
如果你也跟我一樣在 Android 上面開發自己的藍牙應用,千萬不要錯過 Android Beacon Library 。
另外補充一篇我前陣子用來補充基礎知識的GATT protocol 簡介,如果你跟我一樣是新手的話,可以參考一下。
opera.com
前陣子因緣際會又回去用 C/C++ 寫了個 TCP/UDP server,發現自己已經把底層的東西忘得差不多了。我想現在除非要開發 framework/library,大概沒多少人會用到 socket()
、 bind()
、 send()
……這些 function 了吧?更別說還在搞自己的 protocol 了。
如果你不幸(?)地也是這個領域的開發者,可能或多或少也嘗試過用 UDP 硬幹出一套可靠的傳輸協定。看一下別人是怎麼做的吧。
codingnow.com
Todoist 是我目前用過最滿意的 To-do list 服務,但我沒嘗試過用來管理軟體開發。大家一起來感受一下。
bellebethcooper.comMultithreading 是所有 developer 的惡夢,有沒有想過反過來扮演 scheduler 讓 multithreading 城市陷入死結(dead lock)是什麼感覺? XD
The Deadlock Empire 就是一個這樣的遊戲,從中能比較具體地了解到多緒程式有多少容易出錯的地方、又該怎麼的避免。
github.io
Facebook 2013 年才將 React.js 開源,但在這短短的兩年多已經成為擁有龐大生態系的 library ,在加上 React Native - Learn Once, Write Everywere. 的概念,讓網頁前端開發者也可以快速的開發 native mobile app ,最近官方將 React.js Conf 2016 的影片 放上youtube ,沒有時間看的朋友,可以先看看這篇,筆者整理了一些關於 React 的議題與資源。
medium.comJavaScript 在近幾年的變化非常大,ECMAScript 6 的各個新特性讓很多情況下,不需要透過 third party library 就可以輕易開發,本篇文章列出幾個實用的實作方式,不過目前還是建議透過Babel 轉換成較舊的語法,來保證瀏覽器相容性。
medium.com在使用 React 時如果不是很了解其特性,Redux 的作者@gaearon 將 React實作的一些建議製作成 Flow Diagram ,希望就此幫助所有利用 React 的開發者可以重新找到正確的方式。
github.com在撰寫 JavaScript 時,非常建議了解 functional programming 的概念,因為 function 的 independent 特性,使得程式更不容易出錯,在很多時候也可以較容易的增加可讀性。這篇文章將很多 functional 實用的概念都點出來了,值得前端開發者詳細研讀。
medium.com
ECMAScript 6 的 arrow function 和一般的 function 不同,會自動綁定 this,在撰寫時就不用像過去使用 bind 來帶入 this ,也可以用更簡單易懂的表示法來實作 Partial evaluation。
2ality.com
Issues Cloning Spec repo - GitHub taking a very long time to download changes to the Specs Repo
有在使用 CocoaPods 的人應該有發現在上個星期,下載或設定 pods 的速度會異常的慢。原因是因為 CocoaPods 太熱門(吞吐量是 Github 網站前五大),然後它的檔案又超級多(一個目錄裡頭有 16k+ 個子目錄),加上它又用了比較不適當的方法去 fetch,種種原因加起來造成 Github 整個網站的效率變差。因此 Github 就自動對它執行流量管制,CocoaPods 的使用者就悲劇了。
在這個 Issue 裡頭有很多人都跳出來討論,包括 Github 員工、Homebrew 維護者、Travis CI 維護者,還有 CocoaPods 維護者。Github 的員工講到了一些 Git 比較細節的部份,也提到 CocoaPods 的設計不適合使用 Git,最後也提供了不少修改建議給 CocoaPods。
github.com
UIStackView 實在是超級好用,有在使用 AutoLayout 建立畫面的工程師一定有深刻的體會(是說這個年頭還有人不用 AutoLayout 的嗎?)。但好用歸好用,它還是有一些細節需要注意,一個不小心就會踩到坑。本篇文章雖然不長,但它列出一些平時很容易忽略的問題,值得一讀。
angelolloqui.com
記憶體管理絕對是每個工程師都得重視的議題,也絕對是大家都遇過的痛。在 Mac/iOS 的開發世界,最常用來檢查 memory leak 的方式,不外乎就是使用 Instruments 工具,或者很土砲的在每個 dealloc
裡頭印 log,藉此來找到哪個物件沒有被正確釋放。但不論是使用哪個方法,步驟都很繁雜,讓人感覺不是那麼愉快。
MLeaksFinder 這一款工具提供了一個更為簡單,並且更直觀的方式來找到 memory leak。雖然它目前只支援 UIViewController
跟 UIView
,但你可以透過很簡單的設定讓它也支援其他 objects。簡單易用好上手,絕對值得一試。
目前比較常聽到、同時也是比較多人使用的架構,不外乎就是 MVC、MVP、MVVM,相對來說 VIPER 獲得的關愛真的少了許多。這篇文章的作者詳細的說明了他們團隊為何使用 VIPER、如何實作、以及獲得哪些好處。
這篇文章很棒的點在於,他們真的寫得很詳細:有程式碼、架構圖、相關工具、以及大量的參考資料。還在思考要選擇什麼架構,或是想要 refactor 的人,都應該看一下這篇!
swifting.io
在很久以前蘋果就開放讓大家都可以輕易的新增或移除 child view controller,這讓我們可以把一個很複雜的 view controller 切割成多個 sub-view controller,除了降低程式碼複雜度之外,也讓程式碼更容易重複使用。但 view controller 真的只能拿來處理畫面嗎?
由於 view controller 可透過 child view controller 合成的特性,再加上 parent / child view controller 的 life cycle 是一致的,所以就有人想到可以在 child view controller 的 life cycle 裡頭放入額外的行為,藉此實現AOP。
沒有畫面的 view controller?一開始聽起來或許有點奇怪,但仔細想想之後會覺得這種作法很酷!
irace.me
落語,是一門逐漸式微、歷史悠久的日式傳統娛樂,在昭和全盛時期,名門的寄席下一位難求是常有的事情,落語的表演方式有點像是相聲,票房全看表演者的魅力,在一個大家越來越少跨入劇場的時代,逐漸演變成需要被傳承、需要被保護的一門傳統技藝。作為一門專業技藝,必然會演化出許多門派及繁文褥節,要成為一名演出家,首先必須是「男性」,至今也是如此,以日本來說許多傳統技藝都有性別的門檻,當然在追求兩性平等的現代會引來許多爭議,但在腐女興起的現代,所有女性禁止的地方就是新的天堂啊!為了推廣這門傳統技藝,請放心把一切都交給腐女吧!嗯!read more
以上來自@autisticcat