34,宜蘭二日遊與近況回顧
七月上旬不慎感冒,不知為何,這回特別嚴重。足足過了近兩星期,才逐漸恢復正常。
而且,整個七月至今,狀態都不太好。不僅是身體,心情也低落,有一種找不到出口的感覺。
這樣的心情間接影響了我的寫作士氣,讓我感到心有餘而力不足。
這星期四、五,和女友去了宜蘭,雖然是一次的短暫旅行,但至少能夠打破既有的生活節奏,讓自己放鬆一下。
宜蘭我還算熟悉,畢竟曾在宜蘭工作了 5 年多,想起這段過往,覺得人生真的有很多變化。
本期結合旅記和近況回顧,篇幅會比以往略長。
七月上旬不慎感冒,不知為何,這回特別嚴重。足足過了近兩星期,才逐漸恢復正常。
而且,整個七月至今,狀態都不太好。不僅是身體,心情也低落,有一種找不到出口的感覺。
這樣的心情間接影響了我的寫作士氣,讓我感到心有餘而力不足。
這星期四、五,和女友去了宜蘭,雖然是一次的短暫旅行,但至少能夠打破既有的生活節奏,讓自己放鬆一下。
宜蘭我還算熟悉,畢竟曾在宜蘭工作了 5 年多,想起這段過往,覺得人生真的有很多變化。
本期結合旅記和近況回顧,篇幅會比以往略長。
這是《Python 工匠|案例、技巧與開發實戰》筆記的第 3 篇,你可以把它當作是一則重點整理,加上我個人的開發經驗與心得。
如第一篇所言,這是一本關於「Clean Code in Python」的書。
上一篇我整理書中了第 13 章「有關單元測試的建議」的內容(以及我的看法)。這次我們要再回到一開始,繼續學習如何寫好程式碼。
本文整理自書中的第 1 章第 3 節,為了不過度重複書中內容,下筆點到為止,並加上我自己的理解。
這是「Python 入門三部曲」的最後一篇!歷時 2 年,終於要為這個系列劃下句點。
在此之前,我已寫下 3 篇關於《Python 功力提升的樂趣》的筆記與心得。本文建立在它們之上,但會從更高的俯視角度來介紹與推薦這本書。
從全書的輪廓與定位切入,讓初學者更容易掌握觀念,不至於迷失在細節中。對於已有經驗的 Python 開發者,則可以藉由一篇篇的筆記,直接找到自己感興趣的章節。
所以,本文不會在內容上重複前文,或在細節上多加著墨,而是更多的回顧與比較。
這是為什麼我要先寫筆記,最後再完成這篇閱讀心得的原因。
當然,不是每一本書都值得你如此對待。畢竟其中要投入時間精力甚多,這是我第一次——可能也是最後一次,這麼詳細地介紹一本書。
但這本書,我認為值得。
- 《精通 Python 第二版》心得:給入門者的 Python 學習藍圖
- 最佳 Python 入門書——《Python 技術者們 - 練功!》心得與導讀
- 《Python 功力提升的樂趣》心得與總結:給 Python 開發者的 Clean Code 入門指南
- 《Python 功力提升的樂趣》筆記(一)Black、命名、壞味道
- 《Python 功力提升的樂趣》筆記(二)Pythonic、行話、陷阱
- 《Python 功力提升的樂趣》筆記(三)函式、註解、docstring
- 《Python 功力提升的樂趣》心得與總結:給 Python 開發者的 Clean Code 入門指南
你聽過 Tony Huang 嗎?
20 年前他就已經開始寫登山健行 blog,最近 5 年改為拍攝 YouTube 影片,成為旅遊 YouTuber。
他的作品特色是,在旅行中融入人文、歷史、文學等元素,讓觀眾不只是看風景,更能了解台灣這塊土地的過去。
我無須介紹太多,而是要聊聊,最近看了許多他的影片的一些感想。
這是 Django Tutorial 的第 9 篇、DRF 系列的第 3 篇。
範例程式碼可參考我的 GitHub 專案,更多教學請見「Django 文章總覽」。
本文相關的程式碼改動,都集中在這個 PR。
Views 是 Django 中處理 HTTP 請求的核心邏輯。它的作用是接收請求、處理請求,最後返回 response:
A view function, or view for short, is a Python function that takes a web request and returns a web response.
在 Django 中,我們可以使用兩種方式來撰寫 views:
「CBV vs. FBV」是初學 Django 一個常見的議題。如系列的第一篇所言:
CBV 有著重用程式碼優勢,適合大型專案。而 FBV 則以簡單、直接為賣點,方便快速開發中小型專案。
究竟要選哪個,取決於個人喜好與專案需求。
Django REST framework(以下簡稱 DRF)同時支援這兩種 views。
事實上,DRF 顯然更加鼓勵使用 CBV,不僅提供了許多現成的 generic views,它的很多元件也是基於 CBV 設計的。
不過,本文只打算介紹 DRF 中的 FBV,並實作一個 DRF view function。
在〈《強健的 Python》筆記(一)Type Hints 的成本與挑戰〉一文中,我們闡述了為 Python 專案程式碼加上 type hints 的長期價值與需要付出的成本。
文中多次提到了 Mypy 這個靜態類型檢查器。
本文從歷史發展、工作原理與工具的整體輪廓上介紹 Mypy 的特色,
雖然沒有詳細的 Mypy 使用教學,但更了解 Mypy,可能讓你對 Python 的型別檢查產生不同的看法。
老實說,我覺得 Mypy 不太需要學習,只要引入一些設定就好。這部分我們會在下一篇文章中介紹。
最後,我會分享一些使用 Mypy 時的心得與經驗。
如果看過開頭那篇文章,你可能會認同:我們終將要成為 Python type hints 的信徒。而 Mypy 就是最佳的布道者。
Python 是一門廣受歡迎的「動態定型」程式語言,以其簡潔的語法和靈活性著稱。
然而,這種靈活性有時也會成為問題,特別是在大型專案中,型別錯誤可能會導致難以追蹤的 bug,從而降低程式碼的可靠性和可維護性。
在這樣的背景下,Mypy 應運而生。
在〈現代軟體的「鍵盤快捷鍵」記憶爭奪戰〉一文的留言中,有讀者提到我最近似乎變多產了。
確實如此。
有人注意到這件事,讓我非常高興XD,甚至可以說感動。
而本文斗膽預告:下半年將會比上半年,更加多產🔥
我通常不太想為自己立 flag,預告也屬於此類。尤其有〈24,收回「發文計畫」〉的前車之鑑,心裡難免會暗暗擔憂:「是不是說出來就會更容易失敗?」
當然,我知道實際並非如此——很多事做不做,成不成,終究還是操之在己。
至少寫作是這樣的。
這篇來聊聊我今年下半年的寫作目標,主要有三大方向。
看完這三個方向,想必你就能理解,為何說一定會比上半年更多產。
換言之,如果真的都能達成,多產只是必然的結果。