LY Corporation Tech Blog

支持 LY Corporation 和 LY Corporation Group (LINE Plus, LINE Taiwan and LINE Vietnam) 服務,宣傳技術和開發文化。

LINE TECH FRESH 2024 畢業分享會精彩回顧

前言

大家好,我們是 LINE Developer Relations 團隊,不曉得大家從 LINE TECH FRESH 畢業分享會中是否有獲得哪些有趣的收穫呢?從 Save your time - TECH FRESH 畢業分享會 2024 @ LINE活動當中有許多介紹,以下就帶大家回味一下當天的內容囉!

介紹

為什麼要參加軟體實習生研討會?

參加一場 LINE TECH FRESH 畢業分享會會帶來以下好處:

  • 學習機會:可以從優秀的 LINE TECH FRESH 講者獲得寶貴的實習經驗和見解
  • 知識分享:參加活動要把握機會是與 LINE 的實習生以及 Mentor 交流和分享軟體領域的知識
  • 自我推廣:除了聆聽演講外,參加活動也是展示自己專業知識和技能的好機會,多交流絕對是個好的選擇!

蔡 EC:24 歲開發一次成功

由 Winnie 首先從 LINE SHOPPING 開始介紹,並透過自身 Data team 的實習經驗中了解日常的工作內容,並分享在實習與在學校同時並行時的一些見解。

緊接 Lauren 分享了在 EC SPM 團隊中使用 Kafka 的經驗談,帶現場的觀眾認識在企業中是如何使用以及架構設計,並且透過 2024 農曆新年的活動認識更多案例。

更多內容請見 Youtube

QA 蝦米 QA?我的扣超讚的啊

第二組則是由 Lawrence & YT 分享在當任 QA 時的一些眉眉角角,首先 Lawrence 分享在 QA 的開發流程中,分為六個主要階段:

  • 分析:進行測試需求分析
  • 設計:撰寫測試案例
  • 開發:開發自動化腳本
  • 測試:包括端到端測試(E2E)、關鍵用戶體驗測試(CUJ)及壓力測試
  • 部署:實施持續整合(CI)和持續開發(CD)
  • 維護:進行回歸測試和性能監控。

這些步驟確保軟體質量和穩定性,並持續改進產品。

下一部份 YT 則分享撰寫測試案例(Test Case)也會有技術債。常見的測試案例包括確認頁面上有「LINE 購物」的 logo、搜尋框元素、相機 icon、購物車 icon,以及確認跳轉頁面成功和商店頁面上有「專屬推薦」。這些測試案例對應不同的 Epic,如首頁標題 Banner 等。為了減少技術債,可以舉辦 workshop,讓團隊一起儘早識別並解決這些問題,並且可以透過不同的 ML 模型來解決類似的問題。

更多內容請見

這就很玄囉! 從粽子看開發的世界

Chris 的實習生活主要分為三個部分:

  • 後端開發(Backend Development):佔 60%的時間,專注於後端系統的開發工作
  • 持續整合/持續部署流程(CI/CD Process):佔 30%的時間,Chris 參與並優化 CI/CD 流程,確保產品持續整合和自動部署
  • 技術研究(Tech Research):佔 10%的時間,Chris 進行新技術的研究和 Research,保持對技術的熟悉度

此外,Chris 還會參與各種分享會(Sharing)和保持工作與生活的平衡(WLB),這些活動有助於提升團隊合作能力以及生活品質

Young 分享了他在 LINE FACT CHECKER 系統架構、產品改進方法以及專案開發 CI/CD 流程中的經驗,並從中學習到如何改進產品:

  • 彈性(Resiliency):透過 Rolling Update、Retry Strategy 和錯誤處理(如 Timeout)來提高系統的穩定性。
  • 效率(Efficiency):採用 Concurrent Design、Cache strategy(如 Redis)和 Horizontal Scaling 來提升系統效能。

當中也學到更多專案開發 CI/CD 流程:

  • 推送程式碼 GitHub 之後,透過 GitHub Actions 進行 Test、分析(SonarQube)、程式碼審查和封裝,最終將 COntainer 推送至 Harbor。
  • 基礎設施 Manifest 變更時會透過 Webhook 同步到 ArgoCD,並部署到開發環境集群和產品環境的集群,最後透過 Grafana 進行監控。

從混亂到掌控:使用 Observability 揭開管家的神秘面紗

首先 Tristan 帶來在學生時期很難學到的概念 - Observability,它是一個在軟體開發和運營中非常重要的概念。它指的是我們能夠深入了解和監控系統的內部運作,並從中獲取有價值的資訊和洞察力。透過實現可觀察性,我們可以更好地理解系統的行為、性能和問題,並能夠快速做出反應和解決。

在上面的程式碼中,提到了 Observability 的三大支柱:Metrics、Tracing 和 Logging。這些支柱提供了不同層面的資訊,幫助我們全面了解系統的運作狀態。

接著 Gary 分享高峰流量監控&5 分鐘工作流程之謎的經驗談

高峰流量監控

當數以萬計的用戶同時訪問系統時,伺服器會無法處理所有請求,為了避免用戶體驗不佳,團隊發現問題並調整 Server 的效能,提升系統在高峰期的穩定性和回應速度,改善用戶體驗

5 分鐘工作流程之謎

每天執行多個工作流程以撈取用戶發票,發現許多工作流程需要超過 5 分鐘才能完成。團隊確定延遲原因並優化工作流程效能,顯著減少處理時間,提升系統效率。

這些案例展示了在高流量和複雜工作流程中,觀察性(Observability)如何幫助識別和解決系統問題,最終提升系統性能和用戶體驗。

Lightning Talk

你在 DevOps 什麼啦,我要趕快上線!

Calista & Ryan 分別透過自身的經驗,分享從學校到團隊中,DevOps 中間扮演的角色是多麽至關重要,以及為何要帶入這麼多的工具,持續讓專案可以在自動化的世界裡運行,並且確保產品的穩定性

寫出不管地震怎麼搖網站都不會壞的前端測試

YU 作為前端實習生,在這次的分享中以前端為主軸,帶大家了解前端測試在其中扮演的重要性,開發過程中雖然功能很重要,但其實測試可以確保在 golden path 中的穩定性,並且讓用戶可以對產品有更多的信心去使用,而不會產品用到一半就莫名其妙壞掉

一起來跑 TDD,直到完成 User Story 為止

最後 Brandon 帶大家了解 TDD (Test-Driven Development)精神,TDD 強調在開發功能之前先撰寫測試,TDD 的主要目的是透過事前規劃的測試來提升程式碼質量和可測試性,並讓開發者對交付和重構更有信心。這一流程促使開發者在撰寫程式前可以更深入思考,從而讓程式碼品質更好

接著帶到 ATDD (Acceptance Test-Driven Development),畢竟產品還是需要面對終端用戶,ATDD 是透過和 stakeholder 共同定義接受的測試範圍來確保需求被正確理解和實現。這一方法可以降低開發團隊與 stakeholder 之間的溝通成本,並確保最終產品符合用戶需求。

結論

給即將從 LINE 畢業的同學,感謝你們在這段時間內的努力和貢獻!有你們的付出,LINE 才能持續在軟體生態中繼續發揚光大,不論未來如何,希望在這邊的所學能幫助各位在未來的職涯上更加順遂,希望你們能夠繼續保持對技術的熱情和追求卓越的態度,不斷學習和成長!

最後,衷心感謝當天參加活動的所有會眾 🫡 你們的參與和支持讓LINE TECH FRESH 畢業分享會更加成功和有意義。感謝你們的熱情參與和寶貴的意見分享。期待未來能夠再次在 LINE 相見,一起探討和分享軟體領域的知識和經驗!

看到文末,若還不知道 LINE TECH FRESH...

LINE TECH FRESH 是一個一年一約的技術實習計畫。這個計畫目標是培養出具有創新思維解決問題能力的軟體工程師,有機會在 LINE 中獲得實際的工作經驗和專業知識,並與 LINE 的工程師團隊合作。這個計畫不僅僅是一個實習機會,還提供了專業的指導和培訓,幫助同學發展專業技能並能有個良好的軟體生涯起點。

相關時間點

夏季班
3~4月入口確認 & 打開
4~5月投遞履歷
5~6月安排面試
6月確認報到流程/感謝信
07/01入職
春季班
9~10月入口確認 & 打開
10~11月投遞履歷

11~12月

安排面試
12~1月確認報到流程/感謝信
1~2月春節
03/01入職

活動小結

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

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