Intro

剛開始處理非同步的問題時,想要自己寫一個可以完美處理各種 callback 的系統。雖然那時候已經知道有一套玩意兒叫 Rx ,但還是死撐著想自己寫。最後的結果當然是…寫出了一坨只有當下的自己才懂的東西。不過也學到用閉包處理 callback 以及用物件包裝 function 等等的…邪門歪道(?)。

最後在某人的大力推薦(?)下,還是回歸正途,來學學大家都在用的 ReactiveX 吧!

簡報版

最近還是在閱讀一些 Google Android 範例,有個叫做 Dagger 的東西常常出現,讓人以為又要開始算Hermitian HH^{\dagger} 矩陣了。
該框架引入了一堆Annotation,看得頭昏眼花, Ctrl+B 追了半天什麼心得都沒有(誤)

好啦,亂扯一通。大家都知道 Dagger 在做的事情是依賴注入 (Dependency Injection, DI) ,那它到底在幹嘛?我們幹嘛要用它?

網路上關於DI的文章隨便抓都一大把,看得頭昏眼花。
為了避免自己放棄,乾脆自己來寫一篇,希望不會誤人子弟。

由於剛開始研究 Dagger 的時候是直接從 Android 專案中的範例開始的,殊不知, Dagger 為了迎合
Android App 的運行方式而用了一些旁門左道特別的方式來達成依賴注入,使上手難度又再提升一個檔次。

於是這篇文章先不從 Android App 的角度切入,有請 Dagger 官方提供的 Coffemaker 範例來現身說法先。

在這篇文中會使用 Kotlin 語言,接地氣,可以參考看看。

ML Study Jam

Qwiklabs連結

前陣子從入門到放棄自學機器學習時就有耳聞 Google 推出了許多雲端工具,例如本篇會使用的 BigQuery 等等。

以前自學的時候看到類似的雲端工具時,總會覺得不知該從何處下手才好,最後便下意識地跳過😅

而 Google 最近為了推廣自家的 GCP 雲端平台,發起了 ML Study Jam ,提供免費的一個月線上學習平台 Qwiklabs 訂閱。這次主打的 Qwiklabs 項目會手把手教你如何使用 GCP 上的各項功能,不會涉及到太多機器學習技術探討。 Qwiklabs 會提供一個有時間及功能限制的 GCP 帳號供你練習。在教學中會有一些小關卡,當你在該帳號上完成時就可以過關。

這邊不會介紹 Qwiklabs 與 GCP 介面的基礎使用方式,還沒試過的同學可以先來這裡看看,第一個介紹 Qwiklabs 與 GCP 的 Hands-on lab 是免費的。