iT邦幫忙

effect相關文章
共有 23 則文章
鐵人賽 Software Development DAY 10

技術 9. Effect 的超級魔法:排程與錯誤重試

在這篇裡,我們要來介紹 Effect 最強大的功能,排程還有錯誤重試 重覆執行 有時你可能需要重覆執行一段程式碼,平常你可能會使用迴圈做,如果還要加上定時的話,...

鐵人賽 Modern Web DAY 10

技術 [學習 Effect Day10] 透過組裝 Effect 建構程式 (二)

上上篇(Day8)我們有講到盡可能 run Effect 在你的程式邊界(Edge),如果你整個程式都是由 Effect 組成,那大部分的時候你應該只會執行你的...

鐵人賽 Software Development DAY 9

技術 8. Effect 實戰分享 1 :資料清理

這篇我們總於要來看一下怎麼實際用 Effect 來實作一些功能了,第一篇是資料清理,我們要來看怎麼使用 Effect 協助我們清理資料,並安全的處理各種錯誤的情...

鐵人賽 Modern Web DAY 9

技術 [學習 Effect Day9] 透過組裝 Effect 建構程式 (一)

在講怎麼組裝 Effect 建構程式之前,本文會先比較兩種建立 pipeline(指一系列的步驟,每個步驟都會接收前一個步驟的輸出,並回傳新的輸出) 的方式。並...

鐵人賽 Software Development DAY 8

技術 7. 用 Effect 打造自訂的錯誤型別

在前一篇文章中,我們介紹了怎麼在 Effect 中處理錯誤,然而,目前我們拋出的錯誤型態只有 Error ,說好的一看 type 就能知道會發生什麼錯誤呢?在這...

鐵人賽 Modern Web DAY 8

技術 [學習 Effect Day8] 執行 Effect

前一篇我們介紹了 Effect Type 的定義和創建 Effect 的方法,這一篇我們要來講講如何執行 Effect。但在實際講語法之前,我想先講一下 Eff...

鐵人賽 Modern Web DAY 7

技術 [學習 Effect Day7] 了解 Effect Type 並創建 Effect

Effect 的核心目標,是把「副作用的描述」與「副作用的執行」徹底分離,讓我們能以型別安全、可組合的方式建構複雜流程。你可以把 Effect 想成「一份待執行...

鐵人賽 Software Development DAY 7

技術 6. Effect 中的錯誤

在這篇中,我們要來看 Effect 中的兩種錯誤類型:預期的錯誤 Expected Error 與非預期的錯誤 Unexpected Error ,另外看在 E...

鐵人賽 Software Development DAY 6

技術 5. 初識 Effect 中的 concurrency

還記得之前我們建立 Effect 時還有分 sync 跟 promise 的嗎?另外還有提到 Effect 像是藍圖,設計好程式的流程後我們才開始執行,這篇裡我...

鐵人賽 Modern Web DAY 6

技術 [學習 Effect Day6] 建立 Effect 專案 (二)

呦~這篇是延續上一篇,若還沒看過上一篇可以先看過再過來喔。 Nix flake:跨平台一致的開發環境 它是什麼? Nix 是跨平台的套件與環境管理器,能在 Li...

鐵人賽 Software Development DAY 5

技術 4. Effect 的基本使用

在前一篇講了那麼多怎麼建立 Effect 跟如何執行,總覺得好像少了什麼東西,條件判斷的 if 還有像迴圈的 for 這些東西跑到哪邊去了,其實很簡單的,這邊想...

鐵人賽 Modern Web DAY 5

技術 [學習 Effect Day5] 建立 Effect 專案 (一)

前言 我過去經驗主要是從使用者視角來打造我心中想要的產品。對於如何把產品(尤其是後端服務)做到足夠穩健(robust)並不是我的強項。所以我選擇直接用官方 CL...

鐵人賽 Software Development DAY 4

技術 3. 第一個 Effect

我們終於要來建立 Effect 了,但… 其實建立 Effect 有非常多的方法,執行 Effect 雖然少一點,但也不只一種,我就介紹幾個比較常用的 使用立即...

鐵人賽 Modern Web DAY 4

技術 [學習 Effect Day4] 為什麼需要 Effect

程式中的副作用 在程式開發中,「副作用」指會影響外部世界的操作,例如記錄日誌、發送網路請求、存取資料庫、寫入檔案,甚至 console.log。相對地,在記憶體...

鐵人賽 Software Development DAY 3

技術 2. 為什麼需要 Effect, Promise 不夠嗎

在開始前,我們先來看一個範例,關於以下的 function 你覺得可能有幾個地方可能發生錯誤呢? function fetchItemDetail(id: nu...

鐵人賽 Modern Web DAY 3

技術 [學習 Effect Day3] 從 POC 到 Production(二)

這篇與上一篇是連貫的,如果你還沒看過,請先看過再來看這篇。 加入中斷機制 const getTodo = async ( id: number, opt...

鐵人賽 Modern Web DAY 2

技術 [學習 Effect Day2] 從 POC 到 Production(一)

生產環境的程式碼必須面對現實,而現實幾乎從來不是一路順遂的「快樂路徑(happy path)」。Effect 作者:Michael Arnaldi 前一章節...

鐵人賽 Software Development DAY 2

技術 1. Functional Programming 簡介

在第一篇我們說到會介紹一點 functional programming (FP) ,不過不用太緊張,我們不會很深入 FP 的概念,我想應該有不少人,看了一些...

鐵人賽 Modern Web DAY 1

技術 [學習 Effect Day1] 產品級軟體

前言 我成為工程師的時間剛好是 ChatGPT 剛問世的時候。當時它還不怎麼好用。但到了現在,伴隨著各種 AI 工具的問世。在激烈的市場競爭下,AI 的能力也隨...

鐵人賽 Software Development DAY 1

技術 0. Effect 魔法:替你的應用程式注入堅不可摧的力量

Effect 是近一兩年興起的一套 TypeScript 的函式庫,可以幫助我們打造更加強韌的應用程式,目前我已經使用 Effect 這個套件一年多了,這段時間...

鐵人賽 Modern Web DAY 12

技術 實作 effect (II): Effect 內部選型

快速回顧 還記得這張圖嗎?上一篇我們透過實作 Registry 這層抽象,讓我們能夠有不同資料結構處理 Effect 排程的選擇權,那你一定會想... 為什麼需...

鐵人賽 Modern Web DAY 11

技術 實作 effect (I): 讓圖真正「動」起來

引言 上一篇我們已經完成一個具備訂閱功能的 Signal 核心,這一篇我們來實作 Effect,讓每個依賴項都能自動去追蹤,順利讓原本靜態的圖能具有響應性的動起...

鐵人賽 Modern Web DAY 6

技術 理解 Signal 運作原理

前言 有了前面幾篇的解釋,相信大家已經對 Signal 和 Fine-grained Reactivity 的概念有初步的認識,今天我們就回到開篇內容的主軸,接...