前言 之前是看 COMP790 的課程,但是實作起來發現有點問題,而且題目跟實際 source code 說明不太一樣。在花了很多時間釐清之後,發現原課程內容可能來自於 CSE 506: Lecture from Stony Brook University,仔細看了一下 CSE 506 的 Lab 課程,發現題目與 source code 相符程度較高,因此後續會改看 CSE 506 這系列課程。
預備知識 在閱讀下方內容之前,建議先對 Vault 架構有個基本了解,相關官方文章如下:
Vault Architecture Vault Key Rotation Vault Seal/Unseal 另外, Barrier 這個元件在 Vault 相當重要,在 Vault Architecture 頁面中有提及,可以先了解其用意,再來看它是如何被實現。
前言 課程 Operating System Implementation,Lab1 x86 Assembly and Bootloader 是個簡單的實作開場(Lab 源自於 MIT 課程),不過其中卻有蠻多學習的地方。這次來記錄一下 Lab 1 中的 The Stack 實作部分,實作過程中除了需要用 gdb 之外,也需要搭配 asm code。
前言 由於下學期要上計算機結構的課程,所以趁著開課之前來複習一下 OS。這次看的課程是 UNC Operating System Implementation,基本上這課程也是引用 MIT 知名的 JOS 實作,再加上清楚明瞭的 Slides,光是一堂課就能有蠻多地收穫。
Q&A 補充 Slides: Goroutine stack and local variable allocation in Go
在 Docker 的網路規則中,由於 DOCKER-ISOLATION-STAGE-1、DOCKER-ISOLATION-STAGE-2 兩個 iptables chain 的關係,因此不同 Docker network 連結的 container 是無法互相溝通的。不過,我們可以透過建立 router 的手段來規避掉 chain 的限制,讓 container 收到其他 container 來的packages。此方式涉及到 Linux Bridge 處理封包的方式和基本網路知識,希望透過此介紹,來更了解 network stack 與 packages 處理流程。
間隔了好一陣子沒有寫自我學習回顧,其實還是有持續在記錄,不過因為剛換新工作的關係,就忙著適應~以及學校那邊的課程也是如火如荼的進展中,就沒更新這種閒聊性質的文章了,不過技術相關的還是有努力撰寫唷 ・ω・
5 月份主要都在念兩大項目:SDN 和 GCP cloud 線上課程。本來是預期在六月的時候去考試的,沒想到 SDN 期末考就先到來了,因此預計 GCP 考試就會延到七月份。另外,七月也要開始準備 COSCUP 分享,這次題目我很喜歡,但是卻也不好準備,希望不要讓底下的聽眾失望,我會好好加油的!
在分享 Go string to slice 議題 文章後,有朋友(感謝@陳孝思)在社團裡面分享另一個議題,關於在 strings package 的 builder 中有避免 escape analysis 的方式。基於這個分享,我就去查閱了相關 source code 和 issues ,並且整理成此文章。
日前在看 Go runtime/string.go source code 的時候,意外看到一篇文章 Go中string转[]byte的陷阱,不過這篇文章的日期間隔已久,Go version 也從文章中的 1.10 改版到 1.
如果想要在 Google Cloud Platform 的 GKE 上使用 Ingress 功能,最簡單的方式就是用 GKE 本身預設提供的 ingress-gce controller。不過不知道大家在設定 ingress yaml 的時候,有沒有留意到 ingress-gce 規定 service type 只能是 NodePort,但是 ingress-nginx 卻沒有這種限制呢?