Amo Chen

用 Python 學網路程式設計重要概念 — 從多執行緒到 Multi-process, Pre-fork 再到 Multi-process 混搭 Multi-thread

在這篇文章,我們將結合先前所學到的知識,更深入地探討網路程式設計中的一些重要概念,特別是使用 Python 從多執行緒架構開始,逐步過渡到 multi-process 和 pre-fork 技術,最終結合 multi-process 和 multi-thread,形成混合式架構。

通過這些過程,我們不僅能理解這些技術背後的原理,還能掌握網路程式設計中的核心技術,並將這些概念融會貫通,為開發高效能的網路應用打下堅實的基礎。

Posted on  Jun 17, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 8 min read

免費開源的 macOS 工具 — Later

Later 是能夠 1 鍵隱藏/關閉所有視窗的工具。 ​ Later 的應用場景很簡單, Later 可以讓使用者要開會之前或者進行其他工作之前,先把桌面上所有視窗存起來之後,並將

Posted on  Jun 16, 2024  by  Amo Chen  ‐ 1 min read

全新品種的 Shell — Nushell

Nushell 是 1 個相對新的 Shell, 與其他 shell 相比,它更強調把各種指令的輸出變成結構化資料,如此一來就可以像查詢資料庫一樣,搭配同樣是 Nushell 開發的 where, filter, sort-by 等指令,讓操

Posted on  Jun 15, 2024  by  Amo Chen  ‐ 1 min read

用 Python 學網路程式設計重要概念 — 從 I/O 多工再到多執行緒以及 Thread Pool

在「用 Python 學網路程式設計重要概念,從單執行緒到 I/O 多工(I/O multiplexing)」 1 文中,我們利用多個 Python 範例程式學會 I/O 多工的 3 種 syscall, 分別是 select() , poll() 以及 epoll() ,藉由 I/O 多工讓程式即使只有單執行緒也能同時處理多個連線。

本文將從 I/O 多工開始,進一步延伸學習多執行緒以及 Thread Pool 這 2 個經典的網路程式設計架構。

Posted on  Jun 14, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 8 min read

淺談 UTF-8 編碼方式

很多人都知道 Python 3 開始預設使用 UTF-8 編碼(encoding),但如果問你 UTF-8 編碼是怎麼運作的?應該很多人會說不出個所以然。

例如,為什麼在 Python 使用以下程式碼會得到長度為 16:

>>> len('生日快樂🎂'.encode())

這背後的原因就跟 UTF-8 有關!

Posted on  Jun 13, 2024  in  Encoding  by  Amo Chen  ‐ 3 min read

好文分享 — Python's many command-line utilities

我知道 python 有模組可以用 -m 參數直接變成命令列工具使用,但我是認真沒想到 Python 有「非常多」模組都可以使用 -m 參數,甚至還有彩蛋! p.s. 解釋一下 -m 的作用, -m 會

Posted on  Jun 12, 2024  by  Amo Chen  ‐ 1 min read

如何使用 Claude 打造 AI Agent

相信大家都知道 Apple 推出 Apple Intelligence, 這件事除了宣告行動裝置與 AI 整合應用大戰開打之外,我相信給相關軟體應用開發者所帶來的啟示是—— 「不會開發 AI 沒關係,但至

Posted on  Jun 11, 2024  by  Amo Chen  ‐ 1 min read