python

什麼?你還沒用過 K8s ?

隨著容器化(containeriziation)的盛行,也越來越多企業導入 Kubernetes (或稱 K8s ),將各種容器化的服務運行在 K8s 叢集內,除了能讓部署(de

Posted on  Mar 30, 2023  by  Amo Chen  ‐ 1 min read

新世代的 Python Linter - Ruff

自從 Rust Programming Language 開始展露頭角之後,很多工具都開始見到 Rust 的影子,或是底層由 Rust 重寫,或是關鍵部分由 Rust 實作,這些由 Rust 所改寫的工具幾乎都有個共通點 —— 快!

Ruff 就是 1 套底層由 Rust 實作的 Python Linter, 號稱速度快上其他常見的 Linter 約 10 ~ 100 倍之間,同時支援快取(cache)、自動修正(autofix)、Python 3.11, 甚至還提供 pre-commit 以及 VS Code 擴充(extension)等功能,除了用心還有貼心!

另外其功能近乎 Flake8 的完整功能(詳見 FAQ - Ruff ),因此許多人也放心選擇使用 Ruff 作為其開發時的 Linter 使用,包含 FastAPI, pandas, Apache Airflow 等開發團隊都已經使用 Ruff 作為其 Linter!

一起來認識 Ruff 這個新世代的 Python Linter 吧!

Posted on  Mar 23, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 4 min read

看了肯定會的 Python 裝飾子(decorator)教學

Python 的 decorator (或稱裝飾子)是一個非常有用的功能,它的重要程度可以說是沒用過或不會用 decorator 的人就等於沒學過 Python, 甚至在一些常見的框架(Framework),例如 Flask, FastAPI, Django 都提供各種方便的 decorator 供大家使用。

這麼重要的東西,肯定是闖江湖都會用到的金創藥啊!

但如果你剛接觸 Python 就看到類似以下裝飾子的範例,絕對會腦袋打結,為什麼函式前面還要加個 @debug 還有 @cache, 而且還很神奇能運作:

@debug
@cache
def sum(a, b):
    return a + b

本文就教大家如何理解 Python 的 decorator!

Last updated on  Mar 10, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 6 min read

微軟獻給新手的免費 Python 教學影片

Python 在近幾年因為其易用性(是真的很簡單使用)以及在大數據、 AI 等領域大放異彩,不僅受到不少關注,也是很多人感興趣想學習的程式語言。 如果你也想為你

Posted on  Mar 7, 2023  by  Amo Chen  ‐ 1 min read

零經驗也可的 PySpark 教學 - 資料輸出 (DataFrame writer)

通常操作 dataframe 完之後,都會需要將結果輸出到資料庫/檔案甚至是雲端服務。 PySpark 已經將相關的輸出都整合到 pyspark.sql.DataFrameWriter 類別,只要理解該類別,基本上就能夠輕鬆將 DataFrame 輸出。

本文將介紹 pyspark.sql.DataFrameWriter 以及幾個使用上值得注意的點。

Posted on  Feb 6, 2023  in  Python 模組/套件推薦 , Python 程式設計 - 高階  by  Amo Chen  ‐ 4 min read

Python 模組教學 - 方便又實用的 dataclasses

Python dataclasses 是 Python 3.7 新增的 1 個模組(module),主要用途是將結構化的資料定義成類別(class)的形式。

dataclasses 模組提供了一些方便的功能幫助自動產生常用的類別方法,如 __init__ , __repr__ , __eq__ 等,節省開發者撰寫重複程式碼的時間成本。

使用 dataclasses 可以讓 Python 程式更加簡潔,並且提高程式碼的可讀性。

準備好在你的 Python 程式碼中大秀一手使用 dataclasses 的技巧了嗎?

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