Amo Chen

Perplexity AI 搜尋服務的開源替代品 — Perplexica

Perplexity 是知名的 AI 搜尋服務,它的運作是整合來自各個搜尋引擎、網站等資料,用語言模型統合內容後產生 1 個答案給使用者。 相較於傳統搜尋引擎的搜尋結果需要

Posted on  Aug 27, 2024  by  Amo Chen  ‐ 1 min read

Raycast 所做的工具網站 — https://ray.so/

分享 macOS 上著名的生產力工具 Raycast 所做的工具網站。 https://ray.so/ 目前上面提供: Code Images,把程式碼轉成漂亮圖片 Icon Maker,做 icon 圖片的工具 Prompts,羅

Posted on  Aug 21, 2024  by  Amo Chen  ‐ 1 min read

用 Python 實作 Floyd-Warshall 演算法:從最短路徑到尋找最便宜機票

Floyd-Warshall 演算法,又稱佛洛伊德演算法,主要用於找出圖(graph)中所有頂點之間的最短路徑,它也能用來偵測圖中是否存在閉環(cycle)。

本文將使用 Python 學習 Floyd-Warshall 演算法,並且以找出城市與城市之間最便宜機票組合作為應用範例,讓讀者對 Floyd-Warshall 演算法有深入的了解。

Posted on  Aug 16, 2024  in  Python 程式設計 - 初階 , 演算法  by  Amo Chen  ‐ 4 min read

Python aiomultiprocess 套件是如何運作的?

aiomultiprocess 是 1 個既實用又有趣的套件。

它實用的地方在於能將多個 coroutines 分散到多個 processes 執行(底層使用 multiprocessing 模組),藉此提升 asyncio 的效能。

而有趣的地方在於 multiprocessing 並不是 1 個 asynchronous 模組,而 aiomultiprocess 卻能將 multiprocessing 與 asyncio 整合在一起 ,著實相當有趣!

如果沒有相當的程式設計功力,其實也難以想像 aiomultiprocess 底層是如何實作的。因此本文將研究 aiomultiprocess 套件如何運作,以及如何整合 asyncio 與 multiprocessing 兩個模組的方法,揭開它的神秘面紗!

Posted on  Jul 31, 2024  in  Python 程式設計 - 高階  by  Amo Chen  ‐ 5 min read

後端工程師面試考什麼 — 從 Hashing 到 Consistent Hashing

分散式快取環境中,十分有可能會碰到需要找到對的 cache server 取得 cache 的情況,畢竟問錯 cache server 不僅拿不到 cache,還十分可能對後端資料庫造成壓力。

所以面試時如果有涉及快取系統架構的問題時,基本的 hashing 或者進階的 consistent hashing 也是必須了解的概念!

本文將介紹 Hashing 與 Consistent hashing 2 種技術,並以實際的 Python 程式碼揭開它們的神秘面紗!

Posted on  Jul 29, 2024  in  後端面試準備  by  Amo Chen  ‐ 7 min read