Amo Chen

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

功能上線 3 階段思考框架

不知道大家開發一項功能時,會怎麼思考讓它上線要做的事情? 我個人是使用「功能上線 3 階段思考框架(自稱)」幫助思考功能 1 個上線要做哪些事情,這個

Posted on  Aug 9, 2023  by  Amo Chen  ‐ 2 min read

靜態程式碼弱點掃描工具 - CodeQL

最近看到有專案的 GitHub Actions 在用 CodeQL, 所以查了一下什麼是 CodeQL 。 原來 CodeQL 是 1 套開源靜態程式碼弱點掃描工具,每個人都可以使用這套工具對程式碼進行弱點掃描,例如 SQL

Posted on  Aug 8, 2023  by  Amo Chen  ‐ 1 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

PostgreSQL 的 RETURNING 子句

你知道 PostgreSQL 的 INSERT/UPDATE/DELETE 語句(statement)支援 RETURNING 子句(clause)嗎? PostgreSQL 的 INSERT 可以這樣寫: INSERT comment (name, text) VALUES ('JoJo', 'Hi') RETURNING id; 支援 RETURNING 子句的好處是像這種由資料庫產生

Posted on  Aug 5, 2023  by  Amo Chen  ‐ 1 min read

白話文解說 GitHub Actions

GitHub 有 1 個功能稱為 GitHub Actions, 可以讓開發者自動化軟體開發流程,例如編譯、測試,甚至是部署等等,你可以選擇在主線(main branch)更新時觸發你所設

Posted on  Aug 3, 2023  by  Amo Chen  ‐ 1 min read