演講內容分享:「如何建立自己的開源專案」

前言 大家好,我是 LINE Developer Relations 團隊的資深開發部門的 - Evan Lin 。主要的工作項目就是平台技術推廣與技術品牌的建立與溝通。 這次很榮幸受到陽明交大的 DSC (Developer Students Club) 開發者學生社群的邀請到了陽明交大工程四館的 117 教室,分享關於如何打造自己的開源專案的經驗這次的同學相當的踴躍,很感謝同學在下雨的晚上願意聽我講解如何參與開源專案的開發。 投影片 內容有一些部分歡迎參考這篇文章LINE 開發社群計畫: 「手把手教你建立自己的開源專案」,裡面內容有包括: 找到一個好點子 / Find a great idea 良好的說明 / Well Documentation 完整的 CI/CD 流程 / Well Workflow 找到你的第一個貢獻者 / Find your first contributor 宣傳! 宣傳! 宣傳! / Promote ! Promote ! 以下將特別列出本次演講分享新內容: 開源專案對於工作的關係有沒有用? 最近經常看到同學們在討論,到底從事開源專案或是寫一些自己的 side project 跟工作有沒有關係? 這邊可以分享關於 LINE 的實習工作機會 LINE TECH FRESH 就很在意你的開源專案,因為從開源專案可以看出以下一些重點: 你是否有良好的文件習慣(這看你專案的 README.md 就能展現出來) 專案是否有良好的 CI/CD 流程,也代表了你是否懂一些基本的流程。 看相關專案的程式碼,可以了解你對於 Git 了解的程度。 除了這些之外,好的開源專案代表你也有良好的 Pull Request 的訓練與習慣。對於多國協作上,你也更容易能適應相關團隊合作的方式。 刷題目到底重不重要? YES, YES and YES。 如果你是軟體研發相關工作,這個絕對重要。就像你考上大學聯考一樣,如果進入這些國立大學的路途只有考試。即便你有各種才藝,考試的分數依舊是你唯一證明的依據之一。 刷題目對研發工程師來說,最重要莫過: 對於問題的分析:能夠精準的閱讀題目,了解真正的問題。 對於資料結構的熟悉:熟悉資料結構與它能解決的問題。 演算法: 熟悉每一種演算法與它可能的時間複雜度,才能針對題目來使用。 這些都是身為程式設計師重要的技能,所以我認為這個只是基本。 而你面對的是當所有人都是刷題刷過了,而你有開源的經驗。那麼對面試官來說,你就有相當的優勢。(重要是不需要花時間教你)。 關於 LINE 學生實習機會: LINE TECH FRESH 介紹 LINE 台灣工程團隊每年透過 LINE TECH FRESH – 技術新星人才計劃,招募資訊科技相關科系,或對此領域有所涉略的大學生 / 研究生加入 LINE 團隊進行長期實習 (一年期),讓同學們能在國際級科技公司中觀摩學習。LINE TECH FRESH 由經驗豐富的技術專案經理帶領團隊,接觸多元化的專案與產品開發,學習業界實際的軟體專案分工,並體驗跨國團隊合作。往年工作內容包含 server、web、mobile app、chatbot、IoT、data、DevOps 等領域,並透過實習熟悉 LINE 平台系統、SDK、API 等。值得一提的是,LINE TECH FRESH 是有給薪的實習機會,對於軟體開發有熱情、有想法的同學們,千萬別錯過這個揮灑創意與衝勁的機會! 更多關於 LINE TECH FRESH 介紹文章有: TECH FRESH 實習的一年間,除了開發還有什麼內部活動呢? 【訪談】TECH FRESH 工作老實說 – 後續花絮與相關資訊整理 Life in LINE – 直擊 TECH FRESH 實習內容! TECHPULSE 2020 青春主場 – TECH FRESH 議程與攤位介紹...
繼續閱讀

[TW_DevRel] TECH-Verse 2022 有趣的議程分享 - 第一天

前言 11/17 ~ 11/18 兩天在線上舉辦的 Z Holding 開發者大會 TECH-Verse 即將展開。包括了 LINE Corp, Yahoo! Japan 等8家公司的線上開發者大會,共有 90 線上議程: 所有相關議程類別條列如下: Day 1 - 11.17 (11:00 ~ 18:00) Data / AI Security Infrastructure Blockchain Day 2 - 11.18 (10:00 ~ 18:00) Server Side UX / Design Mobile App Web Front-end Process & Environment 相關活動網址: https://tech-verse.me/en 相關的議程,結束後馬上都有投影片的公開。相關的口譯完成後的影片,將統一在 11/25 之後陸續公開。 第一天有趣的議程分享: Vald: ANN search engine by Golang**Vald: OSS ANN Nearest Neighbor Dense Vector Search Engine Valid: https://github.com/vdaas/vald 這是一個 scalable 分散式的 ANN (approximate nearest neighbor) vector search engine 這是一套可以很迅速在 K8S 上面部署的的工具。 在 Yahoo! JP 裡面更有用來使用: 相似產品圖片搜尋 透過產品名稱來產生相關 Tag 相似 source code search (這也行!) 想知道如何使用,可以參考 投影片。 議程: https://tech-verse.me/en/sessions/172 Our Automation Tool for Migrating 1,800 MySQL Instances in Only Six Months 請問各位有沒有進行過 MySQL 的升級? LINE 由於事業擴展的原因,整個企業中的 MySQL Instance 超過 6000 個。為了要提升 MySQL 5.6 (已經在 2021/02 停止維護)的版本,將會是一個無法計算的成本。 一般來說,MySQL 更新流程可以分成: Create New MySQL Instance Add User ACL Set MySQL Variable Export/Import Data Start Replication Inspect Query Performace Switch to new...
繼續閱讀

[心情分享] 開發文章的分享帶給許多開發者的影響 - Thank you! Caterpillar

https://www.ithome.com.tw/caterpillar 這幾天在軟體開發社群中,有發生一件大事。人稱良葛格(有個可愛小挖土機)的林信良老師過世了。 講到林老師離開,除了驚訝與不捨外。 其實更能感受到是開源社群原來有那麼多人受到他的文章與書籍的照顧。 更加深了,我對於開源技術文章文章的撰寫熱情。雖然我們不能到林老師的萬分之一,也希望我們的技術分享文章能夠像林老師一樣,幫助到一些未來想要學習軟體開發的同學們。 (或許只有一兩個也好) 在公司內部,在帶領實習生的時候。我經常鼓勵他們將自己演講的內容試著用文字寫出來。 因為我深刻相信,當你試著將你懂的寫下來的時候,你除了想過一次之外。你會想要將他相關知識查清楚,你獲取的將會更多。 有人問過我,寫這些技術文章到底有獲得什麼? 名聲? 流量? 我相信在寫作的過程中,那種鑽研技術的樂趣時無法取代的。 如果,在某年後聽到文章有幫助到人。那麼就~太好了。 希望更多夥伴們能夠秉持這樣的精神,一起多寫些技術文章來讓更多的後起學習的夥伴們得到你們的幫助。 最後,希望林老師可以繼續在天上享受他一直以來喜愛的事物。 謝謝
繼續閱讀

[TW_DevRel] 【TEAM UP, REBOOT - AI/Web3 Calling】 LINE Taiwan Internal Hackathon 2022

前言 2022 年是 LINE 在 2011 年成立的第 11 年,今年公司在慶祝 LINE 11 歲生日的口號。 “為下一個 10 重新啟動!” (REBOOT for the Next 10!”) 。除了感謝所有使用者11年的支持!展望下一個十年,期待更多讓您驚嘆的創意。 因應公司的目標 “REBOOT for the Next 10! ” 的概念,我們希望透過第四屆的 LINE Taiwan Internal Hackathon 能夠讓更多 LINE TAIWAN 的同仁透過 (AI 或是 Web3) 的技術來讓 LINE 重生。變成未來民眾與使用者生活中不可或缺的要素。 這裡也分享一下,過去幾年我們舉辦黑客松的相關文章: 【AI For The New Normal】 LINE Taiwan Internal Hackathon 2021 LINE Taiwan Internal Hackathon 2020 活動紀錄 透過 AI 與 Web3 來一起發想新的產品 2022 年今年是充滿許多驚喜的一年, 集團中的 LINE NEXT 公司也在今年正式啟動了 NFT 商城 - DOSI (韓語的”都市”) ,這裡有相關的新聞給大家參考一下: LINE NEXT 為全球 NFT 平台 DOSI 上線做準備,先推出 DOSI Wallet錢包服務 LINE NEXT 推出DOSI Teaser前導網站 5大品牌商店進駐,發行品牌NFT項目與專屬福利 LINE NEXT宣布全球NFT平台DOSI開放C2C交易 以往每一年, AI 都是我們 LINE 台灣黑客松的主軸。 今年由於集團內有許多關於 Web3 相關的策略規劃與專案的新聞,不論是 LINE Blockchain 還是 LINE NEXT 的全球 NFT 平台 DOSI 。於是今年的內部黑客松,我們鼓勵不同產品與服務的研發工程團隊與產品服務的規劃與經營團隊可以一起來發想相關的嶄新應用,讓我們可以透過 AI 與 Web3 來讓 LINE 產品重生,一起讓使用者驚艷,迎接LINE的下個十年。參賽條件如下: 必須是兩個團隊的混合組隊。(後面會提到更多) 不能使用已經在開發中的專案來比賽。 在發想題目必須使用到 AI 或者是 Web3 的相關技術。 以往黑客松所帶來的回饋與嶄新的福利 第四屆的 LINE TAIWAN Internal Hackathon ,我們聽取了許多之前參賽同仁的建議。這次的活動依舊有許多體貼的措施: 需求與工程的混合組隊,完美的腦力激盪: 另一方面因為公司同仁越來越多,許多時候雖有點子,卻不一定認識跨部門的同仁可以討論合作,因此這次的黑客松中也舉辦了線上媒合會,讓大家可以居家工作之餘,有機會分享自己的黑客松點子,找到更多跨部門且志同道合的同仁一起完成這次的黑客松競賽。 主動的媒合組隊,沒有任何好點子被落下: 開放報名後,我們舉辦了一個名為「Ideathon 」點子黑客松的組隊媒合會,,歡迎不論是非研發工程團隊,或是研發工程師都可以參加。 透過這個組隊媒合會,分享你的奇特想法與點子,並找尋隊友。 一直以來都為不少廣告部門或是行銷部門的同事,找到了最強的開發夥伴。 Hacking Space 讓你盡情開發的下午,帶來最好完成度的作品: Hacking Space (黑客工作坊) 是允許同仁暫時放下手邊的工作,專心地把Hacking 專案來完成,與跨部門的夥伴透過實際的討論,來一起淬煉最後成品,達成最高的完成度。提案入選的隊伍,能有三次的 Hacking Space的參與機會,我們於週五下午在特定的空間進行,更備有餐點(下午茶)讓參賽隊伍都能在舒適的環境下進行,進而提高產品的完成度。 GAS Fee...
繼續閱讀

[好書分享] 疫苗商戰 - 新冠危機下AZ、BNT、輝瑞、莫德納、嬌生、Novavax的生死競賽

疫苗商戰 - 新冠危機下AZ、BNT、輝瑞、莫德納、嬌生、Novavax的生死競賽 A Shot to Save the World : The Inside Story of the Life-or-Death Race for a COVID-19 Vaccine 作者: 古格里.祖克曼 原文作者: Gregory Zuckerman 譯者: 廖月娟 張玄竺 鍾榕芳 黃瑜安 買書推薦網址: Readmoo 線上書籍購買 前言: 這一本是今年所讀完的第二十一本書,還記得當初台灣為了疫苗的事情吵的紛紛擾擾的時候,我就買了這本書慢慢的看(相當的厚)。裡面有許多有趣的疫苗歷史,並且也詳細敘述了新冠肺炎發生的過程中,每一個藥廠究竟面對哪一些的困難點,哪一些的抉擇。最後也敘述了疫苗研發後,各國的配送策略與發放的流程有哪一些現實上的難點。 真的很希望在批評各種疫苗政策前,可以來好好熟讀這一本書籍。 內容簡介: 小說般精彩起伏的劇情 生物醫學史上最激勵人心的篇章 溯源超過40年 訪問超過300位產官學研專家 以宛如小說的筆法 生動展現新冠疫苗5大廠牌的激烈商戰 「一本鼓舞人心、資訊豐富,讓人愛不釋手的書。」 ──《賈伯斯傳》作者 華特‧艾薩克森 2020年新冠肺炎爆發時,幾乎沒有人做好準備。政府官員、企業領導人和公共衛生專家對於百年來最具破壞性的流行病束手無策,就連許多世界上最大的藥廠和疫苗製造商都反應遲緩,無法拯救絕望的世人。 當病毒劫持世界,此時挺身而出的,竟是一群看起來不可靠的科學家和商人! 包括狀似滿口謊話的法國商人班塞爾(莫德納執行長)、沒有研發病毒疫苗經驗的土耳其移民吳沙忻(BNT創辦人)、使用可疑技術的波士頓科學家巴魯克(腺病毒專家)、被同儕排擠的英國科學家沃倫和匈牙利籍研究員考里科(mRNA研究先鋒)…… 為了與死亡賽跑,這些科學家與商人群起而戰,爭相將畢生的努力投入新冠疫苗,力圖在這場研發競賽中奪得勝利。 《華爾街日報》調查記者、《紐約時報》暢銷書第一名作家古格里‧祖克曼帶我們潛進高度機密的實驗室及各大疫苗機構高層。深入淺出的報導,加上高潮迭起的劇情,讓本書不只是當代最重要的疫苗科學編年史,也成就一則關於競爭、野心與信念的動人故事。 第一章  人類第一支疫苗(一九七九年──一九八七年) 疫苗的概念起於 1777 年,英國的農夫發現家中的擠奶女工中有一個得到了牛痘的,沒有受到致命性的天花影響。於是他用縫紉針把牛痘搓破後取得濃液。讓他的家人免於天花的感染,這樣的方式不僅僅不衛生還很危險, 但是卻是疫苗的開始。後來的英國醫生 - 愛德華 - 詹納透過更多的實驗與觀察將這個寫成了論文。 後續的沙克與沙賓兩位醫生也是使用類似的方式,先後打造出小兒麻痺的疫苗。造福了千千萬萬的小孩子。 第二章 ~ 第五章  破解mRNA難題(一九九七年──二○○九年) 這四章講解了 mRNA 的發展過程,這是一個相當長遠的發展。一開始許多的藥廠都在努力打造出抵抗愛滋病的疫苗。 疫苗的演進往往都是經過長遠的研究,默克藥廠的研究員不段努力尋找愛滋病的疫苗。甚至透過腺病毒的方式將抗體想辦法帶到免疫系統裡面。至於腺病毒可不可以是一個好的載體? 可能不是,因為許多人感染過腺病毒,這樣一來腺病毒在免疫系統會被消滅。無法將抗體正確的傳送到免疫系統裡面。 1980 年末期的沃爾夫是一個專注研究透過 mRNA 將抗體如何躲避掉免疫系統後來產生蛋白質,並且產生過後 mRNA 就會被分解,完美的達成任務,進而達到可以解決許多難解的遺傳缺陷相關的疾病。經過許多的試驗,發現其實直接將 DNA 和 mRNA 可以在小老鼠的體內產生蛋白質,進而改變小老鼠的 DNA 。 但是很可惜沃爾夫並沒有繼續完成他的研究,他就因為食道癌而過世了。但是他的研究開啟了新的世界。 跨世紀病毒 - 新冠肺炎的出現與疫苗的戰爭 接下來有許多有趣的章節陸續的出現 , 2019 年末出現了新冠肺炎的感染者。 之後陸續幾家公司 - 莫德納, BNT,與 AZ 都開始研發疫苗。 其中相關的決策與疫苗的陸續影響這些廠商提供疫苗的時間,這本書也詳細說明了每一個藥廠在供應疫苗可能遇到的困難: 相關器材的缺乏:疫苗的藥罐變成稀有才,大家在搶。 資金的供給:雖然疫苗是有些許的獲利,但是許多藥廠一開始都卡在沒有資金大舉的量場疫苗。 之後也有提到了疫苗產生副作用的處理方式,每一些數據如何被各國放大解讀。 最後也有提到,疫苗跟病毒是人類跟大自然的戰爭,每當一個疫苗被完美完成後,就有另外一個新的致命病毒的產生。 人類只有不斷地研究新的疫苗,用來讓每一個 DNA 有了新的抵抗方式。才能面對各種未知病毒的侵害。
繼續閱讀

[TW_DevRel] 2022-10-28 台灣大學軟體工程課程企業參訪

前言 大家好,我們是來自 LINE 台灣開發者關係與技術推廣部門 (Developer Relations)。 LINE Taiwan 開發工程團隊於 2022 年初的 「關於 LINE 台灣開發者關係與技術推廣部門的校園相關資源」文章中,有敘述到關於 LINE Taiwan 所提供給理工相關科系學校同學的企業參訪機會,除了讓學校同學可以了解 LINE 的研發工程文化之外,更可以了解相關的技術實習的機會。 這一次則是收到台灣大學資工所的軟體工程的課程上,有許多不同系所同學一起來了解。透過兩位講者 Zephyr 與 Richard 的分享,讓同學對於軟體工程可以有更深入的了解。 TPM (Technical Project Manager) 技術專案經理的分享 - Zephyr Chang 首先由 LINE 台灣的 TPM (Technical Prject Manage) Zephyr 帶來的分享,先提到軟體開發流程並且帶出軟體開發的生命週期。並且說明清楚在軟體生命週期中,每一個階段有哪一些角色的協力合作。也會詳細的說明每一個角色的相關職責,為什麼他們在這個專案的流程中如此重要。 相關問與答 問: 針對重大災害影響,是否專案管理與軟體工程的影響上該如何處理 針對軟體工程的角度來說,事先需要有相關的準備,並且針對 HA (high availability) 有相關的設計與防範。在各種重大災害的演練上,有各種面向的演練。 問: 對於各種故障的偵測是否有哪一些特殊的偵測方式? 每一個服務都有相關的監控,任何時候發生問題的時候,都會有監控的服務可以立即偵測,並且通知相關的處理團隊來處理。 問: TPM 跟軟體開發的主管有點像,那執行面有哪一些的不同? 在 LINE 來說以專業分工來切割工作, TPM 是屬於一種技術端的專案管理工作,負責專案與服務開發上的大大小小事情。在 LINE 的文化上,我們的組織相當的扁平並且都是透過專業分工。所以即便 TPM 不是屬於主管職務,也是有他專業分工管理的範圍。 相關職缺 TECH FRESH 從測試出發談 LINE 軟體開發流程 - Richard Chang Richad 先透過跟同學的互動,分享了 QA 跟 Testing 兩者的差別? 首先 Richard 先透過 Bug Fixing Cost 來點出一個問題在每個流程中找出來所引出的成本。 如果在設計階段就能夠將問題找出來,那麼他的成本會是最低的。 也就是在設計階段,當需求端(可能是 PM ,可能是 Business Owner)有新的需求,身為測試人員就要協助審視設計端的需求。盡可能地找出裡面可能有的問題。 到了開發階段,雖然開發人員開始去撰寫開發程式碼,身為測試人員需要準備好相關的測試資料(假資料),甚至開始開發相關的 MockServe 或是自動化測試的相關串接方式。 到了測試階段的時候,則是大量的測試工具來協助。 不論是 CUJ (Critical User Journey) 的流程測試,或者是探索性的測試,甚至是 E2E (End-To-End)的測試流程。 到了正式上線之後,測試人員也有許多工作要做。 如何透過 CI/CD 流程的優化,如何定期確認服務的狀態。 相關職缺 TECH FRESH Service QA Engineer QA Automation Engineer 在 LINE 台灣技術實習 - TECHFRESH 介紹與相關福利 如果對於 LINE TECH FRESH 技術新星實習計畫有興趣的同學,歡迎了解以下的相關文章。 更多關於 LINE TECH FRESH 介紹文章有: TECH FRESH 實習的一年間,除了開發還有什麼內部活動呢? 【訪談】TECH FRESH 工作老實說 – 後續花絮與相關資訊整理 Life in LINE – 直擊 TECH FRESH 實習內容! TECHPULSE...
繼續閱讀