首頁

    1. 口罩地圖帶來多少流量?
    2. 時間軸
      1. 2020.02.06:口罩販售實名制 1.0 上路
      2. 2020.02.08:上架 App
      3. 2020.02.09:1.0.0 – 1.1.0 地圖與搜尋
      4. 2020.02.09:宣傳
      5. 2020.02.11:COVID-19
      6. 2020.02.15:1.2.0 藥局備註資料
      7. 2020.02.20:口罩徵用產能持續提升
      8. 2020.02.22:1.3.0 回報制度
      9. 2020.02.27:中央流行疫情指揮中心提升為一級開設
      10. 2020.03.01:1.4.0 回報、營業時段與廣告
      11. 2020.03.05:全國各販售口罩據點每日供量提升
      12. 2020.03.05:1.5.0 口罩存量紀錄
      13. 2020.03.11:全球大流行
      14. 2020.03.12:口罩實名制 2.0
      15. 2020.03.18:停權
    3. 產品規劃
      1. 需求分析
      2. 觀察競品
      3. 決勝點
    4. 觀察指標
      1. 每日新用戶
      2. 活躍使用者
      3. 平均參與時間
      4. 留存率
      5. 使用者男女比例
      6. 使用者年齡分佈
      7. 版本數
      8. GitHub repo commits
      9. Firebase 用量
    5. 結語
    6. 後記
    7. 相關連結
    8. foodpanda 等到店家打烊還沒送餐會發生什麼事?
    9. 事發經過
    10. 解決方案
    11. 結語
    12. 後記
    13. 手臂上的小精靈
    14. 源由
    15. 一些事實
    16. 結語
    17. 男性飄眉初體驗
    18. 霧眉?飄眉?
    19. 過程
    20. 修護保養
    21. Before / After
    22. 後記
    23. 如何比較、挑選適合自己的 VPS?
    24. 價目表沒提到的資訊
    25. 比較 VPS 的工具:VPSBenchmarks
      1. 簡介
      2. 使用方法
        1. 年度最佳 VPS
        2. VPS 比較
        3. 條件式搜尋
    26. 結語
    27. 如果免費的 Heroku 開源專案存在
    28. 前言
    29. 什麼是 CapRover?
    30. 懶人套件架出高效能 WordPress 網站
    31. Webinoly
      1. 特色
      2. 功能
      3. 系統需求
      4. 防火牆設定
      5. 安裝方法
    32. 相關文章
    33. 結語
    34. 拿多少錢做多少事是對的嗎?
    35. 形容下屬
    36. 形容自己
    37. 當你值得更多
    38. 當你無法獲得更多
    39. 結語
    40. 後記
    41. 十二年前,我大四
    42. 研究所
    43. 成就感與工作熱忱
    44. 結語
    45. 我還是離開了 Cloudways
    46. 當初為何選擇 Cloudways?
    47. 為何離開 Cloudways?
    48. 什麼人適合 Cloudways?
    49. 離開 Cloudways,還能選擇什麼?
      1. 不熟 Linux 的人
      2. 使用 LEMP 的人
      3. 只想寫程式的人
      4. 專注在內容的人
    50. 結語

    口罩地圖帶來多少流量?

    口罩地圖帶來多少流量?

    前年疫情剛爆發時,我跟風做了口罩地圖,因為在風口上吸到一波恐慌流量,就進了排行榜一段時間。當時拿了 Google Play 地圖分類排行榜的第一,也摸到免費排行榜的榜首。這篇文章會說明當時發生什麼事,以及流量的規模有多大。

    時間軸

    從口罩實名制開始講起,直到我的 App 被下架為止,歷時 42 天的事件以及跨 15 個版本的功能演進。

    2020.02.06:口罩販售實名制 1.0 上路

    民眾自2月6日起,可持本人「健保卡」前往購買,每張健保卡可用10元購買2片口罩,7天內不能重複購買。身分證字號末碼雙號者可於每週二、四、六購買,單號者可於每週一、三、五購買,週日則開放全民皆可購買。

    發布單位:食品藥物管理署

    2020.02.08:上架 App

    2/6 實施購買口罩實名制,我在 48 小時內把初版口罩地圖做出,此時使用者只有我跟幾位好友。

    2020.02.09:1.0.0 – 1.1.0 地圖與搜尋

    初上架的基礎功能,以使用者介面來看,已經跟最終版本有八成像了,主要提供地圖上的藥局資訊以及列表搜尋功能;此時以為主功能做完就不太有新需求,但實名制執行不到一週,社群網站開始出現民眾及藥局對民間口罩服務的負面迴響:因為政策未預料到號碼牌制度,部分民眾用資料的數據去質疑藥局,讓藥局的工作人員承受了莫大壓力。

    2020.02.09:宣傳

    2/8 ~ 2/9 這個週末,我想讓 App 多一點曝光,於是到臉書社團G0V 貼了我的作品,後來也被收錄到口罩供需資訊平台,我覺得這是口耳相傳的起點,尤其臉書那篇迴響還滿不錯的。

    2020.02.11:COVID-19

    譚德賽於記者會上將新冠病毒引發的肺炎正名為「COVID-19」

    發布單位:衛生福利部

    2020.02.15:1.2.0 藥局備註資料

    從這個版本起,我開始進行補救措施,第一版的口罩地圖已跟最初期待的樣子截然不同,接下來服務勢必要朝著資料補充的方向前進,提供充分的資料可以降低資訊不對稱的狀況,進而減少衝突,因此加入了藥局的備註資訊,當作資料補全的第一步。同時,我也想要降低藥局的負擔,因為有藥局接電話接到手軟,便將電話藏到最深處了,也增加不要加重藥局負擔的警語,避免使用者可以輕易地撥打藥局電話。

    2020.02.20:口罩徵用產能持續提升

    全國販售口罩據點由每日提供成人口罩200片增為400片、兒童口罩50片增為200片;兒童口罩7天內可買4片。由於國內醫用口罩徵用產能持續提升,2月20日起增加實名制口罩提供量,以因應下週開學需求。

    發布單位:衛生福利部

    2020.02.22:1.3.0 回報制度

    延續上個版本的精神,政府的開放資料已經不夠用了,必須擴充資料內容才有辦法滿足需求,這個版本提供民眾或藥局工作者回報當下的口罩販售狀況,試圖讓資訊更即時、完整,但也衍生出新的問題:如何驗證民眾回報資料的正確性?這點除了藥局的工作人員,誰都做不到;最後是加了時間限制,避免短時間大量回報。(加入地點限制會更精準,但未實作。)

    2020.02.27:中央流行疫情指揮中心提升為一級開設

    因國際疫情緊急,將中央疫情指揮中心提升為一級開設,並請衛生福利部陳時中部長擔任指揮官,行政院長蘇貞昌院長特別指示各部會務必嚴守國門,全力防疫、紓困跟振興。

    發布單位:衛生福利部

    2020.03.01:1.4.0 回報、營業時段與廣告

    新增回報號碼牌制度的功能,不少藥局備註依然空白或未提及是否採用號碼牌,若能回報一個指標性的資訊,相信可以再消弭一些惱人的情形;這個版本亦加入了藥局營業時段,雖然開放資料不是以詳細的時間呈現,但起碼知道營業日,聊勝於無。此外也加入了廣告,預計接下來會開始支付下個版本所使用的網路服務費用。

    2020.03.05:全國各販售口罩據點每日供量提升

    全國各販售口罩據點每日提供成人口罩增為600片、兒童口罩增為200片。成人口罩每人購買量:7天3片。兒童口罩每人購買量:7天5片。

    發布單位:衛生福利部

    2020.03.05:1.5.0 口罩存量紀錄

    看到有人用銷量斜率去估算是否有口罩,便覺得庫存紀錄可以利用一番。一筆資料與一堆資料最大的差異是:能看到數字變動;在沒有藥局備註的情況下,可以直接推測「可能的販售時間」與「是否要抽號碼牌」,這是第一次真的有解決問題的感覺。

    2020.03.11:全球大流行

    WHO正式宣布新冠病毒疫情進入「全球大流行」

    發布單位:衛生福利部

    2020.03.12:口罩實名制 2.0

    為了改善口罩分配不均的問題,及讓沒時間排隊買口罩的上班族、學生等族群便於購買口罩,經過政府、民間業者資訊人員日以繼夜開發測試,推出「口罩實名制2.0」,除了現有健保特約藥局及衛生所等實體通路外,新增線上預購通路,民眾可透過健保卡、自然人憑證登入平臺,或可藉由健保快易通行動APP進行認證預購。

    發布單位:衛生福利部

    2020.03.18:停權

    違反 Google Play 政策而被下架,人數歸零;因為口罩地圖搞得自己身心俱疲,而且我也在口罩實名制 2.0 實施後買到口罩,這時已經該讓口罩地圖退場了,就沒有很積極處理重新上架事宜。

    產品規劃

    需求分析

    見下述文章:

    觀察競品

    我每天會觀察各種口罩地圖是否有更新,若有,那是更新了什麼內容?這會影響到我的 App 嗎?若對方做得很好,我有辦法做得一樣甚至是超越對方嗎?最重要的是:當時沒有一個口罩地圖解決問題,我一直在追尋解決問題的方法,最後我在一個競品上看到了解答。

    決勝點

    最終還是回歸到產品的本質:是否能解決問題。我最初做的差異化是回報系統,只要有人回報這間藥局的資訊,App 就提醒大家要注意。這件事由 Android 單一平台來做其實很冒險,因為回報量要夠大,這件事才有意義,沒做 iOS 版代表直接捨棄一半的量(台灣雙平台的使用者比例接近一比一)。

    後來,我注意到有人討論用庫存斜率來算營業時間,同時間我也在競品中找到這個功能:庫存量紀錄。記錄過去的庫存變化,只要數量在固定時間雪崩式下降,幾乎可以斷定那時間點是號碼牌制度的藥局在大量刷健保卡。我只要去找那些庫存緩慢下降的藥局,就可以買到口罩。於是我花了 1 個晚上複製這個功能,發佈後,3 天內衝上了 Google Play 的免費排行榜第一名。

    觀察指標

    每日新用戶

    取自 Google Play,從上架到停權的區間。

    峰值在 3 月 7 日,當天有 7076 位新用戶。

    活躍使用者

    Google Analytics 整合在 1.3.0,2020/2/21 發布。

    平均參與時間

    留存率

    固定每隔 7 天會有個小峰,猜測是「七天內不得重複購買」的影響,剛好都是週四,口罩實名制實施第一天也是週四。

    使用者男女比例

    使用者年齡分佈

    我的 App 字體大小偏大,因為我的主要使用者應該都有眼部老化的症狀。

    版本數

    下架前共發布 15 個版本,8 個功能上線、6 個問題修正以及 1 次體驗改善;平均算下來,每 2.8 天我會發布一個新版本。最緊湊時,平均每天上架 1 個版本。

    GitHub repo commits

    貢獻無數個平日夜晚以及週末。

    Firebase 用量

    用於回報功能以及庫存紀錄,只有記錄到三月用量。

    結語

    1. 跟風要快,個人開發者的好處是:企業、組織還在討論時,個人開發者已經做出東西了。
    2. 做正確的事情不一定成功;複製對的事情不一定失敗。
    3. 失敗就換個角度,試到成功為止。
    4. 當時的網站解決方案還是比 App 流量多上數十倍,可以思考下:體驗與流量之間該如何平衡。
    5. 當全世界跟你作對時,先好好睡一覺。

    後記

    當時歷經使用者罵口罩地圖不準、藥局業者說口罩地圖造成困擾,到最終 App 被下架,自己當下的狀況並不是很好。我對這個 side project 的感受有一部份滿負面的,尤其是看 Google Play 評論時,玻璃心碎一地。

    相關連結

  • foodpanda 等到店家打烊還沒送餐會發生什麼事?

    foodpanda 等到店家打烊還沒送餐會發生什麼事?

    2 月 22 日我經歷了工作、印尼文課、工作、英文課,在吃飯時間都沒有好好進食,這意味著我離開公司後需要高熱量食物撫慰心靈。我在路上用 foodpanda 點了漢堡王,預計回到家時,餐點會躺在管理室,到時把袋子拎上去就可以開始我的追劇行程;一切看似完美,但我沒料到這次的訂餐體驗會出乎意料。

    事發經過

    我在八點半訂餐,若按照慣例,餐點應該會在半小時內送達我家。九點左右,我發現這次外送時間比較久。到了九點四十,我開始按耐不住,因為漢堡王已經打烊了;於是我跟 foodpanda 的客服人員確認狀況,當時客服回覆:餐點等待外送中,為了補償我的久候,會發一張折價券給我。

    這幾天比較冷,我猜測是沒外送員接單,就先去樓下超商買泡麵充饑了。十點半,漢堡王的員工來電,說我的餐點遲遲未有外送員來送單,感到非常抱歉,餐點因為冷掉而重做、汽水也沒氣了,希望我不要給他們負評;他說已經跟 foodpanda 聯絡好幾次了,但一直等不到人,等他十一點下班,會親自送餐到我家。

    結束通話後,我再次聯絡 foodpanda 客服,這個問題他們也沒有解決方法,只重複貼罐頭訊息給我:這是內部高層的議題,無法透露更多。十一點,我在樓下從漢堡王的員工手中接過餐點;沒多久,我又接到一通電話,這次是 foodpanda 外送員。對方說漢堡王已經送餐給我了,他會再跟 foodpanda 反映這個問題;而我則是眼睜睜看著 foodpanda app 的地圖,外送員騎車到我家樓下,完成一張空氣訂單。

    解決方案

    foodpanda 的處理方法清楚明瞭:只要餐點做了就沒有取消的方法,不論是 B 端或 C 端客戶都無法阻止這件事,唯一的解答就是完成訂單,簡單暴力。

    若我是 foodpanda,我也不想處理取消訂單,退費只有全退跟不退,中間的損失是誰要吸收?再來發票的處理方法、外送單的移除……等,每件都是麻煩事。反正我丟一張折價券出去,剩下的你們自己想辦法,這個解決方案就是讓 B 端及 C 端客戶吸收剩下的成本,在流程異動最小的情況下解決問題,很有效,也很霸道。

    結語

    目前餐點外送服務競爭激烈,就我所知:Foodpanda 算是收費較低廉的選擇。在削減成本的情況下,只要出了亂子,苦果就會反映在客戶身上。這件事情客服不會跟你說、官網問與答也不會寫明,唯有親身經歷才會知道。

    後記

    1. 漢堡王來電時,對方語氣非常慌張,我花了不少時間安撫對方。
    2. 網路上提到的反制方法:改用現金付款。
    3. 這次事件我沒有對任何人發脾氣。
    4. 那份套餐被我當隔天的晚餐。
    5. UberEats 取消訂單很阿莎力,但折扣碼只有天選之人才能兌換,非常無情。
  • 手臂上的小精靈

    手臂上的小精靈

    這是我在 2019 年 3 月刺下的圖案,當時剛好喜歡的刺青師來台,想也不想就直接預約了。這篇文章原本只有在我的 Instagram 發布,但總覺得也要收錄在個人主頁才對。

    源由

    莫約在公元前五世紀,不列顛群島有一群人不拜天地、不敬鬼神,但他們相信萬物有靈,尤其以樹木為尊;若熟稔凱爾特神話,對於德魯伊(Druid)應該不陌生。德魯伊生活在巨木群裡,與動物為伍,擁有與萬物對話的能力,在凱爾特部落中,德魯伊除了是僧侶,也是醫生、教師、先知與法官,在部落中享有特權,但成為一名德魯伊並不容易,凱撒曾在高盧戰記提到:「成為合格的德魯伊教徒之前,至少要修行二十年。」 十八世紀初,英格蘭考古學者在康沃爾郡的洞穴發現了一系列的壁畫,初步研究僅推判是德魯伊信仰的遺址;直到數年前以現代檢測儀器掃描後,得知這些壁畫出自鐵器時代,正是不列顛群島德魯伊信仰的全盛時期。

    這些壁畫記錄了德魯伊與萬物共榮的場景,其中頻繁出現一種未知生物,考古學者稱之為:小精靈(Sprite)。小精靈是德魯伊信仰尊崇的樹靈,掌管植物消長,並提供了凱爾特部落穩定的糧食來源。

    小精靈約五到六寸高,頭上是植物的幼苗,待生長穩定後就會將其移植到適合成長的土壤中。手持木杖以聖樹枯枝製成,沒有魔力,但具有紀念價值,木杖較粗的部位可以用來修繕房屋或敲打開心果。果食主義(Fruitarianism)執行者,柑橘類水果是禁忌,食用後不會死亡,但汁液噴到眼睛會造成業火焚燒靈魂的痛楚,尤以檸檬為最。

    凱撒大帝征服高盧地區後,基督教跟著傳入,凱爾特的德魯伊信仰也因此逐漸消散,小精靈族群隨著式微的信仰而凋落。現代德魯伊教徒(Neo-druidism)雖恢復了古老的儀式,但再也沒有人見過任何小精靈。

    一些事實

    上面的內容是我唬爛的,我從維基百科蒐集資料拼湊而成。每次有人看到我的刺青,就會想聽這個圖案的故事,所以就為小精靈編了一個。這年頭刺青好像一定要有個什麼故事,沒有,單純刺帥的,我就是這麼膚淺。

    我以為刺青之後會帶來諸多困擾,截至目前為止,經歷過很多事件,包含面試、泡湯、出國⋯⋯等,但實際上讓我覺得這個刺青不討喜的案例只有兩件:有次我在印尼跟財務長吃飯,財務長是韓國人,用餐到一半,財務長突然說:「你刺在這麼明顯的地方啊?刺在上臂比較不明顯。」另一次則是日本朋友來台,我們一起逛夜市時,我突然提起這個刺青,他很震驚的說:「你居然有刺青?在日本是黑道才會刺青。」但上述兩起事件都沒有影響到我們的交情就是了。

    小時候被長輩灌輸:刺青是𨑨迌囡仔在做的事,每次看到有刺青的人都很害怕被傷害。長大後發現:讓我們關聯負面印象的是擁有刺青者的所作所為,惹是生非的人就算沒有刺青,也不會討人喜歡。若我們看待所有事物都可以聚焦在本質,那很多東西都顯得沒那麼可怕。

    結語

    若小精靈真的存在,那我期待自己可以跟小精靈一樣成為種樹的人,這一路走來都有貴人相助,希望某天我也可以成為他人生命裡的貴人。

  • 男性飄眉初體驗

    男性飄眉初體驗

    我早就知道自己眉毛有斷眉的狀況,因為有時拍照可以明顯看到眉毛只剩三分之一,但我也沒有做什麼補救措施。直到某次剪髮看到設計師的眉毛有特別處理,一問之下才知道飄眉、霧眉的處理手法。雖然當時沒有直接預約,但也在我心中種下一顆種子。

    像這張照片的眉毛就只剩短短一截。

    霧眉?飄眉?

    霧眉跟飄眉差異在於呈現的樣貌,霧眉如同其名,看起來就是霧狀的外觀,偏眉粉的感覺,看起來妝感會比較明顯;至於飄眉,它看起來就像毛髮一般,屬於線條狀的仿真毛流。喜愛妝感的人通常會選擇霧眉,並搭配一些飄眉;喜歡自然的人,就會以飄眉為主。

    這類的半永久紋身方法其實很像刺青,都是將顏料透過針頭打進皮膚裡面。只是刺青是刺進真皮層,比較深;飄眉、霧眉則是刺進表皮,比較淺層,所以過八個月至一年就會代謝掉。

    過程

    Instagram 這陣子莫名一直收到霧眉、飄眉的廣告,而且還是男性為主的,讓我又想起自己眉毛的缺陷。剛好女友最近做完霧眉很滿意,我便打鐵趁熱,趁勢預約一波。由於我平常沒有化妝的需求,因此這次只做了飄眉。

    大致流程如下,有點忘記順序,應無大礙:

    1. 討論喜歡的眉型
    2. 描出合適的形狀
    3. 拔掉雜毛
    4. 軟化眉毛
    5. 開始飄眉
    6. 敷凝膠舒緩不適
    7. 修正、調整不足之處
    8. 敷凝膠舒緩不適
    9. 收工回家

    修護保養

    術後接著就是傷口保養,像刺青完我們會擦凡士林,飄眉後也有類似的注意事項;下列事項跟傷口有關的我大約做了一週,保養類的就是盡量長期遵守。

    1. (傷口)洗臉避免用洗面乳來回搓揉眉毛
    2. (傷口)可正常洗卸,建議用中性洗面產品
    3. (保養)眉毛避免用含酒精、美白或酸類的保養品
    4. (傷口)早晚用生理食鹽水濕敷眉毛
    5. (保養)眉毛用毛巾吸水,不大力擦拭
    6. (傷口)擦修護凝膠

    保養類的看起來偏向避免刺激或是任何會加強皮膚代謝的事項;滿合理的,我也不希望不到半年就因為自己手賤就讓顏料被代謝掉。

    Before / After

    比較稀疏的地方被填補起來,因為有修眉,所以眉型又更俐落一些。

    後記

    我自己算滿意這次的飄眉經驗,因為憑著自己喜歡較短的眉毛就做下去了,忘記自己臉胖的事實;事後覺得眉毛做長一點會比較適合我的比例,之後補色的時候想再微調一下長度。

    P.S. 後來上班時,沒有同事發現我去飄眉,原以為眉毛會變得像蠟筆小新一樣粗黑。

  • 如何比較、挑選適合自己的 VPS?

    如何比較、挑選適合自己的 VPS?

    我在搬離 Cloudways 之前,花了一些時間比較各家主機的差異,希望能在一定的費用下購買到性能最好的商品,也就是性價比取向。我認為這個需求最難的部分在於:如何將各家主機的性能量化。一開始我將價格差不多的主機資訊複製下來,逐條檢視、比較規格,結果發現比不到最核心的部分。

    價目表沒提到的資訊

    常見的價格表。

    以 CPU 來說,只知道單核或雙核是不夠的。我們想知道的是:它每秒的運算量是多少,不同的 CPU,效能會有所差異,相差 3, 4 倍也不無可能,在效能差異較大的狀況下,核心數量就沒什麼參考價值了。又或者比較磁碟空間,大小較沒爭議,若是比速度,SSD 比 HD 快也是無庸置疑的;但今天要比較不同廠商的 SSD,自然是要比每秒可以讀取、寫入多少資訊。

    這些真正會影響我們使用狀況的資訊不會在價目表寫出來,通常是在使用後,我們透過一些工具去跑分數才會清楚。我們想在購買前知道這些資訊,但這些資訊是使用、測試後才有辦法了解。

    大概是這種感覺。

    比較 VPS 的工具:VPSBenchmarks

    這次我口袋名單的選項有 Linode、Vultr、Google Compute Engine、Amazon EC2、Amazon Lightsail 以及 Azure,大部分都有提供試用,但測一輪大概會耗費我整個週末,幸好已經有個服務把這件事做好了:VPSBenchmarks。

    簡介

    VPSBenchmarks 來自美國加州,主要的業務是針對 VPS 產生分析報告,很多 VPS 服務商的分析結果都有收錄在內,在同一套標準之下來做比較,我認為還滿客觀的。

    使用方法

    Review and Compare VPS Servers
    Real World Performance of VPS Cloud Servers

    VPSBenchmarks 提供很多資訊,以下列出我覺得最喜歡的三個功能。

    年度最佳 VPS

    Rankings -> Best VPS 2022

    對於喜歡看懶人包的使用者來說:這應該是最輕鬆的比較方法,直接將該年度的分析做出排名。像 Best VPS 2022 就有重點說明某幾間 VPS 的服務商是表現較優異的;此外,它也有針對不同預算區間來做排序,對於有預算考量的使用者來說,非常方便。

    表現優異的 VPS 服務商。
    不同的價格帶,也有各自的排名。

    VPS 比較

    Compare -> Providers / Compare -> Features

    我有準備一份口袋名單,在這個情況下,就可以針對名單中的 VPS 服務商來比較,剛好我名單中的服務商也都有被收錄在內。Compare Providers 是各自在規格上的評比;Compare Features 則是會更偏條列式的功能說明以及優、缺點分析。

    Compare Providers
    Compare Features

    條件式搜尋

    Ranking -> Screener

    本次需求是想把我的 WordPress 網站搬到新的 VPS 服務商,我的讀者大多是台灣人,因此我會期待找到在台灣或日本有機房的廠商;此外,我也希望每個月的花費可以在 30 美金以下。

    條件式搜尋合適的 VPS 服務商。

    過濾條件後,就會依照分數來做結果排序,這樣的呈現方式一目瞭然。

    結語

    每個人對 VPS 的期待都不同,在 VPS 服務商百家爭鳴的情況下,比較又變得很麻煩;希望 VPSBenchmarks 這個便捷服務可以免除大家挑選 VPS 時的猶豫,祝大家都可以找到心儀的 VPS。

  • 如果免費的 Heroku 開源專案存在

    如果免費的 Heroku 開源專案存在

    前言

    在我職涯之中,大部分的時間都在寫程式,對於伺服器的設定、管理的知識相對薄弱;也因此在開發個人專案時,我喜愛使用讓我專注在寫程式的解決方案,如:Heroku、GAE 或 Firebase 等服務。

    在享有便捷服務時,額外帶來的是昂貴的使用成本;對於一名免費仔來說,這無疑是巨大的打擊;因此我一直在期盼上述服務的開源專案出現,而這次要介紹的是:最接近 Heroku 的替代品,CapRover。

    什麼是 CapRover?

    CapRover 是被 Docker 包裝起來、提供圖形化介面讓我們可以一鍵設定各種工具的後台,官方以 Scalable PaaS 自述這套系統。它的使用體驗很接近 cPanel 或是標題提到的 Heroku,只要用滑鼠點幾下就可以安裝、管理常用到的系統或程式,如:WordPress、MySQL 或 Redis 等。

    順帶一提,CapRover 是基於 Apache 2.0 的開源專案;截至目前為止,已在 GitHub 得到了超過 8k 的星星數。

    CapRover · Scalable, Free and Self-hosted PaaS!
    Scalable, Free and Self-hosted PaaS!
    (閱讀全文…)
  • 懶人套件架出高效能 WordPress 網站

    懶人套件架出高效能 WordPress 網站

    每次架站的時候,有些工作是一做再做的,例如:建置網站運行的環境、域名綁定、調伺服器參數······等,這些重複的瑣事常常耗掉我半個下午;尤其是伺服器設定,有時調完還只是會動而已,還不到最高效能,如果這些事情可以被簡化,那不是很美好嗎?

    Webinoly

    Webinoly 是一個以 LEMP(Linux Ubuntu + Nginx + MariaDB (MySQL) + PHP)架構為基底的套件,號稱幾秒鐘就可以架完一個站,而且還是調教完成的;對不懂得設定的人是一大福音,而它也提供額外功能給專業人士使用。

    特色

    • 可申請免費 SSL 憑證
    • 支援 HTTP/2 讓網站變快
    • 提供不同的 PHP 版本(目前最新支援到 8.1)
    • 有 FastCGI 跟 Redis 的 Cache 設定
    • Qualys (SSL Labs) 的測試中取得 A+ 分數
    • 自動最佳化主機

    功能

    • 架設純 HTML 網站
    • 架設 PHP 網站
    • 架設 WordPress 網站
    • 反向代理
    • 域名綁定、轉址

    系統需求

    • Ubuntu 20.04
    • Ubuntu 18.04

    防火牆設定

    • 22/TCP (進 / 出)
    • 25/TCP (出)
    • 80/TCP (進 / 出)
    • 443/TCP (進 / 出)
    • 587/TCP (出) *Optional for SMTP
    • 11371/TCP (出) *GPG Keys
    • 22222/TCP (進) *Admin area

    安裝方法

    以下步驟以裝 WordPress 網站為例:

    # 更新主機
    sudo apt-get update
    sudo apt-get upgrade -y
    
    # 下載並安裝 Webinoly
    wget -qO weby qrok.es/wy && sudo bash weby
    
    # 建立 WordPress 網站並啟用 FastCGI Cache(建議啟用)
    sudo site 你的網址 -wp -cache=on
    
    # 安裝並綁定免費的 SSL 憑證
    sudo site 你的網址 -ssl=on
    
    # 接著瀏覽你的網址來完成 WordPress 的安裝流程
    # 因為 Webinoly 會保護 WordPress 的登入頁面,所以要新增使用者來完成驗證
    sudo httpauth -add
    
    # 執行下述指令可以啟用 SFTP 上傳或修改檔案的功能
    sudo webinoly -login-www-data=on

    其他形式的安裝請參考官方網站:

    Optimized NGINX Web Server
    Making NGINX easy for everyone!

    相關文章

    比起需要下指令的套件,更習慣看得到的網頁後台嗎?那我推薦你裝 HestiaCP,它也可以架出高效能網站:

    想要搬 WordPress 到其他主機,但又覺得麻煩嗎?試試看這個 WordPress 外掛:

    結語

    網路上很多解決方案,我尤其喜歡站在巨人的肩膀上,藉由他們的視野免除許多非必要的麻煩,讓我得以把時間花在該投入的地方。Webinoly 在這領域做得很好,我喜歡它的簡單、易用,而且不用煩惱我的伺服器設定。

  • 拿多少錢做多少事是對的嗎?

    拿多少錢做多少事是對的嗎?

    拿多少錢,做多少事。

    你講過、我講過,可能連隔壁鄰居也講了三五遍。

    常聽到這句話,但這是對的嗎?端看說這句話的人所形容的對象。如果是套用在自己身上,我覺得是個謬論。原因很簡單:我今天給你台積電總經理的薪水,你會變成對方嗎?答案顯而易見:你領了鉅額的薪水,但能力無法跟上薪資的改變。但今天若是管理者對下屬的視角,那麼這句話就是我們打考績的日常。

    形容下屬

    「我覺得 OOO 一直都是團隊裡輸出最穩的人。」

    「他薪水這麼高,也很有經驗,這是本來就該做到的。」

    當我在打考績時,常常會把產出跟薪資綁在一起評比;那些薪資高的員工,做得比其他人好會被合理化,這是公司對他的期待,也是對方領高薪的理由。

    形容自己

    我在第一份工作時,曾抱持著這樣的心態,覺得公司虧待我,自己值得更多,後來就讓自己保持在不上不下的狀態,反正工作都有做完。但這就陷入了雙輸的局面,我沒有得到更多的酬勞,公司也失去一名有潛力的員工。

    當你值得更多

    加薪、升遷最實際的方法就是讓主管看見你的付出,越是醒目,打考績時就越有印象。你可能不愛成為眾人目光的焦點,那也無妨;通常主管會定期有一對一的會議,這個場合適宜跟主管說明自己的戰功。若沒有這樣的會議,那就自己約,千萬不要悶在心裡,最後讓自已受委屈。

    以我的狀況來說:因為直接合作的對象不多,這些人的考績好處理;但那些沒有一起共事的下屬,就是憑印象,若有人願意分享自己的功績自然再好不過,否則我需要藉由外力來得到相關資訊,如:360 度績效評估。

    當你無法獲得更多

    當你做出了成績,但又無法被認可時,也許你該把這些成就寫在履歷上。我有個朋友,JY,他在 2019 年得到新加坡總部最高的評分,不只主管,連同儕也對他讚譽有加;後來 JY 因疫情調回台灣分部,JY 試圖跟台灣主管討論調薪事宜,但被拒絕了,這位年度最佳員工什麼都沒得到。直到 JY 提離職,公司才幫他加薪 40%,雖然誘人,但 JY 吞不下這口鳥氣,最後還是去了其他公司。

    天大地大,不做的人最大。只要想清楚了,就去尋找下一個機會吧!公司這麼多,總會有欣賞你的人出現。JY 的例子告訴我們:能者到哪都吃得開。順帶一提,JY 被加薪 40%,無論是否接受挽留都沒有錯,權衡輕重後做出決定即可。

    結語

    身為受薪階級的一員,我期許自己可以一直秉持「做多少事,拿多少錢」的態度,想要的事物靠自己努力爭取,若得不到肯定是哪裡出了問題,而我也希望有能力解決這些問題。

    後記

    其實我是看到這影片後有感而發,跟我朋友 JY 遇到的狀況實在太像了。劃個重點:他做出成績但沒有獲得應有的報酬,而不是什麼都沒做好就大聲嚷嚷。這個案例可以再加強的部分:其實他可以更早跟主管提出加薪的需求,又或者詢問調薪的方法,真的不得其門而入還是瀟灑離開吧!祝福他早日找到心儀的工作。

    P.S. 我若是對方主管,以公司立場,我會說明無法加薪的原因與公司的難處;但於私我會鼓勵他嘗試外面的機會,並為他寫推薦函。

  • 十二年前,我大四

    十二年前,我大四

    前幾天寫完考完學測的高三生,寫作過程中,我一直在回想那些做重大抉擇的時間點,也參考了一些過去寫的內容;這篇文章主要想回覆我一篇大四時期寫的日記,因為造化弄人,發生的總是比預期的曲折很多。

    前情提要一下:大學時期我不愛上課、唸書(只讀閒書),程式也寫得很爛,程式設計還被當過一次,當時完全不覺得自己會成為軟體工程師。那時還是 Web 2.0 的黃金時期,各種部落客當道,我覺得自己也有機會躋身知名部落客的行列。大四的我在摸索自己畢業後的方向,雖然無法掌控未來,但慶幸的是:還是擠得出一些自己想要做的事情。

    研究所

    當時跟風想要考研究所,還去買了一套補習班教材,結果沒啥讀,滿做自己的。當時報考五、六間學校,最後只有上母校虎科,毅然決然跑去當兵。

    還滿慶幸的是:當時沒唸研究所。按照大學時期的尿性,碩班生活一定會過得很痛苦,且只是去混個文憑,根本不是去學習。至於現在,也不想再補這個學歷,想學的東西會更想以自學的形式來達成;但我期待等自己更有本事時,有閒去唸個 EiMBA 交交朋友,看能不能碰撞出有趣的題目。

    研究所重要嗎?一堆人說電資學院的碩士文憑 CP 值最高,我當然也天人交戰過。再給我一次機會,我會這麼決定:以利益大者為優先。若我今天抱著榨乾學校資源的心態,我會選擇唸研究所;若只是混日子拿文憑,還不如早點出社會,品嚐薪水的甜美。

    成就感與工作熱忱

    最後的選擇就是工程師了── 我只想選製程工程師,內容就是重複的事物, 或許無聊,但至少不用像 RD 一樣倍感壓力。 我只希望對自己的工作有熱忱, 並享受於工作的時間,似乎有點難?

    大四的疑惑

    無聊的工作不會讓你有工作熱忱,結案。對我而言,工作熱忱來自兩個要素:工作內容以及同事。每天做自己喜歡的事,夫復何求?更令人開心的是:還有一群理念相符的戰友跟我一起上班;享受工作就是這麼單純,但這確實不簡單。

    而壓力——跟成就感是兩面一體的存在,當我在高度壓力的狀態下完成任務,那成就感是不可言喻的,它是讓我保持熱情的必要元素。最適合的壓力程度大概是:安排超出一些能力的工作任務。

    目前最想做的是能服務人群的職業, 我覺得這感覺還滿棒的,相當有成就感, 但這方面大多都會跟業績有所關聯,這點比較討厭。 

    請忽略無知少年對於工作的狹隘想像

    我有點忘記滿棒的感覺是來自服務人群或是很有成就感了,但願是前者;不要為了追求成就感或任何讓自己快樂的事物而悖離自己的核心價值,因為價值觀才是我們立足於這個社會的基礎,違反只會搞得自己徹夜難眠。

    而服務人群其實很簡單,只要能產出有價值的事物,並與他人分享即可。很高興我的專業幫不少人解決問題,每每想到使用者給的正面評價便覺得自己很幸福。

    這章節沒有提到錢,因為錢買不到工作熱忱(但錢可以買到快樂 🤑 )。我跟一些友人願意降低薪水,只為了去自己喜歡的公司或是投入有興趣的題目;我們都有個價碼的底標,當 offer 可以負擔我們想過的生活,錢的權重就沒那麼高了。

    結語

    十二年過去,喜歡的事物、核心價值還是沒變;但我還滿高興自己對於壓力與挑戰的接受度,大四的我看起來像個怯生生的小白兔,現在有信念作為後盾,對手就算是巨人還是先揍他一拳再說,搞不好我會贏。

  • 我還是離開了 Cloudways

    我還是離開了 Cloudways

    Cloudways 用兩年了,最近發現網站越來越慢,當我嘗試連進去機器除錯,卻發現無法取得最高權限。趁著在年假期間,搜尋完各家主機商的比較資訊後,便開始處理網站搬家事宜。

    當初為何選擇 Cloudways?

    我最初是使用共享主機空間,所有設定都在 cPanel 處理;後來改用 VPS,最大的痛點在於不夠熟悉 Linux,架站的大多需求都可以完成,但細部的設定卻需要耗費不少時間成本;之前的主機代管服務其實帶來很多便利,我只要專注在內容產出即可。Cloudways 提供主機代管服務,同時又讓使用者享有 VPS 的優勢,這個選擇可以省下不少麻煩。

    為何離開 Cloudways?

    一部分是前言提到的效能問題,但最令人沮喪的是:當我試圖打開 Cloudways 這個便捷服務的外盒,卻發現裡頭是我無法控制的事物,沒有 root 權限的 VPS 還算是 VPS 嗎?

    仔細一想,我其實只是懶得連到機器裡頭敲指令跟調教設定;目前網路上有開源專案可以讓我們更輕鬆地去管理主機,有的是網站形式的控制台,像 cPanel 那種;有的是指令式的管理程式,一行指令就可以架站、最佳化設定。不管是哪種都滿足我當下的需求。

    什麼人適合 Cloudways?

    1. 不懂 VPS 但想要擁有 VPS 的運算資源
    2. 沒有預算壓力

    像我就是免費仔的出身背景,很多時候都會有成本考量,這種錙銖必較的個性多看幾眼 Cloudways 的價目表就會坐立難安;若是單純花錢買方便,我覺得 Cloudways 是很棒的選擇。又或是沒有相關技術背景的朋友,還是會推薦使用。

    離開 Cloudways,還能選擇什麼?

    Cloudways 提供舒服的方案讓使用者輕鬆架站並擁有獨立的主機資源,若打算離開,必須付出一些代價,這會讓我們沒辦法那麼愜意,例如:必須試著敲些指令;若要犧牲的是主機資源,保有一開始的舒適感,那就是回頭去用虛擬主機,這邊就不討論,我還是更愛 VPS 一些。

    看到這邊,我會假設你可能是:

    1. 有用過 Linux,但不太熟
    2. 每分錢都要花在刀口上的個性
    3. 略懂 Linux,但還是覺得設定的過程很惱人
    4. 單純來看熱鬧的

    不熟 Linux 的人

    對於不太熟悉 Linux 指令的朋友,我會建議使用網頁介面的後台管理系統,只要點幾下按鈕就能滿足你的願望;最困難的部分應該就是下指令安裝 HestiaCP,但安裝教學已經準備好了:

    使用 LEMP 的人

    你已經熟悉 LEMP 的設定,但每次新增或修改網站還是覺得很沒效率,那我會建議使用 Webinoly 來降低這些瑣碎工作的煩躁感。什麼?你用 Apache?那你還是可以試試上面提到的 HestiaCP。

    只想寫程式的人

    例如我,技能幾乎是點在開發程式上,SRE 的技能點得不夠多,但又需要部署各種程式到主機上。雖然強烈懷疑這族群的使用者應該不會用 Cloudways(這更適合用 Heroku 才對),沒關係,還是有些很不錯的開源專案可以滿足這項需求。

    Heroku 的開源替代方案,最常看到的是 Dokku,適合喜歡敲指令的朋友們:

    Dokku – The smallest PaaS implementation you’ve ever seen

    若想要有網頁介面,那我會推薦使用 CapRover;對我來說,這樣的控制台更貼近使用 Heroku 的感覺:

    兩套軟體都支援 php 及其他程式語言,非常適合需要部署多種程式的人。

    專注在內容的人

    如果想專注在內容,我推薦使用 WordPress.com,原因無他,WordPress 是全世界佔有率最高的內容管理系統,如果能得到原廠的支援是再好不過了。

    P.S. NASA 也是使用 WordPress 的服務

    結語

    這次搬家讓我每個月節省 52% 的網站支出,也換了一套自己熟悉的開源專案來管理主機,大家不妨來審視一下自己主機的使用狀況,也許會有意想不到的收穫。