iT邦幫忙

reactive programming相關文章
共有 48 則文章
鐵人賽 Modern Web DAY 20

技術 React 應用(VI):高頻陷阱與最佳實務(II)

快速導覽 上一篇,我們介紹了: 為什麼會 撕裂(tearing),如何保證 tear-free 訂閱 keys 重掛 下如何避免殘留訂閱 / 計算節點 在 T...

鐵人賽 Modern Web DAY 13

技術 實作 Computed

回顧前情提要 graph.ts:Node{ kind, deps, subs }、link/unlink、withObserver/track(沿用實作 E...

鐵人賽 Modern Web DAY 12

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

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

鐵人賽 Modern Web DAY 11

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

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

鐵人賽 Modern Web DAY 10

技術 建構基本的 Signal API

引言 這篇會依照上一篇結尾的概念延續,基本上就是透過「閉包 + 解構賦值概念」,做出的狀態暫存機制,範例如下: export type Signal<T&...

鐵人賽 Modern Web DAY 9

技術 實作 Signal 前你需要的兩個 JS 基礎觀念

為什麼需要這篇? 後面我們會用「閉包保存狀態」的方式來寫 signal(),並以「物件解構」來取值與改值(const { get, set } = signal...

鐵人賽 Modern Web DAY 8

技術 Dependency Tracking 基本原理(II)

引言 在上一篇中,我們拆解了 Dependency Tracking 的核心概念與執行原理,本篇將焦點放在 React 的 dependency 模型:它的特性...

鐵人賽 Modern Web DAY 7

技術 Dependency Tracking 基本原理(I)

什麼是 Dependency Tracking? Dependency Tracking(依賴追蹤)是一種用於自動收集並記錄資料間依賴關係的技術,能夠讓系統在資...

鐵人賽 Modern Web DAY 6

技術 理解 Signal 運作原理

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

鐵人賽 Modern Web DAY 4

技術 Reactivity 兩大驅動模式: Pull-based vs. Push-based

前情提要 接續前一篇的 Reactivity 核心概念講解內容,我們透過這一篇的內容帶大家釐清 Pull-based 與 Push-based 這兩個模式差異。...

鐵人賽 Modern Web DAY 3

技術 Reactivity 的概念與演進

承先啟後的發展 2010 年的 Knockout.js 首度將 Observable / Computed 帶進前端,讓「資料自己開口,UI 跟着動」成為可行路...

鐵人賽 Modern Web DAY 2

技術 Signal 的核心概念

為何需要 Signal? 有了第一篇的概念之後,相信大家都已經在心中埋下懷疑的種子,那我們來重新審視一下 React 是怎麼處理 state 的吧! 相信大家對...

鐵人賽 Software Development DAY 11

技術 Kotlin Coroutines 讓 Quarkus Reactive 容易起來 - Day11

在 Java 這邊有很多 Reactive 的 framework, 早期有 RxJava, Spring 的選擇是 Reactor, Quarkus 的選...

鐵人賽 Software Development DAY 10

技術 方興未艾的 Reactive 與 Quarkus - Cloud 的必須品

Reactive,不是一個新議題, 但是在 Cloud Native 時代是愈來愈重要。因為雲原生正是一個大型的分散式系統,會有 backpressure 的等...

鐵人賽 Software Development DAY 2

技術 Kotlin 作為 Server Side 開發語言 - Day2

第二天來談談為何要採用 Koltin。Kotlin 現在已經廣泛的被 Java 框架例如 Spring Boot, Quarkus 所支援。Thinking...

鐵人賽 Software Development DAY 1

技術 Quarkus - 雲原生的 JVM 框架 ,還有 Kotlin

Java 與 Cloud 20年的 Java 一路都是跟著企業應用成長。從 JavaEE 到 Spring, Spring boot, 並且在企業應用佔有很大的...

鐵人賽 Software Development DAY 30

技術 [Day 30] Reactive Programming - RSocket (Hello World) Part 2

前言 補充上一篇的DEMO,包含RSC的其他應用與測試的撰寫,測試是透過之前介紹過Reactor提供的StepVerifier,還沒看過的人可以先去了解一下。...

鐵人賽 Software Development DAY 29

技術 [Day 29] Reactive Programming - RSocket (Hello World) Part 1

前言 對RSocket有基本的了解之後,照慣例要來做一個簡單的實作,內容參考Josh Long的The RSocket Revolution ,額外調整更新與說...

鐵人賽 Software Development DAY 28

技術 [Day 28] Reactive Programming - RSocket Part2

前言 上一篇提到微服務的興起是RSocket誕生的重要契機,相信有微服務開發經驗的朋友,在微服務切分耦合與實際上的效能問題如何抉擇傷透腦筋,服務間的溝通效率不彰...

鐵人賽 Software Development DAY 27

技術 [Day 27] Reactive Programming - RSocket

前言 Reactive的世界裡,我們已經知道了從接收request(Spring WebFlux)進來一路到DB(R2DBC),這時候就只剩下最後一哩路,也就是...

鐵人賽 Software Development DAY 26

技術 [Day 26] Reactive Programming - Spring WebFlux(R2DBC Repositories)

前言 上一篇我們使用ReactiveCrudRepository來對資料庫存取,對於一些不太複雜的SQL指令來說,使用CrudRepository方便又省事,讓...

鐵人賽 Software Development DAY 25

技術 [Day 25] Reactive Programming - Spring WebFlux(R2DBC)

前言 在上一個範例中,是寫死回傳的內容,顯然在現實生活中應該是不會有公司讓你可以這樣做的,而當我們的Controller開始Reactive了,背後的data...

鐵人賽 Software Development DAY 24

技術 [Day 24] Reactive Programming - Spring WebFlux(Router)

前言 接續上一篇RestController轉成Reactive,可以看到邏輯的部分已經被抽到Handler內了,剩下就是路徑轉導就是交由Router來處理。...

鐵人賽 Software Development DAY 23

技術 [Day 23] Reactive Programming - Spring WebFlux(Handler)

前言 經過上一個範例的練習,也大致上的知道相較於原本Spring MVC annotation-based,Spring WebFlux更傾向使用更Functi...

鐵人賽 Software Development DAY 22

技術 [Day 22] Reactive Programming - Spring WebFlux(Hello World) Part 2

前言 在上一篇成功實作最基本的WebFlux功能,看到了一些有點熟悉又有點陌生的新朋友,在這邊補充說明。 Handler&Router Spring 同...

鐵人賽 Software Development DAY 21

技術 [Day 21] Reactive Programming - Spring WebFlux(Hello World) Part 1

前言 經過了二十一天,進入到了實作的部分,接下來就會建置一系列實際連線至DB並透過Restful溝通的Reactive的服務。這篇主要是透過Restful溝通,...

鐵人賽 Software Development DAY 20

技術 [Day 20] Reactive Programming - Spring WebFlux

前言 對Reactor有一定的認識之後,接下來就要進入正題(迷:經過二十天才到正題?!),畢竟大部分的開發者不太會單獨使用Reactor,勢必要有一個比較完整的...

鐵人賽 Software Development DAY 19

技術 [Day 19] Reactive Programming - Reactor (operator fusion)

前言 這篇掙扎了很久要不要寫,算是進階一點的主題,內容雖然不多,但已經讓我絞盡腦汁,關於這個主題我自己也還是有不了解的部分,但有鑑於蠻多影片都會提到operat...

鐵人賽 Software Development DAY 18

技術 [Day 18] Reactive Programming - Reactor Test(VirtualTime)

前言 接續上一篇介紹測試,之前也提到過Reactor提供VirtualTimeScheduler來讓測試更方便,現在就來結合StepVerifier與Virtu...

鐵人賽 Software Development DAY 17

技術 [Day 17] Reactive Programming - Reactor Test(StepVerifier)

前言 在之前的Reactor相關範例中,如果需要測試結果是否符合預期,都必須要透過System.out.println來印出結果人工檢視,有時候還必須加上Thr...