首頁

  • 清腸記

    清腸記

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

    (閱讀全文…)
  • 脫衣酒吧夜驚魂

    脫衣酒吧夜驚魂

    「我好想做愛。」

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

    (閱讀全文…)
  • 60H 水草缸設缸紀錄

    60H 水草缸設缸紀錄

    前言

    因為搬家後可支配的空間變大了,

    且魚缸中的巧克力娃娃一直有互咬的狀況,

    心底就一直有擴缸的念頭;

    大約在過完年後我開始計劃一個水草缸。

    初步需求

    一個至少 2 呎的水草缸,

    裡面養了 5 隻以上的巧克力娃娃,

    一兩黑殼蝦(飼料),以及其他的除藻生物。 (閱讀全文…)

  • 母貓結紮防舔措施

    母貓結紮防舔措施

    前言

    烏咪搬到家裡三個月了,

    推算了一下,年紀約六、七個月大,

    跟獸醫師確定烏咪可結紮後,就預約了手術。

    防舔措施

    手術後的不適感會讓貓去舔傷口,

    可能造成傷口感染,因此要避免舔舐。

    獸醫師叮囑我拆線前不要取下防舔措施,

    (拆線後還要再穿兩天)

    以下是烏咪的使用紀錄。 (閱讀全文…)

  • 機車被放了家庭垃圾

    機車被放了家庭垃圾

    前言

    一月最後一天,我的機車腳踏墊被塞了一袋家庭垃圾。說到車子被塞垃圾這件事──其實我頗有心得;還是國中生時,我是騎腳踏車上下學。藍色的美利達腳踏車,龍頭前鎖著一個籃子;這個籃子讓我與無數陌生人的垃圾連結,衛生紙、手搖杯飲料、菸蒂,雞排的骨頭,沒吃完的便當……等,完美地詮釋了台灣最美風景的公德心。上了高中,腳踏車失竊,稍微中斷了與垃圾的關係,買機車後,被塞垃圾的前置物籃又喚起了深層的回憶。

    (閱讀全文…)
  • 大和藻蝦幼苗觀察

    大和藻蝦幼苗觀察

    前言

    我的魚缸有兩隻大和藻蝦,平常除藻還算勤勞,

    大概就像影片中的畫面那樣:

    Dong Sian Lin on Instagram: “大和藻蝦認真工作中💪 The hard-working algae eaters. #amanoshrimp #aquarium”
    18 likes, 1 comments – jarvislin on June 10, 2017: "大和藻蝦認真工作中💪 The hard-working algae eaters. #amanoshrimp #aquarium".

    但有一陣子蝦子不太露面,

    好像在魚缸角落搞什麼神秘聚會。

    某天早上發現一堆漂浮在水中的白色小點。 (閱讀全文…)

  • Android 專案設定 Git Submodules

    Android 專案設定 Git Submodules

    前言

    目前有數個專案使用了共同的核心架構,

    一開始是每個專案都有一份相同的程式碼。

    有天驚覺:

    若哪天核心程式碼做了修改,

    那麼每個專案都要跟著做調整;

    一兩個還好,若是要修改數十個專案,

    這肯定會是一場災難。

    理想的作法是只要改一次,更改的內容便可同步到其他專案。

    針對這個需求,最後決定採用 Git Submodules;

    修改完核心程式,各專案的 Submodule 只要 git pull 就可以更新。

    設定方式

    這部分會提到 Git 以及 Android 專案設定,

    其中 Git 是使用 SourceTree 這個 GUI 工具。

    SourceTree 設定 Git Submodules

    Git submodule

    點擊 Add Submodule

    指定某個路徑為 Submodule

    設定 Submodule 相對路徑,core 是我設定的名稱。

    完成,Submodule 是一個獨立的 repository 可以個別管理。

    Android Studio 設定

    專案根目錄 settings.gradle 設定 module 目錄:

    include ':core'

    app/build.gradle 新增相依的專案:

    dependencies {
        compile project(':core')
        ...
    }

    後記

    自從設定完 Git Submodules,

    最有感的部分在於:

    新專案處理架構的時間都省下來了,

    只要把 module 引入專案就好,相當方便。

  • 蔬果行情站 2.0

    蔬果行情站 2.0

    前言

    前陣子完成架構的升級後,接下來就是蔬果行情站本體的改造,主要是開發語言的更換,以及程式架構的調整;除了上述提到部分,我認為還有兩點相當重要:

    • 舊版缺點的改善。
    • 新版功能的開發方向。

    舊版缺點

    預測零售價不準

    這點我認為是最嚴重的,因為一直有使用者反應這件事,但又無法讓每一位使用者瞭解:預測零售價是可以自行修改的參數。改善方向就是拿掉這項功能,取而代之的是更客觀的方法:以上個月的平均價去比較當日平均價,並提供漲跌資訊,由使用者自行判斷便宜與否。

    線圖不易瀏覽及使用

    關於行情線圖,最常看到的評論是字太小,再來就是線圖不知如何使用。前者是介面上的設計不良,未能顧及某些使用者的需求,至少就有兩、三則評論提到:長輩看不清楚線圖上的數字,希望可以再大一些。後者則是未提供使用者操作教學,如:兩指放大、縮小的手勢;這類 UI / UX 相關的需求會在新版本加以改善。

    新功能的開發方向

    (閱讀全文…)

  • 使用 Google Cloud Platform 翻新系統架構

    前言

    最初只是想重構蔬果行情站的應用程式,

    目前專案是採用非正規的架構寫出,

    而且相當小眾,壞了很難追到問題的原因;

    近期較熟悉官方推薦的方式,

    也對於這個專案有些新想法,就決定把它砍掉重練。

    而前陣子 Google I/O 宣布:

    Google Cloud Platform 提供 Always Free 方案,

    便衍生了把蔬果行情站後端拆出去的念頭,

    因為目前主機上有數個專案在運作,負擔太大了。 (閱讀全文…)

  • Visual Studio Code 設定 PHP Debug

    前言

    以往寫 Java 或 C# 時,IDE 會提供開發者除錯的功能,

    其中我最頻繁使用的是斷點 (Breakpoints),

    點幾下就可以知道程式流程及變數內容,相當方便。

    但寫 PHP 時,我除錯的方法是印出變數值,

    相較之下根本還停留在石器時代,

    趁著最近開始使用 Visual Studio Code,

    就來紀錄一下 PHP Debug 的設定方法。 (閱讀全文…)