DataCon TW 2018 會議分享

DataCon.TW (Data Conference Taiwan 台灣資料工程年會) 是由 Ta …

Kotlin Night Taipei 2018 參與心得

LINE的公司文化希望員工能積極在內部分享新技術或架構的研究心得,也很鼓勵員工參與外部社群的分享與活動。像是去 …

PyCon TW 2018 Recap

何謂 PyCon PyCon 最初於 2003 成立於北美,現在世界各地皆有以 PyCon 精神成立的會議。 …

Selenium Conference 2017

Selenium 是為瀏覽器自動化(Browser Automation)需求所設計的一套工具集合,讓程式可以直接驅動瀏覽器進行各種網站操作。Selenium 執行「真實的瀏覽器」來進行網站操作的自動化,它能夠直接獲取即時的內容,包括被 JavaScript 修改過的 DOM 內容,讓程式可以直接與網頁元素即時互動、執行 JavaScript 程式,因此也適用於前端採用 AJAX 技術的網站。

LINE Developer Meetup #3 開發者小聚 活動後分享

在台灣有許多LINE聊天機器人的開發者,平常都透過論壇交流,LINE TAIWAN團隊為了能讓他們能夠面對面的互動,以及邀請隱身於民間的高手分享其開發撇步,在今年四月底的時候舉辦首場的開發者小聚 LINE DEVELOPER MEETUP TAIWAN ,沒想到公佈報名網址的當天,還不到5小時所有名額就被大家的快手搶光,可見大家已經期盼許久!

利用 Model Controller Testsuite (MCT) 來建構自動化測試

你一定知道 MVC 架構,那 MCT 呢

Model–view–controller (MVC) 架構是一種設計模式 (design pattern),主要目的是用來簡化應用程式的開發與增加程式的可維護性,其做法是將應用程式分成三個邏輯的模組。每一個模組都有各自具體的任務,這樣做是為了將資料的傳遞與呈現給使用者的結果分開表示,透過 MVC 設計模式將這些主要模組分離開來,以實現程式碼的可重複使用性以及根據任務需求分配並行開發。

基於 MVC 架構的優點,工程師也可以將 MVC 提供分層模組化架構的優點應用在開發測試的基礎架構上。因此,這篇文章主要說明以 MVC 開發設計模式為靈感的自動化測試架構 – Model Controller Testsuite (MCT),並描述如何調整以便讓自動化架構更加穩定和可維護。

開發LINE聊天機器人不可不知的十件事

LINE於2016年9月推出Messaging API之後,越來越多開發者投入心力設計各式各樣功能的LINE聊天機器人。然而,撰寫一個LINE聊天機器人除了要有好的應用情境之外,資訊技術上還必須注意一些重要的細節,以免設計出來的聊天機器人上線後無法正常運作。本文分享了作者自身與協助客戶或合作夥伴開發各種LINE聊天機器人所觀察到常見的問題與建議的處理方式,提供給LINE聊天機器人開發者作為參考。

第一件事:正確設定HTTPS

基於資料通訊安全的因素,在LINE平台上開發應用服務的所有資料傳送都必須透過加密通道。因此,當開發者架設LINE Messaging APIWebhook伺服器時,一定要使用HTTPS通訊協定。

在設定HTTPS伺服器時,有下列幾點必須注意的事項:

  1. HTTPS伺服器所使用的根憑證Root CA)必須是在LINE平台的白名單列表中,否則LINE平台會拒絕傳送訊息。在白名單列表中大多數的憑證都需要付費申請,但是LINE平台也支援常用的免費憑證,例如Let’s Encrypt
  2. 請勿使用已知具有安全性漏洞的協定(例如SSL v2或SSL v3)或Cipher Suite(例如SWEET32或CVE-2016-2183)。
  3. 請務必正確設定中繼憑證Intermediate certificate),以避免無法對應到根憑證而發生錯誤。這是最常見的問題通報狀況,請在設定HTTPS伺服器時多加留意。

如果HTTPS伺服器沒有正確設定成功,Webhook程式將無法收到LINE平台的任何事件訊息,並且管理者們會收到來自LINE平台的警示電子郵件,內容的錯誤原因會顯示「UNCLASSIFIED」。建議開發者在設定完成HTTPS伺服器之後,立即使用一些免費工具進行檢查,以確保HTTPS伺服器的可用性。這些免費工具舉例如下: