Upgrade to Pro — share decks privately, control downloads, hide ads and more …

『Goならわかるシステムプログラミング』はオススメ! / My Recommendation book "Go System Programming"

B3acd5ca5925c466705d79a18f1a066c?s=47 mohira
March 24, 2021

『Goならわかるシステムプログラミング』はオススメ! / My Recommendation book "Go System Programming"

「新たな視点を手に入れよう 〜Go風システムプログラミング〜」

[【LT増枠】おすすめの技術書 LT会 【登壇初心者の方大歓迎】 - connpass](https://rakus.connpass.com/event/204979/)

B3acd5ca5925c466705d79a18f1a066c?s=128

mohira

March 24, 2021
Tweet

Transcript

  1. 新たな視点を手に入れよう
 〜Go風システムプログラミング〜
 おーひら
 
 2021.03.24.Wed 
 @おすすめの技術書 LT会


  2. 技術向上のためには何をすればよい?
 Q.

  3. 1つの下のレイヤーを学ぶ
 A.

  4. 1つの下のレイヤーを学ぶこと
 例1: ライブラリ関数
 ・使うだけでなく内部の実装を読む
 
 例2: Webアプリケーションフレームワーク
 ・Webの仕組みを勉強する


  5. プログラミング言語の下のレイヤーとは?
 Q.

  6. OS
 A.

  7. OSはプログラミング言語を支える土台
 『Goならわかるシステムプログラミング』p.3 より引用


  8. OSはどうやって学べばいいだろう?
 Q.

  9. 『Goならわかるシステムプログラミング』
 A.

  10. 『Goならわかるシステムプログラミング』
 目標
 ・OSの仕事が簡単に学べる
 ・プログラミングを支えている下位のレイヤー をプログラマーの視点で知ること
 
 ポイント
 ・Goの視点で進める(C言語じゃない!)


  11. 読んでみて、どんな変化が起きている?
 ・視点が増えた(このあと小さな例を紹介)
 ・Linuxプログラミングも楽しめるようになってきた
 ・Goも少しずつ書けるようになってきた
 ・結局、C言語にも手を出し始めた
 
 📝 まだ全然読み終わってない! → 『Goならわかるシステムプログラミング』をやっていく会

  12. package main import "fmt" func main() { fmt.Println("Hello, world!") }

    def main(): print('Hello, world!') if __name__ == '__main__': main() みんなちがって みんないい
 
 
 

  13. package main import "fmt" func main() { fmt.Println("Hello, world!") }

    def main(): print('Hello, world!') if __name__ == '__main__': main() システムコール視点では同じ!
 $ strace python3 hello.py ... write(1, "Hello, world!\n", 14) = 14 ... $ go build hello.go; s trace ./hello ... write(1, "Hello, world!\n", 14) = 14 …
  14. さて、みなさんが今からすべきことは?
 
 Q.

  15. 本を買いに行こう!
 A.

  16. Amazonなら新品で ¥3,520
 https://www.amazon.co.jp/dp/4908686033 (2021-03-24 17:00時点)


  17. 紙本しかないの?
 Q.

  18. PDF版もある!
 A.

  19. ラムダノートなら同じ値段で紙本とPDFがセット!
 https://www.lambdanote.com/products/go


  20. まとめ
 ・プログラミング言語の1つの下のレイヤーを学ぼう!
 ・いろんな視点でみると深まる!
 ・ラムダノートで買うしかない!
 📝: 発表者TODO: ラムダノートのリンクをお知らせする

  21. Appendix
 (気になったコメントなど)


  22. 下位レイヤーだけでなく、背景の理解も重要


  23. ラムダノートの編集長のコメント
 https://twitter.com/golden_lucky/status/1375274918200418305

  24. 頂いたコメント
 ・1冊買ったら、1冊ついてくる。1-1 = 0 なので実質無料!
 ・一昔前はC言語やっとくといいよ〜のポジションがGOに変わってきて るってかんじですかね
 ・ハードウェアまでレイヤーを低くするのは過剰な気はします
 ・発表者TODO公開しているのいいなーw