今年八月被前同事推坑買了JCConf 2019 早鳥票,所以今天去了JCConf(Java Community Conference) 2019,很棒的活動,以後每年都要來參加。
活動從早上8:40分開始入場,地點在台大醫院國際會議中心。
會議中心距離台大醫院捷運站還有點距離,走了約10分鐘就到了。
JCConf 2019的會場在台大醫院國際會議中心的四樓。一上去先給工作人員掃描KKITX買的QR Code電子票,然後會發給一份資料袋和通行證。
抵達的時間約9:00,此時大廳已有不少與會者,一旁桌上有滿滿的蛋糕麵包點心及熱黑咖啡等供參加者享用,還蠻好吃的。
在議程開始前先快速逛一下會場大廳。會場大廳有多個活動贊助者的攤位,包括SoftLeader松凌科技,LINE Taiwan,英諾瓦innova,Pivotal,HTC,JetBrains,MySQL,Oracle,Vpon威朋,klickklack,meet.job,appier,XTEAM STUDIO,電子豹。
JetBrains
meet.job
HTC
MySQL
來JCConf的另個好處是可以順便找工作,因為擺攤的公司也藉此來招募人才,不僅贊助曝光而已。對技術有一定熱情的工程師才會來參加JCConf,所以這些公司能藉此蒐集到不少優秀工程師的資料。
像我今天就跑到英諾瓦攤位跟人資要名片,然後小發牢騷說我之前有用104投履歷但都沒有下文。
首先是宣傳議程,是贊助廠商宣傳自己公司的時刻,例如LINE宣傳他們還在Beta的LINE Spot。比較特別的是Pivotal,這家公司可能大家都很陌生,但Java生態系中最流行的Spring framework其實是由Pivotal維護,目前該公司在台灣只有一名員工。
第一個正式議程「Bootiful Testing」講者為Josh Long,為Pivotal的Spring Developer Advocate。內容主要是說明如何透過測試驅動開發TDD來讓測試程式與業務程式同時進行,透過TDD讓開發者能常時間保持在"ZONE"的領域而不中斷。並實際demo如何利用Spring Cloud Contract WireMock在兩個Spring Boot應用程式服務間撰寫unit test測試程式。
我今天才認識到Josh Long(中文名:龍之春),演講方式幽默且有趣,內容紮實令人印象深刻。尤其看他用IntelliJ IDEA寫程式超快,尤其匿名類別快速轉lambda的功能超特別。
下個議程是「The Future of Java is Today」,講者為Sharat Chander,為Oracle Java的產品經理。內容主要在說明Java未來每六個月釋出新版本的節奏,長期支援的版本,但最重要的是告訴大家應該要往Java 11前進了,不要死守著Java 8。
11:20-12:05的議程我是參加「Spring to Kubernetes Easier and Faster」,講者為Ray Tsang,是GCP的Developer Advocate,演講內容主要再說如何在Spring Boot透過jib來快速將應用程式包成docker image並部屬到Kubernate容器,在Kubernate的設定眉角等,例如Java版本,Heap記憶體大小設置等。
因為我工作中一直都沒有摸過Kuberante,Docker等,所以這場蠻沒感覺的。
12:15-12:30是參加「Schema, Validation and Generative Testing」,講者為陳家宏,Clojure開發者。內容在講Clojure的input validation的東西。因為我只會Java所以聽不太懂。
接著中午休息時間,發放的便當是排骨飯和養樂多。排骨有小碎骨不好入口,建議以後可以換家便當。
吃飽後跑去HTC攤位玩小遊戲,遊戲內容是用手機掃瞄工作人員身上的QR Code得到一組英數符號組成的亂碼,然後依此亂碼尋找出答案,沒有任何提示。
Z29vZCBqb2IsIHlvdSBrbm93IHRoaXMgaXMgYmFzZTY0IGVuY29kZQpub3csIHlvdSBjYW4gZ28gdG8
gaHR0cHM6Ly8xZHJ2Lm1zL3cvcyFBczhwYzhONHh1b0pfRFk2c0NMXzFkeDZ6QnZPP2U9SFVNQ1FMCg
pwYXNzd29yZCBoaW50OiBIVEMgVml2ZSdzIGxhc3Rlc3QgcHJvZHVjdCBpcyBWSVZFIHdoYXQ/Cgphb
mQgeW91IHNob3VsZCBrbm93IHRoZSBuZXh0IHN0ZXAu==
亂碼看起來像Base64編碼,所以把編碼丟到online base64 decode的網頁去解碼,解碼後的文字如下。
good job, you know this is base64 encode
now, you can go to https://1drv.ms/w/s!As8pc8N4xuoJ_DY6sCL_1dx6zBvO?e=HUMCQL
password hint: HTC Vive's lastest product is VIVE what?
and you should know the next step.
然後進入解碼文字中的連結會來到One Drive的登入頁面,依照提示輸入HTC VIVE最新的產品名稱Cosmose做為登入密碼(密碼第一個字為大寫,剩下為小寫,沒問工作人員還真的不知道),登入後可看到一組github連結,進入連結回答下面問題。
Tell me what's wrong and how to fix it
package com.vive.tellmetheanswer;
public class Main {
public static void main(String[] args) {
var o = new Child();
o.i = 1;
o.j = 2; // <--
o.display();
}
}
class Parents {
public int i;
private int j; // <--
}
class Child extends Parents {
void display() {
super.j = super.i + 1;
System.out.println(super.i + " " + super.j);
}
}
將答案告訴HTC工作人員就拿到獎品啦,HTC VIVE毛巾一條,很有趣的小遊戲。
下午第一場參加的是 「Structuring your Java application」,講者為Arena Management Consulting AG 技術經理 黃俊喬,內容在說專案中程式封裝及切割的問題。當專案隨著時間變長變大參與者變多的時候,從技術及業務的角度來畫分package的優缺點,及應該善用Java 9的Module特性,善用interface來隱藏不該暴露的資訊等。
接下來的三場都是參加由Josh Long主講的「Reactive Spring」。內容主要就是demo如何利用Spring WebFlux打造基於Netty的非阻塞式微服務應用程式,認識到很多新的東西。
另外也了解到Josh Long很積極的在推廣Reactive programming。
議程結束後跑去跟Josh Long合照:D。
Josh Long在演講時的與參加者的自拍照
最後一場是參加「組織結構與系統架構的協作、發展與變化」,講者為松凌科技的Steven Wang,內容主要是說中國那邊對於微服務如何進一步重整為「大中台小前端」的概念,藉此來管理並重用各種核心服務(業務平台),並由小前端的各種組合來打造不同產品的變化。
活動結束後出來已經晚上六點,一整天下來接觸到許多新東西,還有別人分享的經驗等,收穫不少。
今天拿到的一些貼紙
沒有留言:
張貼留言