0%

LRD

前言

由於疫情突然的加溫,LINE 工程團隊緊急將活動改為線上的方式呈現給大家,在避免群聚的情況下盡可能地呈現最好的方式給大家,同時也讓大家了解 LINE 工程部門裡每個團隊所負責的內容,以下就整理出當天的所有內容給各位囉!

議程列表

介紹

本次活動頁面: https://linegroup.kktix.cc/events/20210522-devel

開場由 LINE Taiwan CTO - Marco 為大家介紹,因為大環境的關係,觀察到許多人使用網路的方式改變了,同時也看到線上線下整合(Online Merge Offline)的趨勢,而在 LINE 的生態系服務當中有許多都是使用 Online Merge Offline 的方式,如 LINE SHOPPING、LINE SPOT、LINE Taxi…等等。現在也人手一隻手機,並且裡頭也都安裝著 LINE,為了提供用戶在這數位生態圈中生活更加便利,因此我們也就打造了各式各樣的服務來提供給大家。

除了打造服務外,由於人員越來越多,當然也就需要 Developer Relations 這樣的部門角色來建立起優良的內部文化,讓大家除了在打造生態系服務的同時,也可以透過各式各樣的內部活動來互相學習與交流,讓每位工程師可以將自身努力的經驗分享給大家。那到底做了些什麼呢?以下就由 Developer Relations 部門的資深技術推廣工程師 - Evan Lin 為大家介紹這個角色日常都在做些什麼。

閱讀全文 »

前言

早些日子前(也才去年),我還是使用 Facebook 的留言,因為一般人理論上都已經登入過 Facebook,透過串接 Plugin 馬上就可以讓用戶留言,實在是挺方便。但隨時時間的推演,由於 Hexo 是由 JavaScript 所構成的,且因為相互依賴的套件許多,被迫一定要將 Hexo 升級版本(好像是 3 -> 5),導致我的留言區直接全毀…

近期橫空出世(明明是自己孤陋寡聞)了一個 TypeScript 所構成的留言區套件 utterances,它是幹嘛得呢?它透過串接 GitHub issue 的方式來完成留言區的功能(需要 GitHub 帳號),簡單來說如果在文章底下留言的話,他會同步在該 GitHub 專案留下一個 issue 同步留言。

閱讀全文 »

click command

前言

近期收到了一個來自 Lotify 的 Pull Request,主要功能是加入 Command Line 的功能,讓用戶在安裝 Lotify 之後即可在終端機上測試,感謝來自熱情的網友幫忙。

原以為 Merge 之後應該要可以用了,於似乎開始安裝要開始使用測試,沒想到遇到了一個錯誤

1
ModuleNotFoundError: No module named 'lotifyCli'

於是就開始的抓蟲之旅。✍️

閱讀全文 »

前言

近期在想活動時想到之前有做個彈幕機器人,異想天開下想說在上面加個投票系統,不過為求方便想快速完成,因此想說用 Docker 啟動一個 Redis 來做個 PoC,因為當初為求前後端方便彈幕機器人就使用全 js 的方式撰寫,在很直觀找到最多星星的 Redis 套件 - node-redis,以下就分享我被 callback 雷到的經驗XD

閱讀全文 »

前言

從我開始工作時,因為動態語言方便且快速上手,因此我就選擇動態語言作為我吃飯的工具。隨著時間的推進我寫過了 Python、Ruby、JavaScript,由於大多都使用 VScode 撰寫程式,對於環境設定不是很熟捻的我設定相關東西就很困擾,因此大多數都是用 print(Python)、console.log(JS) 或是 puts(Ruby) 直接印在終端機上來除錯腳本或是網站。

在過去這些日子中最有印象的就是使用 Ruby 的 byebug 套件來幫我除蟲,它是個可以在終端機透過快捷鍵讓你取得想除錯的地方開始進行除錯,對於當時的我來說簡直是福音,也讓我在那段日子中非常的快樂XD

閱讀全文 »

前言

透過每個月持續的分享,將 LINE 平台上有更新的內容透過更生活化的方式整理給大家,希望透過此篇文章讓大家認識一樣 LINE API 的魅力!如果已經有正在開發的聊天機器人,抑或是有不同的搭配技巧,都歡迎至社群或是各大討論區分享你的技術吧!

閱讀全文 »

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

閱讀全文 »

前言

每年 LINE 都會安排許多活動讓每一位對 LINE 工程團隊有興趣開發者可以在線上或是線下直接詢問負責不同領域的同仁們,藉由交流不僅分享在企業中使用的技術細節,也拉近企業與開發者的距離,讓大家感受在 LINE 工作的幸福感指數 😊,希望可以透過本篇活動紀錄讓大家更認識 LINE 的工程團隊!

閱讀全文 »

前言

雖然現在網路越來越快,每個同步(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 來產生套件給其他語言使用者介接
閱讀全文 »

前言

過往在寫應用程式時總是為了趕上線  將程式寫完之後即部署,但往往總是上線後才發生了一些可預期的錯誤,導致工時增加,因此在撰寫程式時若有自動測試的程式碼,透過測試增加來程式碼的品質,為上線前做一個最後的把關。

而近期在寫 Side Project - P+ League Bot 時包裝了一些程式碼(FlexMessage、SQL Query…),但再將資料庫函式改成 ORM - SQLAlchemy 時導致了一些上線錯誤,因此就開始補測試程式碼避免往後再有此類問題產生,本篇則紀錄使用 Pytest 時的一些小知識。

閱讀全文 »