iT邦幫忙

effect相關文章
共有 65 則文章

技術 31. 結語

對於看到這篇的讀者,請讓我在此感謝你們,這篇算是完賽心得跟聊一下我自己對於 Effect 的想法,不過在開始前,我想先推薦幾個東西 EffectPatern...

技術 30. Effect 生態系: `@effect/ai` Effect 也有 ai

這篇要介紹的是另一個 Effect 官方的套件 @effect/ai ,這個套件可以幫助你使用 AI ,同時你的程式不需要知道不同家 AI 的 sdk 之間的不...

鐵人賽 Modern Web

技術 [學習 Effect Day31] 完賽心得

其實我現在唯一個感想是: 很想趕快用這30天學到到東西做點什麼~😅但總覺得不寫個完賽感言怪怪的。畢竟第30天我完全沒提到比賽的感想。結束的實在是有點唐突。所以我...

鐵人賽 Modern Web DAY 30

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

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

鐵人賽 Software Development DAY 30

技術 29. Effect 生態系: `@effect/platform` 不同平台也能有一樣的 API

這篇要來介紹的是 @effect/platform , Effect 將不同平台的 API ,主要是 Browser 跟 Node.js 中可以共通的部份抽出來...

鐵人賽 Modern Web DAY 29

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

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

鐵人賽 Software Development DAY 29

技術 28. 不可變的資料型態們: Array, Record, HashSet, HashMap

這篇要來講 Effect 內的一些資料型態,不過有些你可能在我們之前的一些範例中都見到了,比如 Array ,我們之前就用過 Array.map ,不過在那之前...

鐵人賽 Modern Web DAY 28

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

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

鐵人賽 Software Development DAY 28

技術 27. Match: tag 與模式比對

這篇我們要來看 Effect 裡怎麼做模式比對,模式比對是我覺得一個非常方便的功能,如果有看過我之前寫的文章,你可能會知道我是個 Rust 的愛好者, Rust...

鐵人賽 Modern Web DAY 27

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

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

鐵人賽 Software Development DAY 27

技術 26. Effect schema:資料格式驗證

這篇要來介紹的是 Effect 內建的資料格式的驗證工具 Schema ,另外我之前也提到,我個人平常還是偏好使用 zod 這個老牌的格式驗證為主,這篇我們一起...

鐵人賽 Modern Web DAY 26

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

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

鐵人賽 Software Development DAY 26

技術 25. Effect 與 Observability

這篇要來介紹 Effect 與 Observability , Observability 中文叫可觀測性,意思是你的程式的執行的過程是可以被觀察的,特別是在分...

鐵人賽 Software Development DAY 25

技術 24. Effect logging

這篇來介紹的是在 Effect 裡面怎麼寫 log ,不知道各位平常有沒有習慣在寫 log ,如果程式有 log 的話,可以幫助我們了解程式現在的狀態,在除錯上...

鐵人賽 Modern Web DAY 25

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

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

鐵人賽 Software Development DAY 24

技術 23. Effect 應用 2 :用 orpc 與 Effect 打造強韌的 API 介面

這篇要來看 Effect 在後端又可以怎麼樣的使用,這次我們會搭配 orpc 這個 RPC 的套件來一起使用, orpc 可以幫助我們寫出 type-safet...

鐵人賽 Modern Web DAY 24

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

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

鐵人賽 Software Development DAY 23

技術 22. Effect 應用 1 : 如何在 React 中呼叫 Effect 的程式

這篇要來介紹怎麼在實際的環境中使用 Effect ,這次介紹的是在 React 中會怎麼使用,除了簡單的情境我們可以直接用 Efect.runPromise 外...

鐵人賽 Modern Web DAY 23

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

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

鐵人賽 Software Development DAY 22

技術 21. Effect runtime :自訂如何執行 effect

這邊要來講的是 Effect 的 runtime ,不要懷疑,就是執行 Effect 的 fiber 的那個runtime ,你可能會覺得這有什麼好講的,我們平...

鐵人賽 Modern Web DAY 22

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

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

鐵人賽 Modern Web DAY 21

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

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

鐵人賽 Modern Web DAY 20

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

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

鐵人賽 Software Development DAY 21

技術 20. Effect 資源管理與作用域

這篇來要講個我個人認為挺有趣的東西,資源管理,一般如果是在前端,需要資源管理的情況可能比較沒有那麼多,因為網頁重整了就什麼都沒了,這可能是後端會比較需要的,不過...

鐵人賽 Software Development DAY 20

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

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

鐵人賽 Modern Web DAY 19

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

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

鐵人賽 Software Development DAY 19

技術 18. Request and batching

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

鐵人賽 Software Development DAY 18

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

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

鐵人賽 Modern Web DAY 18

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

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

鐵人賽 Software Development DAY 17

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

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