Quantcast
Channel: CodeTengu Weekly 碼天狗週刊
Viewing all articles
Browse latest Browse all 109

CodeTengu Weekly 碼天狗週刊 - Issue 97 騙人,日出怎麼會是早上,我明明都是在晚上看到日出的 - Jul 24th 2017

$
0
0

Hello World

CodeTengu Weekly 碼天狗週刊

CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一 AM 10:00 出刊,每期會由三位不同的 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到自已感興趣的東西,可能下一期就會有了。你也可以瀏覽一下前幾期的內容

目前的 curator 陣容:

你也可以關注我們的 FacebookTwitterGitHubOpen Source 專案,有很多 weekly 看不到的內容。有任何建議或疑問也歡迎來 Gitter 聊聊。

致力於解決開發者之間的資訊不對稱

@saiday

Apple Machine Learning Journal

Apple 在這個月開始了 Apple Machine Learning Journal 這個 site,似乎不打算用 blog 的形式而是用比較正式的 journal 來刊登跟 Machine Learning 相關的內容。

第一期已經出來了,Apple 真的很會寫這類的文件啊,雖然這不是我熟悉的領域,但看起來也是有所收穫。
相信對許多人來說是個很好的資源。

apple.com

Reducers - Chris Eidhof

又是 Chris Eidhof!總覺得他一直在幫 Swift 增加難度。
學 Swift 的時候總是會看到一些魔幻的 code,這個是我近期看到最帥氣的。

這篇文章的用意是對很常見的有 async task 的 project 做重構,把 async task 的 state 抽離出來,增加可測試性。
因為是 async task,為了要處理 state 中的 side effect,作者引入了一個 Reducer 的模式,這個在 Redux, Elm (update function) 很常見的模式,是一種很 functional 的模式。 在這樣重構之後,測試的時候就不需要引入任何種的 Test Doubles,直接 assert input, output 就好了。

作者還把 enum 當成 method 來用,在這個範例的條件下,理由也很說得過去,之前還真的沒想過呢。

註:Reducer 用 higher order function 的 reduce 來聯想的話,很快就理解了

eidhof.nl

Ricky Mondello on Twitter: "iOS 11 Beta 3 adds SFAuthenticationSession"

Apple 在今年的 WWDC What's New in Safari View Controller 說 iOS 11 之後的 Safari, Safari View Controller 不會再共享 cookie, local storage 了,不愧是業界最重視用戶隱私的公司。
但這樣就讓有些事情很難做啦,特別是本來拿 Safari View Controller 來做 SSO 的,於是,嘩,iOS 11 beta 3 多了一個 SFAuthenticationSession,專門處理這件事。

有人已經做了 範例,這個新的 API 運作起來其實真的很不錯,那麼剩下的就是開發者要關心的版本兼容問題了。

twitter.com

Kotlin: Integrate it with your complex Android project (Dagger, Mockito)

Kotlin 的 100% java interoperability 是很讚的一件事情,這讓你忽然福至心靈想要在既有的 Android Java 專案導入的時候,摁摁,它就導入了。

我想最近應該很多人已經或考慮導入 Kotlin 了,這篇是針對這個需求的主題:整合既有的 3rd party library。

@wangyung 很早期就投入 Kotlin 開發,他寫了一篇 為什麼我們使用 Kotlin 開發 LINE Creators Studio,在 Mokito final class mocking 這個問題上,他採取的是 interface oriented,我覺得比較理想。

medium.com

facebook/device-year-class: A library that analyzes an Android device's specifications and calculates which year the device would be considered "high end”.

if (year >= 2013) {
    // Do advanced animation
} else if (year > 2010) {
    // Do simple animation
} else {
    // Phone too slow, don't do any animations
}

簡單、粗暴、做得到

github.com

@hiroshiyui

How We Solved Authentication and Authorization in Our Microservice Architecture

作者分享了他們在 Microservice 架構下如何處理認證與授權的問題,我覺得這篇提到很多場景都是多產品、多子系統的公司在實務上會碰到的,像是處理跨子系統、行動版 App、開放第三方存取 API 等,很值得一讀。

medium.com

Rust Performance Pitfalls

本文作者列舉了一些 Rust 常見的效能坑,值得使用 Rust 語言的程式開發者參考。

不過裡頭有些做法是拿安全換效能,我個人實在不願意這樣搞就是了…。(若不是為了安全,為什麼要用 Rust?)

github.io

Because Browser Diversity Is Good For The Web

作者因為一則 Twitter 回應而寫了這篇,關於瀏覽器產品的多樣性為何重要的文章。當然,我絕對明白處理多瀏覽器的相容工作很煩、有時更會覺得痛,可是我還是跟作者一樣認為,瀏覽器產品的多樣性,正是 Web 之所以為 Web 的明證。

我們不想要回到那個 IE 獨大的時代,此時的我們也不該認為「Chrome 是『市場最大手』,網頁在它這裡看起來沒問題、能動就好」。

(想起以前曾經為了單位網站的選單是 IE-only、而跟主管吵架的往事,我真的好衝。)

medium.com

Rapid DHCP: Or, how do Macs get on the network so fast?

以前我剛接觸到 Mac OS X (現在要改稱 macOS 了…)時,扣除那些絢麗的視覺效果不談,印象最深刻的就是它用 DHCP 設定網路組態真是爆猛無敵誇張地快,進度指示的圓圈才剛快速地跑過一輪,就好了,相較之下我在 Windows, Linux, FreeBSD 底下可要等個好幾秒,於是我就很好奇,OS X 的網路設定是怎麼做到這種效果的?這篇文章談的就是這個主題,很有趣,如果您沒看過,現在讓您看看。

是說有人也曾跟我有同樣的好奇心嗎?

cafbit.com

@yhsiang

Life of a GraphQL Query — Lexing/Parsing

作者從 GraphQL Ruby 使用的 Ragel 切入,帶你理解如何解譯 GraphQL 的語法。

處理語言的 lexing 和 parsing,算是很入門的一篇。

作者下一篇是關於 GraphQL query 的驗證,有興趣的朋友可以繼續追蹤。

medium.com

An Almost Static Stack (Building Static Sites with create-react-app)

作者手把手地教你如何用 React 完成一個靜態網站。

用到的 tech stack 如下:

  • create-react-app
  • react-router
  • react-helmet
  • react-snapshot
  • styled-components

若是你剛好都有用以上的專案,而且正在找尋靜態網站的解決方案,不妨試試作者的方法。

medium.com

CSS Isn’t Black Magic

從瀏覽器如何產生畫面開始說起,也就是所謂的 Browser render pipeline (The pixel pipeline)。

除了提到 CSSOM 的產生過程,後面也有提到權重、定位跟 Z-index,建議 JavaScript 寫很熟,CSS 卻一直苦手的朋友,可以用心閱讀體會!

freecodecamp.org

Measuring web performance; it’s really quite simple

一篇較長的文章,在說明如何定義好 performance,並且正確地測量網站的 performance。

後面也有實際使用 webpagetest 測量,建議對 web performance 還不熟悉的朋友可以花時間閱讀。

hackernoon.com

Random Cool Stuff

Wat

這是一個五分鐘的 lightning talk,是在開一些語言 (Ruby, JavaScript) 的玩笑,但節奏的掌握好好,超好笑。

這個作者自己有做一個 screencast 的網站 Destroy All Software,真材實料啊!

@saiday 提供。

destroyallsoftware.com


This RSS feed is published on https://weekly.codetengu.com/. You can also subscribe via email.


Viewing all articles
Browse latest Browse all 109

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>