Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソースコードリーディングはいいぞ / source code reading is good
Search
Arata
June 01, 2023
0
68
ソースコードリーディングはいいぞ / source code reading is good
Arata
June 01, 2023
Tweet
Share
More Decks by Arata
See All by Arata
Pythonのcopy-and-patch JITの実装を読む
arata_nvm
0
20
eBPFを使った動的解析手法
arata_nvm
0
530
カーネルハック実験の振り返り
arata_nvm
0
23
Improving LLVM Backend Development with a New TableGen Language Server
arata_nvm
0
8
コードエディターのシンタックスハイライトの話
arata_nvm
0
160
LLVMのコード自動生成機構におけるコード記述を支援するツールの作成
arata_nvm
0
68
TableGenの言語サーバーをつくる
arata_nvm
0
570
pwn入門 / introduction to pwn
arata_nvm
1
2.4k
TableGenと和解せよ / make peace with TableGen
arata_nvm
0
150
Featured
See All Featured
Visualization
eitanlees
149
16k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
GitHub's CSS Performance
jonrohan
1032
470k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Music & Morning Musume
bryan
46
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Build your cross-platform service in a week with App Engine
jlugia
233
18k
Fireside Chat
paigeccino
41
3.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Designing for humans not robots
tammielis
254
26k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Transcript
ソースコードリーディングはいいぞ 2023/06/01 UNTIL. LT #0x02 @Arata
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 2
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 3 割り込み処理してそう
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 4 割り込み処理してそう タスクの構造体っぽい
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 なんのソースコードでしょう? 5 割り込み処理してそう タスクの構造体っぽい アイエエエ!?ニンジャ!?ニンジャナンデ!?
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 A. Linux Kernelのソースコード (v6.4-rc4, linux/kernel/exit.c:940) なんのソースコードでしょう?
6
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ソースコードをリーディングすること ソースコードリーディングとは 7
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 プログラムの中身を読み解くこと ソースコードリーディングとは 8
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 1. プログラムの中身を理解できる 2. エラーが起きたときに対応できる 3. プログラムを書くときの参考になる
ソースコードリーディングのうれしさ 9
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 • 自分でも作れるようになる ◦ いわゆる車輪の再発明 • ドキュメントより読みやすい場合がある
◦ 自然言語は厳密ではないため うれしさ1: プログラムの中身を理解できる 10
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 • ライブラリのエラーは原因をみつけにくい ◦ ライブラリはブラックボックスがち • 内部実装を知ることでより速くエラーを修正できる
◦ どこでエラーが起きているのかの勘が身につく うれしさ2: エラーが起きたときに対応できる 11
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 • 世の中には2種類のコードがある ◦ クソコードか ◦ それ以外か
• 他人が見て読みやすいかを考えるようになる ◦ 他人には過去の自分を含む うれしさ3: プログラムを書くときの参考になる 12
Twitter: @arata_nvm 2023/06/01 #until_lt0x02 ソースコードリーディングしたくなったら 13
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