前言
Grafana 是一個視覺化
、即時監控
以及 plug-in system 的工具,之前使用時也含有許多儀表板(dashboard)
以及圖表
來呈現 Server 狀態,且他們還很酷地將它 open source - Grafana,使用 React JS 打造的可容下大量資料的畫面,Grafana 除了支援多平台外也支援 Docker,接下來就來看一下我聽這集的心得吧!
Grafana 是一個視覺化
、即時監控
以及 plug-in system 的工具,之前使用時也含有許多儀表板(dashboard)
以及圖表
來呈現 Server 狀態,且他們還很酷地將它 open source - Grafana,使用 React JS 打造的可容下大量資料的畫面,Grafana 除了支援多平台外也支援 Docker,接下來就來看一下我聽這集的心得吧!
Photo by tingyaoh
寫程式不管在哪個情境都會需要處理錯誤訊息,除了程式以外語言本身也需要這樣的功能,因此 python 就提供了一個標準函式庫 - atexit
,這名字從 C 語言時態就存在的一個工具,主要是監聽程式當收到關閉請求時,可以先跳至已註冊的函式中先處理掉一些事情後再接著關閉服務,這個做法被稱為 Exit Handler,主要就是當程式收到關閉的訊號時最後會進入的函式們,一般較常見的會放上關閉資料庫連線
、釋放記憶體
、備份 cache
等等的功能,如此一來就能降低問題的產生,讓服務能夠可平滑的關閉、重啟。
不管使用 python 寫 腳本
、後端
、爬蟲
都可以使用 atexit 來處理例外錯誤,而我在 flask 中使用時與官方記載的註解
有點不同,本篇就介紹一下 atexit 以及使用中不同的部分吧!
本次活動連結:https://www.meetup.com/CloudNative-Taiwan/events/271350471/
這次一樣是線上小聚的方式為大家帶來精彩的活動,自從碩班畢業之後對於 Cloud Native 接觸的頻率就越來越低,最多是在工作上可能會擦邊學到相關的內容,較多面向程式開發上,那也因為剛好有機會可以跟上活動時間,既然以前有相關經歷那就來參加看一下大家現在都在討論些什麼新知識 🙂。
疫情穩定並解封後終於迎來期待已久的第 20 場小聚,且這次更是來到我最喜歡的熊大寶殿 - LINE 裡頭辦活動,感謝場地方贊助熊大、美食、飲料讓大家吃飽喝足,並且我們邀請了許多大大來分享超超超精實的議程!!
社群:https://www.facebook.com/groups/chatbot.tw/
共筆:https://hackmd.io/@chatbot-tw/meetups-020
直播回顧:https://youtu.be/VxcpDFHWOb8?t=2146
那接下來就分享本次我參加的心得囉!🙂
Lint 是靜態程式檢查語法的工具,最早出現於 C 語言,也有人稱為 Code Quality Tools,主要是用來標記程式碼中含有某些可疑
、不具結構性
或潛在問題的部分,也因只標記緣故,所以只會透過編輯器提醒使用者。之後則汎用於各個語言之中,如 ESSLint、flake8、Rubocop…
從前在改以前寫程式時都會有幾個問題,『排版好亂』、『這變數(a1)是?』諸如此類的問題,但就在加入社群後認識很多圈內的朋友並與之討論後才體悟到 Lint 的重要性,首先在跟人家解釋程式時從變數
、函式
名稱時就能讓對方更快速知道用途,透過 Lint 的提醒讓我修正而不用與其他人解釋 a1 a2 個別代表什麼,大大的降低溝通成本。
在寫 Javascript 時一定會看到有套件或是範例有使用到 callback function,在過往的 coding 過程中最擔心的問題就是遇到 Callback Hell(也就是俗稱的波動拳),最常見的範例為:
1 | doSomething(function(result) { |
Sample from MDN
為了降低波動拳的出現機率,因此就就誕生了 Promise
來幫忙處理 Hell world 的問題,至於如何處理就透過接下來就說明並介紹用法。