iT邦幫忙

go相關文章
共有 364 則文章
鐵人賽 自我挑戰組 DAY 20

技術 Day20 .[心得與討論篇] chain 鏈式寫法

偶爾會看到鏈式寫法,但實際上自己寫package的時候,還不曾這樣玩過,這篇講解所謂的鏈式寫法,以及拿decimal package稍微做分析範例。 說明 在...

鐵人賽 Modern Web DAY 26
BeeGo 系列 第 26

技術 佈署

佈署的基本,其實在打包 Docker image 時,算是已經處理了。除了編譯出來的執行檔之外,還需要: conf, static, views 這些資料夾。...

鐵人賽 Software Development DAY 20

技術 第二十天:新生 goroutine 的初始狀態

前情提要 昨日我們走過 newproc1 函式的最開頭部份;順利的情況下,能夠取得一個新的 G。 使用 gdb 驗證 我們將斷點設在 runtime.newp...

鐵人賽 Software Development DAY 28

技術 Go 鍊結參數 LDFLAGS

LDFLAGS Go可以在編譯時期透過LDFLAGS來給程式中的變數賦值.例如 編譯時給GIT版本訊息、給版號、給某種secretKey,或者是正式環境的sql...

鐵人賽 自我挑戰組 DAY 29
30天學會Golang 系列 第 29

技術 day29 - 單元測試

大家好,今天是鐵人賽第二十九天。終於快結束啦,倒數一天就來談談單元測試吧。 我雖然是資訊相關科系畢業,但是學校沒有教寫單元測試,上一間公司也不寫單元測試,因為上...

鐵人賽 Software Development DAY 19

技術 第十九天:G 的取得路徑

前情提要 昨日我們都在爬梳註解與其他資料,企圖從比較鳥瞰的角度去觀察排程器與 GO 的系統模型。 acquirem 和 releasem(在 runtime/...

鐵人賽 Modern Web DAY 25
BeeGo 系列 第 25

技術 Docker - MultiStage

前幾篇我們介紹過怎麼打包成 Docker image,但是今天看了一下,發現 image 大小居然超過 500 MB,明明檔案不大,可是 image 大小卻這麼...

鐵人賽 自我挑戰組 DAY 19

技術 Day19 .[心得與討論篇] 走向interface去設計架構(6)- 進階變化

interface的介紹會在這篇先告個段落,因為一個精美的golang底層source code,主體和主體的介接和設計,不是光用interface就能一口氣解...

鐵人賽 Software Development DAY 27

技術 Gin With Swagger, 懶人API Doc生成神器

API文件 每位後端RD, 在寫WebAPI時,一定覺得寫扣還要維護API文件, 是件很繁瑣但又重要的工作. 不寫, 前端或者串接的人照三餐來問.寫, 又很花...

鐵人賽 自我挑戰組 DAY 28
30天學會Golang 系列 第 28

技術 day28 - 反射(續)

大家好,今天是鐵人賽第二十八天。今天繼續講反射。 反射值 反射除了可以獲取變數的型別資訊外,也可以獲取變數內部的值。 反射值的方式有兩種: 先取出空介面,再用...

鐵人賽 Software Development DAY 18

技術 第十八天:GO 語言運行模型的三項之力

前情提要 昨日我們簡單路過 systemstack 函式之後開始了 newproc1 函式。 暫停回顧 P-M-G 關係 雖然在第 10 天時有簡單介紹註解中...

鐵人賽 自我挑戰組 DAY 18

技術 Day18 .[心得與討論篇] 走向interface去設計架構(5)- 從思考資料的想法轉變成思考業務

回顧 筆者直到到半年前為止,開發的內容幾乎是圍繞在平台的部分,後來才踏入遊戲這塊。 平台與遊戲著重的業務處理,明顯有不同的重心,因為平台的業務處理重點在於資料,...

鐵人賽 Modern Web DAY 24
BeeGo 系列 第 24

技術 自動產出API文件

在 Controller 函式加上註解以後,BeeGo 可以自動幫你產出 API 文件,就不需要另外再寫一次文件了。BeeGo 用的是 swagger。 這篇,...

鐵人賽 Software Development DAY 26

技術 Go gRPC第一次接觸...

gRPC vs HTTP API 來源 gRPC gRPC是Google基於HTTP/2跟Protobuf所設計出來的RPC(Remote Prcedur...

鐵人賽 自我挑戰組 DAY 27
30天學會Golang 系列 第 27

技術 day27 - 反射

大家好,今天是鐵人賽第二十七天,我們來談談Go語言的反射。雖然說使用反射會降低效能,但也要是很大量或頻繁的使用才會有感。如果要製作一個靈活的套件或是底層模組,反...

鐵人賽 Software Development DAY 17

技術 第十七天:看看 systemstack 函式呼叫

前情提要 昨日我們以相當貼近記憶體的方式看完了 newproc 函式,主要是在兜出後續呼叫所需要的參數,為接下來的 systemstack 呼叫作準備。 進入...

鐵人賽 Modern Web DAY 23
BeeGo 系列 第 23

技術 回應格式

因為在猶豫要不要用 BeeGo 寫 blog 網站了,所以有點不知道要寫什麼。 今天來介紹回應格式,預設的回應格式是 HTML,所以指定模版以後就搞定了。如果要...

鐵人賽 自我挑戰組 DAY 17

技術 Day17 .[心得與討論篇] 走向interface去設計架構(4)- 思考interface的應用III

重新斟酌內部結構設計 重新再思考一下,外面的struct,裡面是否真的有需要放個struct。 筆者認為,屬於struct內部的變數,放什麼型態都可好處理,除了...

鐵人賽 Software Development DAY 25

技術 Go Websocket 長連線

WebSocket WebSocket(簡稱ws), 在2011年標準化成RFC6455. WebSocket最新支援版本的查詢.目前最新版本為13. 跟以...

鐵人賽 自我挑戰組 DAY 26
30天學會Golang 系列 第 26

技術 day26 - 同步

大家好,今天是鐵人賽第二十六天。通道可以讓多個goroutine的資料同步,不過go語言其實還有其他的同步機制,像是鎖定(lock)。所以今天就來講go語言還有...

鐵人賽 Software Development DAY 16

技術 第十六天:newproc1 之前的堆疊準備動作

前情提要 昨日開始了 newproc 函式,概念上應該是要準備一個新的 goroutine 準備執行?通常是用在 go statement 的生成,但是這裡是...

鐵人賽 Modern Web DAY 22
BeeGo 系列 第 22

技術 Tasks

Tasks 也是 toolbox 提供的一樣功能,主要是可以讓你寫定期執行的任務,像是定期刪除掉很久沒存取的檔案等等的。乍看之時,我本來以為是類似 Celery...

鐵人賽 自我挑戰組 DAY 16

技術 Day16 .[心得與討論篇] 走向interface去設計架構(3)- 思考interface的應用II

生硬的結構 如果外面的struct裡面是包struct,在宣告出來了時候,裡面的struct是定死的,變數就是指定要宣告時的struct型態。 如下所示 //...

鐵人賽 Software Development DAY 24

技術 Gin框架 檔案上傳 & 資料綁定和驗證

網頁或者是業務上總是會需要讓客戶上傳點檔案的.像是大頭照、履歷檔:)、謎片:)、帳單PDF 以前Node我都是用Multer在處理這部份.這次來寫看看Gin的檔...

鐵人賽 自我挑戰組 DAY 25
30天學會Golang 系列 第 25

技術 day25 - 通道(續)

大家好,今天是鐵人賽第二十五天。昨天介紹了通道的基本用法,我覺得通道是一個很複雜的東西,用不好很容易 deadlock,而今天就繼續來講通道的其他特性。 有緩衝...

鐵人賽 Software Development DAY 15

技術 第十五天:追蹤 newproc

前情提要 昨日終於結束了 schedinit 部份,主要是追 gcinit 函式,還有從比較抽象的角度瀏覽了一些垃圾回收的機制。 退回一層 回到我們之前所在的...

鐵人賽 自我挑戰組 DAY 15

技術 Day15 .[心得與討論篇] 走向interface去設計架構(2)- 思考interface的應用I

這幾篇沒有打算從頭教學golang的interface怎麼使用,網路上的範例和資料隨處可見,多多參考不同的見解,就可以對interface有相當的認識,筆者就不...

鐵人賽 Modern Web DAY 21
BeeGo 系列 第 21

技術 Health check

Health check 是包在 toolbox 模組裡,開發小組說 toolbox 是借鏡 Dropwizard 所建立的。 Health check 主要是...

鐵人賽 Software Development DAY 23

技術 Gin框架搭配模板

在實務上, 也不會只有做WebApi專案.也會有做WebServe的專案, 差別在那 ??最顯著的差別就是有沒有View.Gin有提供載入View並且把參數給填...

鐵人賽 自我挑戰組 DAY 24
30天學會Golang 系列 第 24

技術 day24 - 通道

大家好,今天是鐵人賽第二十四天。Go語言的goroutine可以併發,提高程式運算效能,但還需要配合通道的使用,才能發揮最大的效益。 今天就來講go語言的通道,...