Python 程式設計 - 高階

用 Python 學 Google Protocol Buffers - Part 1

本文為系列教學:

What I Learned from Quip on How to Build a Product on 8 Different Platforms with Only 13 Engineers 一文說明 Quip 如何用僅 13 人的人力同時建置 8 種不同平台的產品,十分值得借鏡。

該文有個很重要的概念 - Build once, use multiple times ,就是提倡減少重複打造相同元件的過程,提高元件的再利用率。而該文也揭露 Quip 大量使用 Google Protocol Buffers ,透過 Google Protocol Buffers 定義資料結構之後,就能夠在各個語言或平台上自動化產生能夠讀寫相同資料結構的程式碼,甚至能夠作為資料交換格式在各種不同平台間傳遞,降低重複開發的成本進而增加開發效率。

如此方便的工具怎能夠放過,本篇就用 Python 學習 Google Protocol Buffers 吧!

Posted on  Oct 27, 2018  in  Python 程式設計 - 高階  by  Amo Chen  ‐ 4 min read

海邊的 Kafka 與 Python Part 1 - 發佈(publish)與訂閱(subscribe)

Apache Kafka 是知名的分散式串流資料平台(distributed streaming platform),具備高效能、高吞吐量、可容錯(fault-tolerant)設計等特性,所以 Kafka 通常被應用在即時(real-time)串流資料的處理,例如應用程式產生的日誌(log)、使用者的活動紀錄(例如電子商務網站可能會紀錄使用者瀏覽哪些商品)等等。

而目前 MicroSoft, airbnb, NETFLIX, LinkedIn, LINE 等知名公司也是 Apache Kafka 的使用者,也因為有這些公司的背書,所以不太需要擔心 Apache Kafka 的成熟度及可靠度等問題。

不過單看 Apache Kafka 官網的介紹會有些難以理解其切確的功能及用途,所以本文將藉由撰寫 Python 應用程式實際認識 Kafka 的幾個主要面向與功能。

Posted on  Oct 9, 2018  in  Python 程式設計 - 高階  by  Amo Chen  ‐ 5 min read