-
- Pixel 手機退換貨紀錄
- 流程
- Pixel 手機如何刷機、降版?
- 前置作業
- 開始刷機
- Kobo 電子書閱讀器使用心得
- OUTPUT 最高學以致用法讀後感
- Cloud Functions for Firebase 跟 Google Cloud Functions 差在哪?
- 使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 13 ~ 14
- 前言
- 筆記
- 使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 10 ~ 12
- 前言
- 筆記
- 使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 7 ~ 9
- 前言
- 筆記
- 使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 4 ~ 6
- 前言
- 筆記
- 使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 1 ~ 3
- 前言
- 課程
Pixel 手機退換貨紀錄
大約是今年十一月開始,我的手機待機時間無法超過四個小時。當時也沒多想,畢竟自己大多時候都待在可充電環境。到了十二月底,這個症狀惡化到電量以兩秒 1% 的速度在掉,有時電量超過 40% 也會直接關機,嚴重影響我的日常生活。
查了一下手機災情,才發現我也是電池膨脹的受害者,也因為很多人即便過保,還是得到了換機的機會,因此嘗試走了一遍客服流程。
流程
首先會需要聯絡客服,填寫一些相關問題:
(閱讀全文…)Sign in – Google Accounts -
OUTPUT 最高學以致用法讀後感
前陣子面試了幾位專案經理,剛好其中一位擁有自己的部落格,便隨意看了看內容;裡頭分享了一本我滿感興趣的書籍:最高學以致用法:讓學習發揮最大成果的輸出大全。
「你是否曾看了大量書籍,但最後卻覺得跟沒看一樣?」
大概是這個概念抓住了我的眼球;我覺得我每天都在瘋狂吸收資訊,但還真的是看過就忘了,有吸收進去的內容少之又少,我想要改善這個狀況。
(閱讀全文…) -
Cloud Functions for Firebase 跟 Google Cloud Functions 差在哪?
不知道大家有沒有注意過:Cloud Functions 除了出現在 Google Clould 裡頭,在 Firebase 也看得到它的身影,一樣的服務為何要放在兩個地方?還有,它們倆真的一樣嗎?
當然,第一個問題只有官方知道,我也只是猜測而已:在 Firebase 剛推出時,強調開發者專注寫程式就好,剩下的 Firebase 會幫我們搞定。Google Clould 服務五花八門,很多服務不是單純寫程式可以理解的,不少服務還要具備伺服器管理經驗才有機會接觸,對於純粹寫程式的開發者而言就沒這麼友善。而 Cloud Functions 也是專注在寫程式的服務,跟 Firebase 的初衷如出一轍,將 Cloud Functions 放在 Firebase 當然沒問題。
至於第二個問題,它們一樣嗎——答案是否定的。我是先從 Google Cloud Functions 開始使用,最近的 Side Project 才用了 Cloud Functions for Firebase,一開始我以為兩者相同,但沒多久我就意識到:差多了!
(閱讀全文…) -
使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 13 ~ 14
前言
邏輯、流程的部分都已經處理掉了,接下來應該是把畫面跟定義好的程式串起來就會動了;課程也即將進入尾聲。
筆記
Flutter TDD Clean Architecture Course [13] – Dependency Injection
Flutter TDD Clean Architecture Course [13] – Dependency Injection – Reso CoderSubscribe Get the full project We have all of the individual pieces of the app architecture in place. Before we can uti…這集主要是要教學 dependency injection,在 Android 專案我習慣用 Koin 來處理這個需求,因為建構子實在需要太多東西了,假設 10 個地方需要 NumberTriviaBloc,那我就必需手動準備好 30 個參數。有了 DI 可以加速我們開發,只要宣告一次 NumberTriviaBloc,就可以到處使用。
(閱讀全文…) -
使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 10 ~ 12
前言
這幾集就是在講 Flutter 特有的 BLoC,我們已經跨入 presentation layer 了,這邊會開始碰到 UI 背後的邏輯。
筆記
Flutter TDD Clean Architecture Course [10] – Bloc Scaffolding & Input Conversion
影片一開始就要安裝自動產生程式碼的 plugin:
Bloc – IntelliJ IDEs Plugin | MarketplaceBloc Library Tools for effectively creating blocs and cubits for both Flutter and AngularDart apps.這是我第一次接觸 Bloc,看他概念就是吃 event 轉換 state,直覺就是想到 Redux 的 reducer,名詞不同,但做的事情還滿像的。本集就先定義 state 跟 event 而已,Bloc 還沒有正式開始講。
(閱讀全文…) -
使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 7 ~ 9
前言
這部分也在講 data layer 的內容,不過會更專注在 data source 裡面的東西。
筆記
Flutter TDD Clean Architecture Course [7] – Network Info
這集一開始導入一個 3rd party lib,專門用來確認網路狀態。這個 lib 直接連各大網路服務的 IP,概念簡單但很準確;不過 Github 上面有條滿可怕的 issue,正式版可能要考慮一下:
(閱讀全文…)Don’t use it on production for iOS! · Issue #7 · komapeb/data_connection_checkerIn current version it will never pass Apple AppStore app approval process, because it does not work in IPv6 network. I w… -
使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 4 ~ 6
前言
在課程 1 ~ 3 集學習了 Clean Architecture domain layer 的測試與實作,在這篇筆記中會著重在 data layer 的部分。
筆記
Flutter TDD Clean Architecture Course [4] – Data Layer Overview & Models
這集從頭到尾都在講 raw data 的測試跟 parse JSON。
num 是 int 跟 double 的父類別,在 parse raw data 時可以當作語法糖來用,少寫一些判斷,不太確定為何要有這種介於兩者的存在,可能在轉換或賦值時容易語法錯誤吧?
dynamic 等同於 Kotlin 的 Any 或 Java 的 Object,可以是任何東西。
factory 很像是 Kotlin 寫在 companion object 裡面的 function,又或是 Java 的 static,我不想 new instance,所以就用 factory 來寫 function。
(閱讀全文…) -
使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 1 ~ 3
前言
以前專職開發 Android 專案時,我喜愛 Clean Architecture + MVVM 架構當作基本配置;TDD 一直是我很想精通的一個技能,但礙於各種因素,正式工作中我一向是在最後階段才補上測試。這次學習 Flutter 課程,除了想將技能樹向外延伸,也想複習架構,並順便習慣 TDD。
課程
本次課程選用 Matt Rešetár 的 Flutter TDD Clean Architecture Course:
這個課程適合熟悉 Flutter 或是熟悉 TDD 及 Clean Architecture 的開發者,若沒有基礎就直接來上,可能資訊量會太大;以我來說,我習慣使用 Clean Architecture 且接觸過 TDD,有疑惑的部分就會是 Flutter / Dart 為主。
(閱讀全文…)