iT邦幫忙

go相關文章
共有 387 則文章
鐵人賽 Software Development DAY 27

技術 第二十七天:goroutine 執行中

前情提要 昨日加前日,將 signal 相關的機制瀏覽完,然後準備進入 schedule。 加入排程 終於來到這個無法折返點了。schedule 函式也還是一...

鐵人賽 自我挑戰組 DAY 27

技術 Day27 .[心得與討論篇] struct 設計解析 - 以melody package (7)

Day27 .[心得與討論篇] struct 設計解析 - 以melody package (7) 今天要分享從melody身上學到的許多概念當中,最喜歡的ev...

鐵人賽 Software Development DAY 26

技術 第二十六天:signal 初始化收尾

前情提要 昨日進入 minit 之後再進到 minitSignals,看完了針對 signal 使用的堆疊如何設置。 開始 minitSignalMask f...

鐵人賽 自我挑戰組 DAY 26

技術 Day26 .[心得與討論篇] struct 設計解析 - 以melody package (6)

Part I 首先跟大家介紹一下,Session在處理channel上的小技巧。 多個goroutine進行業務邏輯的處理,和資料的交換,基本上最好的方案是透過...

鐵人賽 Software Development DAY 25

技術 第二十五天:minit 與 signal 設置

前情提要 昨日進入到 mstart 函式之中,可算是整個 bootstrap 的最後階段。在裡面走到 mstart1,也透過 gdb 觀察得知就是在這裡面執行...

鐵人賽 自我挑戰組 DAY 25

技術 Day25 .[心得與討論篇] struct 設計解析 - 以melody package (5)

雖然說struct是業務的主體,但實際上業務與業務之間的邊界,還是得靠method裡面的控管去處理,了解邊界處理的部分,才能夠了解package的作者,對於細節...

鐵人賽 Software Development DAY 24

技術 第二十四天:上膛的 goroutine

前情提要 走到 newproc1 函式的結尾。新的 goroutine 已經如子彈一般上膛了。 一路返回 newproc1 回傳之後會一路回到最初的 rt0_...

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

技術 結語

缺少的功能 需要自己補的功能還蠻多的,目前比較明顯而直接的是 Storage backend,現在檔案只能存到本機上,一般在處理檔案時,會考慮存到外部的檔案存儲...

鐵人賽 自我挑戰組 DAY 24

技術 Day24 .[心得與討論篇] struct 設計解析 - 以melody package (4)

今天我們繼續來看Melody,hub,Session三個業務主體,它們struct當中值得關心的部分。 用前三篇的分析,可以充分了解到,Melody,hub,S...

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

技術 blog (3) - 後台管理

好囉,倒數第二天,來做後台。今天主要會完成後台文章的管理,會有 List, Create, Update, Delete 等,另外也會試著使用 FCKEdito...

鐵人賽 自我挑戰組 DAY 23

技術 Day23 .[心得與討論篇] struct 設計解析 - 以melody package (3)

重新思考物件之間的關係 我們先稍稍拉遠,談談關於物件關係的設計,假設今天有個資料結構的題目是這樣: 有一位老師,老師有許多學生。 以前的我會如下面這樣寫: //...

鐵人賽 Software Development DAY 22

技術 Day 22 - Zookeeper - Leader Election 與 Reverse Proxy 實作,使用Golang

前言 今天我們繼續看幾個跟Zookeeper有關的實作,主要是因為這是那時的作業,使用Golang,我覺得蠻好玩的。 Leader Election 許多分散式...

鐵人賽 Software Development DAY 23

技術 第二十三天:開始排隊

前情提要 之前取得的 newg 狀態已經調整為可執行,而且也已經分配好 ID 了。 newproc1 的尾巴 if raceenabled {...

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

技術 blog (2) - 前台呈現

今天來處理這幾個部份 前台的呈現 首頁,呈現最新的 10 篇文章,需要有分頁 單篇文章 首頁 我們把原來的首頁替換掉,改為呈現最新的 10 篇文章,並...

鐵人賽 Software Development DAY 22

技術 第二十二天:領取號碼牌

前情提要 昨日看到 gostartcallfn 函式眼睛一亮,但終究只是設定一些 context,runtime 還未結束,仍需繼續 trace。 接下去呢?...

鐵人賽 自我挑戰組 DAY 22

技術 Day22 .[心得與討論篇] struct 設計解析 - 以melody package (2)

承上一篇,我們從melody.Session 開始做研究。 step1 . 找出業務主體的struct 首先找到它的位置。 // Session wrapper...

鐵人賽 Software Development DAY 30

技術 CI with Go & Docker on Gitlab

往往需求派下來了,我們把程式寫完了, 或者Dockerfile(or docker-compose)寫好了.總要推上版控的, 應該大部分都是Git吧!!去年開...

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

技術 blog (1) - 規劃與 model

剩下四天,讓我們開始寫簡單的 blog 吧。 我們延續之前的程式,Member 這個 model 就當作文章的作者,基本上,只增加這幾個部份 文章 (Post...

鐵人賽 Software Development DAY 21

技術 第二十一天:配置新的 goroutine

前情提要 昨日我們終於確定取得一個新的 G 物件,並且初次見識到 G 的狀態轉移。 快轉一點點 由於接下來的部份有些雜亂,筆者還是跳過了一些部份,大致交待如下...

鐵人賽 自我挑戰組 DAY 21

技術 Day21 .[心得與討論篇] struct 設計解析 - 以melody package (1)

接下來筆者的系列文,會一連串圍繞在struct的設計分析上,接下來的內容都是自己的感想,並非有所謂的正確答案。 初步解完了interface之後,我們來繼續試圖...

鐵人賽 Software Development DAY 29

技術 Go 交叉編譯 與 Docker <3

Go的交叉編譯 交叉編譯就是指在自己的OS上, 編譯出另一個OS可以執行的程式.現在執行環境不外乎就是三類Windows、Linux、Mac 在Windows上...

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

技術 day30 - 性能測試

大家好,今天是鐵人賽最後一天了,總覺得這一個月過得特別漫長,有幾天因為比較忙碌,就寫得比較短,之後我會找時間補上去。 最後一天再來講Go語言的測試工具,昨天介紹...

鐵人賽 自我挑戰組 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就能一口氣解...