[研討會心得] 20191022 Chatbots 13 at 台北商業大學

前言 大家好,我是 LINE Taiwan 的 Technical Evangelist - Evan Lin。這次很開心受到 chatbot 社群的邀請,參加了 “Chatb10ts meetup 聊天機器人小小聚 13 @ 天瓏書局 Coding Space” 的聚會活動,並且分享 LINE API 更新與個人開發的心得。在此也跟各位分享本次參與的心得,並且也希望透過社群分享的力量能夠讓聊天機器人的開發動能更加的盛大。 社群 Chatbots Meetup: https://chatbots.kktix.cc/ 本次活動網頁: 活動網址 本次活動的共筆紀錄: https://beta.hackfoldr.org/chatbot/ 由於 Chatbots Meetup 本身屬於社群自主性的活動,裡面也有許多社群朋友所贊助的閃電秀。裡面的所有內容也是相當的難得與有趣。也希望能夠透過本篇文章讓大家稍微了解 Chatbots Meetup 社群閃電秀的魅力。 這次活動也很開心地來到了台北商業大學,最近台北商業大學跟 LINE PROTOSTAR 也舉辦了”LINE Chatbot 對話機器人設計大賽” 也希望大家能夠踴躍報名參賽。 LINE Platform Update 201910 / 資深開發技術推廣工程師 Evan Lin 投影片 本次的分享主要是跟大家分享一下近期平台的相關更新,希望能讓大家第一時間的收到最新的相關消息。 新聞中文版本即日起上線 每一次有新的平台功能更新,都會透過 LINE Developer News 來發布最新的消息,很興奮的告訴大家之後也有繁體中文的新聞消息了。 讓每一個開發者能夠更容易地了解最新平台的訊息。 取得使用者互動資訊 以往再透過 Chatbot 廣播訊息的時候,開發者都想要能夠了解訊息是否可以精準地傳遞給使用者。使用者是否有打開訊息? 是否有點擊鏈結? 是否有播放影片? 之前只能透過 LINE OA 平台上面的 Insight 來查看相關資訊,現在透過 Get Messaging Event API 可以取得以上的資訊了。 GET https://api.line.me/v2/bot/insight/message/event?requestId={requestId} 透過這樣的資訊可以讓你的 Chatbot 去查詢過去的資料,並且學習(或是)判斷之後的訊息該如何精確的哪送。當然這樣的平台也是有一些小筆記如下: 只支援透過 Broadcast API 的訊息 OA 需要有 20 個好友以上 僅提供查詢 15 之內的訊息資料。 LIFF v2 的上線 LIFF 從 2018 Q2 公開之後受到大家的喜愛,讓許多的 Web App 在設計的同時也能夠透過 LIFF 的 API 取得所需要的資訊。到了這個月, LIFF 也迎來了最大的更新 LIFF v2 的更新。主要支援的新功能如下: 可在 external browser 使用 LIFF 兼容 Login v2.1,可取得 user profile/email 等資訊 Read QR codes 可獲取 user 使用 LIFF 的環境,包含 OS/語言設定/是否以 IAB 開啟等等 而支援的 API 列表部分,大家也可以參考 Engineering Blog 這篇文章。 最後,也要跟各位開發者分享。 LINE LIFF Starter 也提供了 v2...
繼續閱讀

[研討會分享] 20191002 LINE Chatbot 對話機器人 API 與 UX 入門課程

前言 大家好,我是 LINE Taiwan 的 Technical Evangelist - Evan Lin。 很開心 2019/10/02 到台北商業大學跟同學與先進們分享 LINE API 的介紹。 主要參與的內容是 「LINE Chatbot 對話機器人 API 與 UX 入門課程」,也是 【2019 LINE Chatbot對話機器人設計大賽】 前導教學課程,歡迎各位了解。 關於【2019 LINE Chatbot對話機器人設計大賽】 由 LINE Protostar 新星計畫與國立臺北商業大學合辦的「2019 LINE Chatbot 對話機器人設計大賽」活動正式開跑了!   無論你是學生、開發者、產品經理或 CUI 設計師,只要有想法、熱情、有創意,都歡迎你報名,一起創造下一個 LINE Chatbot 的酷炫應用!   ※參賽說明※ 不限參賽身份 每組不限人數 決賽以 PPT 簡報,不會寫程式也可參賽 本活動提供賽前講座與教學 總獎金 20 萬元等你來挑戰! 詳請請參考活動官方網站: https://chatbot2019.com LINE API Introduction / 資深開發技術推廣工程師 Evan Lin 投影片 除了投影片之外,有提到相關內容如下: 提到透過流浪動物之家的 Open Data 製作的 LINE Bot 請參考: (完全開源,歡迎複製) https://github.com/kkdai/LineBotPetNeedMe 提到 LINE Things 的部分,歡迎參考這篇文章: https://engineering.linecorp.com/zh-hant/blog/warm-up-20190531/ 關於 LINE Account Link 的開發文件,請參考: https://engineering.linecorp.com/zh-hant/blog/how-to-use-account-link/ 活動小結 立即加入「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/)
繼續閱讀

[研討會心得] 20190917 Chatbots 12 at 天瓏書局 Coding Space

前言 大家好,我是 LINE Taiwan 的 Technical Evangelist - Evan Lin。這次很開心受到 chatbot 社群的邀請,參加了 “Chatb10ts meetup 聊天機器人小小聚 12 @ 天瓏書局 Coding Space” 的聚會活動,並且分享 LINE API 更新與個人開發的心得。在此也跟各位分享本次參與的心得,並且也希望透過社群分享的力量能夠讓聊天機器人的開發動能更加的盛大。 社群 Chatbots Meetup: https://chatbots.kktix.cc/ 本次活動網頁: 活動網址 本次活動的共筆紀錄: https://beta.hackfoldr.org/chatbot/ 由於 Chatbots Meetup 本身屬於社群自主性的活動,裡面也有許多社群朋友所贊助的閃電秀。裡面的所有內容也是相當的難得與有趣。也希望能夠透過本篇文章讓大家稍微了解 Chatbots Meetup 社群閃電秀的魅力。 LINE Platform Update 201909 / 資深開發技術推廣工程師 Evan Lin 投影片 本次的分享主要是跟大家分享一下近期平台的相關更新,希望能讓大家第一時間的到最清楚的相關消息。 ###Flex Message 更新 在 LINE Bot 溝通上, Flex Message 給予了許多的相關設計彈性,不僅僅可以設計出許多特殊訊息。想要設計閱讀卡,菜單甚至是小卡片訊息都是可以的。這一次的更新則帶來更多強大的更新,包括了服飾展示卡片,交通行程規劃卡片,甚至是代辦事項跟工作記錄卡片都可以顯示。 其他部分歡迎了解相關文章。 LINE Developer Document 支援繁體中文 (網頁: LINE Login overview) LINE 持續在開發者關係與改善開發者文件持續努力,目前也於近期在 LINE Developer Document 特別提供中文內容,協助開發者更快掌握 LINE 開發相關資訊! 目前涵蓋主題包含:LINE Login, Messaging API, Bot Designer。 LINE Login 功能:https://developers.line.biz/zh-hant/services/line-login/ LINE Login 操作:https://developers.line.biz/zh-ha…/docs/line-login/overview/ Messaging 功能:https://developers.line.biz/zh-hant/services/messaging-api/ Messaging API 操作:https://developers.line.biz/zh-ha…/…/messaging-api/overview/ 開始使用 Messaging API: https://developers.line.biz/…/messaging-api/getting-started/ Messaging API 權限管理: https://developers.line.biz/…/docs/messagin…/managing-roles/ Bot Designer 功能:https://developers.line.biz/zh-hant/services/bot-designer/ Stay Tuned! 更多中文化內容,敬請期待! LINE SDK 4.x 將在 2019/12/12 End-of-life LINE 平台功能提供了許多有用的功能,不僅僅可以讓電商網站可以使用,更可以讓 Client App 來作為使用。不論是 LINE Login ,還是一些傳訊給 LINE 好友的相關功能,不論你是使用 iOS 或是 Android 系統的行動裝置開發者都可以使用。 為了提供更安全,確保開發者都能使用最新版本的開發套件,不久前已經聲明 LINE SDK 4.x 即將棄用 (deprecated) 。 現在即將在 2019/12/12 之後就正式停止支援 LINE SDK 4.x ,並且正將相關文件與下載的鏈結都移除。 請開發者們儘早將使用的套件升級。以下的相關文件也會做適當的修改與移除: Download link for LINE SDK v4.0 for Android...
繼續閱讀

[研討會心得] 2019/09/05 TWJUG@LINE

前提 大家好,我是 LINE Taiwan 的 Technical Evangelist - Evan Lin。在 2019/09/05 的晚上,很開心能夠再邀請 TWJUG 社群來到 LINE 台北辦公室來舉辦社群聚會。這次的講者是 LINE 東京辦公室的 Yoshida Shinya 和 Kafka Summit 2017 擔任過講者的 Yuto Kawamura,講題分別是 ZGC for Future LINE HBase 和 Kafka Broker performance degradation by mysterious JVM pause 。 活動網址: KKTIX: https://twjug.kktix.cc/events/twjug201909 ZGC for Future LINE HBase / LINE Shinya Yoshida 投影片 首先帶來的是來自於 LINE 的同仁專職在負責 HBase 相關處理的 Shinya Yoshida 來分享關於 HBase 在 LINE 上面的相關應用。HBase 是一個廣為使用在 Java 上的 NoSQL 應用,擁有著快速的反應時間與高可用性 ( High Availability ) 。 由於 JVM 在 GC (Garbage Collection) 的處理上會動用到 STW (Stop The World: 也就是中斷存取的動作來做 GC ) ,這在對於需要大量連線與高效能的處理應用上是相當困擾的。 本篇演講就是分享相關的效能調校與觀察心得, 一開始講者先分享關於 Gargage Collection 的相關類別與種類。 首先講者分享 GC 有兩階段主要的處理: Finding the garbage: 解釋: 也就是要先將可以回收的記憶體資源標記成 Garbage 。 應用演算法: 分為兩種主要方式,一個是透過 Counting Reference 也就是對於變數的使用做計數,做為可以回收的標記。另一種則為標記( Mark ) 也就是針對資料的相關使用方式透過樹狀結構來整理,如果沒有相關連的變數,代表該變數可以被回收的可能性就相對的高。 Collect the garbage and defrag : 解釋: 接下來就是回收記憶體資源後,整理破碎可用的記憶體空間。 應用演算法: Sweep/Compaction: 先將可以回收的記憶體回收之後,將剩下不連續的記憶體整理過後變成連續可使用的記憶體。 Copy: 相較於前一個方式, Copy 則直接使用一整個新的記憶體空間。直接將可以使用的連續性的記憶體複製過去。這樣比較消耗記憶體空間,但是對於效能上相較得比較快速。 這張圖講解了許多近期的 GC 演算法,在對於 DeFragment 的處理上都是使用 Copy 的方式,雖然比較消耗記憶體但是速度相對的快。針對這些方式可以看到有不少的 GC 演算法可以選擇, G1GC, ZGC 跟 Shenandoah 跟以往的 Old GC 。 而在 GC 的選擇方向上講者有以下以些方向可以推薦給大家參考:...
繼續閱讀

[研討會心得] 20190829 NAVER x LINE AI-Rush 2019 總決賽心得分享

什麼是 AI RUSH 大家好,我是 LINE Taiwan 的 Technical Evangelist – Evan Lin。去年於日本東京舉辦的 LINE DEVELOPER DAY 2018 會中,LINE 技術長朴懿彬以「Next LINE」定調 LINE 在技術上的發展願景,其中人工智慧、區塊鏈,與金融科技三大領域的相關技術,將扮演舉足輕重的角色,並以兩大關鍵字「串連(Connect)」與「互惠生態圈(Mutually Beneficial Ecosystem)」點出實現「Next LINE」所帶來的具體價值,讓 LINE 的服務持續進化。 為了探索 AI 的更多可能,並為 AI 開發社群提供一個切磋交流的平台,LINE 將首次與南韓市占第一的搜尋引擎 NAVER 聯手舉辦以人工智慧為主題的跨國黑客松「AI RUSH 2019」。「AI RUSH 2019」官方網站:https://ai-rush.com/ 活動過程: (圖片截至於 AI-Rush 官方網站) 整個 AI-Rush 活動分成兩個大部分,線上初賽與線下的決賽。 首先線上的初賽題目為「圖像分類 (Image Classification)」的題目,參賽者必須在 08/13 之前送出第一個階段的解法,最後經過挑選出最後的決賽隊伍,前往韓國春川的 NAVER Connect One 進行總決賽。 經過了第一階段的激烈競爭之後,透過第一階段的結算分數選出了總共三十個隊伍。要出發前往韓國來進行總決賽。 這次很開心台灣有四個隊伍進入了決賽,我也在韓國的仁川機場一路的陪伴他們往總決賽的場地勇敢邁進。 NAVER Connect One 總決賽: 08/26 全員到齊 08/26 當天在仁川機場迎接台灣的四隊代表隊伍後,就直接驅車前往位於韓國北方春川的 NAVER Connect One 的決賽場地。第一天到了當地其實已經是傍晚了,稍作休息後,我們就直接到餐廳來吃晚餐。 NAVER Connect One 的餐廳其實相當的乾淨,並且有專門的人員幫忙打理所有參賽者的餐點。在這邊的餐飲讓比賽的夥伴相當的安心與滿足。 吃完了晚餐過後,不少隊伍回到房間開始討論明後天的工作分配與相關準備,可以看得出來每一個參賽夥伴都躍躍欲試的樣子。 當然活動的特製貼紙與 LINE Developer 貼紙也是不會少。會場四周都有提供滿滿的貼紙讓參賽者可以自由地取用。當然也有不少本次活動特製的 “AI RUSH 2019” 的貼紙。 08/27 正式開工 “AI is the new black” 是這一次比賽的 Slogan 也是取自於 MIT Technology Review 2017 的文章。也就是代表著 AI 就是這個時代中最令人興奮與讓人覺得最跟得上時代的。 這也是 AI-Rush 想要參與的人都能感受到的。 這個會場是這次主要 AI-Rush 總決賽的 Hacking 的場所,在這個光線充足並且舒適的場地討論其實相當的棒,外面並且有供應源源不絕的甜點,飲料跟泡麵,讓每一個參賽的夥伴可以專心的討論與思考該如何尋找出最適合的運算方式。 就算是晚上或是半夜你都可以到這個會場中找到食物與參賽者來討論。 第一天的晚上就聽到有不少的團隊夥伴,因為半夜想吃點宵夜,於是到了會場跟大家一起 Hacking 。除了可以找靈感,也可以跟不少參與的夥伴來相互認識。 Quiz Game 在兩天一夜的 Hacking 過程中,每一個參加隊伍都相當的緊繃,全部人都相當嚴肅的面對的電腦螢幕。為了讓每一個參與的夥伴可以除了 Hacking 也能夠盡情地參與討論與互動。 主辦單位在 10:00, 14:00, 16:00, 20:00 與 22:00 都有安排小測驗 (Quiz time) ,並且在每一個 Quiz 的獲勝者都有機會可以得到相當珍貴的相關贈品。 這樣的小測驗除了可以讓每一個參賽的隊伍稍微放鬆心情之外,也可以吸引更多的參賽者在會場跟其他隊伍的互動。 讓整個活動相當的生動有趣。 小測驗的形式分為以下數種: Quiz: 小挑戰 “剪刀,石頭,布” 這是一個很有趣的互動遊戲,也是一個讓台下的辛苦參與者可以伸展身體。透過主持人手舉起來玩猜拳遊戲,必須要贏過主持人(如果平手也被視為是淘汰),才能晉級。剩下最後的幾位才有機會來前面領取相關的贈品。 也有其他有趣的小挑戰: 看兩張圖片找出不同的點。 猜猜圖片是誰的照片。 一些關於 LINE 的小歷史。 這些小活動的設計,除了可以讓會場的參與夥伴們有相關的互動之外,也紓解了競賽所產生的緊張氣氛。讓每個參賽者可以更認真的面對問題。 Treasure hunting 除了有趣的小 Quiz 之外也有尋寶遊戲。主辦單位在活動會場周圍與餐廳的四周有隱藏有一些小紙條,只能能夠找到這些小紙條,也可以在每天的結尾前跟主辦單位來兌換相關贈品。 所以可以看到許多的參加隊伍除了在會場...
繼續閱讀

[研討會心得] GopherCon2019 心得分享 - How Uber Goes (1)

前提 偷個懶來看一下 GopherCon 2019 ,順便了解幾個有趣的議題。 GopherCon 2019: Elena Morozova - How Uber Goes Youtube 最近 GopherCon 2019 的影片陸續上架了,歡迎大家記得去查看。一起來了解一下今年最新的分享。 今天分享一下這一場我覺得很不錯的題目,就是 How Uber Goes 。 Uber 工程師分享了從 2015 年之後導入了 Golang 之後遇到的幾個常見問題: 建立大量的新服務。 經常要切換不同的服務開發。 (Context Switching) 要交付全球化的服務。 而解決方式則是透過以下三種方式: Dependency Injection Consistent Code Structure Monorepo 由於這些問題,所以 Uber 內部首先為了方便建立不同新的服務而開發了 Dependency Injection Library - fx ( https://github.com/uber-go/fx ) ,透過 fx 開發不同新服務也變得更加的方便。 接下來有提到如何將每個不同服務會使用到的架構做一致性的架構設計,讓不同的服務之間程式碼能夠變得更好維護。最後透過 Monorepo (也就是所有的代碼都在一個很大的 repository 上面,而不是個別專案中) ,在套件版本的更動上也變得更加的方便(可以一個 commit 幫大家更新)。 Refer: https://github.com/uber-go/fx https://godoc.org/go.uber.org/fx https://eng.uber.com/tag/uberfx/ https://www.youtube.com/watch?v=LDGKQY8WJEM
繼續閱讀