29,我編輯舊文的三個理由

作為一個 blog 創作者,我算是比較常編輯、翻修舊文的人。
編輯舊文往往需要花費不少時間,而且讀者也未必看得出有哪裡不同——所以我一定會在文章開頭備註、提醒☺️
部分文章,編輯過不止一次,比如〈Python 套件管理器——Poetry 完全入門指南〉,我將它視為代表作之一,編輯的次數應該是全站之最。
這樣的行為,雖然源於對文字與表達的追求,但其中也有實際的理由。
這篇來就分享一下,我考慮編輯舊文的三個實際理由。

作為一個 blog 創作者,我算是比較常編輯、翻修舊文的人。
編輯舊文往往需要花費不少時間,而且讀者也未必看得出有哪裡不同——所以我一定會在文章開頭備註、提醒☺️
部分文章,編輯過不止一次,比如〈Python 套件管理器——Poetry 完全入門指南〉,我將它視為代表作之一,編輯的次數應該是全站之最。
這樣的行為,雖然源於對文字與表達的追求,但其中也有實際的理由。
這篇來就分享一下,我考慮編輯舊文的三個實際理由。

這是 Django Tutorial 系列連載的第 4 篇。
範例程式碼可參考我的 GitHub 專案。
如〈Django Tutorial:系列介紹與導讀〉所言,這個系列主要是圍繞著「Django API」教學展開的。
但無論是用 Django 建立全端網站,還是開發 API,Django 的 HttpRequest——也就是我們熟悉的request參數——都是必不可少的元素。
HttpRequest封裝了來自前端的 HTTP 請求,而 Django 會將HttpRequest物件自動帶入 view 函式的第一位置參數(通常就叫request),讓我們可以直接使用。
HttpRequest 物件在我剛開始寫 Django 的時候,根本不太清楚HttpRequest具體有哪些屬性。
通常是看教學或為了實作某個功能而 Google 的時候,看到範例程式碼使用某個屬性,然後才知道這個屬性的存在。比如:
1 | if request.method == "GET": |
看到這段,才知道request有一個method屬性。
這樣學當然可以,但如果一開始就對常用的HttpRequest屬性有基本了解,會讓你在學習 Django 的路上更加踏實。

今年 2 月下旬,我決定晚上(下班後)去圖書館讀書!
原因很簡單,我在家不好讀書,主要有兩點:
以前我有兩張桌子,直接切換,一張專門用來讀書,那樣比較合乎實際。但換了升降桌後,小小的租屋空間就不夠了,不得不把「書桌」丟棄。
一直都有勉強試著讀書,但效果真的好差!
因為過程很麻煩,要先移開鍵盤,如果滑鼠沒放好,螢幕不時會被喚醒。檯燈我用的是 BenQ 的 ScreenBar,看螢幕很棒,但讀書的話,光源距離桌面又有點太遠了!而且角度也需要再調整。
讀個書猶如愚公移山,最後,我決定放棄苦苦掙扎,乖乖去圖書館!

想必你知道 Python 中有一個內建的特殊類別叫 Enum(來自 enum 模組),專門用來處理「列舉」態型的資料集合。
如同 collection 模組中的各種容器(比如:deque、Counter),Enum 已經定義好很多「內建特性(屬性、方法、行為)」供你使用。這些特性會讓你在處理特定情境時非常順手。
但是,這些特性也使得 Enum 類別與一般類別有著很大的差異,增加了學習門檻。
如你所見,Enum 的特性頗多,這讓人在學習、使用之前,難免有點望之卻步——至少我是這樣!
本文分享我最近才開始把 Enum 應用在 API 開發中的經驗——從它的三大特性入手,並輔以一個實際問題情境。
Enum 的特性不少,但只要知曉這三件事,就可以在遇到「列舉」欄位時,善用 Enum 來提升開發效率,同時增進程式碼的簡潔與穩健。
不過話說回來,即使不是開發 API,也不影響你對本文的理解。只是我的經驗是從後端開發而來。
為了讓你感受 Enum 的強大與美妙,本文的架構經過精心設計。共分為三個部分:
藉由這個流程,相信你對 Enum 會有更進一步的理解。

Weekly Review 原則上著眼於「非程式類」內容,而這是一本程式相關的書,所以這期不會討論書中的技術細節,只聊聊我的主觀感受。
講它,是因為我對這本書的期待很高,它絕對有這個地位與份量,更別說它真的很厚!(量了一下有 5 公分厚,打算這星期拿去影印店拆成 3 本)
趁著清明連假的天瓏日(滿千折百活動),我總算入手了 Python 進階書籍中的口碑之作——《流暢的 Python》,第二版。
還沒有開始讀,但先簡單分享一下我的看法與期待。

去年 2 月,部落格新增了「email 文章訂閱」功能,採用的方案是免費的 follow.it。
它會把我的 RSS 新文章轉成 email,然後寄送給訂閱的讀者。
如該篇中所言,「文章訂閱功能」確實是現代部落格的一大需求。
網路上的資訊眾多,我自己作為讀者,也常常感覺被淹沒。遇到一個喜歡的作者,想要追蹤,此時作者是否提供了訂閱功能,就至關重要。
文章訂閱功能,可以由寫作平台提供,比如 Medium、Substack。不然就得自己來,因此我一開始就為 blog 提供了 RSS 訂閱。
但 RSS 畢竟不是一般人常用的資訊接收方式(我自己也不用),它只能滿足小眾人口的需求。所以最終我還是選擇了像 follow.it 這樣的「RSS to email」服務。

這是《強健的 Python|撰寫潔淨且可維護的程式碼》筆記的第 1 篇,你可以把它當作是一則重點整理,加上我個人的開發經驗與心得。
本書翻譯自《Robust Python: Write Clean and Maintainable Code》,原文的副標題容易讓人誤以為這又是另一本關於「Clean Code in Python」的書。
實際上,本書所聚焦的,是 Python 的一大特性——type hints。全書大半篇幅都圍繞著這個核心主軸。
所以它並非教你「如何寫出 Pythonic 程式碼」的書,而是介紹 type hints 寫法與使用相關工具(比如 Mypy)以確保 type hints 有效落實的作品。
如果你還不熟悉 Python type hints,本文也可以作為認識 type hints 的起點。
- 《強健的 Python》筆記:如何有效導入 Type Hints
- Python type checker:Mypy 介紹
- Django 專案加入 Mypy 指南