LINE Taiwan x Java 年度盛會:JCConf 2019

大家好,我是 LINE Taiwan Technical Writer – Claire Wang。這次非常開心能以 LINER 身份參加 JCConf 2019,體驗 Java 社群的強大動能! JCConf 2019 於 10 月 4 日,在台大醫院國際會議中心舉行。LINE 身為黃金級贊助商之一,特別為 JCConf 準備技術議程,向與會者介紹最新服務與開發技術。同時,我們也在會場設置公司攤位,由多位充滿專業與熱忱的 LINE 開發人員定時為與會者提供短講,介紹 LINE SPOT、LINE TODAY、LINE SHOPPING、LINE Pay 等團隊的工作內容,更歡迎與會者前來 LINE 公司攤位,和 LINERs 交流對於技術及職涯的想法。

出處

出處

出處

什麼是 JCConf?

JCConf 是台灣最大的 Java 研討會,JCConf Taiwan (Java Community Conference Taiwan) 是由社群成員發起的 Java 程式語言及相關領域研討會,由 TWJUG (Taiwan Java User Group) 主辦,科斯高協辦。宗旨在提供台灣的 Java 開發者有更多參與社群以及交流技術的機會,目標與會對象主要為使用 Java 語言及 JVM 相關技術的程式開發者和相關從業人員。(出處)

出處

Keynote 與技術議程

JCConf 2019 邀請國內外多位知名專家,分享最新開發趨勢與思維,我也把握這個難得的機會,參加了數個熱門議程,並希望透過以下紀錄,與讀者分享 JCConf 的精彩內容!

(Keynote) Bootiful Testing / Josh Long

本議程由 Spring 開發佈道師 – Josh Long 介紹 TDD (Test Driven Development) 的優勢與流程。Josh Long 是 Pivotal 的 Spring 開發佈道師,撰寫過多部著作,也是一位著名開源軟體貢獻者 (Spring Boot、Spring Integration、Spring Cloud、Activiti 和 Vaadin),是許多與會者心目中的大神。Josh 在一開場便以幽默的風格吸引全場聽眾的注意,接著以明快的節奏說明 TDD 測試促使開發者在進行程式設計初期,就把 test case 納入考量,這麼做的好處是能確保最終完成的 code 得以進行有效測試,在發現問題後也能快速地解決,讓開發人員在進行程式設計時更有信心,更大幅縮短程式碼從開發到部署所需的時間。

Josh 也透過現場 demo 測試 Spring 應用與服務,一步步帶領與會者了解如何測試基本元件、mock 物件、web 應用,以及如何運用 test slice 等。Josh 也在等待程式碼執行的過程中,提到 Spring development 的兩種常見模式:small to big vs. big to small,前者由小到大建構開發,讓每個團隊得以透過平行作業,持續且快速地進行開發;而後者從 UI 出發,促使團隊在開發之初,便釐清如何整合各個成員的產出。Josh 的分享幫助開發人員思考專案的目標與需求,從而選擇最適合的開發模式。

能在現場一睹 Josh 快手玩轉程式碼,並學習快速測試與持續 deliver production 的重點,讓與會者深感過癮。而在講座最後,Josh 也串聯到如何藉由 CDCT (consumer-driven contract testing),確保 API 開發者與使用者得以順利進行協作,而不須為 end-to-end 整合測試犧牲測試金字塔 (testing pyramid)。整場講座從開發與測試的需求出發,貫穿開發、測試、協作、產出、修正的過程,Josh 透過 demo 與說明,分享進行開發與整合測試的思維,讓與會者收穫滿滿,在講座結尾時掌聲不斷。

出處

隨你填貼圖的背後 / Koji Lin

投影片

LINE 福岡 Senior Manager – Koji Lin,同時也是 JWorld@TW 管理者、Java User Group 成員,透過精實的快講介紹什麼是「LINE 隨你填貼圖」、SVG (Scalable Vector Graphics) 技術選定,以及後端開發「LINE 隨你填貼圖」時曾面臨的挑戰。熱門講題吸引眾多與會者,連講堂走道都擠滿了對於「LINE 隨你填貼圖」開發幕後深感興趣的聽眾朋友。

Koji 介紹「LINE 隨你填貼圖」讓用戶可以自訂貼圖中提到的名字或暱稱,並可隨心所欲地更換成流行語句等其他文字,讓用戶發揮創意、突顯個人特色。在正式開發此功能之前,團隊必須選定使用的技術,著重效能與效果穩定一致,並可支援各種字型,同時也讓貼圖創作者在瀏覽器進行編輯時,可以所見即所得、直接顯示結果。而 SVG 必須能預期瀏覽器內 render 與 server side 產生的結果不會有太大差異,包括可視區域、顯示區域、組合多個 SVG 提供正確比例等。

此外,Koji 也分享了「LINE 隨你填貼圖」開發過程中所面臨的開發挑戰,包括在設計泰文版隨你填貼圖時,發現字元、字形、位置等差異,且泰文會因為順序而產生高度不同的問題,以及開發團隊採用的 API 不支援泰文等。另外,不使用系統安裝的字型也曾經導致過多檔案的產生,降低系統執行的速度。每當發現問題,開發團隊便持續分析、加以克服,「LINE 隨你填貼圖」得以順利誕生,讓用戶在溝通時享有更多樂趣。最後,Koji 提到很多時候開發人員想要的功能,都可能有對應的 open source 專案可以運用,善用 open source 讓我們有機會解決更多問題並做出貢獻。

出處

LINE SPOT 服務介紹 / Julian Shen

投影片

LINE SPOT team lead – Julian Shen 與會者介紹近期最新服務:LINE SPOT 如何進行資料串流處理,從 microservices architecture、event sourcing,以及 CQRS (Command Query Responsibility Segregation) 等面向切入,最終帶出 LINE SPOT 資料處理架構的特點。一開始,Julian 為與會者介紹 LINE SPOT 是以地圖為基礎的服務,結合預訂、宣傳、使用者創作內容 (User-Generated Content, UGC)、地標 (Point of Interest, POI)、追蹤、評論等多項功能,而用戶可透過  LINE SPOT 查詢店家資訊或留下評論,店家也能回覆留言。除了讓商家免費登錄圖文訊息,LINE SPOT 進一步整合官方帳號、LINE Pay 付款、透過 LINE 發行優惠券等,深化線上/線下生態圈的連結。而為了提供如此完整的功能,開發團隊又需要處理哪些資料呢? 歡迎點閱 LINE Developer Meetup #9 開發者小聚活動後分享,了解更多開發情報!

出處

活動小結

很開心能有機會參加台灣最大的 Java 研討會 – JCConf 2019,LINE 的使命之一是持續支持開源社群,也期待未來能有更多的合作機會,與 Java 社群成員一起探索更多可能!

立即加入「LINE 開發者官方社群」官方帳號,就能收到第一手 Meetup 活動,或與開發者計畫有關的最新消息的推播通知。▼

「LINE 開發者官方社群」官方帳號ID:@line_tw_dev

關於「LINE 開發社群計畫」

LINE 今年年初在台灣啟動「LINE 開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,預計全年將舉辦 30 場以上的活動。歡迎讀者們能夠持續回來查看最新的狀況。詳情請看 2019 年 LINE 開發社群計畫活動時程表 (持續更新) https://engineering.linecorp.com/zh-hant/blog/line-taiwan-developer-relations-2019-plan/)

Related Post