Amo Chen

Python - super() 函式與 MRO 詳解

Python 的物件導向程式設計(OOP)有 2 個一定要懂的東西:

  1. super() 函式
  2. MRO(Method Resolution Order) / 方法解析順序

如果不懂得這 2 個東西,就無法徹底解放類別(class)的力量,甚至可能導致寫出不夠彈性而且冗長的程式碼。

super() + MRO = 超級瑪利歐?(誤

本文將從 super() 函式開始講解,說明 Python 的 MRO(Method Resolution Order) ,並介紹 MRO 的特性在實務上的應用。

如果你無法正確回答以下範例結果的執行結果,那麽推薦你看完本文:

class Parent(object):
    NAME = 'Parent'
    def __str__(self):
        return self.NAME

class Child(Parent):
    NAME = 'Child'
    def __str__(self):
        return super().__str__()

c = Child()
print(c)

正確答案為: Child

Posted on  Oct 6, 2023  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 6 min read

Video.js - 肖年仔,要不要做個 Youtube 啊~

先前介紹 Web 前端專門播放音訊的 Howler.js, 這次介紹 Web 前端專門播放影片的 Video.js 。 Video.js 是個開放原始碼專案,專門做跨瀏覽器影片播放器(player),支援 WebM, MP4 等常見

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

好文共賞 — 如何用單核心 CPU 打天下

說到怎麼處理效能問題,大家直覺應該都是做 parallelism 或者 concurrency, 不過其實也可以選擇改變演算法做效能的改善,這種做法的好處是可以不用額外處理 parallelism 或者 concurrency 所帶來的複

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

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