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
80
0
Share
ソースコードリーディングはいいぞ / source code reading is good
Arata
June 01, 2023
More Decks by Arata
See All by Arata
LLVMのDSL”TableGen”向け言語サーバーの開発
arata_nvm
0
9
5分でわかるPage-Fault Weird Machine
arata_nvm
1
140
eBPFを用いたAndroid向けデバッガ「eDBG」のx86_64 Linuxへの移植
arata_nvm
0
12
Pythonのcopy-and-patch JITの実装を読む
arata_nvm
0
110
eBPFを使った動的解析手法
arata_nvm
1
700
カーネルハック実験の振り返り
arata_nvm
1
48
Improving LLVM Backend Development with a New TableGen Language Server
arata_nvm
0
44
コードエディターのシンタックスハイライトの話
arata_nvm
0
200
LLVMのコード自動生成機構におけるコード記述を支援するツールの作成
arata_nvm
0
90
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
So, you think you're a good person
axbom
PRO
2
2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Navigating Team Friction
lara
192
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The browser strikes back
jonoalderson
0
870
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Statistics for Hackers
jakevdp
799
230k
[SF Ruby Conf 2025] Rails X
palkan
2
880
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
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