Hello World
CodeTengu Weekly 碼天狗週刊
如果命運的齒輪沒有出差錯,CodeTengu Weekly 都會在 UTC+8 時區的每個禮拜一 AM 10:00 出刊。每週會由三位 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到感興趣的東西,可能下一期就有了。當然你也可以瀏覽一下前幾期的內容。
目前的 curator 陣容:
- @vinta - I failed the Turing Test - 科幻迷,最近在讀 Wool
- @saiday - Imnotyourson - 電量給我這種人用就是一種浪費
- @tzangms - Oceanic / 人生海海 - 最近真的都在玩薩爾達
- @fukuball - ImFukuball - 有新工作了,但歡迎直接挖角
- @mingderwang - Ethereum enthusiast
- @kako0507 - 熱愛嘗試新事物的前端工程師
- @chiahsien - 》〉》我們要找 iOS 工程師《〈《
- @uranusjr - Smaller Things - 聽說 Pinkoi 少了個棒球記者所以現在去應徵前端應該有機會!?Shadowverse:
uranusjr - @kkdai - 態度萬歲 - Learning Deeply....
- @yhsiang - AMIS / MAICOIN 徵才中,歡迎聯繫!
- @johnlinvc - 挑戰自動化家中電器
- @drumrick - 歡迎加入台灣 Kaggle 交流區
- @wancw
- @allanlei
- @theJian
你也可以關注我們的 Facebook、Twitter、GitHub 或 Open Source 專案,有很多 weekly 看不到的內容。有任何建議也歡迎來 Gitter 聊聊。
@mingderwang
The US startup is disappearing
美國已經不流行 startup 了嗎?從 1985 年新創公司佔所有美國公司的 13%,到 2014 年已經降至 8%。造成這現象的原因,未明 ...(但作者有其見解)
工程師視角:什麼是區塊鏈的 Smart Contract?
作者,Yuren Ju,利用 JVM 的概念,說明了 Ethereum Smart Contract 底層的運作原理。他也提到,雖然區塊鏈和 Smart Contract 都還是非常早期的發展,但很期待去中心化的思維,可以回頭來思考我們已經做過的服務,有哪些可以再透過去中心化架構,提出新的解決方案。
Beginner’s Guide to Smart Contracts Security (1) — Using online tools to do security audit
作者,李婷婷,以實作的方式帶大家如何利用線上工具,找出並解決智能合約資安漏洞的問題。另一個問題 Callstack Depth Attack Vulnerability,還沒公佈解法。如果想要進一步研究什麼是 call-stack attack 的人,可以先看看 Making Smart Contracts Smarter 這篇論文,再試著先解解看問題。
Building the 2018 World Cup GraphQL API
最近想當一個快速的 fullstack 工程師,免不了要會這三樣東西。1. 部署用 zeit.now。2. 前端用 next.js 的 React。3. 後端用 prisma (舊名 Graphcool) 的 GraphQL。當然前端不用 Javascript 或 React 還有其他選擇。
以這篇如何製作 2018 世足賽 GraphQL API 為例,可以看到他也是用 now 部署,以及提供 GraphQL API,而非 RESTful API。
註:我所謂的快速 fullstack 工程師,就是不想等 back-end 幫你改 RESTful API,也不想等 DevOps 的 Ops 幫你部署,全部一手包辦。
@chiahsien
iPlayground.io
身為一個 iOS/Mac 開發者,你也跟我一樣羨慕國外有那麼多的研討會、感嘆為什麼台灣都沒有嗎?有這種想法的不只是你跟我,還有很多開發者也是這樣想,所以有一群熱血的人就決定要舉辦一個面向 iOS/Mac 開發的技術研討會,現在正在強力徵求講者。
想要分享自身經驗的人,趕快去投稿吧!單純只想參加的人,也別忘了先把日期預留下來喔!
老司机 x 知识小集 x SwiftGG WWDC 18 专题目录
WWDC 2018 前不久落幕了,不知道各位開發者對這次的感想如何呢?有開始看 session 了嗎?這裡有一份精美的筆記,先看過一遍再去看感興趣的 session 會更好吸收喔。
也有人整理了一份懶人包,內容也是非常齊全!
Changes after WWDC 2018 - App Store Review Guidelines History
每年 WWDC 之後,蘋果的 App Store Review Guidelines 都會更新,開發者們就得留意這次又更新了哪些條款,及早做出相對應的調整。這個網站很清楚地列出本次又更新哪些東西,我最喜歡的是底下這點:
- Apps now must clearly describe new features and changes in the “What’s New” section of the App Store. Several of the large social network companies have been using a practice where they reuse a generic update text for every release and then enable new features remotely on a per-user basis. This appears to no longer be permitted.
另外,條款還新增了一個 Developer Code of Conduct,看完之後感覺很有趣,難道 reviewer 時常被罵嗎?(是說被罵也不意外啦,誰叫你們 reviewer 的素質這麼參差不齊)
React Native at Airbnb
Airbnb 算是少數幾個嘗試 React Native 的先驅之一,它們也分享過許多導入的經驗。經過了兩年的嘗試,它們決定要放棄 React Native,回到原生開發的方式。這一系列文章(總共五篇)說明了它們為何要導入、中間踩到什麼坑、為什麼成果不如預期、接下來的計劃等心得,非常值得正在使用或打算使用 React Native 的人參考。
當然,它們的心得也只是一個參考,每個團隊的組成跟運作方式不同,結果也會不同。例如 Artsy 就用得很開心,並且正在全面轉向 React Native 的懷抱。React Native 本身還是很不錯的,Facebook 也很積極的改善它,它們正計畫重構整個 React Native!
ReSwift in Practice
React + Redux 的架構對網站開發者來說一定不會陌生,但是對 mobile app 開發者來說就不是那麼熟悉了。雖然有 ReSwift 這個框架,網路上看到的討論還是偏少,除了官方的 sample project 之外也很難找到實際使用的心得(我猜一來是使用的人還不多,二來是真的要寫會寫很長一篇,所以大家懶得寫)。本文作者用了一個真實世界比較會遇到的情境作為案例,說明該如何一步步的使用 ReSwift 開發。
我在公司的專案上,也用 Objective-C 實作 Redux 架構,我自己的感想是「不要照本宣科」,有些概念對 mobile app 開發來說有點畫蛇添足。舉例來說我覺得 Middleware 沒任何好處,真的要處理非同步 action 就等非同步結果回傳之後再 dispatch action 就好。另一個相關的例子是不要把任何動作都定義成 action,只有會改動到 state 的才能當作 action。
還有很多心得可以講,不過這樣篇幅就太長了,有興趣研究架構的人歡迎來跟我當同事!
@theJian
Upcoming ESNext features - Part 1
盘点一些 ECMAScript 新特性的 proposal。除了 pipeline operator,另一个个人很期望的特性就是 pattern matching 了。
JavaScript engine fundamentals: Shapes and Inline Caches
Mathias 和 Benedikt 在 JSConf EU 2018 演讲的主题。介绍了 JavaScript Engine 中的一些基础知识,包括 shapes (hidden classes) 和 inline caches。对于想要进一步优化代码的 JavaScript 开发者来说了解 JavaScript Engine 的内部原理是必由之路。
Using JavaScript modules on the web
ES modules 在主流的现代浏览器中都得到了支持。但这并不意味着你应该摆脱 bundlers 了,考虑到性能继续使用 bundlers 打包是更保险的做法。不过在 development 环境下,切换到 ES modules,简化 transpile 的流程也许能帮助你更好更快的开发。
Image Inconsistencies: How and When Browsers Download Images
background-image 和 <img /> 两种写法会怎样影响图像文件的下载时机呢?乍一眼应该会觉得 background-image 应该至少要等待 CSSOM 构建完成才能开始下载,而 <img /> 需要的是 DOM。如果再考虑上 display: none 的影响呢?作者观察了不同浏览器各自的处理方式。