第 58 期 - 我會披星戴月的 Debug

本週專欄

用 JavaScript 玩轉設計模式 | 各司其職的 Chain of Responsibility Pattern(責任鏈模式)

有時候我們在學習設計模式常常會被複雜的 UML 圖給綑綁,尤其是在沒有 Interface 的 JavaScript 上開發更是如此讓人覺得不太容易學習。本週專欄就以聽起來好像很難的 chain of responsibility pattern(責任鏈模式)為例子,帶大家如何用 JavaScript 來實現設計模式的意圖吧!

好文募集

今晚,我想來點 Web 前端效能優化大補帖!

效能是工程師在維護專案時非常重視的要點,不論是 Web 還是 App,甚至是需要大量運算資源的機器學習,都會想追求極致的效能,用高效率換取高價值。不過首先在文章的最開頭想給讀者灌輸一個 mindset:「就 Web Client Side 而言(其他領域我還不夠了解因此先不討論),並不是所有的應用都需要追求效能,有時候獲取效能的背後也許需要花上昂貴的成本,比較起來是得不償失的!

前端開發

Celebrating 25 Years of JavaScript

JavaScript 在 12/4 號的時候邁入 25 歲啦!除了眾所皆知的 JavaScript 只花 10 天就誕生之外,一起看看這 20 個年頭的 JavaScript 一路走來的歷史吧!

The Anatomy of package.json

在開發 Node 專案的時候,大家都一定會看過 package.json,也許你知道它在幫你管理專案裡用到的依賴套件,但除此之外其實還有很多資訊藏在裡面哦!

我是如何阅读源码的

作者簡單的講解它是如何開始閱讀 GitHub 上那些像山一樣的原始碼,但其實更重要的是閱讀原始碼的心態,那就是帶著目的去閱讀,只有當你懷抱著問題出發,才會具有更高的學習效率!

json server

json server 是一套很常用來幫助前端在還沒有後端 API 時可以先用來在本機端起一個 CRUD server 來進行假的 API 串接,而且還支援各種 querystring 的串接,所以只要跟後端工程師討論好 API 介面再利用 json server 就可以很快速的開發網頁了。

mockapi.io

相信有些人一定會覺得還要在本機端起一個 server 是一件成本非常高的事情,畢竟能少寫一個檔案是一個XD 所以這邊要推薦一個懶人作法就是利用 mockapi.io 這個網站達到想要的需求,直接智慧化的建立 CRUD 資料,不過當然有好也有壞,這麼方便的結果就是不能太客製化需求,不過如果開發上是習慣建一個 model 來做資料的預處理,相信資料格式應該也不會是太大的問題才對X

wtfjs

這個主要是讓大家搏君一笑,小弟寫 js 也不過兩年其實就遇到很多 js 的坑,沒想到竟然有人把這些坑整理起來變成一個 github repo 而且還有 2 萬多顆星星真的是太神奇了XD 如果大家想多了解 js 的坑可以到這個 repo 上看一看,看完之後就可以開始放棄學習 js 了(誤

Web Performance

I made my website 28ms faster with content-visibility 🤓

雖然 28ms 真的很少XD,但如果一些常見的優化方法你都已經做了,還想讓網站更快,那可以研究看看 content-visibility 這個 CSS 屬性

Things You Must Know Before Using a CDN

為了讓網站以更快的速度載入所需要的資源,現在很多靜態檔案都會直接丟上 CDN,但 CDN 不是全部東西都丟上去就沒事了,有一些注意事項還是得花時間看看,不然弄得不好說不定會有反效果

The Ultimate Guide to Web Performance 🚀

如果上面兩篇還看不夠的話,這篇是 Web performance 的總整理,內容包括 HTML、CSS、圖片、字體的優化,很適合收藏起來,需要的時候再拿出來看

DevOps

What’s new in Kubernetes 1.20?

這次新版的改動主要以功能改善居多,總共有 43 項,其中有 11 個功能進入到了 Stable ,15 個是全新的改善,17 個則是既有功能的持續改良中,由於都不是新的功能,所以改動的幅度比較小,例如升級完後的 kube-apiserver 在 HA 模式中可以運行的更好,重開的效率更佳,節點可以 Gracefully Shutdown…等,更多詳細內容請參閱連結內文

AWS re:Invent 2020 – Announcements From the News Blog

這次由於 COVID-19 的關係,所以 AWS re:Invent 並沒有在拉斯維加斯舉辦,取而代之的當然是變成線上版,不過精彩度一樣沒變,新功能大爆發,而這篇官方文章把在 re:Invent 期間發布的新聞都條列起來,有在使用 AWS 的人千萬不要錯過了!

What developers need to know about Docker, Docker Engine, and Kubernetes v1.20

事主 Docker 也跳出來請大家不用擔心有關於 Kubernetes 之後要把 dockershim 移除的事情XD 其實這件事情真的已經醞釀好幾年了,當年 2016 大家都在想是不是因為 Docker 太過壯大,所以 Google 和 IBM 這些大公司跳出來一起催生 Containerd 的誕生,講好聽的就是要一起制定標準,難聽的就是我也要分一杯羹
;不過現在有在維運 K8s 的人應該是少數了,所以其實八成以上的人對於這個變更不會有什麼感覺,而 Docker 其實也滿成功的,大家不會講 Container 而是講 Docker,就像有些人以為 GitHub 就是 Git,不知道 Git 算是一種協定,其實還有 GitLab, BitBucket …等的存在

StarBugs Weekly

StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!

Writers:

  • @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
  • @Kyle老莫 - 無法忍受自己一天不進步的熱血社會菜雞。
  • @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
  • @Jenny - 我不寫 CSS。

Curators:

  • @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。

Maintainers:

  • @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
  • @Larry850806 - 我是 Larry,傳說中的 0.1 倍工程師!
  • @LukaTW - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。

Feedback

本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。