09:4010:25
Java Language Futures EN
By Gavin Bierman
議程介紹
In this talk I will give you an overview of some of the
exciting new features coming to the Java language. I will show
how they come together to offer new ways to model, program and
query data that have previously only been found in functional
languages
10:4511:30
現代化應用的實作方法 -- Swift Method
By 王鈞平
講者介紹
Rex Wang
曾於電信、金融等產業擔任程式設計師、系統分析師、架構師與專案經理等角色。在
2014年加入
Pivotal擔任資深平台架構師,負責協助兩岸三地不同產業客戶。而該公司於2019為
VMware 所併購,成為 VMware 現代化應用開發與平台的部門,Rex
Wang 則在 VMware Taiwan 擔任資深技術顧問一職。 Rex Wang 對於
Spring Framework 與 Pivotal
軟體開發方法論有著高度的熱情,近幾年來對 Pivotal Labs (現為
VMware Tanzu Labs)
協助客戶所採用的技巧與方法論,有著第一線的觀察與理解。
議程介紹
1. Swift Method 簡介
2. 從Event Storming 到 SNAP-E -- 以採購系統的MVP為例
3. Clean Architecture
4. 在 Spring Boot 中如何進行測試
5. 結論
Swift Method 是由 Pivotal Labs,從 DDD
與敏捷實戰過程中所歸納出來的方法論。
https://www.infoq.com/news/2019/10/swift-method/
https://tanzu.vmware.com/developer/practices/swift-method/
計畫談到在採用現代化應用(微服務)架構前,應該先具備的認知與技能。
希望可以幫助正在觀望或是開始學習微服務、現代化應用開發的朋友,一個可以實現的方法。
11:45
12:30
Why and How to Upgrade to Java 17 EN
By Johan Janssen
Johan Janssen
Software architect
講者介紹
Johan is working as software architect at
Sanoma Learning. He has been working for various
demanding companies where rapidly delivering high-quality
software was very important. Johan regularly writes articles
and presents about various subjects, but mainly around Java.
He spoke in 20 countries at more than 40 different conferences
such as JavaOne, GOTO, Devoxx, JavaZone, J-Fall, Jfokus and
JavaLand. Johan received the JavaOne Rock Star and Oracle Code
One Star awards.
議程介紹
Java upgrades are sometimes seen as difficult and many
applications are still running on an older version of Java.
This session describes Java's current six months release
process and why applications should use a recent Java version.
After that, I'll explain the challenges of upgrading and
provide some useful tips to make the process easier. Concrete
examples (including solutions) will be used to show you how to
upgrade your application to Java 17.
使用Dapr簡化Java微服務應用開發
By Rich Lee
Rich Lee
Integration Architect
講者介紹
目前任職於國泰金控數數發,擔任技術架構師一職,熟悉不同軟體開發技術,熱愛學習與分享新技術,並專注於Microservices、Cloud
Native、Event Driven Architecture。
議程介紹
這幾年來微服務架構已被大型企業採用,配合 Cloud Native 與
Container 相關技術整合已相當成熟;
然而微服務不是銀彈,其須面對分散系統固有的問題,並且常因架構複雜性增加,而導致專案失敗的案例層出不窮。
本議程將介紹 Microsoft 開源的 Cloud Native 應用開發框架 Dapr
來實作 Microservices
Architecture,與其他微服務框架最大不同點在於能夠跨語言,議程中將展示透過
Sidecar pattern,使程式開發者更能專注業務邏輯開發。
使用 Axon Framework 進行 DDD 開發實作
By 朱尚禮
講者介紹
熱愛專研技術與各種開發組合技, 最近則是在吸收各種雲原生資訊.
議程介紹
在摸索領域驅動設計的路上, 往往事件風暴結束後,
卻不知道如何下手開發嗎? 藉由 Axon Framework
來完整進行領域設計實作以及體驗 Event Sourcing 和 CQRS.
如何有效地建構技術方案?
By 林世鵬
講者介紹
現為街口電子支付技術團隊負責人,先前曾服務於杭州阿里巴巴、台灣HTC等國際級企業,熟悉大規模高可用高併發應用系統架構與開發。
議程介紹
12:30
13:30
Lunch and Break
13:30
13:45
My Experiences as a Beginner of OpenJDK Contributor EN
By Koichi Sakata
Koichi Sakata
Technical Lead
講者介紹
Koichi has developed many Java applications for 17 years. He
wrote several Java books and is a frequent conference speaker
in Japan. He was a founder of the JUG called KanJava and had
managed it for over 10 years. Through the activity, he has
interacted with java developers from all over the world. Now
he is a Java champion. Last year, he started to contribute to
OpenJDK. He had wanted to try to do this for a long time. He
wrote some patches. They weren't certainly big or cool ones
but were finally merged to OpenJDK. He loves to attend various
Java conferences around the world!
議程介紹
Most developers have wanted to contribute to the OSSs that
they have used in their daily work. But it is a challenge for
everyone, especially the product that is big and famous like
OpenJDK. I used to be the same. It's scary to send code that I
write by myself to such a big community. Additionally, I'm not
a native English speaker, so it's hard to explain my code in
English. However, last year I send several patches to OpenJDK
at last. They weren't elegant or cool. I made some mistakes in
them, but people in the OpenJDK community properly pointed out
those mistakes. When my patches were finally merged, I got
fulfillment that I've never felt before. In this session, I
will talk about how to start to contribute to OpenJDK and my
experiences. Even if you aren't an experienced java developer,
you can contribute. In addition, the OpenJDK repository moved
to GitHub and changed the development method to pull request
based one. It is easier to contribute than before. After this
session, you will be able to start contributions!
Move to the cloud- Oracle Academy Cloud Program
By Francine Yang
Francine Yang
Country Manager
講者介紹
現職15年經驗主要負責甲骨文學院在台灣/香港/澳門之執行推廣.
IT業界中培訓計畫涉及層面最廣的教育專案之一。
中華資訊與科技教育學會永久會員 中華開放自造協會永久會員/理事
社團法人女力科技用戶發展協會(Ladies that UX)理事
議程介紹
Teach, learn, explore, build, and develop in the cloud, free
of charge. The Oracle Academy Cloud Program provides access to
Oracle Cloud Free Tier to Oracle Academy Institutional members
and their students―with easy signup and all the benefits of
Oracle Academy membership. Plus, teachers enjoy one-time
classroom setup with no maintenance needed. Educators can use
the cloud for classroom teaching and learning to prepare
students to become tomorrow’s technology innovators and
leaders. Member educators and their students can access
always-free Oracle Autonomous Database, Compute Virtual
Machines (VM), object storage, data egress, and other
essential building blocks needed to create applications on top
of Oracle Autonomous Databases.
Integration testing with Testcontainers
By Jam Hsu
講者介紹
從開始接觸開發工作就一直喜歡Java, 早期不務正業前後端都開發,
後來發現後端的博大精深, 開始專注於後端開發的Java工程師
議程介紹
相較於單元測試,整合測試能夠有效幫助我們確保不同元件間互動的正確性。而在撰寫整合測試時,可能會用不同方式建立測試環境,但有些測試環境可能不容易建立,或測試時容易受其他因素影響導致測試失敗。
Testcontainers 是一個支持Junit的Java
library,它提供了常見的資料庫,Selenium
Web瀏覽器或其他可以在Docker容器中執行的輕型的一次性實例。
在這場分享,會簡單介紹整合測試及Testcontainers
並跟大家分享我們改用Testcontainers的經驗以及它帶來的好處
What we have learned from mock testing
By Claire Lien
Claire Lien
Software Engineer
講者介紹
持續學習及精進Java及自動化測試中,目前任職於LINE Taiwan
議程介紹
Mock testing is an approach to unit testing that lets you make
assertions about how the code under test is interacting with
other system modules. Mockito is a popular mocking framework
for unit tests in Java. In this session, we would like to
introduce the following topics:
- What is mock testing
- Why use mock testing
- Learnings with mock testing
14:00
14:45
以 Kotlin Multiplatform Mobile (KMM) 開發跨平台行動應用
By 范聖佑
講者介紹
JetBrains 技術傳教士,負責推廣 Kotlin 程式語言、JetBrains 系列
IDE 及團隊合作解決方案。工作因素加上好奇心始然,常常實驗將
Kotlin
應用到不同領域,並試著以通俗易懂的方式將技術名詞講到人人能吸收。
工作之餘也熱血經營技術社群,常在各社群聚會裡出沒,歡迎拍打餵食。
議程介紹
同時開發及維護兩個平台的 Mobile App
並不容易,但選擇跨平台技術開發卻常有效能不佳的問題。
如何用一個語言開發雙平台應用,同時保有各平台原生的操作體驗及效能,成為跨平台開發者最關注的議題。
在這場分享里,將會介紹由 JetBrains 團隊推出的 KMM
技術,運用 Kotlin Native 跨平台開發的特性及在 KMM plugin
的輔助下,開發兩種平台的 Mobile App,並輔以實際案例,讓聽眾對
KMM 的開發工作流程有基本的認識。
花式玩轉 Spring-Data-JPA
By Rhys Chang
講者介紹
Softleader 研發工程師,負責系統設計、教育訓練、安麗IntelliJ
IDEA,立志提升大家的技術水準,邁向可以更懶惰的明天。
議程介紹
效能不是他的強項, 可是花式是, 來寫寫看連兩天後的自己都看不懂的
Spring-Data-JPA 吧!
Machine Learning Beginner EN
By Rich Niemiec
講者介紹
Rich Niemiec is the current CIO of Viscosity NA. He's an
Oracle ACE Director, and former CEO of TUSC. Rich is past
President of the International Oracle Users Group and in the
Chicago & E&Y National Entrepreneur Hall of Fame.
議程介紹
This presentation will focus on what specific Algorithms that
are inside Oracle can be applied to Business Problems. Robots
may be the first to truly learn Machine Learning (ML) and
expand into Artificial Intelligence (AI). Python is one of the
keys to Machine Learning as we program the invention of Man's
Mind to further replace man's most basic tasks. This session
will focus on ML 101 and building the future ahead. Some
business issues are seasonal, some relate to customers with
certain attributes, some relate to customers we don't know
exist, but all can be solved by using the correct algorithm to
quickly prescribe a better corporate future.
Introduction to MySQL Operator for Kubernetes
By 杜修文
杜修文
Solution Engineer Manager
講者介紹
一位有30年資歷的IT老兵,目前是Oracle公司的北亞區MySQL解决方案工程部主管,致力于推廣MySQL技術幷幫助企業用戶使用MySQL.
同時他還是臺灣MySQL使用者社群的發起人,透過社群為台灣MySQL推廣技術和最佳實踐。
議程介紹
本研討會將介紹由MySQL研發所推出的MySQL Operator for
Kubernetes. 介紹以下重點如下:
1.MySQL Operator為使用者能帶來的效益
2.
如何以MySQL Operator for K8S建立以InnoDB
Cluster為基礎的高可用架構
3. MySQL Operator for
K8S如何支援高可用
4. 如何以MySQL Operator for
K8S增加/減少MySQL節點數
5. 如何以MySQL Operator for
K8S支援MySQL備份及回復
6. 未來發展方向
15:00
15:45
Kotlin's present and future
By Andy Lu
講者介紹
喜愛 Kotlin 的一名 Android 工程師一名,在 Kotlin
讀書會擔任導讀者。
議程介紹
Kotlin 在 2020 年八月推出了1.4.0
版,在今年五月推出了1.5.0版,預計十一月時又會有一版新的版本推出,在這些版本中,有哪些功能是很重要的,又有哪些還沒推出的功能是值得期待的?
讓我們一起深入認識 Kotlin 現在與未來的版本吧。
玉山微心計畫
By 簡文助、蔣秉修 (鄭惟鍾)
講者介紹
玉山銀行架構師,協助行內系統架構設計與規劃。
議程介紹
玉山銀行新核心系統建置介紹
Artificial Intelligence on Quarkus: I love it when an OptaPlan comes
together EN
By Geoffrey De Smet
議程介紹
Forget about Machine Learning. Planning optimization is the
most profitable AI technology on this planet. The world is
full of planning challenges, such as vehicle routing problems,
maintenance scheduling and employee rostering. Find the
quickest routes to visit n locations with k vehicles. Or
assign shifts to employees, taking into account skills and
availability. Few people realize how much AI algorithms
improve those solutions. For example, when telco’s started
using OptaPlanner to plan their fleet of technicians, many
expected a driving time reduction of 1-2%. It was 25%. In some
cases, that saves hundreds of millions of dollars and millions
of kilograms of CO² emissions, every year. In this session
I’ll show you how to code a highschool timetabling
application, with Quarkus and OptaPlanner (both open source).
It ‘ll generate the perfect lesson schedule, for both students
and teachers, taking into account hard and soft constraints.
Releasing at the speed of light EN
By Andres Almiray
Andres Almiray
Senior Principal Product Manager
講者介紹
Andres is a Java/Groovy developer and a Java Champion with
more than 2 decades of experience in software design and
development. He has been involved in web and desktop
application development since the early days of Java. Andres
is a true believer in open source and has participated on
popular projects like Groovy, Griffon, and DbUnit, as well as
starting his own projects. Founding member of the Griffon
framework and Hackergarten community event.
議程介紹
Your project has reached that stage when it’s a good idea to
post binaries, but new questions appear such as where should
they be posted? How do make it easier for users to install and
discover your binaries? Where should releases be announced?
Most importantly, can answers to these question be automated?
Enter JReleaser, a tool that provides answers to these
questions and more. JReleaser may be used to create
GiHub/GitLab/Gitea releases and publish binaries that can be
consumed from different distribution channels such as
Homebrew, Snap, Scoop, and more. Once published, the release
cab be automatically announced on Twitter, Slack, Gitter,
Discord, and other communication channels. Come to this
session to learn how JReleaser can help you release, publish,
and announce binaries with ease, and fast!
16:15
17:00
Going Reactive with Kotlin and Quarkus
By 張弘明
講者介紹
Java, Spring, Web Developer in TSMC. Promotion Kotlin, cloud
native in TSMC. Assist TSMC digital transformation
議程介紹
JVM 的大小與 Spring boot 的 DI ,在微服務與 serverless
的時代變成難以忽略的低消。 Quarkus 透過消減 DI
來加速啟動及更小的 VM 依賴。並且在開發期間有很好的 DX
本範例將演示用 Kotlin 在 Quarkus 上實作 Reactive Service,
達到小又快的服務。
Java 與 Kubernates API 的互動
By 何適宇
講者介紹
大家好我是 Matt, 服務於松凌科技研發部門,
主要的工作是在建置公司專案及產品的共用底層架構.
近年來已經將公司專案的底層架構轉換成微服務,
同時也協助我們的客戶做數位轉型並導入微服務架構.
我專注於企業架構的解決方案, 偶爾也會貢獻於開源專案.
議程介紹
Kubernetes 已經是松凌科技產品的標準平臺,
我們在其上成功發展並上線了許多系統, 在本課堂中也會分享
Kubernetes 上的一些應用情境: 說明怎麼使用 Java 和 Kubernetes
API 互動.
Agile Integration with Camel EN
By Otavio Rodolfo Piske
Otavio Rodolfo Piske
Senior Software Engineer
講者介紹
I am a contributor to the Apache Camel project, where I focus
on contributing with several of its projects in the areas of
observability, integration, automation and testing.
議程介紹
Accelerate how you deliver your integrations with these new
Apache Camel features
Using Armeria to build your service
By KojiLin
講者介紹
JWorld@TW 管理者,Taiwan Java User Group
成員,不管什麼都會想用 Java 來完成的工程師。現在在 LINE
Fukuoka 擔任開發一室室長。
議程介紹
在2016年時我們介紹了當時還是0.28.0.Final的
Armeria,過了五年後的現在 Armeria
經歷了1.0後來到了1.13.1。這幾年陸陸續續增加了不少新功能和改進,像是更完善的gRPC支援,更方便與Kotlin和Scala整合以及與
Spring Boot
搭配使用等等。除了在LINE內部,我們也看到有其他開源專案和公司開始使用
Armeria。
這個議程將透過要建立一個新服務需要哪些功能的觀點,帶大家走過
Armeria
原本有的以及在這幾年新增和改善的功能。說不定在某些情境下,Armeria
會成為你們專案中一個合適的選擇。
17:10
17:55
Hacking a minimum ECS in Scala 3
By 張瑋修
張瑋修
Software Architecture Consultant
講者介紹
張瑋修 (Walter Chang) is a long time Java/Scala developer. He
specializes in architectures of the web, both in the browser
and the cloud. In his spare time, he likes to explore new
things and find out what makes them tick.
議程介紹
ECS (Entity Component System) is a well-known pattern in both
the game engines and UI frameworks. Scala 3, with its many new
meta-programming features, are well-suited for ECS
construction. In this talk, I will present a minimum ECS by
utilizing language features of Scala 3 and explain some of the
intricacies of the implementation. It should not be too
difficult to follow along. Skimming through the ECS article on
Wikipedia might be beneficial prior to the talk. By utilizing
Scala's sophisticated type system, the ECS features, even
though minimum, are both type-safe and user-friendly. It is my
belief that a good computer language should be able to
minimize program mistakes and maximize program performance,
and I think Scala 3 delivers on both promises splendidly.
玉山銀行如何以 Flink 打造流批一體之數據中台
By 鍾冠宇、王羿 (鄭惟鍾)
講者介紹
玉山銀行架構師,協助行內系統架構設計與規劃。
議程介紹
玉山銀行使用Flink於數據中台之應用與介紹
為了打造「近即時」的資料交換平台,玉山銀行架構師針對市面上既有之數據交換技術進行大量研究與
POC,在功能、效能及容錯能力符合業務需求的前提下,最終決定以
spark + flink
為核心來打造玉山銀行「流批一體」的數據中台,本場次即分享玉山銀行使用
flink 上遇到了哪些問題,以及短期內有哪些成果。
The obstacles of developer productivity
By Laurence Chen
講者介紹
* 台灣 Clojure 社群 ( https://clojure.tw/ ) 線下活動主持人
* REPLWARE (
https://replware.dev )
CEO
議程介紹
將從 premature optimization, software complexity, uncertainty, cultures 等四個不同的角度,來探討妨礙軟體工程師生產力的要素。
Java 17: The Next LTS
By Joseph
Joseph
Senior Director of Cloud 資深雲端技術總監
講者介紹
十五歲獲贈被淘汰的 386
電腦,沒有硬碟和光碟機而無法玩大補帖,只好改玩程式設計並走上這條不歸路。高中時不小心用
BASIC 寫了行事曆系統和小遊戲,大學唸數學副修資工時玩
C/C++/Java,弄了
BBS、部落格、電子商務平台、進銷存系統和一堆小程式,也順手用
LPC 語言寫
MUD。曾在連鎖資訊教育機構、加值簡訊服務系統、雲端遊戲影音平台、全球電子商務網站、資安防護、以及用戶行為管理等公司中工作,負責架構規劃、系統開發、軟體設計、程式撰寫以及技術教學,並參與各式大型專案的規劃設計、開發實作與部署維護。專長是
Java、軟體工程、系統架構、設計模式、Spring、雲端運算、邊緣運算、物聯網
IoT、開放原始碼套件及各式相關技術。狂熱地喜愛把玩各種新知技術,願望是能一輩子寫程式寫到老。
議程介紹
After 3 years, the third LTS version, Java 17, was released in
September 2021. We all are very excited and keen to learn more
about new changes it brings to us. However, many projects and
products are still using Java 11, or even Java 8. In this
session, we will not only focus on those amazing features, but
also have a quick introduction on why we should migrate to
Java 17 and how.