IoC 在 TypeScript 中的實作

預估閱讀時間: 6 分鐘
event 2022/5/21
work 程式
turned_in 中篇
turned_in IoC
turned_in TypeScript
turned_in DI
turned_in Design Pattern
turned_in 心得
turned_in 進階
以一個有名的開源專案為例子,整理出幾個 IoC 不錯的用法,以及基本應該遵守的規則。
最近為新專案導入 Inversion of Control (IoC) container,發現 Container Libraries 中,大部分都只有和自己相關的教學文件,比較少有實際實作的範例,這邊文章以一個有名的開源專案為例子,整理出幾個不錯的用法,以及基本應該遵守的規則。 IoC Containers 現在有很多很棒的 Containers 供大家使用,如果您使用 Angular 或是 Nest.js 之類的 Framework,本身也有內建 Container/DI 的功能,這邊列出幾個比較多人使用的 Container: * InversifyJS (本篇使用的 Conta

Bastion Host - Teleport 介紹

預估閱讀時間: 4 分鐘
event 2021/7/20
work 程式
work 雲端
turned_in 中篇
turned_in K8S
turned_in 工具
最近公司內部使用 Teleport 作為 Bastion Host,使用起來非常方便,寫篇文章簡單介紹一下它。
什麼是堡壘機 Bastion Host 通常我們會把內部的服務像是 Databases 或應用程式放在 Private Subnets,這些機器不能直接由 Public IP 存取,而是藉由 Load Balancers (ALB, ELB) 將流量導向內部的機器,這樣可以保護我們的服務不受外部攻擊,只讓真正需要對外的服務能夠被存取。如下圖所示(通常 Applications 和 Databases 不會放在同一個 Subnet): 不過我們偶爾還是需要 SSH 進去 Private Subnets 中的機器進行部署或診斷,這時候就需要額外的「跳板」讓我們連進機器了,這台機器就稱為 Bast

Kubernetes cluster autoscaler 介紹

預估閱讀時間: 9 分鐘
event 2020/5/10
work 程式
work 雲端
turned_in 中篇
turned_in K8S
turned_in Azure
turned_in AWS
turned_in CA
在一般的開發我們很少會處理到群集的伸縮,整個產品中可能就會研究一次,所以我稱這次工作上難得處理到 K8S Cluster autoscaler,趕快記錄下來,也和大家分享。
甚麼是 Cluster Autoscaler (CA) Cluster Autoscaler (以下簡稱 CA) 是 Kubernetes 官方出的一個工具,讓你的 Cluster 依照需求伸縮,簡單來說就是幫你開/關雲端上的機器。通常會配合上 Horizontal Pod Autoscaler (以下簡稱 HPA) 一起使用,當 Pod 記憶體/CPU 或其他指標達到一定標準後,擴展 Pod,當沒有足夠的機器 (Node) 來執行 Pod 時,CA 就會幫你擴展機器。相反的需求下降時,HPA 降低 Pod 數量,CA 也會關閉不需要的機器,如此一來就可以節省成本又可以達到同樣的運算能力。

智慧體重計破壞筆記

預估閱讀時間: 3 分鐘
event 2018/5/10
work 程式
work iot
turned_in 中篇
turned_in 樹莓派
這是我簡單紀錄去年體重計壯烈犧牲的過程,利用樹莓派接收智慧體重計發送的藍芽訊號,達到不用手機也能把數據上傳到雲端的無用功能。
這是我簡單紀錄去年體重計壯烈犧牲的過程,利用樹莓派接收智慧體重計發送的藍芽訊號,達到不用手機也能把數據上傳到雲端的無用功能。 改造體重計(物理) 2017 年底剛好有每天記錄體重的需求,又不想要每次量完都得開電腦手動紀錄,所以就把腦動到體重計上了,如果能把量測到的數值傳到樹莓派上,再利用 wifi 訊號傳到 Google Fit 上,應該能大幅增加每天記錄體重的成功機率 ! 火速到電子材料行買了 HX-711 感測模組,體重計上有四個 Load Cell ,只要把他們組成一組惠斯同電橋,再把輸出訊號給壓力模組,最後利用樹莓派接收轉好的數位訊號就大功告成了,就和這這個網站寫的一樣簡單:)

使用 Node Js 讀取 DHT11 溫溼度感測器

預估閱讀時間: 5 分鐘
event 2017/12/8
work 程式
work iot
turned_in 中篇
turned_in 樹莓派
使用 Node JS 來了解和 DHT11 感測器是如何溝通的。
前言 剛入門單晶片時,讀取溫度感測器是很多新手第一個實作目標,網路上也有很多 Library 可以直接使用。也因為如此,我一直沒弄清楚單晶片和感測器是如何溝通的,這幾天剛好想使用 Node Js 來接,稱這個機會好好了解通訊原理吧! 基本資訊 會挑選 DHT11 來深入研究是因為他是個很多人在使用的模組,規格書也相對完整許多,很適合新手閱讀 XD,這篇文章會以 這份 規格書來講解。 圖片來自 http://www.micropik.com/PDF/dht11.pdf DHT11 的 1、4 號角位分別接上 VDD 和接地,2 號腳位是和 MCU 通訊用的雙向傳輸通道,3 號角位是沒有用處

Goofy's blog

Hi, 這是一個沒有技術的工程師的部落格,會寫些技術筆記、旅遊紀錄以及大量的廢話,歡迎拍打餵食。
有任何建議都可以在文章下方留言或是到 Github 上開 Issue 😃