發表文章

目前顯示的是 2022的文章

How I learned (and still learn) Site-Reliability-Engineering

 How I learned (and still learn) Site-Reliability-Engineering https://medium.com/async-software/how-i-learned-and-still-learn-site-reliability-engineering-dd6ad32c4285 對於 DevOps 的領域也能夠有所一些涉獵時,其實對於整個團隊來說會使得合作更加協同

Cloudflare 06/21 災後報告

  Cloudflare 06/21 災後報告 https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/ 文章詳細解釋 06/21/2022 當天到底發生什麼事情導致用戶受到影響

How to Review the Code Like a Pro

  How to Review the Code Like a Pro 個好品質的 code review 能夠幫助團隊帶來下列好處 1. 避免合併一些充滿 bug, 難讀, 無效率的程式碼到專案中 2. 開發者可以互相分享彼此的知識 3. 獲得關於實作上的各種意見 4. 確保團隊內的 coding style 一致 事先準備一份 Checklist 一個好的 review 流程就是要有一份檢查清單,這份清單上面描述的是每次程式碼合併都必須要符合的規則,同時也是團隊很重視的規則 這份清單沒有絕對標準,主要是根據團隊去思考哪些東西是最重要的,舉例來說 1. Branch, Commit 內容與名稱是否符合規範 2. Code 是否有足夠的可讀性 3. Codesytle 以及命名規範是否符合團隊文化 4. 資料夾/檔案結構是否符合團隊文化 5. 是否有包含相關測試 6. 文件是否有一起準備 這份清單的重點是只要列入那些被視為是非常必須且重要的項目就好,不然整個清單落落長其實意義也不高 請參考連結 https://medium.com/@yar.dobroskok/how-to-review-the-code-like-a-pro-6b656101eb89

Books for Great Software Architects — Fundamentals Path

  Books for Great Software Architects — Fundamentals Path Design Path 中將會學習到 Domain-Driver Design(DDD) Object-Oriented Design Patterns Basic agile Development conecpts Modeling using UML Respoinsiblity-driven design(RDD) 參考 https://haitham-raik.medium.com/books-for-great-software-architect-34c81fc70e12

有正確使用 SSH 嗎?

  有正確使用 SSH 嗎? https://smallstep.com/blog/use-ssh-certificates/

CNCF報告

  1. 全球有愈來愈多的公司採用容器化或是 Kubernetes來管理應用程式,其中以大型企業有更為明顯的使用趨勢 2. 如同 Linux 一樣, Kubernetes 正在轉變為一個如同基本概念般的存在,愈來愈多的公司使用託管平台 3. CNCF 同時也觀察到愈來愈多組織逐漸導入各式各樣的 Cloud Native 專案來處理各種問題,譬如監控維運等 CNCF 自己的報告則是有 79% 的使用者都是使用經過認證的 Kubernetes 管理平台,其中 EKS 39%, AKS 23% 以及 Azure Engine (17%) atadog 的 2021 Serverless 顯示 Lambda 的功能使用次數相較於過去兩年來提升了 3.5 被,而這些使用量中以 Amazon Lambda 為大宗,此外 Azure Functions 以及 Google Cloud Functions 也都有明顯的成長。 參考連結: https://www.cncf.io/reports/cncf-annual-survey-2021/ 參考連結: 矽谷牛的耕田筆記

Database — 八個 Index( 索引 ) 無法生效的 SQL 寫法

  Database — 八個 Index( 索引 ) 無法生效的 SQL 寫法 相信許多讀者一定知道 Index,也就是索引,對於資料庫的重要性,可以說一個資料庫執行效能的第一道關卡,就是將索引設定恰當。 不過相信很多朋友知道要使用索引後,執行的 SQL 語句如果包含被設定索引的欄位,則速度會變快。但可能不太清楚在什麼情況下,速度不會變快 因此,今天想跟各位朋友介紹,八個常見,但會導致 index 無法作用的 SQL 寫法,希望能幫助各位更恰當的編寫 SQL 語句: 1. 使用 NOT 、!=、not in、not like 等負向判斷詞 SELECT * FROM users WHERE name != 'John'; 2. 使用函數語句包裝被索引的欄位 SELECT * FROM users WHERE DATE(created_at) = '2022-02-28'; 這邊的範例使用 DATE() 函數,去轉換 created_at 這個欄位,因而導致無法透過原始資料,去觸發索引機制。 這邊要幫大家建構一個概念,索引會失效很重要的核心問題就是,『不要對欄位動手腳』,後續會用其他例子幫大家更釐清會有什麼情境。 3. 資料類型錯誤 SELECT * FROM users WHERE age = 30; 這邊假設 age 設定 varchar ,也就是字串型別,則 SQL 在判斷時,會『偷偷的』去做類別轉換,也就是對欄位動手腳,就會導致索引失效 4. 使用 『 %XXX% 』或是 『 %XXX 』 SELECT * FROM users WHERE name like '%john%'; 失效的原因,是因為索引運算機制中,有部分會從字元最左開始匹配,如果用範例的搜尋模式,『 最左 』的字元會無法匹配,導致失效。 5. 使用 Null SELECT * FROM users WHERE name IS NULL; Null 值對於 Index 資料管理來說是比較迥異的存在,所以通常預設是不支援的,但在部份資料庫軟體中,可以另外設定讓 Null 被納入索引中 6. 錯誤的使用 or SELECT * FROM users WHERE indexed_column > 5 or unindexed_column ...

A Kubernetes Documentary Shares Google’s Open Source Story

  A Kubernetes Documentary Shares Google’s Open Source Story It’s one of the great open source success stories — and it’s been condensed into a brief oral history. https://thenewstack.io/a-kubernetes-documentary-shares-googles-open-source-story/

談談遷移應用程式到 Kubernetes 內的失敗經驗談

  連結: https://medium.com/.../unsuccessful-experience-of... 作者團隊於 2019 年要開發一個全新的 API 應用程式,當時部門的 IT 團隊計畫要將既有的 VM-Based 應用程式給轉換到 Container-Based,最後團隊使用了 RedHat 的系統,並且使用 OpenShift 做為容器管理平台。 從結果來看,該專案從 2020/05 一路到 2021/05 花了整整一年也沒有順利的將應用程式轉移到 OpenShift 中,其中的一些重點有 1. 初期建設時 RedHat 有展示過如何使用 Java 基於 Fuse 開發應用程式,但是作者團隊全部都是 .Net 的經驗,因此團隊花了很多時間來學習如何使用 Fuse 2. 2020/06 時因為團隊的進度緩慢,所以 IT 團隊尋找外部的軟體顧問,尋求如何將 .Net 從 VM 轉移到 OpenShift 3. 團隊內的開發者都不擅長學習新技術,對於學習新技術這一塊非常不行。 4. 外部團隊幫忙建置了 CI/CD 系統,然後團隊內從 2020/09 開始進行程式開發與轉移,可惜直到 2021/05 依然沒有半個產品成功的用 OpenShift 作為正式生產環境 5. 與此同時,外部團隊也撰寫了幾個 .NET 示範應用程式來展示容器化的注意事項,然而團隊本身對 Container 的知識非常薄落,所以團隊人員沒有辦法參考這些範例程式來改善自己開發過程 最後團隊內又針對不同團隊給予不同的想法 1. Application Team 2. Server Team 3. Network Team 4. IT Management Team 譬如 Application Team 的開發人員都只滿足自身的技能,而且拒絕學習新技能,誇張的是一年過後團隊內的人也沒有辦法撰寫 dockerfile 或是使用 docker build. 後續還有一些針對不同團隊的想法與總體建議,整體來說非常真實,一個血淋淋的轉換案例。 文章出自於矽谷牛的耕田筆記, 分享給大家

視覺化系統內 iptables 規則

  視覺化系統內 iptables 規則 連結: https://github.com/Nudin/iptable_vis 主要會透過 awk 來解析系統中的規則並且產生特定輸出,接者使用別的軟體將該輸出給轉換成圖檔

Elon Musk: SpaceX, Mars, Tesla Autopilot, Self-Driving, Robotics, and AI | Lex Fridman Podcast

  Elon Musk: SpaceX, Mars, Tesla Autopilot, Self-Driving, Robotics, and AI | Lex Fridman Podcast https://www.youtube.com/watch?v=DxREm3s1scA