第十七屆 佳作

modern-web
用 Effect 實現產品級軟體
坐隔壁的大寶貝

系列文章

DAY 21

[學習 Effect Day21] Effect 服務管理(二)

在上一篇文章中,我們聊到如何用 Context 建立服務,並把服務提供給 Effect 使用。不過在文章的最後我們有提到服務依賴服務的問題。這會帶來一個設計上的...

DAY 22

[學習 Effect Day22] Effect 服務管理(三)

在上一篇文章中,我們學會了如何用 Layer 來解決服務依賴服務的問題,避免需求外洩(Requirement Leakage)。我們建立了 ConfigLive...

DAY 23

[學習 Effect Day23] Effect 服務管理(四)

延續 Day21-Day22 資料庫服務範例 在 Day21-Day22 我們已經建立好 ConfigLive、LoggerLive、DatabaseLive,...

DAY 24

[學習 Effect Day24] Effect 服務管理(五)

用 Effect.Service 簡化服務定義 Effect.Service 是把「tag + 預設實作 + 對應的 Layer」合在一起的語法糖。 很適合應用...

DAY 25

[學習 Effect Day25] Effect 中的 Data Types (一)

Effect Type vs Data Type Effect Type:一個「尚未執行的工作描述」。它可能需要外部環境才能跑,實際執行時要嘛成功回傳結果、要...

DAY 26

[學習 Effect Day26] Effect 中的 Data Types (二)

昨天我們介紹了 Option、Either、Result、Exit、Cause 的用法,今天我們來介紹其他常用的 Data Types。我保證這篇是最後一篇 d...

DAY 27

[學習 Effect Day27] Effect 資源管理(一)

在長時間運行的應用中,像是資料庫連線、檔案操作、網路請求,這些「使用後必須釋放或關閉」的資源若沒有妥善處理,系統就會發生資源外洩。常見的外洩種類有兩種: 記憶...

DAY 28

[學習 Effect Day28] Effect 資源管理(二)

延續前一篇「Effect 資源管理(一)」,本篇聚焦在 Scope 與相關的 API:Effect.addFinalizer、Effect.scoped、Eff...

DAY 29

[學習 Effect Day29] Effect 併發執行(一)

在 JS/TS 中,Promise 能夠處理單個或多個非同步的運算。但遇到取消、資源清理、超時、平行度控制與競速等需求時,卻缺乏一致的標準寫法,往往得自行組合...

DAY 30

[學習 Effect Day30] Effect 併發執行(二)

延續 Day29,我們已經了解 Fiber 是如何在單執行緒上提供「可管理的併發」運算。今天我們要講解用 Effect 的高階「組合子」來實現併發效果。除此之外...