Amo Chen

16 個你應該知道的系統設計知識

Q4 又來到,面試準備好,年後就跳槽~ 16 System Design Concepts I Wish I Knew Before the Interview 一文整理系統設計時應該要知道的相關知識,包含: Domain Name System (DNS) Load Balancer API Gateway CDN Forward Proxy vs. Reverse Proxy Caching Data Partitioning Database Replication

Posted on  Oct 3, 2023  by  Amo Chen  ‐ 1 min read

Poedit - 免費的多國語系 PO 檔編輯器

在你的產品征服星辰大海之前,都會面臨多國語系的問題,也就是針對使用不同語言的使用者提供不同語言的翻譯,這種問題很早就有解決方案,其中一種就是

Posted on  Oct 2, 2023  by  Amo Chen  ‐ 1 min read

留白工作法

大家都知道時間就是金錢,千金難買寸光陰,所以要珍惜時間。 但是,把所有能利用的時間都用各式各樣的行程塞滿,就是珍惜時間的做法嗎?職場上也好,生

Posted on  Oct 2, 2023  by  Amo Chen  ‐ 2 min read

hook0 - Webhook as a Service

現在很多應用(Application)都會提供 Webhook 的功能,讓其服務具有與其他服務整合的能力。 例如金流服務提供 Webhook 是相當常見的作法,畢竟付款等動作

Posted on  Oct 1, 2023  by  Amo Chen  ‐ 1 min read

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

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

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