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
84
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ソースコードリーディングはいいぞ / source code reading is good
Arata
June 01, 2023
More Decks by Arata
See All by Arata
デコンパイラ研究調査
arata_nvm
1
9
コンパイラ基盤を支える言語たち
arata_nvm
1
67
LLVMのDSL”TableGen”向け言語サーバーの開発
arata_nvm
0
22
5分でわかるPage-Fault Weird Machine
arata_nvm
2
320
eBPFを用いたAndroid向けデバッガ「eDBG」のx86_64 Linuxへの移植
arata_nvm
0
21
Pythonのcopy-and-patch JITの実装を読む
arata_nvm
0
140
eBPFを使った動的解析手法
arata_nvm
1
790
カーネルハック実験の振り返り
arata_nvm
1
59
Improving LLVM Backend Development with a New TableGen Language Server
arata_nvm
0
54
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Faster Mobile Websites
deanohume
310
31k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Chasing Engaging Ingredients in Design
codingconduct
0
220
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
860
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
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