這篇我們要來看 Effect 裡怎麼做模式比對,模式比對是我覺得一個非常方便的功能,如果有看過我之前寫的文章,你可能會知道我是個 Rust 的愛好者, Rust...
前言 今天要介紹的是我期待已久的 RxJS! RxJS 博大精深,甚至可以用一整個鐵人賽系列文來介紹(在此推推 30 天精通 RxJS和打通 RxJS 任督二...
這篇要來介紹的是 Effect 內建的資料格式的驗證工具 Schema ,另外我之前也提到,我個人平常還是偏好使用 zod 這個老牌的格式驗證為主,這篇我們一起...
還記得我們在新手村裡學會這幾句話嗎: 程式主要可以分成邏輯(流程)與資料 函式 是把 邏輯(流程) 包起來的自動販賣機 而隨著愈來愈多人寫程式,在歷史發...
這篇要來介紹 Effect 與 Observability , Observability 中文叫可觀測性,意思是你的程式的執行的過程是可以被觀察的,特別是在分...
這篇來介紹的是在 Effect 裡面怎麼寫 log ,不知道各位平常有沒有習慣在寫 log ,如果程式有 log 的話,可以幫助我們了解程式現在的狀態,在除錯上...
前言 昨天認識了什麼是 Applicative,今天會再介紹 Applicative 要遵守的定律,以及更多應用範例~ Applicative 的定律 就像...
這篇要來看 Effect 在後端又可以怎麼樣的使用,這次我們會搭配 orpc 這個 RPC 的套件來一起使用, orpc 可以幫助我們寫出 type-safet...
前言 在前面的文章中,我們認識了 Functor 和 Monad。Functor 透過 map 方法,讓我們能將一個普通的函數應用到被包裹在 context(...
這篇要來介紹怎麼在實際的環境中使用 Effect ,這次介紹的是在 React 中會怎麼使用,除了簡單的情境我們可以直接用 Efect.runPromise 外...
前言 在上一篇文章中,我們學會了 Monad 的實用工具 chain,它透過結合 map 和 join 來解決巢狀容器問題,讓我們的函數組合保持流暢。今天會再...
這邊要來講的是 Effect 的 runtime ,不要懷疑,就是執行 Effect 的 fiber 的那個runtime ,你可能會覺得這有什麼好講的,我們平...
前言 在過去幾篇文章中,我們認識了 Functor 這個 FP 工具,透過 .map,我們學會了如何在一個「容器」或「上下文 (context)」內,對值進行...
前言 昨天的文章中,我們認識了如何用 IO 這容器延後副作用的執行,掌握了 IO 的核心思想後,我們就可以將同樣的原則應用到一個更複雜、更常見的領域:非同步操...
這篇來要講個我個人認為挺有趣的東西,資源管理,一般如果是在前端,需要資源管理的情況可能比較沒有那麼多,因為網頁重整了就什麼都沒了,這可能是後端會比較需要的,不過...
這次要來分享的是之前實作過的一個比較複雜的介面:看版,以及在裡面我們是如何用 Effect 協助我們取得資料的 什麼是看版 (圖片來源 wiki) 如果你平常有...
前言 在前幾天的文章中,我們學會如何用 Maybe 容器處理空值,用 Either 容器處理錯誤路徑,透過容器這種把值包起來的方式,我們可以打造可預測、可靠的...
這篇我們要來看 Effect 中如何做到 batch request ,但為什麼我們會需要 batch request 呢?我之前正好有寫過類似的文章,有興趣的...
前言 在上一篇 Maybe Functor 的文章中,可以看到 Maybe 讓我們的程式不會因為 null 或 undefined 而出錯、管線斷裂,即使物件...
這篇我們要來看 Effect 是怎麼調度我們的程式的執行流程的,如果你之前有碰過一些比較偏向系統程式的東西,你可能會知道, fiber 指的是協程,意即一種需要...
前言 上一篇文章介紹了 Functor:它是一個容器,包裹著一個值,並提供一個 map 方法,讓我們能可靠地對這個值套用函式,無論它究竟是什麼。但如果我們處理...
這篇要來稍微看一下 Effect 到底是如何實作的,同時我們會先來看到,如何在「背景」執行 Effect Effect.fork 先來看今天的主角, Effec...
前言 上一篇我們初步認識了 Monoid,學到「組合」其實是程式設計裡無處不在的基礎結構。 現在回到 Day 14 提過的容器,透過將值(value)包裝在一...
這篇要來分享的是之前將 Effect 用在資料遷移的經驗,其實這篇就是「8. Effect 實戰分享 1 :資料清理」的後續,稍微前情提要一下,你拿到了一個老舊...
前言 在上一篇初探容器的文章中,留下了一個問題:當面對一組值時,要如何找到一種通用的模式,能可靠地將它們組合為一? 在解答問題之前,先來看看一個更普遍的觀念—...
前言 今天要介紹的是 Container (容器),這會是後續 Functor、Monad、Applicative 概念的基礎。 在之前的文章中,我們學習到...
這篇我們要來幫 Effect 的程式寫測試,現在寫測試大家應該都是以 vitest 為主了吧,我們就來用 vitest 吧,若你平常有在寫測試,像這樣的測試應該...
前言 在上一篇文章中,我們介紹了 const toSlug = pipe(trim, toLowerCase, replaceSpaces, removeEx...
這篇要來介紹怎麼使用 Effect 做個簡單的爬蟲,雖說是簡易的爬蟲,但我們要來做一個 「好」爬蟲,代表我們不會送一堆的請求到伺服器,會加上延遲等等,如果可以做...
前言 在上一篇文章中,我們介紹了「函數組合(Function Composition)」,透過把多個小函數拼接起來,我們能寫出更具模組化與表達力的程式。而今天...