Flutter

使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 10 ~ 12

前言 這幾集就是在講 Flutter 特有的 BLoC,我們已經跨入 presentation layer 了,這邊會開始碰到 UI 背後的邏輯。 筆記 Flutter TDD Clean Architecture Course – Blo...
Flutter

使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 7 ~ 9

前言 這部分也在講 data layer 的內容,不過會更專注在 data source 裡面的東西。 筆記 Flutter TDD Clean Architecture Course – Network Info 這集一開始導入一個 3r...
Flutter

使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 4 ~ 6

前言 在課程 1 ~ 3 集學習了 Clean Architecture domain layer 的測試與實作,在這篇筆記中會著重在 data layer 的部分。 筆記 Flutter TDD Clean Architecture Co...
Flutter

使用 TDD + Clean Architecture 開發 Flutter 專案課程筆記 1 ~ 3

前言 以前專職開發 Android 專案時,我喜愛 Clean Architecture + MVVM 架構當作基本配置;TDD 一直是我很想精通的一個技能,但礙於各種因素,正式工作中我一向是在最後階段才補上測試。這次學習 Flutter ...
各類分享

完整移除 Comodo 防火牆解決無法上網問題

前言 大約在 2017 年裝了 Comodo 的防火牆,幾年使用下來也沒出甚麼問題,但最近會在開機後發生異常,說是防火牆無法正常啟動。這個問題也造成我無法上網,非常困擾。 釐清問題 因為 Windows 10 之前有出過更新後無法上網的問題...
Android

防疫資訊站 – 在口罩地圖之後

前言 前陣子我媽打給我,說:她不會用實聯制掃描而被店員唸了,後來每次進店都放棄用手機掃描,改用手寫登記。我不知道有多少長輩有碰到這個問題,但我覺得需要有人來解決它。剛好 g0v 有人在分享最新的疫情資料,就花了一個週末把口罩地圖改版了。 新...
生活雜記

我的記帳工具演化史

前言 我在大學三年級養成記帳習慣,因為零用錢有限,必須精準地控制預算。那時我幾乎每天都會檢視自己的消費紀錄,並透過每一筆消費明細來調整自己的購物取捨與順序。 記帳習慣在 2017 年中斷了,當時毫無目標、策略地記帳,到後來就覺得可有可無,漏...
Android

教導年長者使用平板電腦

前言 我媽前陣子嚷著想要用電腦,就我有印象以來,這狀況持續了十年以上,每隔一段時間,我媽就會說要學電腦,但每次教完,大約一週內就會對電腦失去興趣。 使用者背景 65 歲傳統家庭主婦國小學歷容易放棄,害怕失敗及未知的問題記憶力開始退化不擅長使...
Amazon Web Services

OkHttp 綁定 AWS SSL 憑證

前言 前陣子印尼員工遭遇了手機無法連到 AWS EC2 主機的問題,請對方開啟網頁瀏覽器連自家 API,網址列上出現了驚嘆號,懷疑是自家主機不被該裝置信任,出了一版綁定憑證 (SSL pinning) 的版本,果然順利連到了主機。 延伸問題...
Android

口罩地圖開發思路

我要查詢附近特約藥局時,發現民間做的口罩地圖服務都被流量灌爆,甚至有人吃了一張 Google 的 60 萬元帳單。這件事應該是要被解決的,於是興起動手做一個的想法。
Linux

Ubuntu 搭配 Nginx 安裝 Let’s Encrypt Wildcard SSL

前言 去年 Let's Encrypt 開放申請 Wildcard SSL, 剛好最近有個域名尚未使用 SSL, 趁機記錄一下安裝過程。 安裝流程 本次安裝的環境如下: Ubuntu LTS 16.04、Nginx 並使用 CloudFla...
生活雜記

清腸記

這是我人生第一次照大腸鏡。 到診所量完血壓後,護理人員拿出瀉藥及鹽水要我先清腸,好讓內視鏡檢查可以順利進行。通關門檻很明確:腸液清澈如花茶者為佳品,混濁如奶綠茶為中品,帶有形體者則為下品;只要解出佳品腸液就可以晉級到下一關。
遊學

脫衣酒吧夜驚魂

「我好想做愛。」 我的室友叫做尚恩,來自韓國,擁有摔角選手外表的他意外有著一顆柔軟的內心,姑且先不評斷他欲求不滿的言論,他在校園內其實是很受人敬重的存在;幾乎年屆不惑的他理所當然是在強調長幼有序的環境中成長,但他對待我們這些晚輩如同服伺長輩一般,若學校有年度最佳暖男的獎項,我想校長會毫不猶豫地頒發給尚恩。
水族

60H 水草缸設缸紀錄

前言 因為搬家後可支配的空間變大了, 且魚缸中的巧克力娃娃一直有互咬的狀況, 心底就一直有擴缸的念頭; 大約在過完年後我開始計劃一個水草缸。 初步需求 一個至少 2 呎的水草缸, 裡面養了 5 隻以上的巧克力娃娃, 一兩黑殼蝦(飼料),以及...

母貓結紮防舔措施

前言 烏咪搬到家裡三個月了, 推算了一下,年紀約六、七個月大, 跟獸醫師確定烏咪可結紮後,就預約了手術。 防舔措施 手術後的不適感會讓貓去舔傷口, 可能造成傷口感染,因此要避免舔舐。 獸醫師叮囑我拆線前不要取下防舔措施, (拆線後還要再穿兩...
生活雜記

機車被放了家庭垃圾

前言 一月最後一天,我的機車腳踏墊被塞了一袋家庭垃圾。說到車子被塞垃圾這件事──其實我頗有心得;還是國中生時,我是騎腳踏車上下學。藍色的美利達腳踏車,龍頭前鎖著一個籃子;這個籃子讓我與無數陌生人的垃圾連結,衛生紙、手搖杯飲料、菸蒂,雞排的骨...
水族

大和藻蝦幼苗觀察

前言 我的魚缸有兩隻大和藻蝦,平常除藻還算勤勞, 大概就像影片中的畫面那樣: 但有一陣子蝦子不太露面, 好像在魚缸角落搞什麼神秘聚會。 某天早上發現一堆漂浮在水中的白色小點。
Git

Android 專案設定 Git Submodules

前言 目前有數個專案使用了共同的核心架構, 一開始是每個專案都有一份相同的程式碼。 有天驚覺: 若哪天核心程式碼做了修改, 那麼每個專案都要跟著做調整; 一兩個還好,若是要修改數十個專案, 這肯定會是一場災難。 理想的作法是只要改一次,更改...
程式作品

蔬果行情站 2.0

前言 前陣子完成架構的升級後,接下來就是蔬果行情站本體的改造,主要是開發語言的更換,以及程式架構的調整;除了上述提到部分,我認為還有兩點相當重要: 舊版缺點的改善。 新版功能的開發方向。 舊版缺點 預測零售價不準 這點我認為是最嚴重的,因為...
Google Cloud Platform

使用 Google Cloud Platform 翻新系統架構

前言 最初只是想重構蔬果行情站的應用程式, 目前專案是採用非正規的架構寫出, 而且相當小眾,壞了很難追到問題的原因; 近期較熟悉官方推薦的方式, 也對於這個專案有些新想法,就決定把它砍掉重練。 而前陣子 Google I/O 宣布: Goo...
PHP

Visual Studio Code 設定 PHP Debug

前言 以往寫 Java 或 C# 時,IDE 會提供開發者除錯的功能, 其中我最頻繁使用的是斷點 (Breakpoints), 點幾下就可以知道程式流程及變數內容,相當方便。 但寫 PHP 時,我除錯的方法是印出變數值, 相較之下根本還停留...
Android

TextView 總是對不齊 Drawable

前言 不曉得你們有沒有遇過這種狀況: <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="c...
網路應用

Firebase Cloud Messaging 在背景收訊息

前陣子將推播服務換成 Firebase, 但發現一個問題:只有在前景時才收得到訊息。 官方文件指出: App behavior when receiving messages that include both notification a...
生活雜記

抱石初體驗

前言 偶然查到新莊有間抱石場: Stone Bouldering Gym 因為有懼高症,遲遲不敢嘗試攀岩運動, 但簡介提及高度莫約四至六公尺, 感覺是可以接受的高度,就去挑戰了。 抱石 抱石是攀岩的一種型態,但是與多數攀登型態最大不同處是抱...
Arduino

DFRobot Arduino 入門套件開箱

前言 去年一直在嚷著要學 Arduino,但遲遲未去接觸; 前陣子熱衷養魚時突然發想: 如果可以遠端監測、控制我的魚缸就好了。 而 Arduino 似乎可以滿足我的需求, 所以就手滑買了一組入門套件。 Arduino 套件百家爭鳴, 選擇 ...