文章

Python 好用套件介紹 - better-exceptions

相信大家學寫程式都有相同的一段經驗,那就是看不懂例外錯誤(exceptions)訊息的意思,你可能每個單字都認識,但組合起來就像天書一樣難以理解⋯⋯。

如果有更容易理解的例外錯誤訊息的話,相信會減輕大家在學習與除錯的痛點!

本文要介紹的 better-exceptions 套件,是一個不管新手、老手都適用的套件,它改良了 Python 的例外錯誤訊息,把錯誤當下的變數值一併顯示在例外錯誤訊息當中,就這一個貼心的舉動,大大改善大家在學習與除錯的體驗。

是一個值得推薦與擁有的套件!

Posted on  Aug 25, 2023  in  Python 模組/套件推薦 , Python 程式設計 - 初階  by  Amo Chen  ‐ 3 min read

設定 VS Code 檔案總管排除檔案、資料夾

開發 JavaScript, TypeScript 相關的專案都經常會碰到檔案總管(explorer)會顯示 dist/ , build/ , node_modules/ 等資料夾,這些資料夾的存在會為搜尋或是 Command Palette 的搜尋結果帶來影響,總是顯示太多不需要的檔案而造成困擾。

所幸這個可以在 VS Code 中設定排除。

Posted on  Aug 18, 2023  in  VS Code  by  Amo Chen  ‐ 1 min read

VS Code 擴充推薦 - Better Comments

每個開發者或開發團隊在開發時,或多或少都會在註解(comments)留下一些說明或標籤(tags),包含 TODO , FIXME , WARNING , REF 等等,這些被稱為 Codetags

雖然目前還沒有明確標準要怎麼使用這些標籤,不過開發時如果能將這些標籤強調(highlight)顯示,讓開發者更容易注意到註解處有其他成員想要說明的事或想要做的事,讓註解不僅僅只是註解,而是增加註解被關注到的機率。

本文將介紹 VS Code 擴充 Better Comments, 讓開發者或開發團隊可以自訂要強調顯示的 codetags, 以增強開發協作能力。

Posted on  Aug 14, 2023  in  VS Code , VS Code 擴充推薦  by  Amo Chen  ‐ 2 min read

VS Code 擴充推薦 - Dev Containers

本文介紹 VS Code 擴充 - Dev Containers, 這個擴充可以讓開發者用 VS Code 在 Docker 容器中進行開發,體驗上就跟在本機開發同樣自在,還可以統一開發團隊的開發環境!

目前知名開源專案 ELECTRON, CodeQL, etcd 等都已經使用 Dev Containers 作為開發一環,絕對值得使用!

Posted on  Aug 13, 2023  in  VS Code , VS Code 擴充推薦  by  Amo Chen  ‐ 4 min read

VS Code 擴充推薦 - EditorConfig

一樣米養百樣人,每個人喜歡用的編輯器(editor)都不一樣,有些人喜歡用 Vim, 有些人喜歡 Emacs, 有些人則使用 Visual Studio Code(VS Code),個人則是 Vim 與 VS Code 兩棲使用者。

也由於編輯器預設值/設定不一樣,例如有些使用 Tab 縮排,有些用 4 個空格縮排,這種不同編輯器間的差異,會對開發團隊帶來 coding styles 不ㄧ致的問題,而且每個公司一般來說會有各種開發專案,不同開發專案間有不同的 coding styles 是很常見的事,這時如果只是在 README 或開發文件中規定 coding styles 不僅麻煩,也容易造成開發者的困擾。

針對這種問題,目前最好的解決辦法就是使用 EditorConfig ,將 coding styles 設定寫成 .editorconfig 放到各個專案之中,並請每位團隊成員安裝 EditorConfig 擴充(extension/plugin),如此就能讓團隊成員在開啟各種不同專案自動載入不同的 coding styles, 完成一種無縫切換的開發體驗!

Posted on  Aug 11, 2023  in  VS Code , VS Code 擴充推薦  by  Amo Chen  ‐ 3 min read

multiprocessing 模組進階篇 - Pipe, Queue, Array, RawArray 以及 Structure 之教學範例

用範例輕鬆學 Python multiprocessing 模組 一文中提到 4 種 IPC(Inter Process Communication)方法,分別是:

  • 以參數(args)的方式傳遞資料
  • 以共享記憶體(Shared Memory)中的 Value 物件傳遞資料
  • 以 fork 方式傳遞資料, fork 出來的子 process 會繼承父 process 的資源,所以可以存取原本父 process 內的資料
  • 透過 Manager 共享資料, Manager 會在一個稱為 server process 的 process 中管理共享的資料,並且代理其他 process 操作這些共享資料

除了上述幾種方式之外, Python 也有提供其他方式滿足開發者對於 IPC(Inter Process Communication) 的相關需求,本文將額外介紹 Pipe, Queue, Array, RawArray 4 種方式。

Posted on  Aug 7, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 5 min read

制霸 Python f-string 各種格式使用方法

開發程式時,字串的輸出經常會需要做一些格式(format),例如數字加上千分位符號、百分比,又或者需要置左、置中、置右對齊等等,這些需求 Python 也都有照顧到,本文將介紹 Python 如何做字串的格式化以及各種範例,讓大家都能夠輕鬆完成字串的格式化!

Last updated on  Apr 9, 2024  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 5 min read