· Cloud Native

📸 by WFranz
前言
Kubernetes 在分散式系統中已經成為一個高可用性平台,並且有許多人都會將程式部署在上面,雖然部署在 Kubernetes 上很好,但本身的管理以及學習都不那麼簡單,因此也有許多人會使用 Serverless 來解決需求。
而今天介紹這個集節目就邀請到 Mux 的 Matt Ward,他們家的產品主要是在做 video streaming APIs,現今他們有自己的 Kubernetes 也曾經在 Serverless 中使用過,以下就分享我從這集 podcast 學到的東西以及心得囉!
繼續閱讀
· Python

Photo by tingyaoh
前言
寫程式不管在哪個情境都會需要處理錯誤訊息,除了程式以外語言本身也需要這樣的功能,因此 python 就提供了一個標準函式庫 - atexit,這名字從 C 語言時態就存在的一個工具,主要是監聽程式當收到關閉請求時,可以先跳至已註冊的函式中先處理掉一些事情後再接著關閉服務,這個做法被稱為 Exit Handler,主要就是當程式收到關閉的訊號時最後會進入的函式們,一般較常見的會放上關閉資料庫連線、釋放記憶體、備份 cache 等等的功能,如此一來就能降低問題的產生,讓服務能夠可平滑的關閉、重啟。
不管使用 python 寫 腳本、後端、爬蟲 都可以使用 atexit 來處理例外錯誤,而我在 flask 中使用時與官方記載的註解有點不同,本篇就介紹一下 atexit 以及使用中不同的部分吧!
繼續閱讀
· 研討會
繼續閱讀
· 研討會
繼續閱讀
· 學習紀錄

前言
Lint 是靜態程式檢查語法的工具,最早出現於 C 語言,也有人稱為 Code Quality Tools,主要是用來標記程式碼中含有某些可疑、不具結構性或潛在問題的部分,也因只標記緣故,所以只會透過編輯器提醒使用者。之後則汎用於各個語言之中,如 ESSLint、flake8、Rubocop...
從前在改以前寫程式時都會有幾個問題,『排版好亂』、『這變數(a1)是?』諸如此類的問題,但就在加入社群後認識很多圈內的朋友並與之討論後才體悟到 Lint 的重要性,首先在跟人家解釋程式時從變數、函式名稱時就能讓對方更快速知道用途,透過 Lint 的提醒讓我修正而不用與其他人解釋 a1 a2 個別代表什麼,大大的降低溝通成本。
優點
繼續閱讀
· Python

前言
常常在寫程式時沒搞清楚作用域時很容易留坑或邏輯混亂,因此花時間理解每個語言的作用域也很重要。
之前因為專案有踩過一些坑,而大家在看套件時很能很常看到類似以下的 code:
繼續閱讀
· JavaScript
前言
在寫 Javascript 時一定會看到有套件或是範例有使用到 callback function,在過往的 coding 過程中最擔心的問題就是遇到 Callback Hell(也就是俗稱的波動拳),最常見的範例為:
doSomething(function(result) {
doSomethingElse(result, function(newResult) {
doThirdThing(newResult, function(finalResult) {
console.log('Got the final result: ' + finalResult);
}, failureCallback);
}, failureCallback);
}, failureCallback);
Sample from MDN
為了降低波動拳的出現機率,因此就就誕生了 Promise 來幫忙處理 Hell world 的問題,至於如何處理就透過接下來就說明並介紹用法。
繼續閱讀
· 日記
前言
自從參與舉辦社群活動也一年多了,過往大多都是參加看大神表演為主,而自從開始處理社群後也認識很多負責人,在最近的待業中其實也思考了很多這類型的事,以下我就稍微整理我對於他們的看法以及推坑的文字。 (誤)
繼續閱讀
· SQL
前言
當接觸到 PostgreSQL 後 pgAdmin 應該是最常被找到的一個免費 GUI 工具,雖然因為是網站的緣故,很多體驗與桌面版稍嫌落差(跟 postwomen 之餘 postman 一樣),但今天會告訴大家一個滿好用的功能 - DDL,而 DDL 在其他工具上(如 Navicat)上就讓我找不到地方使用,接著就帶大家認識一下 DDL 並透過 pgAdmin 講解使用的過程 🙂
繼續閱讀
· 學習紀錄
繼續閱讀