2021-05-15 · Python
前言
近期收到了一個來自 Lotify 的 Pull Request,主要功能是加入 Command Line 的功能,讓用戶在安裝 Lotify 之後即可在終端機上測試,感謝來自熱情的網友幫忙。
原以為 Merge 之後應該要可以用了,於似乎開始安裝要開始使用測試,沒想到遇到了一個錯誤
ModuleNotFoundError: No module named 'lotifyCli'
於是就開始的抓蟲之旅。✍️
繼續閱讀
2021-05-13 · JavaScript
前言
近期在想活動時想到之前有做個彈幕機器人 ,異想天開下想說在上面加個投票系統,不過為求方便想快速完成,因此想說用 Docker 啟動一個 Redis 來做個 PoC,因為當初為求前後端方便彈幕機器人就使用全 js 的方式撰寫,在很直觀找到最多星星的 Redis 套件 - node-redis ,以下就分享我被 callback 雷到的經驗XD
繼續閱讀
2021-05-03 · Python
前言
從我開始工作時,因為動態語言 方便且快速上手,因此我就選擇動態語言作為我吃飯的工具。隨著時間的推進我寫過了 Python、Ruby、JavaScript,由於大多都使用 VScode 撰寫程式,對於環境設定不是很熟捻的我設定相關東西就很困擾,因此大多數都是用 print(Python)、console.log(JS) 或是 puts(Ruby) 直接印在終端機上來除錯腳本或是網站。
在過去這些日子中最有印象的就是使用 Ruby 的 byebug 套件來幫我除蟲,它是個可以在終端機透過快捷鍵讓你取得想除錯的地方開始進行除錯,對於當時的我來說簡直是福音,也讓我在那段日子中非常的快樂XD
繼續閱讀
2021-04-29 · 研討會
前言
透過每個月持續的分享,將 LINE 平台上有更新的內容透過更生活化的方式整理給大家,希望透過此篇文章讓大家認識一樣 LINE API 的魅力!如果已經有正在開發的聊天機器人,抑或是有不同的搭配技巧,都歡迎至社群 或是各大討論區分享你的技術吧!
繼續閱讀
2021-04-28 · Python
I wrote dynamic programming language from working to now. Most of my time also use print(Python), console.log(JS), puts(Ruby) to debug any scripts or web apps. from my before experience, I only know Ruby had byebug package which could write a byebug line in your code and run it, it will show something information that you could debug in the terminal.
This is my first know debug method in dynamic languages ... XD
繼續閱讀
2021-04-27 · 研討會
前言
每年 LINE 都會安排許多活動讓每一位對 LINE 工程團隊有興趣開發者可以在線上 或是線下 直接詢問負責不同領域的同仁們,藉由交流不僅分享在企業中使用的技術細節,也拉近企業與開發者的距離,讓大家感受在 LINE 工作的幸福感指數 😊,希望可以透過本篇活動紀錄讓大家更認識 LINE 的工程團隊!
繼續閱讀
2021-04-18 · Python
前言
雖然現在網路越來越快,每個同步 (Synchronize)的 request 處理速度都很快,但用非同步 (Asynchronous)不僅可以同時處理較多 request,也不會被前面那個 request 拖時間導致後面排隊的 request 不用做事,各走各的路,出事自己負責(咦?),雖然非同步有其他也要探討的問題,但這裡就先不討論這個~
FastAPI 使用起來有什麼感覺呢?
適用於 Python 3.6 (含)以上的版本
3.6 為目前 line-bot-sdk-python 最多人使用的版本
支援非同步 ,藉由 Asyncio
Pydantic 做型別檢查 (超讚)
寫起來跟 Flask 很像,無痛上手
Production Ready ,這很重要,若文件上沒這個使用要多注意,隨時可能會翻船?
寫一個 API 自動建一個 Swagger 文件,API 文件一起達成!
可以使用 OpenAPI generator 來產生套件給其他語言使用者介接
繼續閱讀
2021-04-05 · Python
前言
過往在寫應用程式時總是為了趕上線 將程式寫完之後即部署,但往往總是上線後才發生了一些可預期的錯誤,導致工時增加,因此在撰寫程式時若有自動測試的程式碼,透過測試增加來程式碼的品質,為上線前做一個最後的把關。
而近期在寫 Side Project - P+ League Bot 時包裝了一些程式碼(FlexMessage、SQL Query...),但再將資料庫函式改成 ORM - SQLAlchemy 時導致了一些上線錯誤,因此就開始補測試程式碼避免往後再有此類問題產生,本篇則紀錄使用 Pytest 時的一些小知識。
@startuml
專案->Pytest: 本地端執行測試
Pytest->專案: 本地測試完成(成功/失敗)
專案->GitHub: 送上倉庫
GitHub->GitHubActions: 觸發 CI
GitHubActions->GitHub: 線上 CI 測試完成(成功/失敗)
GitHub->Heroku: 測試成功即部署
@enduml
繼續閱讀
2021-04-01 · 研討會
前言
大家好,我是 LINE Taiwan Developer Relations 團隊的 NiJia Lin。很開心在這裡跟各位分享 2021 年的首場開發者小聚,本場次是我加入以來第一次在台北舉辦的線下活動(過往都是會眾身份),除了有美味餐點以外,現場也能感受到滿滿的開發者們對於技術熱情(同仁們一直包圍詢問),以下就由我帶大家體驗一下現場的熱情吧!
KKTIX 活動網頁: 活動網址
繼續閱讀
2021-03-28 · Python
TL;DR
Heroku Postgresql 引入時預設 DATABASE_URL 的開頭是 postgres,因 Python ORM - SQLAlchemy 有先天限制問題,需另起一個環境變數並改成 postgresql 才不會遇到:
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:postgres
繼續閱讀