Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

なかじま(@jnuank_)
 ● C#→Bash→Python・Vue.js
 ● 技術書は紙本と電子版の両方派
 ● Linux歴2年9ヶ月くらい
 ● モブプロ/ペアプロ/DDD/TDD好き
 ○ エヴァンス本輪読会をやってます
 ● あだ名:KAIZEN BOZU
 ● 由来:カイゼン活動する坊主頭
 自己紹介
 2

Slide 3

Slide 3 text

自分のLinux知識
 あんまりわかってない
 3 Linux何もわからん
 
 Linuxよくわからん…
 コマンド叩ける
 syslog見れる
 top、psなど見れる


Slide 4

Slide 4 text

Linuxよくわからない


Slide 5

Slide 5 text

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


Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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


Slide 8

Slide 8 text

Linuxは3つの概念でできてる
 ● この本の嬉しいところは、Linuxを構成する要 素を3つの概念で表していること
 ○ プロセス
 ○ ファイルシステム
 ○ ストリーム
 覚えることは(とりあえず)3つだけ
 8

Slide 9

Slide 9 text

プロセス
 ● 実行されるプログラムの区別はプロセス ID(=PID)
 動作中のプログラム
 9 ← catコマンド2回叩くと、
  89、90のPIDでプロセスが
  できている


Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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


Slide 12

Slide 12 text

つくって、学ぶ


Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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


Slide 15

Slide 15 text

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


Slide 16

Slide 16 text

学んだことをつなげる


Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

まとめ


Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Thank you! 20