Amo Chen

程式設計師斜槓之道 — 網路接案

不知道大家都怎麼接案的?靠人脈介紹?還是用臉書社團? 基本上,上述這幾個管道還是蠻紅海的,原因還是台灣內需市場不夠大,為了接一筆生意,價格戰基

Posted on  Sep 29, 2023  by  Amo Chen  ‐ 1 min read

程式設計師斜槓之道 — 聯盟行銷

這篇要介紹的是程式設計師增加收入的其中一種方法——「聯盟行銷」 不知道大家知不知道冒險者公會?(誤 聯盟行銷就有點像行銷界裡的冒險者公會,公會看

Posted on  Sep 28, 2023  by  Amo Chen  ‐ 1 min read

Now-Next-Later 產品路線圖

你是否日復一日被甘特圖上的 timeline 以及 due date 追著跑?今年還在做去年安排好但是延期的工作? 你是否曾經多次疑問為什麼要浪費時間做這個功能?就因為老闆說想

Posted on  Sep 27, 2023  by  Amo Chen  ‐ 2 min read

Python 的 typing.Protocol 怎麼使用?

Python 3.8 之後 typing 模組 新增 1 個 typing.Protocol 的 class 可以使用,這個 class 很適合用來給一些有實作特定方法的 class 們做 type annotation 。

舉個常見的交通工具作為例子,假設我們有 1 個函數接受任何有實作 move() 方法的 instance:

def move(x):
    x.move()

這時候可以用 typing.Protocol 將參數 x 加上 1 個 type hint, 讓彼此知道此處不管型別,只管是否有實作 move() 方法:

from typing import Protocol

class Movable(Protocol):
    def move(self):
        ...

def move(x: Movable):
    x.move()

加上 typing.Protocol 是否看起來清晰很多?

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

在 K8s 上如何做到 Zero Downtime ?

看到標題,有人可能就會像我一樣想說「不是交給 rolling update 就好了嗎?」 錯了。 K8s 的 rolling update 只有 deployment updates 才會作用,仍有其他情況會導致 downtime 發生,譬如執行你的應用的 node 掛

Posted on  Sep 25, 2023  by  Amo Chen  ‐ 1 min read

怎麼正確處理 PyO3 的 Exception ?

前陣子提到可以用 PyO3 讓 Python 可以呼叫用 Rust 寫成的 library, 不過當 Rust 那端執行上有任何例外錯誤時,你還是得將例外錯誤轉換成 Python 看得懂的 Exception, 如此一來才能讓 Python 正確拋出 Exception

Posted on  Sep 23, 2023  by  Amo Chen  ‐ 1 min read

Kombai — 前端工程師產 Code 的好工具

現在開發團隊大多需要 UI/UX 設計師參與使用者介面的設計,再將設計交由前端工程師實作,然後前端工程師就會看著設計稿想著要怎麼把設計轉成一個個元件以及

Posted on  Sep 22, 2023  by  Amo Chen  ‐ 2 min read