脫衣酒吧夜驚魂

「我好想做愛。」

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

閱讀全文《脫衣酒吧夜驚魂

60H 水草缸設缸紀錄

前言

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

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

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

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

初步需求

一個至少 2 呎的水草缸,

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

一兩黑殼蝦(飼料),以及其他的除藻生物。 閱讀全文《60H 水草缸設缸紀錄

母貓結紮防舔措施

前言

烏咪搬到家裡三個月了,

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

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

防舔措施

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

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

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

(拆線後還要再穿兩天)

以下是烏咪的使用紀錄。 閱讀全文《母貓結紮防舔措施

機車被放了家庭垃圾

前言

一月最後一天,我的機車腳踏墊被塞了一袋家庭垃圾。

說到車子被塞垃圾這件事──其實我頗有心得;

還是國中生時,我是騎腳踏車上下學。

藍色的美利達腳踏車,龍頭前鎖著一個籃子;

這個籃子讓我與無數陌生人的垃圾連結,

衛生紙、手搖杯飲料、菸蒂,

雞排的骨頭,沒吃完的便當……等,

完美地詮釋了台灣最美風景的公德心。

上了高中,腳踏車失竊,稍微中斷了與垃圾的關係,

買機車後,被塞垃圾的前置物籃又喚起了深層的回憶。 閱讀全文《機車被放了家庭垃圾

大和藻蝦幼苗觀察

前言

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

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

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

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

某天早上發現一堆漂浮在水中的白色小點。 閱讀全文《大和藻蝦幼苗觀察

Android 專案設定 Git Submodules

前言

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

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

有天驚覺:

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

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

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

這肯定會是一場災難。

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

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

修改完核心程式,各專案的 Submodule 只要 git pull 就可以更新。 閱讀全文《Android 專案設定 Git Submodules

蔬果行情站 2.0

前言

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

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

舊版缺點

預測零售價不準

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

線圖不易瀏覽及使用

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

新功能的開發方向

閱讀全文《蔬果行情站 2.0

使用 Google Cloud Platform 翻新系統架構

前言

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

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

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

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

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

而前陣子 Google I/O 宣布:

Google Cloud Platform 提供 Always Free 方案,

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

因為目前主機上有數個專案在運作,負擔太大了。 閱讀全文《使用 Google Cloud Platform 翻新系統架構

Visual Studio Code 設定 PHP Debug

前言

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

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

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

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

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

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

就來紀錄一下 PHP Debug 的設定方法。 閱讀全文《Visual Studio Code 設定 PHP Debug

TextView 總是對不齊 Drawable

前言

不曉得你們有沒有遇過這種狀況:

在 TextView 的屬性設定了 android:gravity="center_vertical"

結果一旁的 Drawable 卻沒有置中對齊,變成這樣:

TextView 總是對不齊 Drawable
無法垂直置中

TextView 總是對不齊 Drawable

這是因爲字型設計時,文字會有筆畫延伸高度:

上延筆畫(ascender)

下延筆畫(descender)

而 Android 會針對這兩個高度去畫額外的留白空間,

此時就會導致視覺上文字無法跟圖片垂直置中。

設計師看到就會訐譙你這跟他畫的 mockup 不一樣。

解決方法

設定 android:includeFontPadding="false" 這項屬性,
先來看看 Android 官方文件如何說明這項設定:

Leave enough room for ascenders and descenders instead of using the font ascent and descent strictly. (Normally true).

預設為 true,此時會連同額外的留白空間一起畫,

也就是說,當屬性設定為 false 時,

應可預期那些額外的留白會消失,

讓 TextView 的 Drawable 可以垂直置中對齊 。

垂直置中
設定屬性後可以垂直置中

參考資料

http://circlezine.com/2015/07/30/mix-match-01/

http://blog.justfont.com/2012/11/latin-type-design-1/