JCConf 2025

如果想使用議程表的所有功能,如時區轉換或個人議程表,請啟用瀏覽器的 Javascript 並前往 這裡
09:25
09:25
10 分鐘
Opening

Opening

401
401
09:35
09:35
5 分鐘
宣傳議程 - LINE

總部位於日本的LINE以「拉近你我的距離」為企業使命,透過多元的行動服務與內容,致力將人們、資訊與社會緊密連結。自2011年6月以通訊軟體的型態推出,現更推展其多元的全球生態系,並將觸角延伸至人工智慧、金融科技等領域,積極實現「智慧入口」的願景,2021年3月,LINE與日本規模最大的網路科技集團之一Z Holdings 正式整併,未來也將持續提供用戶享有最即時、便利的行動生活。欲瞭解更多資訊,請瀏覽官方網站:http://linecorp.com/zh-hant/

Promotion
401
09:40
09:40
45 分鐘
From the JDK 21 25: Langage, API, JVM
Jose PAUMARD

The 25 version of the JDK is a version on which vendors offer Long Term Support (LTS), and thus a version that companies and projects will adopt. It probably makes sense to take a look at all the features added to the JDK between 21 and 25, in the language, the API, and the JVM. This presentation focuses on four elements. This first one is the in-memory data processing, with the Gatherer API, the last addition to the Stream API. The second one has to do with asynchronous programming with the Loom project. Loom delivered Virtual Threads as a final feature in the JDK 21, and fixed the pinning issue in the JDK 24. It is delivering Scoped Values, a replacement of ThreadLocals as a final feature in the JDK 25, and a new version of the Structured Concurrency API, still as a preview feature in the JDK 25. And at last, we will talk about immutability and null values handling, with Stable Values, a new API available as a preview feature, also in the JDK 25.

401
401
10:25
10:25
10 分鐘
Break

Break

401
10:35
10:35
5 分鐘
宣傳議程 - 宏庭科技

宏庭科技 Microfusion 是 Microsoft Infrastructure Partner 與 Solution Partner,同時也是 GitHub 授權銷售與技術合作夥伴。專精於提供一站式雲端解決方案,擁有專業的架構師、維運團隊與數據應用團隊,協助客戶進行雲端遷移、IT 架構現代化、數據分析、雲端代管等應用導入與最佳化服務。

此外,宏庭科技也提供 GitHub 企業級解決方案,協助開發團隊導入 DevOps 與 AI 開發工具,加速軟體開發流程、提升團隊協作效能。至今已協助國內外超過 2000 家企業完成數位轉型,涵蓋零售、物流、製造、金融、遊戲、教育與公部門等多元產業領域。

Promotion
401
10:40
10:40
45 分鐘
Java 25 LTS in 2025
Joseph Kuo

2025 年,我們躬逢 Java 平台誕生 30 週年的盛事,同時也迎來了關鍵的長期支援版本 Java 25 的發布。本次議程將帶領大家一同回顧並探討這個承先啟後版本所帶來的重大變革。內容將涵蓋今年上線的 Java 24 及 Java 25 的核心新特性,包含彈性建構式主體、類別檔案 API、串流聚集器、範圍值、模組匯入宣告、簡潔原始檔和實例主方法等等。希望能為資深的 Java 開發者提供一份清晰的藍圖,不僅理解新功能的「是什麼」與「如何用」,更洞悉其背後的「為什麼」,為下一個三十年的 Java 技術演進奠定穩固的基石。

401
401
10:40
45 分鐘
Spring Boot × QueryDSL × GraphQL:打造彈性又安全的企業級動態查詢 API
方昱傑 (Archie)
  1. 為什麼企業查詢 API 需要「動態查詢」與「欄位權限」?
    業務部門、資料分析師、IT 團隊的多元查詢需求
    常見的查詢痛點:過度依賴多組固定 API、條件組合彈性差、欄位外洩風險
    權限控管挑戰:不同角色、部門、系統間對資料存取的複雜規則

  2. 技術選型與架構設計
    為何選擇 QueryDSL?它在動態查詢、類型安全上的優勢
    GraphQL 的彈性查詢與欄位裁切 (projection) 特性
    結合 Spring Boot + QueryDSL + GraphQL 架構圖
    傳統 REST API vs. GraphQL 查詢 API:維護與擴展性的比較

  3. QueryDSL 實作動態查詢的關鍵技巧
    用 PredicateBuilder 動態組合條件 (AND/OR、IN、LIKE 等)
    支援複雜查詢語意(區間、模糊、聯集、多表 Join)
    怎麼保持查詢效能與易維護性
    與 JPA、Spring Data 的整合經驗

  4. GraphQL 實現彈性查詢與欄位權限控管
    Schema 設計:如何設計 Query/Mutation,支援動態欄位選擇
    資料回傳欄位動態組裝 (Resolver)
    權限驗證機制:自訂 Directive、Context、DataFetcher 層級的權限判斷
    欄位敏感資料遮蔽、動態過濾(如只讓特定角色看見特定欄位)

  5. 權限控管框架整合
    權限資料來源設計(OAuth claim )
    權限檢查流程:Request > GraphQL Context > Data Fetcher/Resolver > Entity 欄位
    實作細節與常見權限漏洞防範

  6. 維運與效能考量
    大量查詢下的效能優化(N+1 問題、分頁設計、批次查詢)
    監控與稽核:如何記錄 API 查詢行為,方便事後稽核及追蹤

402AB
402AB
10:40
45 分鐘
解密程式碼的骨骼:深入理解 Tree-sitter 與其結構化本質。
Laurence Chen

現代程式碼編輯器提供了令人驚豔的功能:語法高亮度、自動格式化、以及跳轉定義。這些能力背後的基石,都是「程式語法結構」的解析。

在傳統上,不同語言往往需要各自獨立的 parser 與工具鏈,缺乏一致的標準。GitHub 推出的 Tree-sitter 改變了這個現狀:它能以高效且通用的方式產生 Concrete Syntax Tree (CST),並透過查詢 API 提供給編輯器與 IDE 使用。

這場分享將從基礎到應用,帶你逐步理解:

  • Tree-sitter 的核心概念 - parsing/query 系統。
  • 實務應用案例 - 在 Neovim 中實作「跳轉定義」功能。
  • 未來展望 - 結構化程式碼資料在 AI 領域的潛力:CST/AST 如何輔助 LLM 更精確地理解程式邏輯。
402CD
402CD
11:25
11:25
12 分鐘
Break

Break

401
11:37
11:37
3 分鐘
宣傳議程 - Tangunsoft (JetBrains)

-

Promotion
401
11:40
11:40
45 分鐘
Simplifying Java Build Tooling with Object Oriented Programming
Li Haoyi

The Java language is known to be fast, safe, and easy, but Java build tools like Maven or Gradle do not always live up to that reputation. This talk will explore what "could be" - where current Java build tools fall short of expectations in performance, IDE support, and extensibility - and why there's room to improve. We will end with a demonstration of an experimental build tool "Mill" that makes use of techniques object oriented programming to dramatically simplify the experience of using a Java build tool, proving out the idea that Java build tooling has the potential to be much faster, safer, and easier than it is today.

402CD
402CD
11:40
45 分鐘
以 Kotlin 打造 AI Agent:Koog Agent Framework 實戰入門
范聖佑

隨著 AI 技術的迅速演進,開發者在打造 AI 應用時,越來越需要一套能提供完整元件、多模型整合能力,以及具高度彈性與可擴充性的架構。為回應這樣的需求,JetBrains 團隊延續一貫從實際開發需求出發的精神,推出由 Kotlin 原生打造的 Agent Framework - Koog。

Koog 支援從單輪對話的簡易代理,到多工具協作的複雜工作流程,並透過豐富模組與優雅的 Kotlin DSL,讓開發者能依專案需求自由組合、快速構建具備串流回應、持久記憶等能力的智能代理。

本場分享將從最基礎的對話代理入門,帶大家一步步打造第一個 Koog Agent,並深入探討 AI 應用開發中常見的挑戰與實作策略,例如:多 LLM 切換、MCP 整合、記憶系統設計與歷史壓縮等。如果你正在尋找一套強大且貼近 Kotlin 開發者思維的 Agent Framework,Koog 將是值得關注的新選擇。

401
401
11:40
45 分鐘
用 Kotlin 開發即有 Java 專案的歷程三階段
Brandy Chang

Kotlin 不只是行動端開發的利器。其現代化特性和卓越的表達性亦得到許多後端開發者的採用。本次將分享個人在公司內推動用 Kotlin 開發 legacy Java 專案的心得分享。把 Java Developer 進入 Kotlin 歷程的分成三階段 1) 用 Kotlin 寫 Test Case 2) 寫的像 Java 的 Kotlin 3) 寫的像 Kotlin 的 Kotlin 。總結各階段可能遇到的挑戰與 Tips.

402AB
402AB
12:25
12:25
55 分鐘
Claude Code Lunch Talk:從 Vibe 到 Value
Cash Wu

沒有簡報、重交流,來一起聊聊怎麼把 Claude Code 用到值回票價!現在哪些功能最能拉升產出?哪些場景該避免?帶著你的問題來,帶著可行的下一步走。與一位用 Vibe Coding 做到產品上線、每月把 $100 方案用到極致的資深一條龍工程師 Cash,交流問題、實戰經驗與避坑心法。

403
403
12:25
57 分鐘
🍴Lunch and Break

🍴Lunch and Break

401
13:22
13:22
3 分鐘
宣傳議程 - MySQL

-

Promotion
401
13:25
13:25
15 分鐘
從框架到人才: Java 開發實踐與工程師人才養成
alansid

面對數位金融加速發展與人才培養的雙重挑戰,企業 IT 部門的核心課題已轉向打造現代化開發環境、支援雲端架構,並全面提升團隊戰力。近年來,我們積極推動全端開發標準化與自助開發工具的落地應用,致力於打造一套集框架建置、工具整合、開發者平台及人才培育路徑於一身的現代化開發模式。本次分享將聚焦於上述四大推動重點,深入剖析如何在金融業落實容器化雲端開發標準、協助團隊提升生產力與軟體品質,進而為組織帶來長期創新與永續發展。

一、打造CUB-SDK開發框架
我們以Java為核心技術,主導建構行內專屬的「CUB-SDK」開發框架,致力於提供開箱即用的架構設計,讓同仁能專注於業務邏輯開發,同時統一安全性修正,免除版本整合與弱點修正的困擾,並持續引入最新功能與最佳實踐,已成為資訊部門Java微服務容器化開發的標準規格。CUB-SDK不僅降低團隊開發門檻,更確保程式碼品質、資訊安全與平台監控的一致性,並提供持續的技術售後服務,協助各專案團隊迅速導入、維持最佳實踐。

二、導入開發 AI 助手與智慧工具
我們積極導入 GitHub Copilot 等 AI 開發助手 ,並自研「CUB Genie」AI 助手,協助開發人員進行程式碼建議、自動產生單元測試,進而優化開發效率與程式品質。這些工具不僅降低新手門檻,也能在團隊中推廣現代 AI 協同程式設計模式,進一步提升研發能量與工程師的職涯發展。

三、建置開發者自助平台
我們將SonarQube、JFrog等工具整合至CI/CD流程中,並建構一個開發者自助平台,供專案成員即時審查、追蹤品質資訊,主動發現技術債與潛在風險,進而實踐品質可視化與敏捷回饋循環。更進一步,開發者自助平台也整合了CUB-SDK程式碼產生器、常見程式標準化範例與框架應用指引,協助開發團隊能快速導入最佳實踐、減少溝通與交付成本。此平台成為各部門協作、知識交流與標準推廣的重要場域,加速整體技術升級。

四、培育IT角色人才梯隊

我們不僅專注於技術創新,更從集團層級推動Java全端工程師的長期培養計畫。透過積極吸引新鮮人與非資訊本科生加入團隊,搭配內部訓練與專案實戰,協助工程師從Programmer逐步晉升System Design、System Analyst、SRE或DevOps等職位,實踐跨領域T型人才養成,進而打造組織敏捷轉型的堅實底蘊。這一套路徑設計,使開發團隊能因應金融數位轉型下的快速需求變革,並持續注入創新能量。

本場分享將以真實案例解析上述四大實踐,並分享大型金融組織中推動技術創新、流程整合、人才轉型的具體挑戰與收穫。期待藉此與Java社群夥伴交流,共同推動企業數位創新與開發者成長。

402AB
402AB
13:25
15 分鐘
打造部門專屬的 Quarkus 開發體驗:用 Maven + Extension 建立一致化開發流程
王信凱

在部門推行 Quarkus 的過程中,我們遇到了一個熟悉且普遍的挑戰:每個專案在啟動階段都需要重複設定依賴、處理資料庫連線、引入常用的工具。這些重複性的工作不僅耗費開發者大量時間,也容易因人而異產生實作差異,進而影響整體維運品質與效率。
為了解決這個痛點,我們設計了一套基於 Maven 與 Quarkus Extension 的整合方案,並進一步打造部門專屬的開發套件,透過 Maven、Quarkus Extension、自動化配置與共用模組的整合,建立出一套「從建案、依賴管理、開發流程到資料庫連線」的標準化開發體驗,開發者只要專注在業務邏輯上,讓開發流程更有效率。

本議程將分享我們的完整實戰歷程,包括:
• 標準化建案模板:如何用 Maven + Extension 建立專屬於部門的 Quarkus 開發套件
• 共用依賴與模組管理:統一資料庫連線與設定方式的實作方式
• 提升開發效率:如何讓新人也能快速上手、資深開發者維護更輕鬆

203
203
13:25
15 分鐘
法規掰掰!Spring Authorization Server 的 OTP 整合快攻
Sam Wang

在 OIDC 的認證流程中,透過客製化 Spring Authorization Server,加入第二個認證因子 (OTP),以達成部分法規,規範登入時需要 MFA (Multi-factor Authentication) 要求的快速方案。

401
401
13:25
15 分鐘
用AI進行老舊java專案的現代化重構經驗談
許子謙

介紹運用 AI 工具(如 GitHub Copilot)協助公司內部老舊 Java 專案的現代化重構。這些專案原本採用 Java 8,未使用任何框架,功能皆由開發人員實作,模組間以函式互相呼叫,部署於 WebLogic 或 JBoss 等傳統應用伺服器上。透過 VSCode 搭配 GitHub Copilot,成功產生系統設計文件、資料庫結構文件與 OpenAPI 規格,進一步轉化為基於 Java 17 與 Spring Boot 3 的現代化架構。並整理出一套方法論,讓開發者可利用文件與 AI 協作,有系統地將舊專案重構為可維護、可擴展的現代化架構。本演講將分享轉換的經驗和遇到的挑戰,適合對AI協作有興趣的 Java 開發者參考。

402CD
402CD
13:40
13:40
5 分鐘
Break

Break

401
13:45
13:45
15 分鐘
使用 k6 打造高效能的 Java 應用負載測試
Ruei, Charles Zheng

本次分享將探討如何利用 k6 這款現代化開源負載測試工具,為 Java 應用程式設計高效能的測試策略。在微服務架構與雲原生應用盛行的當下,確保 Java 應用在高負載環境下的穩定性與效能,已成為開發團隊的關鍵挑戰。

k6 以 JavaScript 為基礎,具備輕量、易用及與現代 CI/CD 流程深度整合的優勢,特別適合測試基於 Spring Boot、Jakarta EE 等框架的 Java 應用。相較於傳統工具如 JMeter,k6 提供更直觀的腳本撰寫體驗,支援多種協議(HTTP/1.1、HTTP/2、WebSocket、gRPC),並能無縫整合至 GitHub Actions、Jenkins 等 CI/CD 平台。

本 15 分鐘快講分四部分:首先介紹 k6 基礎概念與快速上手方法;接著探討如何設計真實世界的測試場景;第三部分聚焦測試結果分析與 Java 應用效能優化;最後分享 CI/CD 整合與最佳實踐。透過程式碼範例與實務案例,與會者將學會撰寫高效 k6 測試腳本、模擬多樣化流量模式、分析結果並優化 Java 應用效能。本演講適合 Java 開發者、DevOps 工程師與測試工程師,旨在幫助團隊建立可靠、高效的負載測試策略,提升應用程式在生產環境的表現。

203
203
13:45
15 分鐘
從 Java 傳統寫法進化到 Apache Camel:一次搞懂整合型開發
陳仁傑

在企業應用開發中,超過 70% 的時間與資源都花在「系統整合」上。無論是處理 CSV 檔案、串接 Kafka、存取資料庫,或是呼叫 REST API,我們都習慣用 Java 寫大量的 if/else、try/catch、自訂排程與錯誤重試機制,這些雜亂的整合邏輯讓程式碼難以維護,系統耦合度升高、重複性高、測試困難。

本場分享將以開發者視角出發,從「Java 傳統整合寫法」作為切入點,帶領觀眾實際比較傳統方式與 Apache Camel 實作方式的差異。我將介紹 Apache Camel 的核心設計理念:RouteBuilder DSL,如何以簡潔語法定義資料流、實作錯誤重試與格式轉換,並展示兩個常見整合場景的實戰程式碼:

檔案處理自動上傳:CSV ➜ JSON ➜ API
訊息轉送中介服務:Kafka ➜ 欄位轉換 ➜ 寫入資料庫

透過範例對照,讓開發者快速掌握 Camel 的使用場景與價值。適合任何曾經自己手刻整合流程、想提升整合效率與可維護性的 Java 工程師。

402CD
402CD
13:45
15 分鐘
打造你專屬的 IntelliJ Plugin:從零開始的開發實戰
張品翔 Pino

IntelliJ 是許多 Java 開發者愛用的 IDE,但你是否也曾經翻遍 Plugin Marketplace,卻始終找不到真正符合需求的插件?心想:「如果有 XXX 功能就好了!」

既然如此,何不自己動手做一個?

本場演講將帶你快速掌握使用 Java 開發 IntelliJ Plugin 的基本流程,從概念入門到實際操作,並介紹如何將完成的插件發佈到 JetBrains Plugin Marketplace。讓你打造專屬工具的同時,也能將成果分享給更多開發者。

402AB
402AB
13:45
15 分鐘
用 Spring AI + OpenAPI 擴充 Agent 能力:讓你的 API 接上自然語言
Samson, 陳冠緯

想讓你的後端 API 能被 AI 自然語言驅動?本場分享將示範如何結合 Spring AI、OpenAPI Generator 以及 Feign Client,打造一個能理解語意、選擇正確 API 呼叫、並回應使用者需求的智慧助手。

你將會看到如何讓 AI agent 理解 OpenAPI 定義、自動串接 Feign client 成為可執行工具,並透過 Spring AI agent 機制讓這些工具能被語言模型有效調度。

無需學 LangChain,也不需要額外建模知識,這次我們專注於「用熟悉的 Spring 生態,做出能真的落地的 AI 助理」,讓你的 API 直接接上自然語言,實現 API as Copilot 的願景。

401
401
14:00
14:00
7 分鐘
Break

Break

401
14:07
14:07
3 分鐘
宣傳議程 - TSMC

-

Promotion
401
14:10
14:10
45 分鐘
JVM 內部機制:AI 工作負載的 GC 調校與記憶體優化
Jiayun Zhou

隨著 AI 應用的普及,Java 系統面臨前所未有的記憶體挑戰:10GB+ 的模型載入、數十萬個向量物件、連續的大型陣列操作。與此同時,2023-2025年見證了 Java GC 的「分代革命」:Generational ZGC 完成歷史性轉型、Shenandoah 即將加入分代陣營、Compact Object Headers 開啟記憶體新紀元。

本議程將深入解析這場 GC 革命對 AI 工作負載的影響,從 Netflix 的數千微服務 ZGC 部署到 Apache Cassandra 的 4 倍效能突破,從實驗室的技術創新到生產環境的實際應用。透過最新的基準測試和企業案例,為 Java AI 應用提供 2025 年最前沿的調優策略。

401
401
14:10
45 分鐘
一卡通導入 KMP 與 CMP 的產品線策略與心得分享
林宇軒

作為台灣支付服務的領導品牌,一卡通投入 Kotlin Multiplatform (KMP) 已近三年。我們的實踐場景從廣為人知的 iPASS MONEY app,延伸至採用 Compose Multiplatform (CMP) 的商家管理後台。本次分享將深入剖析我們在不同產品線的導入策略與實戰心得。更重要的是,我們將分享未來的技術展望:如何規劃採用 Kotlin/Wasm,將商家後台擴展至網頁端,實現 iOS、Android、Web 三平台共享業務邏輯與 UI 的終極目標。我們將結合 JetBrains 與 Google 的官方藍圖進行探討,希望能為同樣走在這條路上的開發者與企業先進,帶來第一手的啟發與深入的討論。

402AB
402AB
14:10
45 分鐘
從 RBAC 到 ReBAC:打造高性能細粒度權限管理
ethan

OpenFGA 是一個開源的細粒度授權系統,靈感來自 Google Zanzibar,基於關係型訪問控制(ReBAC)。透過直觀的建模語言定義物件間關係(如「用戶 A 是文件 B 的擁有者」),實現靈活、高效的權限管理,超越傳統 RBAC 和 ABAC。OpenFGA 支援多語言 SDK(Java、Python、Go 等),提供 Check 和 ListObjects 等 API,適用於協作平台、文件共享及 API 安全等場景。與 Spring Security 無縫整合,透過 OpenFGA Spring Boot Starter 簡化 Java 應用授權實現,支援快速權限檢查和測試。作為 CNCF Sandbox 項目,OpenFGA 擁有活躍社群,支援 PostgreSQL、MySQL 等資料庫,確保高性能。Playground 工具讓開發者可視覺化測試授權邏輯,加速開發流程。

401
402CD
14:10
45 分鐘
混然天成的,支援整個MySQL Java應用系統生命週期的IDE – MySQL for VS Code
杜修文

MySQL VS Code 是一個整合MySQL 和Visual Studio Code 的工具,它讓使用者能在VS Code 環境中直接操作MySQL 資料庫。 其主要功能包括:瀏覽和管理MySQL 資料庫系統,提供notebook介面進行互動式資料庫操作,以及直接在VS Code 中使用MySQL Shell 的GUI 控制台。
在這次的演講中,我將為大家介紹:
• 如何 將資料庫操作整合到VS Code,方便Java應用系統開發者在同一個環境中完成Java編寫和資料庫操作.
• MySQL for VS Code能提供那些比傳統MySQL 用戶端更多的功能和便利性,例如筆記本介面、GUI 控制台等.
• 如何擴展的介面設計友好,方便使用者快速上手.
• 以及VS Code如如何整合MySQL Connector/J,讓Java開發者能輕鬆的掌握MySQL JDBC driver的參數和特性.

203
203
14:55
14:55
7 分鐘
Break

Break

401
15:02
15:02
3 分鐘
宣傳議程 - 街口支付

-

Promotion
401
15:05
15:05
45 分鐘
Building a Community for Developers to Connect: The Challenge of the Japan Java User Group
Takaaki Sugiyama

For developers to continue growing, acquiring knowledge alone is not enough. Interaction with other engineers, hands-on learning opportunities, and continuous stimulation are essential.

The Japan Java User Group (JJUG) has been fostering such an environment for over 20 years, now boasting a membership of more than 13,000. Through large conferences held twice a year (JJUG CCC), monthly night seminars, even an unconference held at hot spring resorts (JOnsen), JJUG has established itself as a vibrant and active community.

This talk will review how JJUG has provided a forum for engineers to learn and interact with each other, and provide insight into measures to maintain ongoing activities and to strengthen international ties. Additionally, we will explore the challenges JJUG currently faces and its vision for the future.

203
203
15:05
45 分鐘
Java Beyond Frameworks: Avoiding Lock-In with Agnostic Design
Rijo Sam

The Problem: Modern Java applications often become prisoners of their frameworks. While tools like Spring Boot and Quarkus accelerate development, they create hidden costs: vendor lock-in, bloated dependencies and rigid architectures. What happens when your project outgrows your framework or a new, better tool emerges?

The Solution: This talk introduces a layered approach to Java development, isolating framework dependencies while keeping core logic pure with Java and Jakarta EE. Through examples, you’ll see:
- How to decouple business logic using JSR standards
- Strategies to replace framework-specific annotations
- Cloud integration without framework coupling.

Trade-Offs: Yes, this demands more upfront effort like writing custom persistence layers, rigorous tests, and meticulous docs. But the payoff is code that’s adaptable, testable, and maintainable across frameworks, teams and decades.

Key Takeaways:
- Practical patterns for agnostic design.
- When (and when not) to adopt this approach.

Join me to rethink Java development: less framework magic, more future-proof code.

401
401
15:05
45 分鐘
Zero downtime DB migration using Kafka Connect
haocheng

I would like to share how we have utilized Kafka Connect to complete DB migration with zero downtime. Kafka Connect is a tool for building scalable and reliable data pipelines between Apache Kafka and other data systems. Kafka Connect allows us to ingest entire DB into Kafka topics so that export connector can migrate the data from Kafka topics to another DB. Kafka Connect also supports rollback to previous DB in case any issue happens after the migration is done which is usually very hard for built-in DB migration tools. Moreover, Kafka Connect not only supports DB to DB or table to table migrations, but also supports custom write strategy which could let us migrate only part of the data we need.

402CD
402CD
15:05
45 分鐘
當 Kotlin 遇上 AI:打造新聞摘要自動化的實作實錄
Andy Lu, 范聖佑

在資訊爆炸的時代,新聞取得不再困難,困難的是從大量資料中快速掌握重點。近年來 AI 的興起,各行各業都嘗試導入 AI,迅速發展的當下,雖帶來 AI 焦慮,但也同時迎來效率提升及參與更多產品設計的新契機。本場分享將介紹如何以 Kotlin 搭配 Spring Boot 與 Spring AI,打造一個自動化生成 Kotlin 技術新聞摘要的平台。從定時任務啟動、新聞內容擷取、AI 生成摘要、靜態網頁與訂閱推送,從中拆解整個自動化流程的設計與實作細節。此外,我們也會分享開發過程中運用 Vibe Coding 的開發經驗,加速實現 MVP 產品,讓開發者聚焦在最重要的業務邏輯與用戶體驗。

402AB
402AB
15:50
15:50
30 分鐘
Tea ✖︎ Cake ✖︎ Cash ✖︎ Claude Code
Cash Wu

午餐還沒聊過癮?下午茶再來一波!帶著好奇與真實情境,Cash 以重度使用者視角,交流可複製的 Claude Code 小招式與避坑指南。帶問題來、帶招式走、共同學習,30 分鐘高密度吸收。

403
403
15:50
30 分鐘
☕ Tea Time

☕ Tea Time

401
16:20
16:20
45 分鐘
AI Driven Development with Java & Kotlin
Vincent Huang

Reviewing the development of AI over the past few years, AI has now transitioned from a consultant to an agent. In this agenda, we will demonstrate how to rapidly develop Spring Boot CRUD APIs for Java and Kotlin through pre-defined prompts and instruction files.

402AB
402AB
16:20
45 分鐘
Let's Guava it up! Google Core Libraries for Java
不想加班的工程師 Justin

帶你進去 Google 為 Java 專案所開發的Libraries的世界!分享工作上使用Guava最實用的超多技巧,讓開發者們站在Google巨人的肩膀上開發。

其中包含新型集合類型(如多重映射和多重集合)、不可變集合、圖形庫,以及用於並發、I/O、哈希、基本類型、字符串等的實用工具。它在 Google 內部的大多數 Java 項目中廣泛使用,也被許多其他公司廣泛採用。

203
203
16:20
45 分鐘
壞了,系統發生錯誤了
Steven Wang

當完成了一個功能的開發但卻發生了意料之外的錯誤,除了重新梳理需求內容、與使用者討論例外情境、補充測試案例與在程式中加入 try catch,我們還能做些什麼?
當系統從單體(monolithic)逐漸的長大,進而拆分成微服務(microservices),從使用函式庫到導入中間件(middleware)等,在這些過程中我們需要怎麼處理錯誤的問題?

本次分享內容並不會專注在某一特定元件、函式庫的使用或程式應如何撰寫,我們會往架構層級、設計決策進行分享、討論與思考,
分享的內容會圍繞在如何確實的完成一個業務流程,儘可能的避免發生錯誤後導致的一系列災難

401
401
16:20
45 分鐘
結合 Temporal 與熟悉的程式語言,實現工作流即程式碼,打造高韌性系統
姜政宏 (Jiang)

Building Resilient Systems with Temporal, Workflow as Code in Your Favorite Languages

在現代分散式系統中,傳統依賴手動撰寫程式與狀態管理的方式,常面臨錯誤處理與系統恢復的複雜挑戰,導致開發與維運成本持續攀升。

本次簡報將介紹 Temporal 工作流引擎,重點說明其核心架構與 API 使用,了解如何透過「Workflow as Code」的設計理念,讓開發者可以運用熟悉的程式語言,打造高韌性且具擴展性的流程系統,協助提升流程自動化的可靠度與開發效率,並有效降低系統複雜度與維護風險。

402CD
402CD
17:05
17:05
7 分鐘
Break

Break

401
17:12
17:12
3 分鐘
宣傳議程 - 國泰金控

-

Promotion
401
17:15
17:15
45 分鐘
Current status of Java Web Frameworks
Naoki Kishida

Java web applications were based on Java EE and were built around servlets/JSPs, but the presence of Java EE/Jakarta EE is fading as Spring Boot has become mainstream. In addition, cloud and containers have come into use, full-stack frameworks such as Quarkus and Micronaut have begun to appear, and MicroProfile has begun to work as a standard specification.
In this session, we will introduce request processing frameworks divided into three types: imperative, declarative, and component, and summarize the changes that have occurred in their execution environments in line with the cloud, and introduce the current situation.

402CD
402CD
17:15
45 分鐘
Spring Boot 雲原生實戰:GCP 關鍵服務整合、成本優化與高效維運
蔡承諭 Frank Tsai

隨著雲原生時代的普及,Java 應用的開發與部署方式亦隨之持續演進。本議程將深入探討如何利用 Spring Boot 3 和 JDK 21,在 Google Cloud Platform (GCP) 上打造現代化、高效能且易於維運的應用程式,並分享在真實情境中如何克服整合挑戰與優化成本。

此議程將從一個實際的 Spring Boot 專案出發,逐步展示如何圍繞一個核心業務場景,串聯並高效運用 GKE、Cloud SQL、Cloud Run 等關鍵 GCP 服務,實現從開發到維運的完整流程。
1. 容器化與 GKE 部署: 將 Spring Boot 應用程式容器化,並部署到 Google Kubernetes Engine (GKE),實現彈性擴展與高可用性。
2. GCP 資料服務整合:
* Cloud SQL (PostgreSQL): 如何整合關聯式資料庫,並探討連線管理與效能調校策略。
* Cloud Memorystore (Redis): 整合快取服務,提升應用程式回應速度。
* Cloud Storage Bucket: 儲存與管理靜態資源與大型檔案。
3. 安全性實踐: 利用 Secret Manager 安全地管理應用程式密鑰與配置。
4. 無伺服器探索: 如何將服務以 Cloud Run 部署,實現按需付費與快速迭代。
5. 自動化任務: 透過 Cloud Scheduler 安排定時任務,觸發大資料運算流程、同步資料等任務,並探討如何設計更具彈性與容錯性的排程機制。
6. 可觀測性與維運: 結合 GCP 的監控與日誌服務,確保服務穩定運行。

適合希望將 Spring Boot 應用程式遷移上雲,或想在 GCP 上構建全新雲原生應用的 Java 開發者與團隊領導者。您將學習到最新的技術棧組合以及在 GCP 上的最佳實踐,並能將這些經驗直接應用於您的專案中,提升開發效率與系統穩定性。

203
203
17:15
45 分鐘
以為用 Ktor 就 non-blocking 了?但你寫的可能不是:從踩坑到解法的實戰分享
Recca Chao

Ktor 天生支援 non-blocking、基於 coroutine 的架構,很適合打造高效能的後端服務。

但實際上,即使框架是非阻塞的,你寫的程式碼也可能默默的藏著阻塞的部分。

這場演講將從 coroutine 的執行模型切入,深入解析:

  • 為什麼 non-blocking 架構中,還會有 blocking code 的出現?
  • 常見的 blocking code 來源有哪些?
  • 怎麼正確處理 blocking,避免影響程式效能
  • 如何設計乾淨的架構,讓 blocking code 被控管、可預測

如果你正在使用 Ktor 或 coroutine 架構開發後端,這場分享能幫助你更有意識地寫出真正非阻塞、穩定、具彈性的程式碼。

402AB
402AB
17:15
45 分鐘
當測試成為開發瓶頸:深入 Spring Boot Test 調教實戰
Abi Chang

在產品開發過程中,我們的後端功能越來越豐富,單元測試也越寫越多,但伴隨而來的是兩個痛點:

  1. 測試粒度太細,每次重構、架構調整都變得寸步難行
  2. 2000+ 個測試需要跑 10+ 分鐘,CI/CD 流程變成了漫長的等待

測試本該是開發的助力,為何卻成為最大的阻礙?
這是一個在困境中突破重圍的實戰故事,分享我們如何重新思考測試策略,讓測試架構脫胎換骨,並深入 Spring Boot Test 原理,找到效能優化的關鍵。

401
401