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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Arata
June 01, 2023
0
75
ソースコードリーディングはいいぞ / source code reading is good
Arata
June 01, 2023
Tweet
Share
More Decks by Arata
See All by Arata
eBPFを用いたAndroid向けデバッガ「eDBG」のx86_64 Linuxへの移植
arata_nvm
0
9
Pythonのcopy-and-patch JITの実装を読む
arata_nvm
0
100
eBPFを使った動的解析手法
arata_nvm
1
680
カーネルハック実験の振り返り
arata_nvm
1
44
Improving LLVM Backend Development with a New TableGen Language Server
arata_nvm
0
39
コードエディターのシンタックスハイライトの話
arata_nvm
0
190
LLVMのコード自動生成機構におけるコード記述を支援するツールの作成
arata_nvm
0
86
TableGenの言語サーバーをつくる
arata_nvm
0
600
pwn入門 / introduction to pwn
arata_nvm
1
2.6k
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
2.6M
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
300
The Pragmatic Product Professional
lauravandoore
37
7.2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How STYLIGHT went responsive
nonsquared
100
6k
Ruling the World: When Life Gets Gamed
codingconduct
0
170
Agile that works and the tools we love
rasmusluckow
331
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
88
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
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