多開 Goroutine 的效能瓶頸以及 Garbage Collection 對其的影響
Preface Goroutine 作為 Golang 的一大特色 其輕量且快速的特性,使得其的開銷相比 process 以及 thread 要來的低上許多 因此人們往往會將 Goroutine 用在非同步的操作上,比如說 I/O 或者是 CPU-bound 的操作 用以達到併發的效果
Preface Goroutine 作為 Golang 的一大特色 其輕量且快速的特性,使得其的開銷相比 process 以及 thread 要來的低上許多 因此人們往往會將 Goroutine 用在非同步的操作上,比如說 I/O 或者是 CPU-bound 的操作 用以達到併發的效果
Proxy Proxy 是一個中間人,負責處理 client 與 server 之間的溝通請求 相比於 client 直接與 server 溝通,Proxy 的優勢在於可以進行流量控制、負載平衡、安全性控制等 他可以分為兩類 Forward Proxy 以及 Reverse Proxy
Introduction to Priority Queue 針對需要存取一個陣列內,最大或最小值的方法,常見的第一直覺是 sorting 但每次存取每次排序顯然不好,於是有了 Priority Queue 這個資料結構
Test Double 雖然常常講要 mock 這個 mock 那個 不過人家的正式名稱是 Test double(測試替身)
Define Observable System 服務其實不太可能是完全穩定的,總會有一些問題發生 不論是 application 自身的 bug 還是因為 cloud provider 主機異常掉線 這些問題都會對服務造成影響
Brief Large Object Storage System 檔案儲存在現今電腦服務中一直扮演著相當重要的角色 舉例來說,你的大頭貼會需要一個地方儲存 我記得我在學校學習的時候一般來說有兩種做法 上傳到伺服器當中的檔案系統內做儲存,資料庫內寫入存放路徑即可 直接以二進位的方式存入資料庫中
Uber/dig uber/dig 是一套基於 reflection 的 Dependency Injection Framework 意思是我們不需要手動指定依賴,而是透過 reflection 來幫我們自動找出依賴,依靠框架管理
Preface 資料搬遷,在現代軟體服務當中屬於較為常見的一種需求 不論是單純的機器之間的搬資料抑或者是因應商業邏輯而需要做的資料搬遷等等 都是屬於 Data Migration
Preface 在了解 Channel 之前,我們需要先了解一些基本的概念 如果你已經很熟悉這些概念,可以直接跳到 Introduction to Golang Channel 部分
Preface 我最初遇到 CORS 的問題是在我的個人部落格上面,因為我引用了其他網站的圖片 某一天我突然發現圖片跑不出來了? 思來想去我應該也沒有改到程式碼才對 後來看了一下發現好像是 CORS 的問題 所以今天要來講講 CORS
Authorization 開發 API 的過程當中,我們提供了很多功能,其中可能包含較為隱私的功能(比如說,修改密碼,查詢個人資料等等的) 這個時候,你不會希望別人隨便修改你的密碼對吧? 所以就必須要驗證你的身份
Process, Thread and Coroutine Process Process 是跑起來的 Program, 它擁有自己的 memory space, system resources 以及 system state 在系統開機之初,init process(pid 1) 被建立之後,就可以透過 fo...