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