[研討會心得] 2020/04/21 Chatbots 18 @online

前言 大家好,我是 LINE Taiwan 的 Tech Evangelist - Evan Lin。這次很開心受到 chatbot 社群的邀請,參加了 “Chatbot meetup 聊天機器人小小聚 18 @Online” 的聚會活動,並且分享 LINE API 更新與個人開發的心得。在此也跟各位分享本次參與的心得,並且也希望透過社群分享的力量能夠讓聊天機器人的開發動能更加的盛大。 社群 Chatbots Meetup: https://chatbots.kktix.cc/ 本次活動網頁: 活動網址 本次活動的共筆紀錄: https://hackmd.io/@chatbot-tw/meetups-018 由於 Chatbots Meetup 本身屬於社群自主性的活動,裡面也有許多社群朋友所贊助的閃電秀。裡面的所有內容也是相當的難得與有趣。也希望能夠透過本篇文章讓大家稍微了解 Chatbots Meetup 社群閃電秀的魅力。 由於防疫的要求,這次是在線上參與這次的聚會活動。很感謝每一位參與的朋友帶來的問題,希望透過線上以及錄影的方式可以讓更多的朋友可以了解。 LINE Platform Update 202004 / 資深開發技術推廣工程師 Evan Lin 投影片 在此幫大家更新一下,從三月到四月中的相關 LINE 平台技術更新。也希望透過這樣得更新與相關的範例整理能讓更多的開發者知道該如何應用這些新的 API 。 03/19 Domain name change of certain endpoint 即將在 2020/04/30 即將停用的 API Endpoint api.line.me ,並且之後會換到 ` api-data.line.me` 。主要影響到的功能如下: Get content Upload rich menu image Download rich menu image 相關的 SDK 其實在 2019 的 11 月已經更新完畢,請各位開發者務必要更新你們的 SDK 到最新的版本。 相關訊息: https://developers.line.biz/en/news/2020/03/19/remind-domain-name-change/ 03/25 line:// is deprecated LINE URL Scheme 是一個可以透過 URL 點擊去呼叫某些功能,比如說: 開啟 LINE App 個人資訊選單 Opening a LIFF app … 還有相當多功能歡迎參考。 由於安全考量, line:// 的 URL scheme 已經全部修改為 https:// 。請相關開發人員都要在原始碼修改好。 目前(2020 April) 尚未將 line:// 全面關閉,但是之後會有一天關閉相關的使用方式。 相關訊息: https://developers.line.biz/en/news/2020/03/25/line-url-scheme-deprecation/ 04/03 New LIFF API: liff.isApiAvailable() 這邊可以參考另外一篇文章的說明: 使用 liff.isApiAvailable() 來讓舊的版本 LINE App 可以跑新的 LIFF 功能 04/06 Channel access token 2.1 原先在 Channel Access Token 的功能上,如果要透過 Issue Channel...
繼續閱讀

[好書分享] Uber與Airbnb憑什麼翻轉世界

The Upstarts : How Uber, Airbnb, and the Killer Companies of the New Silicon Valley Are Changing the World 原文作者: Brad Stone 譯者: 李芳齡 出版社:天下文化 出版日期:2017/06/29 買書推薦網址:http://moo.im/a/gmnpuA 前言: 記得上一次我也看過一本跟 Uber 有關的書籍,叫做「橫衝直撞: Uber刷新市值、3年成長20倍,卻成為全球麻煩製造機背後的教訓(Wild Ride)」。裡面對於創辦人 - 卡蘭尼克有了許多的著墨,但是對於 Uber 在城市間如何快速發展的主因,還有如何在法律與計程車司機抗議浪潮中生存的方式有太多的敘述。 於是我選了這一本來看,除了想要了解 Uber 更多的細節外。希望也能了解 Airbnb 得成名過程。 內容簡介: Uber與Airbnb,為何帶來創新,又製造不安? 兩個工餘計畫,是怎麼變成價值千億美元的戰略? 名下沒有一輛車、一間房,如何穩居市場第一? 全球首部Uber、Airbnb授權專訪傳記,給你最深入的第一手訪談與觀察。 法規跟不上時代,但你不能跟不上時代, 讀完這本書,你將以全新眼光檢視你的公司與工作 簡介來自讀墨:http://moo.im/a/gmnpuA (上面來自於天下文化對於這一本書的介紹影片) 由於兩間公司雖然先後成立,但是當初成立的過程與面對的挑戰都相當的類似,所以作者很有趣的利用的三個階段來敘述了這兩間公司。 第一部 工餘計畫 Uber 創始人之一 - 卡蘭尼克是創業家,有過一次成功的創業經驗。但是在 Uber 成立之初他其實還有不少個新創的投資機會在手上。 Airbnb 只是三個創始人因為想要參加研討會而找房子,發現了這樣的商機而成立了這樣的公司。 一開始兩間公司創始人都是因為閒暇之餘的工餘計畫 (side project) 而起頭的。 第二部 建立王國 第二階段就是兩家公司重要的時候,就是因為時勢的原因。造就兩家公司的快速發展,並且透過這樣的契機而建立自己相關王國的過程。 Airbnb 遇到了總統大選,於是有了更多的短期租屋的需求。Airbnb 也在這個時候逐漸茁壯,力霸一方。但是也在這時候忽然被人發現, Airbnb 總市值已經超過了喜來登,凱悅等等知名的旅館企業,但是 Airbnb 並沒有自己的旅館,並沒有自己相關安全措施,於是受到很大的挑戰。 叫車軟體 Uber 在美國各地的發展也相當迅速,原因之一也是美國對於計程車牌照的發放太過嚴格並且需要許多的申請費用。 迅速的發展也讓 Uber 受到計程車業的抗議,美國各地都受到強大的反彈。 第三部 新創家的考驗 第三部份提到更有趣的部分,兩家新創公司用了哪一些方式來讓自己具有領先地位與競爭優勢呢? Uber 運用了天眼系統,也就是會持續追蹤每一個司機的走向。透過這些方式來更有效的安排車輛,但是也受到了個人隱私的質疑與抗議。 而 Uber 公司比較積極而狂妄的競爭手法也有人說對於辦公室文化其實一些性別歧視的爭議。 而 Airbnb 也在創業過程中經常使用共享經濟,甚至是每一個房屋的分租人都是樂於分享的美好想法來包裝。但是對於真正發生租屋問題的時候,卻經常沒有幫那些分租人出來解決問題。 這些處理方式都相當有趣,很推薦好好看看。 心得: 這一本對於兩個打破人類思考的新創企業 - 「共享經濟」,也是對於法律的新挑戰。 Airbnb 代表的是共享房屋,但是卻帶來短期租屋與旅館業者的抗議。 Uber 代表的是共享車輛,但是也遇到各國計程車業者的抗議與質疑。 兩家公司受到各種法律的質疑,但是兩間公司因為創始人的個姓大不相同,回應方式也不同。 Airbnb 執行長 - 切斯基 生性浪漫,透過共享經濟的烏托邦夢想打造了一個社群。Uber 創始人之 - 卡蘭尼克 生性好鬥又聰明,透過了 Uber 的司機幫他們來在政治上面施壓。 兩家公司處理方式很不相同,但是都相當值得學習跟了解。 書的內容不少,敘事也都很細膩可以了解許多事情的來龍去脈,很值得推薦。
繼續閱讀

[研討會心得] 2020/04/10 LINE Developer Meetup 11

前提 大家好,我是 LINE Taiwan DevRel 團隊的 Evan Lin。很開心在這裡跟各位分享本年度的第一場開發者小聚。 由於新冠肺炎疫情影響,此次的活動改為線上活動並且透過 LINE OA Live 的方式播放給所有的參與者了解,也在後續會官方粉絲專頁與官方的開發者 Youtube 頻道開放完整的影片給想要參與的開發者共襄盛舉。 KKTIX 活動網頁: 活動網址 本次 LINE Developer Meetup 開發者小聚,有三位 LINE 工程師來分享,首先由 Julian Shen 來跟各位介紹去年推出的新服務 LINE SPOT ,緊接著由 Johnson Wu 來分享 LINE 的資料工程團隊的一些工作內容。 經常聽到學生們來詢問, LINE 是否有給理工科的實習機會,所以這次最後來自 “LINE TECH FRESH 技術新星人才計劃” 參與的 Wei 將會為各位介紹如何加入 LINE TECH FRESH。 Opening / LINE 資深開發者關係與技術推廣工程師 Evan Lin 首先今年因應疫情的影響,為了響應防疫的相關措施,許多的線下活動無法舉行。 今年開發者關係與技術推廣部特地準備了許多線上的活動與線上的影片來與開發者們交流分享。在此也跟各位分享, LINE 台灣開發者的官方粉絲專頁與 LINE 台灣開發者 Youtube 頻道都開幕了。 往後開發者們可以在上面去瀏覽所有開過的線上活動與相關的交流影片喔。 LINE Developers 官方資源整理: LINE 開發者官方社群 (OA) LINE Developer 官方粉絲專頁 LINE Developer Taiwan 討論群組 LINE Developer Taiwan 官方 Youtube 頻道 LINE Spot and how we built it / LINE SPOT Julian Shen 投影片 影片 (請參考 LINE Engineering Blog 文章) 首先上場的是 LINE SPOT 團隊的 Julian Shen ,曾經 Julian 在 TECHPULSE 2019 的會場有介紹過關於 LINE SPOT 服務介紹。更多的 LINE SPOT 服務介紹與 LINE SPOT 架構介紹可以參考這篇文章 「LINE TAIWAN TECHPULSE 2019 科技盛會精彩回顧」。 這次帶來的除了 LINE SPOT 的服務介紹外,更有分享了 LINE SPOT 如何因應疫情的變化,快速地打造出 LINE SPOT 口罩地圖的服務。 大家都了解,口罩地圖這個服務內容來自於衛福部所提供的 API 來查詢與視覺化得顯示。對於開發人員來說可能有以下考量的點。 這是一個希望快速上線的功能? 預期會有大量的流量會湧入? Open Data 的資料來源是不是有可能會變更? 如何能快速調適? 如何把口罩剩餘量做有效的處理? 歡迎各位可以好好地觀賞相關的影片,來了解更詳細的內容。 想要跟這樣有效率的團隊一起打造有趣的...
繼續閱讀

[LINE][教學] 使用 liff.isApiAvailable() 來讓舊的版本 LINE App 可以跑新的 LIFF 功能

(LIFF ShareTargetPickder 功能展示) 前言 LIFF ShareTargetPickder 是一個相當強大的功能,不僅僅可以在 LINE 裡面讓使用者更方便地分享資訊給好朋友,更可以讓使用者透過外部瀏覽器來分享資訊給好朋友或是聊天群組。 但是這樣的功能在 LINE 上面的支援程度必須要再 10.3.0 之後的版本才能支援,如果使用者的手機 LINE App 版本不是更新到最新版本的話。那麼有可能無法正常執行這個功能。 今天這篇文章就要介紹一個新的 API 功能 liff.isApiAvailable() 功能,如何透過這個 API 讓各位新的 LIFF ShareTargetPickder 可以在使用舊版本 LINE 的使用者上運行,並且提供給各位一段範例程式碼與展示的影片。 範例程式碼 https://github.com/kkdai/liff-template-go 實際跑一個範例 (demo) 開啟這個 LIFF App 如果你是在 iOS 手機並且透過舊版本的LINE App (<10.2.0) 中打開,你會出現一個警告訊息,並且幫你打開外在瀏覽器來開啟這個 LIFF 網址。 可以看以下影片的展示: 程式碼解釋 (完整程式碼可以查看: https://github.com/kkdai/liff-template-go/blob/master/liff.html) 這邊做一些簡單的解釋: if (liff.isApiAvailable('shareTargetPicker')) 透過這個方式來檢查目前是否支援這個 API 如果在 LINE App 呼叫,會根據不同 LINE App 回覆不同回答: 版本小於 10.3.0 回傳 False. 版本大於或是等於 10.3.0 會回傳 True. 如果是在外部瀏覽器呼叫,將會永遠回傳 True. 如果版本不支援,直接往 13 跑,首先先跑出警告視窗顯示: “你的 LINE App 暫時不支援 Share Target Picker ,將開始外部瀏覽器。” 然後透過 liff.openWindow 來開啟外部瀏覽器(透過 external: true ),讓使用者透過別的方式來使用這個功能。 總結 透過 liff.isApiAvailable() 可以讓需要使用 LIFF ShareTargetPickder 的開發者,讓有一些使用者也能夠正常的體驗 LIFF ShareTargetPickder 的威力。 但是隨著 LIFF 的功能逐漸增加,或許以後也會有更多令人驚喜的功能,讓我們一起期待吧? 參考 https://github.com/kkdai/liff-template-go LIFF ShareTargetPickder API Reference
繼續閱讀

[podcast] Software Engineering Daily - FB Messenger Rewrite

https://softwareengineeringdaily.com/2020/03/31/facebook-messenger-engineering-with-mohsen-agsen/ 最近聽過蠻有趣的 Podcast 講解 Facebook Messenger iOS 版本重寫的過程。 作為技術研究與討論,幾件事情值得整理: Single source of truth 竟然是 client 的 SQLite 資料庫。 重寫 Messenger client 團隊高達 120 多人(據說大多是 iOS) 沒有 React Native 全部都是 Obj-C ,共用部分用 C 整篇內容算是有足夠的深度,並且分享不少過程中的經驗談。
繼續閱讀

[TIL][Podcast] 關於 WFH 議題的 Podcast

(Photo by Djurdjica Boskovic on Unsplash) 前言 由於新冠病毒的影響,似乎每一間公司就開始(或是試跑) WFH (Work From Home) 也就是在家工作,來避免搭乘大眾交通工具而增加感染的風險。 最近聽了幾個 Podcast 也有提到作為軟體工作人員對於 WFH 的想法,我覺得可以整理一下分享出來。 幾個 Work From Home 的 Podcast: 最近聽了一些關於 WFH (Work From Home) 的 Podcast 討論,分享幾個給大家: Go Time – Episode #123 WFH https://changelog.com/gotime/123 參與人員: Mat Ryer: Go Programming Blueprints: Second Edition 的 Carmen H. Andoh: Google Go 開發團隊的人員 Mark:作者 John: Blogger, 線上 Go 課程作者。 內容: 這篇蠻有趣的是討論到很多很細的 WFH 細節: 比如說水喝太多跑廁所。 需要有個好好投資買個好椅子(廣告: LINE 辦公室都是 Human 實在太犯規) 需要有個儀式轉換心情~換衣服可能不錯喔? 也有人建議可以訂鬧鐘,不然很容易上班過久。 需要有個走動的習慣,基本上就是你在辦公室會做的,你應該也要在 WFH 也做,這對我還蠻重要的。我習慣走動一下思考許多活動的細節,往往在家就沒辦法走動實在不太好。有人建議可以養隻狗~他會強迫你去走動。 其他部分其實談到是工程師的 Deep Work 的重要性,也就是如何保留一段時間作為專注工作的方式。這邊就不另外提了。 有一本正在看的書,可以推薦: Remote Team Management with Ryan Chartrand : Software Engineering Daily https://softwareengineeringdaily.com/2020/03/26/remote-team-management-with-ryan-chartrand/ 討論的內容比起 Work From Home 更直接,而是完全的 Remote Team 。 裡面談到 Remote team 是比較直接的,省去了許多辦公室的禮貌,但是卻能夠直接地給予公司所有的贊助。 員工每一天上班不需要煩惱通勤,中午吃什麼,而是今天要如何幫助專案或是公司前進。 weak self podcast 23: 在家工作!WFH 時怎麼樣才不會 WTF https://weakself.dev/episodes/23 內容跟前面兩個都蠻像的,想聽中文版本的可以聽聽看這個。 關於 Work From Home 的感想 公司也在最近有試跑 WFH ,目的是希望所有同仁能夠習慣透過 remote work 的方式來完成原先日常有的工作。所以在時間安排上也比較隨機,也希望同仁不要因為 WFH 而特地把會議移開。 對我自己來說, Work From Home 或是在辦公室工作主要就是能夠專心的程度,當然公司超好的椅子也是一個誘因啊! 因為我周圍其實也滿安靜的,所以對我來說不論是在家裡或是在辦公室沒有太多差異,但是我個人是希望在辦公室工作,因為設備比較齊全。 加上最近有一些線上活動需要錄影準備,常常也是要當場跟製作公司討論錄影的相關內容。所以很多時候反而希望能在辦公室辦公。(加上不知道為何家裡樓上的鄰居最近又開始裝潢 orz ) 不過真的如同幾個 Podcast 有提到的,很重要的在於如何確認你下班了,避免你的生活因為 WFH 而嚴重的被影響。 除了這些之外,原本如何提升專注力或是如何讓自己專心工作,,這似乎又是另外一個議題了。
繼續閱讀