I'm a mother of two precious kids and a professional programmer.
Prometheus 簡介 我們在 SoundCloud 的官方博客中可以找到一篇關於他們爲什麼需要新開發一個監控系統的文章 Prometheus: Monitoring at SoundCloud,在這篇文章中,他們介紹到,他們需要的監控系統必須滿足下面四個特性: 簡單來說,就是下面四個特性: 多維度數據模型 方便的部署和維護 靈活的數據採集 強大的查詢語言 實際上,多維度數據模型和強大的查詢語言這兩個特性,正是時序數據庫所要求的,所以 Prometheus 不僅僅是一個監控系統,同時也是一個時序數據庫。那爲什麼 Prometheus 不直接使用現有的時序數據庫作爲後端存儲呢?這是因爲 SoundCloud 不僅希望他們的監控系統有着時序數據庫的特點,而且還需要部署和維護非常方便。 此外,Prometheus 數據採集方式也非常靈活。要採集目標的監控數據,首先需要在目標處安裝數據採集組件,這被稱之爲 Exporter,它會在目標處收集監控數據,並暴露出一個 HTTP…
使用套件 Prometheus Prometheus Operator K8S Rancher 步驟一、設定自訂義指標 1. 設定Exporter,這邊有許多官方提供的函式庫 https://prometheus.io/docs/instrumenting/clientlibs/ 2. 設定該export的service名為my-export 設定Service Monitors 步驟二、設定自訂義規則 增加Prometheus Rules 設定HPA 在HorizontalPodAutoscaler增加一個設定如下 參考資料 https://docs.openshift.com/container-platform/4.9/nodes/pods/nodes-pods-autoscaling.html https://www.padok.fr/en/blog/scaling-prometheus-rabbitmq
如何獲取和讀取 K8s 的資源利用率指標 在K8S裡面我們可以對資源做resource isolation,限制pod所使用的資源或者設立HPA去決定何時要自動擴展/縮小 所以要了解一下K8S裡面所用的度量單位的意義 使用kubectl下指令讀取pod內資源使用狀況 會得到下面的回應 確認Pod裡面不同的Container所使用的資源 會得到以下回應 取得Node資訊 會得到以下回應 了解指標所代表的意思 – CPU 其中設定的單位是 m,每 1000m = 1 vCore,也可以使用分數,因此設定的方式可以是: 1 (相當於 1000m) 0.5…
參考官方文件的教學如下: https://prometheus.io/docs/prometheus/latest/configuration/configuration/ Prometheus can reload its configuration at runtime. If the new configuration is not well-formed, the changes will not be applied. A configuration reload…
Maximum Value of K Coins From Piles 這是遞迴方式的寫法, 但我可能存太多垃圾資訊,當k值變大之後,會發生heap allocation錯誤的問題,也受限於遞迴的限制當k變大效率非常差….. 看來又要動態規劃(哭), 晚點再來補上改善版
Coin Change2 這也是一題動態規劃的題目,但是比起上一題,上一題每一個暫時儲存的東西是有意義的,我們可以了解說每一個的暫時狀態是某個數字用所給的硬幣列表裡,能用最少數量達成答案的數目,但是這一題的中間狀態所儲存的真的就是『中間的狀態』,我是看著別人的答案去回推理論的,真的很難想像在遇到這樣的問題時,該用什麼角度去把複雜的問題拆分,並找尋出重複步驟並找到可暫存狀態來計算出最終結果。 這是最後的結果 var change = function(amount, coins) { let dp = new Array(amount+1).fill(0); dp[0]=1; for(let coin of coins){ for(let i=coin;i
https://leetcode.com/problems/coin-change 最近開始刷leetcode覺得思考這些邏輯問題還滿好玩的 第一個刷的是這個,他是一個動態規劃的題目 一般我們在思考的時候會去思考以錢幣為基準,例如1,3,5的錢幣要怎麼湊成11元,我們會拿1,3,5去隨機湊硬幣,但是當數值大了以後,要計算最小的錢幣組合就會變成很困難. 像這種極限求值就會需要將思考轉換過來, 我們可以一步步的拆解, 先了解1,3,5,若要組成1是用幾個(1個1),那組成2要用幾個(2個1),若要組成3要用幾個,到3時我們就會發現,3可以用”3個1″或”1個3″組成, 這時候就可以來比較誰用的硬幣比較少,然後把最小可組成的數字”1″存到可組成結果為3的陣列。 接下來在思考4的時候,我們就可以思考4減掉硬幣1,也就是3,的最小使用硬幣數量,那就代表我們使用3,再加上硬幣1,可以組成4。接下來算要組成6要幾個硬幣,6減掉硬幣3,可以拿到硬幣3要用幾個硬幣,所以就是硬幣3使用的硬幣數量+1。 var coinChange = function (coins, amount) { if (amount == 0) return 0; let amountRecord =…
其實會發這一篇文,主要是看到這個博客的文章真的感動到快哭了… 這幾天因為想增加OCR辨識正確率開始與LBP打交道 https://zh.wikipedia.org/wiki/%E5%B1%80%E9%83%A8%E4%BA%8C%E5%80%BC%E6%A8%A1%E5%BC%8F 我找到了一個看起來很強大很棒的函式庫 https://scikit-image.org/docs/stable/api/skimage.feature.html#skimage.feature.local_binary_pattern 網路上有很多教學文章,看起來是很知名的套件 a href=\”https://machine-learning-python.kspax.io/classification/ex1_recognizing_hand-written_digits\”>https://machine-learning-python.kspax.io/classification/ex1_recognizing_hand-written_digits 然後我遇到了和這位博主一樣的問題 https://www.cnblogs.com/ilk123/p/11797261.html 沒錯…….LBP明明出來的應該是1-256的值阿…我也是設定R=1, P=8\r\n這樣用default的LBP出來的應該要是1-256之間的值,但是卻是0和1的二值陣列…. 我一直想..這麼偉大的一個scikit-image怎麼可能有錯,一定是我的使用方法有誤… 害我撞頭撞到快崩潰….. 沒想到在此遇到一個和我一樣的苦主 太感動了,特此記錄! 另外,後來我也找到了一個最原始的LBP算法 程式碼下載於 https://github.com/zhongqianli/local_binary_pattern/blob/master/local_binary_pattern.py def original_lbp(image): “””origianl local binary pattern”””…
WEBM格式是一種媒體文件格式,開源為Web使用設計,主要用於視頻的播放。 WebM簡介 WebM 是一個開源的媒體文件格式,主要用於封裝使用 VP8 或 VP9 編碼的視頻流和使用 Vorbis 或 Opus 編碼的音頻流。這個格式是由 Google 主導開發的,並於 2010 年首次推出。 以下是一些 WebM 格式的特點和詳情: 1. 設計目的 WebM 主要設計用於在線流媒體傳輸,特別是作為 HTML5 的…
17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。
如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!