前情提要 昨日加前日,將 signal 相關的機制瀏覽完,然後準備進入 schedule。 加入排程 終於來到這個無法折返點了。schedule 函式也還是一...
Day27 .[心得與討論篇] struct 設計解析 - 以melody package (7) 今天要分享從melody身上學到的許多概念當中,最喜歡的ev...
前情提要 昨日進入 minit 之後再進到 minitSignals,看完了針對 signal 使用的堆疊如何設置。 開始 minitSignalMask f...
Part I 首先跟大家介紹一下,Session在處理channel上的小技巧。 多個goroutine進行業務邏輯的處理,和資料的交換,基本上最好的方案是透過...
前情提要 昨日進入到 mstart 函式之中,可算是整個 bootstrap 的最後階段。在裡面走到 mstart1,也透過 gdb 觀察得知就是在這裡面執行...
雖然說struct是業務的主體,但實際上業務與業務之間的邊界,還是得靠method裡面的控管去處理,了解邊界處理的部分,才能夠了解package的作者,對於細節...
前情提要 走到 newproc1 函式的結尾。新的 goroutine 已經如子彈一般上膛了。 一路返回 newproc1 回傳之後會一路回到最初的 rt0_...
今天我們繼續來看Melody,hub,Session三個業務主體,它們struct當中值得關心的部分。 用前三篇的分析,可以充分了解到,Melody,hub,S...
好囉,倒數第二天,來做後台。今天主要會完成後台文章的管理,會有 List, Create, Update, Delete 等,另外也會試著使用 FCKEdito...
重新思考物件之間的關係 我們先稍稍拉遠,談談關於物件關係的設計,假設今天有個資料結構的題目是這樣: 有一位老師,老師有許多學生。 以前的我會如下面這樣寫: //...
前言 今天我們繼續看幾個跟Zookeeper有關的實作,主要是因為這是那時的作業,使用Golang,我覺得蠻好玩的。 Leader Election 許多分散式...
前情提要 之前取得的 newg 狀態已經調整為可執行,而且也已經分配好 ID 了。 newproc1 的尾巴 if raceenabled {...
今天來處理這幾個部份 前台的呈現 首頁,呈現最新的 10 篇文章,需要有分頁 單篇文章 首頁 我們把原來的首頁替換掉,改為呈現最新的 10 篇文章,並...
前情提要 昨日看到 gostartcallfn 函式眼睛一亮,但終究只是設定一些 context,runtime 還未結束,仍需繼續 trace。 接下去呢?...
承上一篇,我們從melody.Session 開始做研究。 step1 . 找出業務主體的struct 首先找到它的位置。 // Session wrapper...
往往需求派下來了,我們把程式寫完了, 或者Dockerfile(or docker-compose)寫好了.總要推上版控的, 應該大部分都是Git吧!!去年開...
剩下四天,讓我們開始寫簡單的 blog 吧。 我們延續之前的程式,Member 這個 model 就當作文章的作者,基本上,只增加這幾個部份 文章 (Post...
前情提要 昨日我們終於確定取得一個新的 G 物件,並且初次見識到 G 的狀態轉移。 快轉一點點 由於接下來的部份有些雜亂,筆者還是跳過了一些部份,大致交待如下...
接下來筆者的系列文,會一連串圍繞在struct的設計分析上,接下來的內容都是自己的感想,並非有所謂的正確答案。 初步解完了interface之後,我們來繼續試圖...
Go的交叉編譯 交叉編譯就是指在自己的OS上, 編譯出另一個OS可以執行的程式.現在執行環境不外乎就是三類Windows、Linux、Mac 在Windows上...
大家好,今天是鐵人賽最後一天了,總覺得這一個月過得特別漫長,有幾天因為比較忙碌,就寫得比較短,之後我會找時間補上去。 最後一天再來講Go語言的測試工具,昨天介紹...
偶爾會看到鏈式寫法,但實際上自己寫package的時候,還不曾這樣玩過,這篇講解所謂的鏈式寫法,以及拿decimal package稍微做分析範例。 說明 在...
前情提要 昨日我們走過 newproc1 函式的最開頭部份;順利的情況下,能夠取得一個新的 G。 使用 gdb 驗證 我們將斷點設在 runtime.newp...
LDFLAGS Go可以在編譯時期透過LDFLAGS來給程式中的變數賦值.例如 編譯時給GIT版本訊息、給版號、給某種secretKey,或者是正式環境的sql...
大家好,今天是鐵人賽第二十九天。終於快結束啦,倒數一天就來談談單元測試吧。 我雖然是資訊相關科系畢業,但是學校沒有教寫單元測試,上一間公司也不寫單元測試,因為上...
前情提要 昨日我們都在爬梳註解與其他資料,企圖從比較鳥瞰的角度去觀察排程器與 GO 的系統模型。 acquirem 和 releasem(在 runtime/...
前幾篇我們介紹過怎麼打包成 Docker image,但是今天看了一下,發現 image 大小居然超過 500 MB,明明檔案不大,可是 image 大小卻這麼...
interface的介紹會在這篇先告個段落,因為一個精美的golang底層source code,主體和主體的介接和設計,不是光用interface就能一口氣解...