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
83
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
7
コンパイラ基盤を支える言語たち
arata_nvm
1
66
LLVMのDSL”TableGen”向け言語サーバーの開発
arata_nvm
0
20
5分でわかるPage-Fault Weird Machine
arata_nvm
2
290
eBPFを用いたAndroid向けデバッガ「eDBG」のx86_64 Linuxへの移植
arata_nvm
0
19
Pythonのcopy-and-patch JITの実装を読む
arata_nvm
0
130
eBPFを使った動的解析手法
arata_nvm
1
790
カーネルハック実験の振り返り
arata_nvm
1
58
Improving LLVM Backend Development with a New TableGen Language Server
arata_nvm
0
53
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
New Earth Scene 8
popppiees
3
2.3k
Amusing Abliteration
ianozsvald
1
200
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
The World Runs on Bad Software
bkeepers
PRO
72
12k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
600
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