Slide 1

Slide 1 text

ソースコードリーディングはいいぞ 2023/06/01 UNTIL. LT #0x02 @Arata

Slide 2

Slide 2 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 2

Slide 3

Slide 3 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 3 割り込み処理してそう

Slide 4

Slide 4 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 4 割り込み処理してそう タスクの構造体っぽい

Slide 5

Slide 5 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 5 割り込み処理してそう タスクの構造体っぽい アイエエエ!?ニンジャ!?ニンジャナンデ!?

Slide 6

Slide 6 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 A. Linux Kernelのソースコード (v6.4-rc4, linux/kernel/exit.c:940) なんのソースコードでしょう? 6

Slide 7

Slide 7 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ソースコードをリーディングすること ソースコードリーディングとは 7

Slide 8

Slide 8 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 プログラムの中身を読み解くこと ソースコードリーディングとは 8

Slide 9

Slide 9 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 1. プログラムの中身を理解できる 2. エラーが起きたときに対応できる 3. プログラムを書くときの参考になる ソースコードリーディングのうれしさ 9

Slide 10

Slide 10 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ● 自分でも作れるようになる ○ いわゆる車輪の再発明 ● ドキュメントより読みやすい場合がある ○ 自然言語は厳密ではないため うれしさ1: プログラムの中身を理解できる 10

Slide 11

Slide 11 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ● ライブラリのエラーは原因をみつけにくい ○ ライブラリはブラックボックスがち ● 内部実装を知ることでより速くエラーを修正できる ○ どこでエラーが起きているのかの勘が身につく うれしさ2: エラーが起きたときに対応できる 11

Slide 12

Slide 12 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ● 世の中には2種類のコードがある ○ クソコードか ○ それ以外か ● 他人が見て読みやすいかを考えるようになる ○ 他人には過去の自分を含む うれしさ3: プログラムを書くときの参考になる 12

Slide 13

Slide 13 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ソースコードリーディングしたくなったら 13

Slide 14

Slide 14 text

Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ● CTF: コンピュータを使った競技 ● チームで参加可能 ● 開催期間 ○ 2023/6/3 (土) 14:00 JST から ○ 2023/6/4 (日) 14:00 JST まで (宣伝) SECCON Beginners CTF 2023 開催! 14 https://www.seccon.jp/2023/seccon_beginners/content.html