第十七屆 佳作

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

系列文章

DAY 11

[學習 Effect Day11] 實際建立一個 pipeline

我們前幾個章節講了這麼多 Effect 的語法與知識,但都沒有做啥實際有用的玩意兒。這次不同以往,我們實際來建立一個具有業務場景的 pipeline。讓讀者對...

DAY 12

[學習 Effect Day12] 用 Effect.gen 扁平化流程:結束巢狀地獄

前言 在上一篇,我們一起做了一個 pipeline,把一連串應收金額的產出步驟用 pipe 串起來。pipe 雖然很適合銜接簡單流程,但當需求變得複雜、需要插入...

DAY 13

[學習 Effect Day13] Effect 錯誤管理 (一)

這篇我想要來講解為什麼在 Effect 的錯誤模型中,我們偏好用 class 來定義錯誤。如果不用那會遇到什麼樣的限制與麻煩。 為什麼會有這個疑問? 在 Typ...

DAY 14

[學習 Effect Day14] Effect 錯誤管理 (二)

Effect 把錯誤當作一等公民。本文以實作為主,逐步帶你掌握「期望錯誤 vs. 非期望錯誤」、短路語義、常用錯誤處理 combinators,以及在 Effe...

DAY 15

[學習 Effect Day15] Effect 進階錯誤管理 (一)

在前面的文章中,我們已經學會了 Effect 的基本錯誤處理 combinators,像是 catchAll、catchTag、orElse 等。這些工具讓我們...

DAY 16

[學習 Effect Day16] Effect 進階錯誤管理 (二)

在前一篇文章中,我們學習了 Effect 重試機制的概念與實作。然而,重試機制並非萬能,當所有重試都失敗時,我們需要一個降級策略來確保系統的可用性。這篇文章將深...

DAY 17

[學習 Effect Day17] Effect 進階錯誤管理 (三)

這一篇我們要來講 Timing Out 相關的 Effect API。😀 逾時(Timing Out) 外部呼叫(API / DB / I/O)有時會變慢甚至卡...

DAY 18

[學習 Effect Day18] Effect 進階錯誤管理 (四)

Effect.disconnect:讓 uninterruptible Effect 逾時時先回應、後收尾 在 Effect 中,Effect.disconne...

DAY 19

[學習 Effect Day19] Effect 進階錯誤管理 (五)

本篇要來講一個新的概念錯誤累積(Error Accumulation),它指的是:一次性的執行就把「所有錯誤」都收集回來,而不是遇到第一個錯誤就停止(Fail‑...

DAY 20

[學習 Effect Day20] Effect 服務管理(一)

想像你在應用程式裡到處傳 databaseService、loggingService,很快地每個函式都在接收、轉傳一堆 Service,變得又厚又難測。Eff...