第 169 期 - 大雨淅瀝瀝 淋得我心輕鬆
本週專欄
Microservices start Here: Chassis Pattern
如果你待的公司夠大,而且採用的是 microservice 架構,那整個公司的所有產品可能有上千個 microservice。如果這每個 microservice 專案在起步時都要一步一步把各種 config 跟 script 給建起來,那花費的時間一定是相當可觀。
為了解決這個問題,俊廷在本週的專欄中想要跟大家介紹 Chassis Pattern,也就是把常用的 toolset 做成一個 microservice template,當你要開一個新的 microservice 時,就直接拿來用就可以了~
前端開發
CSS Tips for Better Web Development
這篇文章列出一些 CSS 技巧,可以幫助開發者進一步優化網頁的設計和性能。以下是文章中提到的一些重點:
- 使用
scroll-snap
來實作絲滑般的滑動輪播效果 - 使用
position
和grid
處理網頁的 header 和 footer - 利用
position
的sticky
在捲軸時固定畫面中的某個區塊 - 透過
backdrop-filter
處理圖片的各種濾鏡 - 使用
:before
和:after
的組合,或是clip-path
裁切元素的任何形狀
Scroll Animation
本文講解了如何只用一個 JavaScript 的語法來提供當前頁面捲動的百分比,就能透過 CSS 實現隨著捲軸移動產生的動畫效果。一開先介紹如何通過 JavaScript 來設置 CSS 自定義屬性 --scroll
,並且將這個值用於 CSS 中。接著展示如何使用 animation-delay
來實現圖像的旋轉,並通過調整 CSS 中的動畫延遲來實現基於捲動位置的動畫效果。最後也提供了一個範例,示範在 :root
中設置 animation-delay
屬性,控制頁面上的所有動畫。
Debugging JavaScript Like a Pro: Tools and Techniques for Finding and Fixing Bugs
在文章裡提供了一些 JavaScript 的除錯工具和技巧,幫助開發者更快地找到和修復錯誤。作者分享的技巧和工具包括了瀏覽器開發者工具、console.log、debugger、linting 和單元測試等。除此之外還提到了常見的 JavaScript 錯誤,像是變數作用域、非同步問題等等,也提供解決這些問題的對應技巧。
Database
淺談 Database Partition. Centralized and Distributed.
不得不說資料庫這領域真的是有很多學問,好幾年前我對資料庫還不太了解時,一直以為 sharding 跟 replication 是一樣的東西,反正就是開好幾台 DB instance 共同存放那些資料嘛XD。是後來慢慢深入了解後才知道兩個在概念上是完全不同的,如果你對 sharding、replication、partition 這些名詞還有點模糊的話,這篇文章解釋得很好哦~
Database 一代代的演化和傳承
早在電腦發明以前,就已經有儲存資料的需求,因此關於資料庫的理論從好幾十年前就開始有了。如果你對資料庫的演進有興趣的話,這篇文章會從 1980 年代的資料庫開始介紹起,一直講到近幾年比較新的資料庫,讓你知道每個時代的資料庫系統想要解決什麼問題,以及又有什麼相對應的優缺點。
Is offset pagination dead? Why cursor pagination is taking over
如果你有在後端實作過分頁功能,那你應該會知道有分成 offset based 跟 cursor based 兩種做法,這兩種做法各有他們的優缺點,如果你跟他們還不太熟悉的話,這篇文章有各種示意圖跟圖表,保證你看完就懂哦(這篇文真的寫得很好,但他是 member-only 的文章,所以可譨會需要開無痕模式來讀)
DevOps
How Spotify Adopted and Outsourced Its Platform Mindset
Spotify 的 Platform Mission 團隊把全公司 6000 工程師連結起來合作更有效率,讓新員工更上軌道的資料、文件和工具其實都不是 Platform Mission 團隊創造的,都是輔助其他部門撰寫,行銷團隊也會行銷內部工具促成團隊之間的合作。也有關於每位員工的職責是什麼的文件好讓跨團隊合作,甚至也有內部的使用者體驗調查。
The Broker Pattern & how it works
一個大型架構勢必會有 borker 的存在,此篇撰寫了 borker 介紹、使用時機、功能和優缺點。基本上 borker 在現在架構中扮演重要的角色,可以讓 client 和 server 之間做解藕,減少依賴性,增加擴充性。
Introducing Patcher, a new tool for keeping infrastructure code up-to-date!
IaC 使用套件的管理是鮮少人探討的,例如 Terraform 使用的 modules,而 Gruntwork Patcher 會幫忙查找是否有新使用的套件版本後決定是否更新,之後使用者可以審視變更並且部署。
Writer:
- @lazypro - 從 embedded 到 kernel,從 device 上雲端,程式無涯、無法靠岸,軟體的求道者。
Maintainers:
- @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
- @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
- @LukaTW - 一名全身都是死角的工程師。
- @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
- @RicoChen - 熱愛許多技術且努力看透技術的本質,如果有什麼好玩的技術,還請各位歡迎直接找我聊聊。
Feedback
本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。