Study 2019/08月份自我學習回顧

前言

8月份有蠻多事情要處理,首先是 Go Taipei 社群和 DigitalOcean Hsinchu 合辦 Meetup,這也是我第二次在 Go 社群分享主題。而這次探討的主題和 Lock 相關,再加上會涉及一些系統相關議題,因此花了蠻多時間在看相關素材和實作細節,非常怕在 QA 時間被問到什麼很艱深的問題XD 其實每次分享,對分享者來說都是一個蠻有挑戰性的任務,主要是因為這些內容都需要蠻多時間去準備,而這次在工程師大本營新竹來分享,更是膽戰心驚,深怕不能帶給聽者有幫助的知識。不過,幸好這次 Meetup 安然度過了(所以才有時間來整理 8 月份的學習心得),當面認識了一些人,也交流了不少,很開心 :)

![study]({{ site.url }}/assets/images/study-08.png)

另外,這個月另一個挑戰是身體有些狀況,倒也不是啥嚴重病症,不過就是頻頻感冒發炎又牙齒痛,深深感受到工作雖然重要,但是身體還是要顧啊~尤其是看牙齒,做一次根管治療都蠻昂貴,本來想說應該沒有太多蛀牙,沒想到又有一個需要根管 QQ 看來要再更小心牙齒清潔了。

最後,這個月蠻多學習資源都是書籍,所以沒有太多 reference 可以分享。不過這個月看了 Linux Kernel DevelopmentPerfbook ,覺得真是獲得非常多有用的知識,把虛無飄渺的作業系統更具體的呈現給讀者,非常推薦!

預定目標回顧

根據七月初紀錄,七月要完成的目標包含:

1. Go 聯合 meetup 分享講者,準備報告內容 (100%完成)

順利完成,報告 sildes An Introduction to Locks in Go

2. Linux kernel development (100%完成)

看到 10/20 章節,上個月忘記訂一個明確的章節進度,所以怎樣都算完成XD

3. 離散數學 L30 (70%)

這個有點慚愧,最後是在 9 月 1 號把它完成,離預計的進度晚了一天。

4. 因為工作需要,所以可能必須把一部分心力轉移到 Network protocol 分析 (100%完成)

看了 HTTP/2 的 RFC 規範,並且有簡單的 h2c side project,也算是有個交代!

九月份預計進度

  1. Linux kernel development 。預計會再看個三章,包含: Memory Management, Virtual System, I/O layer 部分。
  2. 演算法進度 (2章)和做相關 leetcode。
  3. DB 相關原理實作和效能分析。
  4. Network 相關會看一下 Netlink, QoS 實作。

學習日誌

  • 2019/8/1 Linux 網路卡驅動程式 : 追蹤與效能
  • 2019/8/1 Introduction to Linux interfaces for virtual networking
  • 2019/8/6 Book: Linux Kernel Development chapter 7 - Interrupt
  • 2019/8/3 生理期
  • 2019/8/4 Network side project refactor and write test cases.
  • 2019/7/31 Discrete mathematics- Surjective Functions & Recurrence relation L25C, L25D
  • 2019/8/5 寫每月學習結算 Blog 文章
  • 2019/8/7 Cross-Site WebSocket Hijacking (CSWSH)
  • 2019/8/7 Go-SCP cryptographic / data-protection
  • 2019/8/8 OWASP/System Configuration, Error Handling and Logging
  • 2019/8/9 Book: Linux Kernel Development chapter 9, 10
  • 2019/8/10 Discrete mathematics- L26
  • 2019/8/10 Networking - QoS
  • 2019/8/11 看房子
  • 2019/8/12 Blog format update (add table of content)
  • 2019/8/12 Go Meetup preparing.
  • 2019/8/14 ThreadSanitizer——跟data race说再见 (overview)
  • 2019/8/13 Go meetup preparing - pthread_mutex_t
  • 2019/8/14 Go meetup preparing - experiment
  • 2019/8/15 Study resources
  • 2019/8/15 The user-space RCU API
  • 2019/8/16 Go meetup preparing - sync.rwMutex
  • 2019/8/17 COSCUP 2019
  • 2019/8/18 COSCUP 2019
  • 2019/8/17 Discrete mathematics- Connected Component, Bipartite, Tripartite, Isomorphic, Subgraph - L27A,B
  • 2019/8/18 Blog: semaphore sem_post 在 glibc v2.0 v2.1 之比較
  • 2019/8/19 Discrete mathematics- L27 C, D
  • 2019/8/19 Go meetup preparing - Draw a graph
  • 2019/8/20 Read RFC7540 - HTTP/2 document. How it implement in Go net/http2
  • 2019/8/21 Read RFC7540 - HTTP/2 document. How it implement in Go net/http2 and security issue
  • 2019/8/22 參加 GDG Hsinchu 活動 - Deep Learning/ 發燒生病沒唸書
  • 2019/8/23 發燒生病
  • 2019/8/24 Blog: HTTP/2 h2c server and client.
  • 2019/8/25 持續生病中,悲慘。
  • 2019/8/28 Blog: HTTP/2 h2c server and client
  • 2019/8/26 Read RFC7540 - HTTP/2 document
  • 2019/8/27 Read RFC7540 - HTTP/2 document
  • 2019/8/29 Side Project for h2c-client (Go, CLI tools)
  • 2019/8/30 Gopher conference 2019
  • 2019/8/30 Discrete mathematics- L28 A, B
  • 2019/8/31 Could Native Taiwan User Group. Discrete mathematics- L29 A, B
  • 2019/8/31 Kavya Joshi - Let’s Talk Locks!

學習資源