好文分享 — Python Big O: the time complexities of different data structures in Python
Python 的其中一項優點是內建很多高實用性的資料結構(data structure)供人使用,需要的時候信手捻來即可,不需要特別安裝套件或者花時間重新
Posted on Apr 24, 2024 by Amo Chen ‐ 2 min read
輕鬆學習程式語言和最新技術趨勢,踏上從小工到大師之旅!
Python 的其中一項優點是內建很多高實用性的資料結構(data structure)供人使用,需要的時候信手捻來即可,不需要特別安裝套件或者花時間重新
Posted on Apr 24, 2024 by Amo Chen ‐ 2 min read
AiTerm 是 1 個有趣的 AI 指令工具,它結合 LLM 與 shell 的功能,讓生活離不開 command-line 的大家可以自然語言的方式執行指令,再也不用背指令與參數! But! AiTerm 是相對新的工具,仍處
Posted on Apr 21, 2024 by Amo Chen ‐ 1 min read
先前各大新聞媒體爭相報導的 AI 工程師 Devin 在最近被爆出是個謊言(lie),原因是研發 Devin 的 Cognition Labs 表示 Devin 已經在知名接案平台 Upwork 完成專案,但它其實並沒有真正
Posted on Apr 20, 2024 by Amo Chen ‐ 2 min read
Python 3.8 推出 1 個新的運算子 — Walrus Operator, 又稱海象運算子,其運算符號為 :=
。
Python 社群對海象運算子有一些爭議,主要是:
:=
與 =
符號太相似,難以快速識別但無論其爭議為何,海象運算子只用 1 個新的符號,就能使程式碼變得簡潔之外,還能同時滿足 Python 使用者的習慣,長遠來看其實是利大於弊。
譬如下列程式碼,在使用海象運算子之後,其實只需要 2 行即可:
x = input('> ')
while x:
print(x)
x = input('> ')
因此,學會適度使用海象運算子是可以帶來好處的!
本文將介紹海象運算子與幾個適合使用海象運算子的場景。
Posted on Apr 23, 2024 in Python 程式設計 - 中階 by Amo Chen ‐ 5 min read
本文將介紹 1 個相對少被提到的 operator 模組,該模組提供與 Python 各種運算子(operator)相對應的函式,適合喜歡 functional programming 的開發者使用,此外也有幾個高實用性的方法可以使用,不妨花一點點時間看看吧!
Posted on Apr 22, 2024 in Python 程式設計 - 中階 by Amo Chen ‐ 3 min read
Go 的程式設計中,透過回傳 error 型別的值告知錯誤發生是相當常見的模式,所以很多函式的回傳定義大多如下所示,其中 1 個會是 error 型別,用以告知執行時的錯誤:
func FunctionName() (結果的型別, error)
這也是為什麼我們如果閱讀各種以 Go 開發的開放原始碼專案會很常看到類似以下的程式碼的原因:
r, err := FunctionName()
if err != nil {
// Error handling here
}
所以學會判斷 error 的類型並處理各種類型的錯誤,變成 Go 程式設計的重要課題。
本文將探討如何判斷 error 類型以及多種不同判斷的方法。
Posted on Apr 16, 2024 in Go 程式設計 - 初階 by Amo Chen ‐ 6 min read
Apache Spark 是現今處理巨量資料(large-scale data)分析、資料處理、機器學習(machine learning)的主流叢集運算框架之一,其主打簡單、快速、可擴充(scalable)、統一介面(unified) 4 大特點,更支援多種語言(Python, Java, R, SQL)可供靈活選擇運用。
Spark 採用的是 In-memory 運算技術,運算的資料存在於記憶體之中,相對於使用硬碟等儲存媒介的運算框架(例如 Apache Hadoop)而言, Spark 具有運算速度的優勢。
此外,除了提供核心運算功能的 Spark Core, Apache Spark 更在其基礎上衍生 Spark SQL, Spark Streaming, MLlib, GraphX 四大功能:
引用自 https://databricks.com
綜觀來說,Apache Spark 是相當值得投資學習的一套運算框架。
本文將透過 Docker 以及 PySpark 為初學者提供接觸 Apache Spark 的一條捷徑。
Last updated on Dec 16, 2022 in Python 模組/套件推薦 , Python 程式設計 - 高階 by Amo Chen ‐ 5 min read
自從 Python 3.4 推出 asyncio 模組之後,開發者在提升 Python 程式效能的解決方案上又多了 1 種選擇。
不過相較於較為人所熟知的 multiprocessing 與 threading 而言,大多數初學者並不習慣非同步式(asynchronous)式的開發思維,但只要能夠掌握 asyncio 模組中幾點重要的概念,即使是從未接觸過的初學者,也能夠慢慢掌握 asyncio 的使用方式。
本文將重點介紹 asyncio 模組中的重要概念,並透過實際範例理解 asyncio 的運作,從而學會如何使用 asyncio 模組。
Last updated on Oct 1, 2023 in Python 程式設計 - 高階 by Amo Chen ‐ 13 min read
Python 內建的 multiprocessing 是相當重要的模組,如果有平行(parallelism)處理的需求,除了內建的 threading 模組之外,另一個就屬 multiprocessing 。
使用 multiprocessing 的好處在於能夠很大程度避開 Python GIL 對於程式效能的影響,但壞處則是對於記憶體的耗用程度也較高,即便如此也是一個必須了解的模組。
本篇將實際透過幾個範例學習如何使用 multiprocessing 模組。
Last updated on Aug 8, 2023 in Python 程式設計 - 初階 by Amo Chen ‐ 5 min read