iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

Effect 魔法:打造堅不可摧的應用程式 系列

Effect 是近一兩年興起的一套 TypeScript 的函式庫,可以幫助我們打造更加強韌的應用程式。本系列將帶你一路由淺入深探索 Effect 的魔法,並透過實戰演練,學習如何在實際專案中使用 Effect,替你的應用程式帶來完整的 type-safety、明確的 checked error、強大的流程控制能力及更多優勢

參賽天數 25 天 | 共 25 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 11

10. Effect 的 dependency injection:打造可抽換的模組

不知道你有沒有聽過 SOLID 原則,其中的 D 也就是依賴反轉的實作的其中一種就是這次要介紹的依賴注入 dependency injection (之後都簡...

2025-09-25 ‧ 由 DanSnow 分享
DAY 12

11. Effect layer: 管理 dependency 的相依性

在上一篇中我們講到了 DI ,這篇要來介紹 Effect 中的 DI 要如何透過 Layer 管理相依性 所以為什麼需要管理相依性,我們來講個例子,你設計了一個...

2025-09-26 ‧ 由 DanSnow 分享
DAY 13

12. Effect 的實戰分享 2:簡易爬蟲

這篇要來介紹怎麼使用 Effect 做個簡單的爬蟲,雖說是簡易的爬蟲,但我們要來做一個 「好」爬蟲,代表我們不會送一堆的請求到伺服器,會加上延遲等等,如果可以做...

2025-09-27 ‧ 由 DanSnow 分享
DAY 14

13. 如何測試 Effect 的程式

這篇我們要來幫 Effect 的程式寫測試,現在寫測試大家應該都是以 vitest 為主了吧,我們就來用 vitest 吧,若你平常有在寫測試,像這樣的測試應該...

2025-09-28 ‧ 由 DanSnow 分享
DAY 15

14. dependency injection 與測試

在上一篇我們簡單的介紹了怎麼測試 Effect 的程式,不過好像跟測試一般的程式沒有太大的差別,但別忘了,我們之前還有提到 DI 可能幫助我們更好的寫測試,那就...

2025-09-29 ‧ 由 DanSnow 分享
DAY 16

15. Effect 實戰分享 3: 資料遷移

這篇要來分享的是之前將 Effect 用在資料遷移的經驗,其實這篇就是「8. Effect 實戰分享 1 :資料清理」的後續,稍微前情提要一下,你拿到了一個老舊...

2025-09-30 ‧ 由 DanSnow 分享
DAY 17

16. 再看 concurrency:使用 fork 在背景執行

這篇要來稍微看一下 Effect 到底是如何實作的,同時我們會先來看到,如何在「背景」執行 Effect Effect.fork 先來看今天的主角, Effec...

2025-10-01 ‧ 由 DanSnow 分享
DAY 18

17. Effect 的 concurrency 調度器: Fiber 簡介

這篇我們要來看 Effect 是怎麼調度我們的程式的執行流程的,如果你之前有碰過一些比較偏向系統程式的東西,你可能會知道, fiber 指的是協程,意即一種需要...

2025-10-02 ‧ 由 DanSnow 分享
DAY 19

18. Request and batching

這篇我們要來看 Effect 中如何做到 batch request ,但為什麼我們會需要 batch request 呢?我之前正好有寫過類似的文章,有興趣的...

2025-10-03 ‧ 由 DanSnow 分享
DAY 20

19. Effect 實戰分享 4: 取得看版資料

這次要來分享的是之前實作過的一個比較複雜的介面:看版,以及在裡面我們是如何用 Effect 協助我們取得資料的 什麼是看版 (圖片來源 wiki) 如果你平常有...

2025-10-04 ‧ 由 DanSnow 分享