第 170 期 - 哇~這碗麵裡面有加蛋耶!

本週專欄

半路出家的軟體工程師英國求職分享(上)

本文作者 ukyen 是一個半路出家的軟體工程師。原本的職位是客戶支援工程師,雖然工作上有機會編寫一些簡單的腳本及工作站管理,但離純軟的工作還有一大段距離。出國工作一直是他的夢想,在這個大軟體時代,純軟的技能能大大增加出國的機會,所以就開始Python的自學之路。自學一段時間之後,開始嘗試投遞履歷英國、德國的軟體公司,但都因簽證關而係沒有下文。在2019年的時候,很幸運的抽中YMS Tier 5打工度假簽證,正式開啟出國求職的大門。

半路出家的軟體工程師英國求職分享(下)

上篇敘述了大多數面試通用的流程,而這篇記錄著的是去面試每一家英國的公司的面試流程與經驗。文章的最後,作者 ukyen 經過工作一段時間後也順利的將工作簽證辦下來了,恭喜恭喜!

前端開發

Introducing react.dev

React 團隊籌備已久的新文件總算是上線了!新的文件裡面移除了舊文件中保留的 Class Component 的介紹,讓讀者可以直接從 Hooks 開始學習 React,且除了基本的介紹以外,還會有挑戰的區塊,讓你驗證理解內容是否正確,當然也不會少了漂亮的圖來幫助釐清難懂的部分!

6 CSS snippets every front-end developer should know in 2023

文章中提到了以下幾個 CSS 的用法,可以用更少的語法來達到一些特定的效果,文章裡除了 Demo 外,還有特別註記該用法的瀏覽器支援度:

  1. A container query
  2. Scroll snap
  3. Grid pile
  4. Quick circle
  5. Control variants with @layer
  6. Memorize less and reach more with logical properties

Send large files from frontend to the backend

文章中介紹了前端工程師如何利用 JavaScript 的 FileReader,將大型檔案的內容切分小塊傳給後端。

後端開發

自動升級更新執行中的 Docker 容器解決方案 - watchtower

之前就有用過 watchtower 這個小工具,他會定期去幫你檢查 DockerHub(或其他 registry)是不是有新的 image 可以用,如果有的話他就會幫你拉下來重新啟動 container,所以他可以讓你的 container 隨時保持在最新的狀態。因此,我們可以用他來簡化部署流程:先把 watchtower 跑在你的 remote server 上,從此只要把新的 image 上傳到 registry 上,就會自動被部署到 production 上,真的很方便哦。

淺談各種資料庫cache策略: cache aside、read through、write through、write back

以前跟 cache 還不熟的時候,從來沒有想過後端的 cache 有這麼多種可能。這篇文章簡單介紹了 cache aside、read through、write through、write back 這四種策略,並且比較他們各自的優缺點(一致性、讀取效能、寫入效能等等),如果你已經用過 Redis/Memcached,想更深入了解他們在各種情境的使用方式,那這篇文章一定要看看!

這篇文章的技術含量滿高的,在講 Github 後端是怎麼是怎麼做 code search 的功能,因為他們儲存了非常大量的程式碼,所以必須用特別的方式去儲存,才能很快地把結果搜尋出來~

DevOps

How to build, test and deploy your application using Azure and GitHub

當你使用的 git repository 是 GitHub、雲服務用 Azure 且剛好是用 Go 語言的話可以看看這篇入門部署教學,豐富詳盡的圖文手把手部署教學保證可以快速上手。

Linkerd and ingress controllers: bringing the outside world in

Kubernetes Ingress 選擇繁多,為何 Linkerd 可以嶄露頭角呢?他帶來了無痛的 Service Mesh 使用體驗,但為了看到 client IP 我們還是得設定 skip-incoming-ports 不然就會看到 Linkerd 為連線的源頭。Linkerd 也會把封包送往 Service IP 而非 Pod,除非另外設定直接送往 Pod IP。文末也有提供 Linkerd 與其他受歡迎的 Ingress 工具比較,但不外乎都要設定的概念都大同小異。

How to use Kubernetes events for effective alerting and monitoring

Kubernetes Events 是常用但比較少探討的主題(就代表是直觀好用的設計),這些可以靠 Grafana agent + Loki 做監控,而 Events 常見的有:

  1. 狀態改變:像是 Pod 有生成新的、pending、確定產生成功或失敗
  2. 設定改變:像是節點水平擴張、垂直擴張的增加記憶體或硬碟等等
  3. 調度:像是是否能夠下載容器 image、容器有沒有足夠的 cpu or memory 或容器 liveness or readiness 探針採樣失敗

Events 的種類則有:

  1. 失敗
  2. 驅逐
  3. 調度失敗
  4. 硬碟
  5. 節點

Writer:

  • @ukyen - I like to share what I learned. I enjoy writing and believe it is the best way to preserve knowledge.

Maintainers:

  • @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
  • @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
  • @LukaTW - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
  • @RicoChen - 熱愛許多技術且努力看透技術的本質,如果有什麼好玩的技術,還請各位歡迎直接找我聊聊。

Feedback

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