第 122 期 - 希望世界和平
本週專欄
用 JavaScript 玩轉設計模式 | 替你處理行為的 Proxy Pattern(代理者模式)
Hi!大家好,我是神 Q 超人!今天想要來介紹設計模式中的 Proxy Pattern(代理者模式)。在日常生活中,我們有可能會因為許多原因,沒有辦法直接和對方談話,於是就會透過他的代理人或是助理傳達訊息(就像廠商如果要找藝人合作,就得透過經紀人一樣)。
Proxy Pattern 就如同上述的例子,我們會在目標物件上多包裝一層 Proxy,讓我們透過 Proxy,而不是直接存取目標物件。要在 JavaScript 中使用 Proxy 已經有現成的語法可以使用了,這篇文章就來看看該如何玩轉 Proxy 吧! 🙌
星巴哥專欄作者,原創文章
[Stitches] Style your components with confidence
開發網站時,不管有沒有使用 UI framework 上(Ant Design、element UI…) ,多少都會有專屬的 styling/theme guide。如何維持網站整體風格一致、寫出簡單清楚並好維護的 css 也是重要課題之一。今天並不會探討如何做出一個完整的 Design system 因為那實在是太博大精深,要介紹的只是一個 css in js 的 library Stitches (這兩年才剛推出的超新工具),幫助你在寫 styling 的時候更容易維護。
前端開發
做了一份前端面试复习计划,保熟~
與面試題相關的文章就是那種平常不會去看,但是需要用到的時候又恨著自己平常沒有找時間讀的文章,尤其是只會出現在面試中的那種題目 😂,這裡有個作者就把常見的面試題整理成大補帖,幾乎涵蓋了前端的所有領域,有空或面試之前可以就拿出來看個一兩題! 🙌
Future JavaScript: Records and Tuples
Records 和 Tuples 是 JavaScript 未來有可能會出現的新功能,目前在 tc39 提案的第二階段。他們長得很像 Object 和 Array,但又有哪些其他特別的新功能,看看文章裡怎麼說吧!
Exotic Objects in JavaScript
你有聽過 JavaScript 中的 Exotic Objects 嗎?當你對一個 String 使用一些原生的方法(像是 .split()
等)時,JavaScript 的內部機制會在方法呼叫時,替你把該 String 轉換成 Object 以順利執行 .split()
,這件事背後就是 Exotic Objects 的概念。
Design Pattern
微服務瞎談(7) Saga Pattern
在 microservice 的架構中,每個 service 都有自己的儲存資料的空間,那麼要如何確保這些資料可以保持一致性,這時候就可以利用 saga pattern 這個 design pattern 來處理這個問題。
[Design Pattern] Decorator 裝飾者模式
Decorator pattern 可以說是蠻常使用的一種 design pattern,解決了需要多次繼承或者建立多種實作方式的困擾,如果讀者有遇到重複性很高或者邏輯相識度很高的程式碼,不妨也可以利用 decorator pattern 來進行一個重構的設計。
[ Day 13 ] 自己不會沒關係~找一個代理人幫忙處理 - 代理模式 ( Proxy Pattern )
Proxy pattern 是一種 design pattern 讓你可以利用代理人的方式來進行物件的控管,假如讀者在開發的過程中,遇到一個邏輯相當複雜的物件,可能複雜到很難管理,這時候就可以利用 proxy pattern 進行物件的邏輯改寫,這樣說不定就不會讓這個物件變得難以控管喔!
DevOps
[DevOps] Create your first CI/CD pipeline!!
CI/CD Pipeline 要將新版本軟題發佈所必須要執行的一連串步驟,它透過監控和自動化來改善應用程式開發的流程,特別是在整合跟測試的階段,當然還有交付跟部署,雖然 CI/CD 的所有步驟都可以手動執行,但 CI/CD 真的的價值需要透過自動化才能體現,所以作者將自身經驗和詳細設定過程透過這篇文章介紹分享給大家
主要使用到的工具為 Ubuntu EC2, Java, Jenkins, Maven, Tomcat, Docker, Jira 和 DefectDojo,談到 Build, Test, Release, Deploy 以及 Validation 和 Compliance,過程鉅細彌遺,很適合初學者跟著一起試試看
Chaos Mesh moves to the CNCF Incubator
CNCF Committee 最近投票通過接受 Chaos Mesh 成為 CNCF Incubating 專案,Chaos Mesh 是一個功能眾多的 Chaos Engineering 平台,讓 Chaos 可以在 Kubernetes 的環境中實驗,自從在 2020 年七月成為 CNCF Sandbox 之後,他已經釋出兩個主要大版本更新 (v1.0 和 v2.0) 和 30 幾個次要更新,這些改動讓他在觀測,功能和安全性上帶來重大的改善,感覺是個滿有前景的專案,可以投資一點時間在上面
1Password for SSH & Git (Beta)
自己本來就有購買 1Password 供個人使用,不然不好做到不同網站的密碼又複雜又相異,兩天看到 1Password 的文章發現竟然釋出 SSH 的功能,以後就可以把 SSH Key 也存在 1Password 裡面,都過他去存取 Git 或是 SSH 到其他的伺服器內,目前已經有支援 Mac, Linux 跟 Windows,有使用 1Password 的人可以趕緊一起來使用看看 😊
StarBugs Weekly
StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!
Writers:
- @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
- @KyleMo - 雜食性軟體工程師,喜歡的技術我都想學。
- @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
- @Jenny - 我不寫 CSS。
- @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。
Maintainers:
- @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
- @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
- @LukaTW - 一名全身都是死角的工程師。
- @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
Feedback
本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。