![study]({{ site.url }}/assets/images/golang.jpg)
前言
不知不覺又過了一個月了,本來想說一週要產出一篇文章,結果發現技術文章真的蠻容易難產的,主要原因是我希望能盡可能地從根本去探討這些技術背後運作模式和原理,因此會花費大量時間在整理內容和實驗上。不過部分原因也可能是因為資歷不夠,所以這些內容要思考很久,才會下筆去寫,希望之後慢慢熟稔之後可以加快產出速度。
上個月曾經提到,我會開始複習大學 CS 基礎課程,因為工作後會隨著時間漸漸地把這些基礎原理忘掉,所以這個月就從離散數學開始看起。說到數學,我覺得現在的我把數學當作一種訓練自己思考邏輯的方式,雖然他對我來說真的有點挑戰性,但是在了解這些數學是如何解出最終解的過程中,其實蠻有樂趣,會讓我很訝異原來可以透過這樣子的方式去找答案。當然我在大學時期也很討厭上課,之所有會有這樣體悟,真的是要等待我出社會累積經歷後,才會認知到這樣邏輯訓練很有助於工作效率。
除了念書之外,4月份我也去擔任志工協助 Golang Taipei 的擺攤宣傳。在參加活動上我是超級菜逼八,不過真的蠻有意思,可以認識到不同社群的人,能夠互相交流。雖然目前因為工作關係定居在新竹,但還是希望自己能夠多多參與這樣的活動,看看別人如何推廣技術社群也是一種學習!
學習回顧
本月份學習其實蠻雜的,包含 C、Linux、離散數學、還有一些 Go。之所以會這麼雜,是因為我四月份的上班時間都是在寫 Go 和研讀相關文章,我希望在下班時間可以學一點理論知識,會讓我覺得不這麼像碼農。有些人會來信問我,學習這麼發散,那不就等於什麼都不會?但我認為不是這樣子的,每個技術其實背後原理都是互相關聯,而且最重要的是必須讓自己在腦內建立起關鍵字,讓自己在需要這類知識時,可以快速反應到該如何去找相關知識,以及可以聯想到關聯的應用技術,這樣在解決問題時就會快上許多。
還有另一個原因是,因為專案上使用到 Cgo ,就很自然地想要看一下 C 語言 XD
學習日誌
4月份有 5 天沒有唸書,因為去參加活動,還有氣管過敏有點變嚴重,不知道是不是換季關係 (?)
- 2019/4/2 - cgo - how it works
- 2019/4/2 - 你所不知道的 C 語言:指標篇 (3)
- 2019/4/3 - 你所不知道的 C 語言:指標篇上 - (4)
- 2019/4/4 - 你所不知道的 C 語言:指標篇 (下) -1
- 2019/4/4 - gRPC - The process of Dial()
- 2019/4/5 - gRPC - Name Resolver & Load-Balancer
- 2019/4/6 - New Post - gRPC Client 與 Server 連線流程
- 2019/4/7 - 你所不知道的 C 語言:指標篇 (下) - 2
- 2019/4/8 - 你所不知道的 C 語言:指標篇 (下) -3
- 2019/4/9 - Discrete mathematics - Logical operators_review
- 2019/4/10 - Discrete mathematics - Logical operators, Tautology and contradiction & Logical equivalence
- 2019/4/11 - Linux 核心設計: 記憶體管理 (直播)
- 2019/4/12 - Discrete mathematics - Implication
- 2019/4/14 - Linux 核心設計: 記憶體管理 (2)
- 2019/4/14 - Golang Weekly Study
- 2019/4/15 - Article: Golang Race Detection、The Go Memory Model
- 2019/4/15 - Discrete mathematics - Puzzle
- 2019/4/16 - 惡血,矽谷獨角獸的醫療騙局
- 2019/4/19 - Golang Weekly Study (Advanced Test)
- 2019/4/19 - Discrete mathematics - Predicate
- 2019/4/20 - cgo compile problems solved (include header, dynamic libs, and uint test with .so)
- 2019/4/21 - Discrete mathematics - Quantifiers, propositional function
- 2019/4/22 - 你所不知道的C語言: Stream I/O, EOF 和例外處理
- 2019/4/25 - Discrete mathematics - functional examples
- 2019/4/26 - Golang project refactor (enhance concurrency part)
- 2019/4/27 - Dig into Cgo process and overhead
- 2019/4/28 - dotGo 2019 video
- 2019/4/28 - Cgo dump pre-compile files
- 2019/4/29 - GopherChina - Go concurrency in practice
- 2019/4/30 - Discrete mathematics - Mathematical arguments and functional proposition with De Morgen’s Law