第 123 期 - 跟著酷龍一起 Bing Bing Bing

本週專欄

Python 中的 Lambda

在 Java 8 中加入了 Lambda 的特性,然而為什麼 Java 要加入 Lambda 呢?有些語言內建 Lambda,例如:Python、Ruby。究竟 Lambda 是什麼東西,我們由探討 Python 的 Lambda 來初探 Lambda 的存在意義。

前端開發

不用寫程式也能產生 API — strapi

最近在研究從 0 開始開發一套 CMS 系統,發現原來 CMS 的世界比我想的還要大多了,有一般傳統的例如 wordpress、joomla 等會有各式各樣的樣板可以提供使用者選擇,以及 Headless CMS 一種只負責輸出 api 以及 config 讓前端 UI 自己 render,這篇文章就在介紹 strapi 這套 Headless CMS open source,對 CMS 有興趣的讀者不妨可以看看。

A Thorough Analysis of CSS-in-JS

隨著 JS 框架能做的事情越來越多,如今 css in js 的概念也越來越興盛,像 React 常用的 styled-components 就是這樣的套件,這篇文章分析了一些常用的 css in js library 有興趣的讀者可以看看。

科普|什麼是 Web3.0?用淺顯易懂的方式談談 Web3

隨著區塊鍊的技術越來越成熟,Web 3.0 也開始慢慢被推動,基本上現在的前端工程師只要了解 web2 就好,但隨著時代的進步後續一定會慢慢開始用 web3 的技術,所以想要了解 web3 的一些概念的讀者不妨可以看看這篇文章。

New CSS Features In 2022

作者列出她認為在 2022 年值得關注的 CSS 語法以及使用情境,其中包含了 Container Queries、@when/@else 和 Color Functions 等等,或許有些還沒有辦法被所有瀏覽器支持,但也有部分是已經可以使用的!

A new year, a new MDN

不曉得大家有沒有發現,會用來查詢前端相關語法的 MDN 默默地就改版了!因為 MDN 獲得的貢獻數已經超過了 45,000 人,導致在閱讀體驗時會有點不一致,因此官方團隊在 2021 年開始考慮 MDN 改版,讓使用者的體驗更好!但根據官方團隊的說明,這還不是結束,如果對該社群有興趣的話,不妨一起來看看 MDN 的下一步吧!

5 things you don’t need Javascript for

JavaScript 日益強大,能做到的事情也越來越多,但是這可能會導致我們「過度使用它」。作者列出了 5 項常見的功能,是可以在不需要使用到 JavaScript,好好的利用 HTML 及 CSS 也能夠實現的。

DevOps

Workshops as code

自己也蠻喜歡參加或者舉辦 workshop 所以對這篇很有感觸,以前 workshop 在真正體驗核心技術之前就得花很多時間做前置環境設定,作者就提及之前 2019 年舉辦 NixOS workshop 攏長的前置過程,創虛擬機看似簡單但每個人的環境都不一樣,出問題很難 debug。而 Gitpod 正好解決上述的問題,我們可以把 workshop 環境標準化寫成 code,藉由 container 的重複使用和重複再製的特性,以及 Gitpod 基本上是跑在雲端上的,就讓所有參加者的環境確保一模一樣。

現在你可以直接在網頁按個按鈕就有 NixOS 的環境了,作者也有提供 gitpod-io/template-nixo 給大家嘗試。

The Best DevOps Blogs

雖然這篇文章有點舊了,但其中分享 blogs 的評分非常實用,作者依照 5 個角度去評分這個 blog,分析的依據有:

  1. 文章品質
  2. 一致性
  3. 文章有效壽命
  4. 技術深度
  5. 用途廣泛程度

有些偏向新聞或者文件、有些像是論壇、有些不免俗的會寫自家產品的 DevOps 解決方案或者累積的經驗談,作者也是給經驗談最高的分數。除了文字之外,裡面也有 podcast 的形式,適合通勤的時候聽。

How many AWS Accounts do I need?

我想當 AWS 使用久了就會有這個煩惱,作者就以這些面向去探討,幫讀者分析自己要怎麼設計多個 AWS 帳號的用途。

  • 未來商業發展與團隊
    • 例如以 Infrastructure、Network、Security、Application 和 Data Warehouse 等等不同的團隊做 AWS 帳號的區分。
  • Domain Driven Design(領域驅動設計,俗稱 DDD)
    • 依照不同的商業領域做區分,要注意的判斷哪些 services 應該在同個 AWS 帳號,哪些可以分開。
  • 環境
    • 同一個 service 依照不同的環境分 AWS 帳號,如果本身環境很多的確可以考慮把多個環境合併在一個 AWS 帳號裡。
  • 災難恢復
    • 為了減少 service 恢復的時間,可以把全部或者部分的 service 複製到另外一個 AWS 帳號。
  • 多個 region
    • 這邊比較特別的是作者是以非技術的角度作切入的,每個地理位置的資料隱私政策都不一樣,為了提供更好的使用體驗而做不同 region 和不同 AWS 帳號的決策。
  • 沙盒/測試
    • 跟環境分帳號不一樣的是這需求純粹做類似 infrastructure PoC,或者測試串接多個 AWS 帳號 VPC 網路,或者同個 service 以不同的沙盒環境做測試而區分 AWS 帳號。
  • 正確使用 CI/CD Pipeline 的 AWS 帳號
    • 這也是很有挑戰性的設計,CICD pipeline 要如何「觀察」你的 infrastructure 和 services 在不同的環境、region 和 AWS 帳號之後再做部署。

後端開發

19 Valuable GitHub Repositories for Beginner Developers

作者經常被詢問假如想要開始踏入 Web 開發職涯的話,有哪一些資源可以推薦給初學者,所以就將他覺得最棒的 Repository 給條列出來,雖然大部分都比較適合初學者,但或許資深的工程師也可以從中溫故知新,這些連結經過分類,其中包含課程,Handbook, 最佳守則,專案,面試的各種資源

The streaming bridges — A Kafka, RabbitMQ, MQTT, and CoAP example

當前大家常用來當 Queue 的各種解決方案其實都相當的成熟,看一下其發展歷史: MQTT (1999) -> AMQP (2003) -> RabbitMQ (2007) -> CoAP (2009) -> Kafka (2010),可以發現這中間已有超過 20 年的淬煉,大家現在常聽到的 RabbitMQ 和 Kafka 其實也超過十年有餘,作者利用一個火車運輸系統來展示 RabbitMQ, Kafka, MQTT 和 CoAP 如何各展長才,其中還包含了RabbitMQ, MQTT, CoAP 和 Kafka 的設定步驟,以及 Database PostgreSQL 和 Cassandra 的 DB Scheme,導致篇幅滿長的,有空想要細細品味這個 Queue 是怎麼使用的人可以參考看看

David Boggs, Co-Inventor of Ethernet, Dies at 71

Ethernet 的聯合發明者 David Boggs 於日前 (2022/02/19) 過世,享年 71 歲,他在 1973 年時加入 Xerox PARC 研究室與開發夥伴 Bob Metcalfe 一同投入電腦資訊傳輸的研究,他們花了差不多兩年的時間設計出第一版的 Ethernet,感謝有他們的發明,才讓現今有這麼多采多姿的網路世界

StarBugs Weekly

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

Writers:

  • @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
  • @KyleMo - 雜食性軟體工程師,喜歡的技術我都想學。
  • @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
  • @Jenny - 我不寫 CSS。
  • @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。

Maintainers:

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

Feedback

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