在 VM 上部署 Umami 替代 GA4

Umami dashboard

Umami 是一款類似 Google Analytics 的網站訪客數據收集、統計與分析工具,只是它是開源的,而且強調對隱私的保護,不會收集你的個人資訊。

當初會知道它,主要基於這兩篇文章:

可以看出,兩位作者採用 Umami 的動機大致相同:主要考慮用戶的隱私權保護,其次則著眼工具本身對網站效能的影響。

我呢?既然知道了這個服務,顯然我也有我的需求。

Notion 資料庫「反複雜」使用指南

by Daria Kolesnikova

2024/02/01:新增「本文目錄」與「結語:適可而止的複雜」兩個部分。
2024/01/28:重新修訂全文,增加若干內容,使整體論述更清晰、完整。

讓我們進入「Simple Notion」系列的第三篇,同時也是最後一篇。這次我們要聊聊,最能夠代表 Notion 的關鍵元素:資料庫(database

一提到 Notion 你會想到什麼?沒錯,就是資料庫。資料庫就是 Notion 的代名詞

Notion 在 2016 年就誕生了(你也可以說是 2013年,請參考維基百科關於 Notion 的「歷史與發展」),但直到 2018 年才大紅,為什麼?——因為加入了 database。

儘管在 UI 加入類似關聯式資料庫功能,並非 Notion 獨創。畢竟,在此之前,Airtable 已經是這方面的佼佼者。

但我們不得不承認,Notion 確實把資料庫玩出了新的高度

本文目錄

  1. 本文主旨與目標讀者
  2. 本文架構與主軸
  3. Notion 的心臟:資料庫
  4. Craft——沒有 database 的 Notion?
  5. 學習 Notion database 的三大常見困境
  6. 困境一:學習門檻
  7. 困境二:不必要的複雜
  8. 困境三:過度使用
  9. 資料庫太多了!
  10. 無解的「分類」難題
  11. 我的 Notion database 簡潔使用指南
  12. 結語:適可而止的複雜
  13. 題外話:Notion 並不適合做卡片筆記

系列:Simple Notion

  1. 使用 Notion 滿 3 年,為何我仍「不推薦」用它來管理你的人生?
  2. 少則得,多則惑:使用 Notion 時的兩個常見陷阱
  3. Notion 資料庫「反複雜」使用指南

本文主旨與目標讀者

資料庫(database)無疑是 Notion 最強大的功能,但也是最複雜的。「過度使用」的結果,可能比不用還糟糕

既然是「Simple Notion」系列文章,主軸仍會聚焦在「簡潔」二字。而講到簡潔使用 Notion,資料庫絕對是一個無法繞過的主要議題

我希望不落俗套地,討論 Notion 資料庫的美麗與哀愁。並提供簡單有效使用指南,讓你能夠避免「陷阱」適度使用,從而真正發揮它的價值

更重要的是:減少不必要的學習焦慮感。

如何寫出 Pythonic 程式碼——《Python 功力提升的樂趣》

Python 功力提升的樂趣

我們繼續《Python 功力提升的樂趣:寫出乾淨程式碼的最佳實務》閱讀筆記,這是第 2 篇,你可以把它當作是一則重點整理,加上我個人的開發經驗與心得。

系列:解讀《Python 功力提升的樂趣》

  1. 使用 Black 格式化程式碼——《Python 功力提升的樂趣》
  2. 如何寫出 Pythonic 程式碼——《Python 功力提升的樂趣》
  3. Docstring 的重要性——《Python 功力提升的樂趣》
  4. 《Python 功力提升的樂趣》心得總結:掌握 Clean Code 基本功

第 6 章:寫出 Pythonic 風格的程式碼

我們常常聽到 Pythonic,但如果問起它究竟意味著什麼,一時之間可能也不容易回答,畢竟它沒有一個公認的標準或定義。

不過,充利分用 Python 獨有的特性、寫作風格、語法,尤其是善用標準函式庫,不重複造輪子——因為你自己造的輪子往往不會更好。或許是大家都認同的部分。

至於遵守上篇提到的 PEP 8,自然不在話下。如果你的變數命名使用了小駝峰式命名法(lower camel case),那麼在「形式上」就已經不太 Pythonic 了。

話說回來,本書雖然是一本優秀的 Clean Code in Python 入門書,但不知為何,書中的函式命名皆是採用小駝峰,讓我不甚理解。

但我們要知道:好孩子不要學。至於為什麼,不用問,問就是 PEP 8。

Apple Studio Display 適合你嗎?——我的心得與選購指南

from Pixabay

Apple Studio Display 無疑是今年內,我所有新購入的器物之中,最值得的選擇,且沒有之一。

但它不一定適合你,也可能不適合多數人。

相關文章:Mac mini 心得:寫程式的最佳選擇!


本文主旨

作為一個使用它近半年的真實用戶,我撰寫本文的目標,就是為了協助你判斷:是不是真的值得為自己購買一台 Studio Display。

你也可以當作這是一篇 Studio Display 開箱文

我們會提到它的優點——我最喜歡的部分。不過,作為一台昂貴的螢幕,在購入之前,你可能更關心「它究竟適不適合自己、值不值得?」

就像我在〈我買了 Apple Studio Display 與系列心得寫作計畫〉說的:

那些你不喜歡可能無法接受的環節,才是做決定時最重要的考量點——那些「不」才是關鍵

使用 Black 格式化程式碼——《Python 功力提升的樂趣》

Python 功力提升的樂趣

這是《Python 功力提升的樂趣:寫出乾淨程式碼的最佳實務》筆記的第 1 篇,你可以把它當作是一則重點整理,加上我個人的開發經驗與心得。

系列:解讀《Python 功力提升的樂趣》

  1. 使用 Black 格式化程式碼——《Python 功力提升的樂趣》
  2. 如何寫出 Pythonic 程式碼——《Python 功力提升的樂趣》
  3. Docstring 的重要性——《Python 功力提升的樂趣》
  4. 《Python 功力提升的樂趣》心得總結:掌握 Clean Code 基本功

本文目錄

  1. 系列緣起
  2. 只講重點
  3. 第 3 章:使用 Black 進行程式碼格式化
  4. Why Black?
  5. 第 4 章:選用易懂的命名
  6. 3 個代表性案例
  7. 第 5 章:找出程式碼的異味
  8. 程式碼異味的迷思
  9. 註解是不需要的?
  10. 寫好註解是同理心的表現

系列緣起

我會用數篇文章,把本書的重點一一勾勒出來。之所以願意這麼做,主要有兩個原因。

要真正落實 Clean Code,著實不易

雖然任何一種程式語言都能夠寫出堪稱簡潔的程式碼,但 Python 可能是最接近「自然語言」的那個。從這個角度看,Python 的 Clean Code 或許是最美的。

但因為 Python 的「自由度」很高,現實中的 Python 程式碼品質,往往都不那麼理想——你甚至希望它不要那麼自由

我認為這本書被低估了

意思是,它似乎不那麼有名

當然,講 Clean Code Python 的書也不只這本,但我認為本書是最適合起手的一本。儘管它面向的是 Python 新鮮人,但不得不承認,即使已經寫了一、兩年 Python 的開發者,對於書中建議的落實,往往都還有所不足。

儘管 Python 是自由的,但 Clean Code 卻沒有那麼自由——我們需要這本書,而且要好好實踐它。

更新部落格「關於我」至 2.0

by Sam Chivers

從〈終於寫了「關於我」頁面〉至今,已經近 8 個月。這次「關於我」終於迎來 2.0 版更新。

1.0 版的「關於我」,尚有參考借鑑其他作者共 3 篇自介的影子,到了 2.0,應該已經不太容易發現這些痕跡。

這也符合創作的本質——從風格模仿到慢慢演化出自己的偏好。

本篇會講述本次更新的重點思路,可以視為有關這次更新的「導讀」與補充。

Evernote 替代方案——筆記軟體 Bear 2 升級心得

bear.app

2025/04/06:Windows 或 Android 用戶可參考〈筆記軟體 UpNote 最吸引我的三大亮點〉,和 Bear 基本上大同小異,且達到全平台同步


我曾在〈使用 Notion 滿 3 年,為何我仍「不推薦」用它來管理你的人生?〉中提到:

如果你正在尋找一款和 Evernote 界面相似、使用邏輯相仿,且符合現代潮流的 app,那麼我誠摯推薦自己也有在用的 Bear

我常用的三款筆記軟體

Bear(中文名稱:熊掌記)、Notion、Logseq 這三者,都是我目前持續使用中的筆記軟體,雖然在使用量上,它們呈現一個非常不均勻的分布:

  • Logseq:80%
  • Notion:15%
  • Bear:5%

對,你沒看錯,Bear 的使用量只佔我全部筆記的 5% 而已。

儘管如此,我依舊是一個忠實的 Bear 付費用戶。原因無他,因為無論是 Notion 還是 Logseq,它們都太「」了!