iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Modern Web

從0開始的golang web server 系列

說明如何以golang語言從無到有建立一個web server

DAY 1

Day1-什麼是go

golang? 狗鍊? golang, go language 又簡稱為 go,是由Google公司主導開發跟維護的程式語言。 現在成為了開源專案,並支援lin...

2020-09-09 ‧ 由 jim_chung 分享
DAY 2

Day2-選用go的原因與如何建立binary

在建構web-server時,我們有各種選擇,PHP,Nodejs,ASP......等等,那麼為何我們要使用go來建構webserver呢? 快速部署 在前...

2020-09-10 ‧ 由 jim_chung 分享
DAY 3

Day3-架構說明之主程式

架構圖 在建立web-server之前,首先要先思考整個服務的架構,為了方便我們想出架構圖,這邊使用user_story 來幫助思考。 使用者敘述(user s...

2020-09-11 ‧ 由 jim_chung 分享
DAY 4

Day4-設定檔

參數大集合 在建構web-server時,總會需要去指定各種參數,像是mysql的位置,redis的位置,server要開哪些通訊埠(port)給使用者呼叫等等...

2020-09-12 ‧ 由 jim_chung 分享
DAY 5

Day5-設定檔套件介紹:Viper

在前面的章節,我們介紹了可以將參數放在環境變數內,透過os.Getenv來取得參數,不過這種方式有個小問題,因為環境變數是key-value的儲存形式,所以當你...

2020-09-13 ‧ 由 jim_chung 分享
DAY 6

Day6-啟動戰士 Cli

當要執行編寫好的binary時,一般情況會像這樣: ./web-server 但是當要指定是否開啟debug模式,或是資料來源變動時,就會要直接去改程式,在這...

2020-09-14 ‧ 由 jim_chung 分享
DAY 7

Day7-Graceful shutdown

在我們關閉程式時,必須要確認裡面的行為都已經處理完且當下沒有新的要求進來,才能關閉app,不然使用者更新到一半或是資料取一半,結果程式被關閉的話,會造成資料破損...

2020-09-15 ‧ 由 jim_chung 分享
DAY 8

Day8-Web-server 套件 Mux

在建立web-server時,我們需要讓使用者能夠透過我們的api來進行搜尋 新增與修改的功能,意即我們要建立出web-server的router,在這種情況下...

2020-09-16 ‧ 由 jim_chung 分享
DAY 9

Day9-中介器(middleware)

中介器(middleware), 是指發送請求(request)後, 到收到回應(response)前, 途中處理各種用途的部分。 舉例來說,你有著幾百個api...

2020-09-17 ‧ 由 jim_chung 分享
DAY 10

Day10-api與 Http handler

常常聽到webserver提到API API,那麼API到底是什麼? API是應用程式介面(Application Programming Interface)...

2020-09-18 ‧ 由 jim_chung 分享