# ZiXiang-Blog

## ZiXiang-Blog

- [Jerry Wang Blog](https://xiang753017.gitbook.io/zixiang-blog/master.md): 主要分享有關於Backend 相關的心得。
- [使用 TorchServe 部署 Model](https://xiang753017.gitbook.io/zixiang-blog/shi-yong-torchserve-bu-shu-model.md): TorchServe 是 PyTorch 提供給開發者部署 models 的工具（實驗階段）。也就是說開發者不用再寫 HTTP 服務去部署，直接使用 TorchServe 工具就可以了！
- [How do AppRTC work in WebRTC mechanism ?](https://xiang753017.gitbook.io/zixiang-blog/how-do-apprtc-work-in-webrtc-mechanism.md): In this article, we illustrate how AppRTC do work.
- [\[系統設計\]- 容易產生設計盲點](https://xiang753017.gitbook.io/zixiang-blog/xi-tong-she-ji-rong-yi-chan-sheng-she-ji-mang-dian.md): 正確的設計: 理應是設計出一個不是最差的架構，而不是要試圖設計一個最好的架構 (Never shoot for the best architecture, but rather the least worst architecture)。
- [\[Golang\] Goroutine Concurrency多執行緒淺談](https://xiang753017.gitbook.io/zixiang-blog/golang/golang-goroutine-concurrency-duo-zhi-hang-xu-qian-tan.md): #golang #thread #sync.WaitGroup #sync.Lock #channel #context #concurrency
- [\[Golang\]: 進階用法](https://xiang753017.gitbook.io/zixiang-blog/golang/draft-golang-unsafe-pkg-zuo-yong-yu-yong-fa.md): #golang #annotation #reflection #interface型別轉換 #tag
- [Golang go mod 入門](https://xiang753017.gitbook.io/zixiang-blog/golang/golang-go-mod-ru-men.md): Golang: go mod 起手式. Golang 套件到底要怎麼用？！
- [\[Golang\] 讓 Goroutine Debug 變得更簡單](https://xiang753017.gitbook.io/zixiang-blog/golang/golang-rang-goroutine-debug-bian-de-geng-jian-dan.md): #goroutine #golang #OOM #concurrency
- [HTTP Token 使用方式: Basic Token v.s Bearer Token](https://xiang753017.gitbook.io/zixiang-blog/security/http-token-shi-yong-fang-shi-basic-token-v.s-bearer-token.md): 在Auth的過程，很常會看到Basic、Bearer 型態的Token，而是用的場景不太一樣。Basic 用在存取一個網站、網域的時候，Bearer則是用於存取Protect Resource 的時候。
- [從 RFC 規格書觀點解析 OAuth 2.0](https://xiang753017.gitbook.io/zixiang-blog/security/cong-rfc-gui-ge-shu-guan-dian-jie-xi-oauth-2.0.md): OAuth2 目前一種 Web 主流的安全認證方法，是一種授權框架，資源所有者(Resource Owner)可以藉由授權伺服器(Authorization Server)來允許第三方應用程式(Client)來訪問的受保護的資源(Protected Resource)。
- [區塊鏈物聯網架構 解決哪些安全性議題？](https://xiang753017.gitbook.io/zixiang-blog/security/ou-kuai-lian-wu-lian-wang-jia-gou-jie-jue-na-xie-an-quan-xing-yi-ti.md): 本篇會列舉出 IoT可能面對的安全性議題，並且闡述傳統和區塊鏈架構之間的差別與使用時機。. “區塊鏈物聯網架構: 解決哪些安全性議題？”
- [\[深入淺出MQTT\]:  v3.1.1與v5 的差異](https://xiang753017.gitbook.io/zixiang-blog/broker/shen-ru-qian-chu-mqttv3.1.1-yu-v5-de-cha-yi.md): MQTT v3.1.1 與 v5 完全相容，且提供許多Cluster 所需要的功能，如Shared Subscriptions、 User Properties等實用功能，且不會因為新增加功能造成效能低落的問題。
- [Broker 到底是什麼？](https://xiang753017.gitbook.io/zixiang-blog/broker/broker-dao-di-shi-shen-me.md): 市面上 Broker 百百種，最有名的應該是message Queue，如MQTT、RabbitMQ、Kafka等。可是很少人知道Broker其實指軟體設計的架構。事實上很多時候在撰寫的軟體的時候也寫了Broker 只是不知道它是broker。
- [Patterns for Organizing Domain Logic](https://xiang753017.gitbook.io/zixiang-blog/patterns/patterns-for-organizing-domain-logic.md)
- [Domain Model: 從無到有規劃新的服務](https://xiang753017.gitbook.io/zixiang-blog/patterns/domain-model-cong-wu-dao-you-gui-hua-xin-de-fu-wu.md)
- [淺談CQRS](https://xiang753017.gitbook.io/zixiang-blog/patterns/qian-tan-cqrs.md)
- [Backend System in Microservice Architecture: Where Does data store?](https://xiang753017.gitbook.io/zixiang-blog/patterns/backend-system-in-microservice-architecture-where-does-data-store.md)
- [Ambassador pattern with Shared Database Pattern](https://xiang753017.gitbook.io/zixiang-blog/patterns/ambassador-pattern-with-shared-database-pattern.md)
- [Microservice Pattern 犧牲了什麼？](https://xiang753017.gitbook.io/zixiang-blog/patterns/microservice-pattern-xi-sheng-le-shen-mo.md): Tag: #microservice, #monolithic, #軟體工程
- [Distributed Transaction Design](https://xiang753017.gitbook.io/zixiang-blog/patterns/distributed-transaction-design.md)
- [分散式系統: 現代軟體架構與設計考量](https://xiang753017.gitbook.io/zixiang-blog/k8s/fen-san-shi-xi-tong-xian-dai-ruan-ti-jia-gou-yu-she-ji-kao-liang.md): 分散式系統的定義: A distributed system is a collection of autonomous computing elements that appears to its users as a single coherent system。
- [Kubernetes 超入門](https://xiang753017.gitbook.io/zixiang-blog/k8s/kubernetes-chao-ru-men.md): Kubernetes(k8s) 是一種讓使用者管理Cluster 的一種工具，在各雲端平台如Azure, GKE, AWS...等等都支援，本文章提供kubernetes 基礎觀念。
- [Kubernetes 架構](https://xiang753017.gitbook.io/zixiang-blog/k8s/kubernetes-jia-gou.md)
- [K8s 在 DevOps 中的作用](https://xiang753017.gitbook.io/zixiang-blog/k8s/k8s-zai-devops-zhong-de-zuo-yong.md): K8s 是一套 Ops (Operation) 的工具，DevOps 指的是開發部門與維運部門的整合(Dev + Ops)，然而由於實務上，往往開發速度 > 維運部署的速度，因此 DevOps 的議題往往是產品開發的重點。GitOps 則是自動化部屬與整合的產物，搭配 Git Resposity 工具使用，快速的將產品部署於 K8s cluster中。
- [Relation Database Index Overview](https://xiang753017.gitbook.io/zixiang-blog/database/relation-database-index-overview.md): 從底層簡介關聯性資料庫 I/O 讀取的原理，詳細分析 index 是如何運作。 #RDBMS #index
- [Draft: RDBMS(MySQL) v.s NoSQL (Monogo)](https://xiang753017.gitbook.io/zixiang-blog/database/draft-rdbms-mysql-v.s-nosql-monogo.md)
- [\[淺談\]- How Do RDBMS Thread work ?](https://xiang753017.gitbook.io/zixiang-blog/database/qian-tan-how-do-rdbms-thread-work.md): #database #RDBMS #Threads #關聯式資料庫 #多執行緒
- [\[淺談\]-NoSQL資料庫怎麼選？](https://xiang753017.gitbook.io/zixiang-blog/database/qian-tan-nosql-zi-liao-ku-zen-me-xuan.md): NoSQL是目前在雲端服務很常使用的一種型態的資料庫，僅具備BASE原則。然而在市場上有許多種類的NoSQL，如MongoDB、Redis、HBase...等，本文章則從Scalability、Sharding、Replication的角度切入，並同時帶入CAP理論進行分類。
- [How do pick the database more correctly?](https://xiang753017.gitbook.io/zixiang-blog/database/how-do-pick-the-database-more-correctly.md)
- [Draft: 關聯式資料庫需要知道的幾件事](https://xiang753017.gitbook.io/zixiang-blog/database/draft-guan-lian-shi-zi-liao-ku-xu-yao-zhi-dao-de-ji-jian-shi.md)
- [Overview The WebSocket Mechanism](https://xiang753017.gitbook.io/zixiang-blog/http/overview-the-websocket-mechanism.md): This article introduces What’s the Websocket and how it works.
