趁頭腦還清楚記錄今日的心得,有些比較不熟悉或是沒聽懂的部分就省略了,免得誤導看到本文的人。最下方有放 陳奕孝 baterme@gmail.com 整理出來這次會議的懶人包(本人沒有影分身術無法同時參加四個議題 XD),回家要交作業的人可以連去複習!
55個Java SE 8的新功能(Stephen Chin)
- 主要最大的更新就是 Lamda,然後其他54個功能我都…
心得
- 只有60分鐘要介紹55個功能,怎麼可能都記得。
Java EE7全新企業平台:提高生產力與支援HTML5(Reza Rahman
)
- 新的 API 或是更新的 API(JMS、WebSocket、JSon、JAX-RS、JPA、JTA、JSF、Batch)。
- 介紹了很多但不外乎就是以下兩個好處。
- 簡化舊版本的寫法。
- 再也不用使用第三方的 API。
-
- BeanValidation
- 在變數前面加上 annotation(ex: @NotNull、@Max(10)) 判斷變數的合法性。
心得
- 講師完全是火力全開,完全把大家當成美國人的速度在講課。
- Manning: EJB 3 in Action 這本書惠我良多,但都買不到實體書,只好含淚放棄簽書的計畫。如果你有這本書要賣,請 mail 給我,持續徵求實體書中(簡中原文皆可)。
- 解開了從講師手上拿到獎品的成就...
淺談 Lambda 運算式(Stephen Chin)
雖然知道 Lambda 基本上就是能將方法本身當作參數傳遞,也在 Ruby / C 上實作過,但 Java 8 的 lamda 實作我目前還無法融會貫通(有點當初 Java 5 導入 Generic 昏頭的狀況 XD ),這邊就不亂寫筆記以免誤導大家。
這堂課主要就先說明 Java 中 Lambda 的語法。透過一個類似貪食蛇的遊戲,說明 Collection 在支援了 Lambda 後(集合內的元素,篩選、根據條件修改、轉換成不同的元素…),可以省去很多寫程式碼的時間。
心得
- 連聽三堂英文,已經昏昏欲睡。
整合SOA、 jBPM、 Rule 引擎建置次世代的企業應用雲端系統(林瑋玫 Christina)
- JBoss AS 7(JBoss 的 Java EE Server 社群版) 更名為 Wild Fly。
- Rule
- 條件判斷(一堆 if else)抽取成 Rule。
- 方便修改。
- 不用重新 compile code。
- BPM
- 商業邏輯(jBPM)可以去串這些 Rule 來用。
- Rule 可以設計成可獨立的最小單位,而非為了商業邏輯將多個 Rule 合併成一個大的 Rule。方便重用 Rule。
- 可視化的畫面讓業務人員能參與流程設計。
- Gurvor
- 可以作為 Rule 和 BPM 文件的儲存庫。想成是程式碼的 SVN 或是 Git 版本控管系統。
- Camel
- 資料流的處理,輸入資料(FTP、JMS、HTTP…)、處理資料(修改格式、物件轉換、路由…)、輸出資料。
- SwitchYard
- 我最想聽的部分,結果沒有時間就草草代過了。這邊就我導入的心得作補充。
- JBoss ESB 的後繼者,目前剛進入1.0版。
- SwitchYard 是一個可以實踐 SOA 的平台(採用 SCA 的架構來設計 SOA)。
- 第一,它是一個 ESB,可以把所有的外部的服務掛上來。
- 第二,它其中可以建立 Java Bean 元件、Camel 元件、BPM 元件…,而這些元件又能去使用作為 ESB 掛上來的外部服務。
- 第三,將完成的功能(利用元件 + 外部服務)再以 SOAP、FTP、Queue…等方式再發佈出去。
- 綜合以上三點,SwitchYard 把散落在不同系統的功能收集起來,串成新的功能再重新發佈成新的功能。
心得
- BPM 實作太長了太深入了,沒有把 SwitchYard 講完很可惜,聽眾不容易了解 JBoss SOA 整個架構。
- 比較扯的是C大的同事聽到疑似打瞌睡有點…
從 Web Services 到 Mobile Services(蘇國鈞)
- 過去 Client/Server 架構之於現在 WebApp,MobileApp/Cloud。
- Service Invocation
- Client 端怎麼去呼叫到 Web Service(簡化定義就是透過 HTTP 取得的資料)。
- Restful 的 Web Service 透過 HTTP 的 Post/Delete/Get/Post 就可以完成呼叫。
- SOAP 的 Web Service 必須要先 parse WSDL,產生對應的 SOAP 才能完成呼叫。
- 前端(JavaScript)沒法透過 HTTP 的方式(比較簡單),就必須透過其他工具呼叫 SOAP 的 Web Service(比較麻煩)。
- Data Format
- 討論 JSON 格式定義的正確性,實作中要注意符合定義。
- 認證
- OAUTH
- 授權除了確認身分外,還會分享個人資料(如果使用者也同意授權這些資料的話)。
- OpenID
- 只有確認身分,並沒有任何個人資料可以分享。
- OAUTH / OpenID 本質上並非是一樣的概念,請視開發需求決定要使用哪種 solution。
- 如果只是要確認身分,就不一定要導入OAUTH。
心得
- 超級賽亞人(升級)、火影忍者(擴充!? 我有點忘了)梗 + 10 分!
- Live Demo 就是會出問題,然後只是老師故意鋪的梗也 + 10 分!
排隊應用開發(王建興 Qing)
- Why Queue
- 演算法實作。
- 分配有限的資源。
- 跨行程(不同 VM、不同主機…)有收送訊息的需求。
- Queue 的本質
- 非同步的傳送方式。在大家都在忙的情況下,有人的需求不會馬上被滿足。
- Buffer。作不完的事情都先被記錄下來等等在做。
- 標準化的溝通介面。大家都照著一樣的規則,把需求丟進 Queue、把需求從 Queue 拿出來,不同的程式語言之間也可以透過 Queue 做溝通、合作(想像成 C# 和 Java 之間可以用 XML 作資料交換)。
- In Process Queue
- 訊息在同一個 VM 上。
- 不用序列化,效能快,但擴展性差(升級CPU、RAM…)。
- NetWork-based Queue
- 訊息在不同 VM 傳輸(ex: JMS)。
- 需要續列化,擴展性佳(加入新的主機)。
- 可加入備援、容錯機制。
- 沒有完美的實作,視需求來選擇要導入的 Queue。
心得
- 很多 Queue 基本的觀念,然後投影片熱騰騰的,Q 大平常應該就保留很多梗可以寫(有 Mr. 6 的風格)。
- 臨時加入上廁所的 Queue 實例照片加10分。
- 中間口頭置入式行銷 Cubie(約三秒)。
2 則回應:
可以借我收錄到懶人包嗎? 感謝
http://goo.gl/nZVcKg
當然可!