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

3つの概念で覚えるLinuxの世界

 3つの概念で覚えるLinuxの世界

166179f92d3bf392db9c148c2b7e6f5a?s=128

Jun Nakajima

March 24, 2021
Tweet

Transcript

  1. 3つの概念で覚えるLinuxの世界
 〜ふつうのLinuxプログラミング 第2版〜
 2021/03/24 おすすめの技術書 LT #itbookslt Jun Nakajima 1

  2. なかじま(@jnuank_)
 • C#→Bash→Python・Vue.js
 • 技術書は紙本と電子版の両方派
 • Linux歴2年9ヶ月くらい
 • モブプロ/ペアプロ/DDD/TDD好き
 ◦

    エヴァンス本輪読会をやってます
 • あだ名:KAIZEN BOZU
 • 由来:カイゼン活動する坊主頭
 自己紹介
 2
  3. 自分のLinux知識
 あんまりわかってない
 3 Linux何もわからん
 
 Linuxよくわからん…
 コマンド叩ける
 syslog見れる
 top、psなど見れる


  4. Linuxよくわからない


  5. ふつうのLinuxプログラミング 第2版


  6. この本をおすすめする理由
 Linuxを構成する三大概念を学べる
 コマンド自作しながら概念の理解を深める
 6

  7. この本の一番嬉しいポイント


  8. Linuxは3つの概念でできてる
 • この本の嬉しいところは、Linuxを構成する要 素を3つの概念で表していること
 ◦ プロセス
 ◦ ファイルシステム
 ◦ ストリーム


    覚えることは(とりあえず)3つだけ
 8
  9. プロセス
 • 実行されるプログラムの区別はプロセス ID(=PID)
 動作中のプログラム
 9 ← catコマンド2回叩くと、
  89、90のPIDでプロセスが
  できている


  10. ファイルシステム
 • ファイルという概念を成り立たせているシステ ム
 • テキスト、バイナリ、ディレクトリ、シンボリック など、全てファイル
 全てをファイルとして扱う
 10

  11. ストリーム
 • プロセスからプロセス。プロセスからファイル のデータの流れ
 バイトストリームのこと
 11 ←PID50のlessプロセスは、
 /app/data2に繋がる0番のストリームに 接続されている


  12. つくって、学ぶ


  13. 手を動かしコマンドを自作する
 • 知識だけ学んだところで、それは知っている だけ。咄嗟に使ったり応用は難しい
 • 土台となる三大概念の知識を実践する取っ 掛かりとして、コマンド自作の演習が用意され ている
 システムコールを通じて、三大概念を理解する
 13

  14. 例:catコマンドより
 • ファイルパスを引数に渡したら
 そのファイルに繋がるストリームを作成。その ストリームを指す数字(ファイルディスクリプタ) を返す
 14 open(2)


  15. 実際にopen(2)の挙動を見る


  16. 学んだことをつなげる


  17. 応用:知ったことをつなげる
 • 本書で説明された概念を覚え、手を動かして 実験していると、自身のLinuxの経験と紐付け られてくる
 • それは本書が、3つの抽象度の高い概念とそ れを裏付ける演習を用意するといった丁寧な 構造となっているからです
 学んだ内容と自身の経験をつなげやすくなる


    17
  18. まとめ


  19. まとめ
 • Linuxの構成概念から、それを主軸に演習を して理解を深められる丁寧な良書
 • 現場でなんとなくLinux触っている人にこそ、 オススメしたいです
 Linux触ったけどよくわからない人にこそ
 19

  20. Thank you! 20