AI 協作軟體開發親身經驗分享
軟體開發進入 1 個只要有想法、有行動力就能實現的新時代。
藉著 LLM 的幫助,跟過程不斷試錯改進,讓就算不是前端工程師的我,也能夠跨越技能鴻溝,打造接近心中樣貌的番茄鐘!(其實也呼應我們之前提到的每個人會因為 AI 而守備範圍變廣)
Posted on Jul 8, 2024 by Amo Chen ‐ 3 min read
軟體開發進入 1 個只要有想法、有行動力就能實現的新時代。
藉著 LLM 的幫助,跟過程不斷試錯改進,讓就算不是前端工程師的我,也能夠跨越技能鴻溝,打造接近心中樣貌的番茄鐘!(其實也呼應我們之前提到的每個人會因為 AI 而守備範圍變廣)
Posted on Jul 8, 2024 by Amo Chen ‐ 3 min read
最近接觸了一些牌類遊戲的開發,發現如何洗牌也是 1 個學問,所以特別查了一個重要的演算法 Fisher-Yates Shuffle / Knuth Shuffle ,發現 Python 的 random.shuffle() 也使用相同的演算法實作,所以特別將 Fisher-Yates Shuffle / Knuth Shuffle 實作細節與視覺化做出來,希望可以讓不熟悉的人也能迅速上手。
Posted on Jul 4, 2024 in Python 程式設計 - 初階 , 演算法 by Amo Chen ‐ 3 min read
眾所皆知, Python 不是一個以效能著稱的語言,所以更特別需要注意一些會讓程式變慢的錯誤。 本文將介紹初學者常犯的錯誤「使用正規表示式時,未正確使用 re.compile() 」
Last updated on Jul 4, 2024 in Python 程式設計 - 初階 by Amo Chen ‐ 3 min read
「 asyncio 就是快」應該是許多人對於 Python asyncio 的認知,但實際上 asyncio 就跟眾多技術一樣並不完美,它也有不擅長以及適合它的應用場景,認識這些它的缺點與優點將可以讓你在不同的應用場景上做出正確的技術決策。
本文將使用 asyncio 高階函式帶大家體驗用 asyncio 開發網路應用的感覺,並打破「 asyncio 就是快」的迷思,從而看到 asyncio 的本質!
Last updated on Jul 25, 2024 in Python 程式設計 - 中階 by Amo Chen ‐ 10 min read
Python 的淺層複製與深層複製是相當重要的存在,幾乎中、高階的 Python 應用開發者都有在日常工作中遇到有關淺層複製與深層複製的問題。
本文將從官方文件出發,並用實際範例搞懂淺層複製(shallow copy)與深層複製(deep copy)!
Posted on Jun 25, 2024 in Python 程式設計 - 中階 by Amo Chen ‐ 5 min read
開發過 asyncio 相關應用的人,想必都知道 event loop 的重要性。
然而,你是否具體研究過 event loop 的程式碼,並了解它是如何運作的呢?
深入理解 event loop 不僅能幫助我們解決意料之外的問題,還能讓我們使用 asyncio 時更得心應手!
閱讀本文,讓我們跟 event loop 一起 loop 起來!
Posted on Jun 20, 2024 in Python 程式設計 - 高階 by Amo Chen ‐ 8 min read
在這篇文章,我們將結合先前所學到的知識,更深入地探討網路程式設計中的一些重要概念,特別是使用 Python 從多執行緒架構開始,逐步過渡到 multi-process 和 pre-fork 技術,最終結合 multi-process 和 multi-thread,形成混合式架構。
通過這些過程,我們不僅能理解這些技術背後的原理,還能掌握網路程式設計中的核心技術,並將這些概念融會貫通,為開發高效能的網路應用打下堅實的基礎。
Posted on Jun 17, 2024 in Python 程式設計 - 中階 by Amo Chen ‐ 8 min read
在「用 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