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
54
ソースコードリーディングはいいぞ / source code reading is good
Arata
June 01, 2023
Tweet
Share
More Decks by Arata
See All by Arata
コードエディターのシンタックスハイライトの話
arata_nvm
0
94
LLVMのコード自動生成機構におけるコード記述を支援するツールの作成
arata_nvm
0
39
TableGenの言語サーバーをつくる
arata_nvm
0
490
pwn入門 / introduction to pwn
arata_nvm
1
2k
TableGenと和解せよ / make peace with TableGen
arata_nvm
0
88
sudo-rsのテストの話 / story of sudo-rs testing
arata_nvm
1
140
ネットワーク委員会活動報告 / network committee activity report
arata_nvm
0
16
Twitter専用のPCを作る / create a dedicated Twitter PC
arata_nvm
0
43
日中の電子決済システムの比較と分析 / comparison and analysis of Japanese and Chinese electronic payment systems
arata_nvm
0
83
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Cult of Friendly URLs
andyhume
78
6.1k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Building Your Own Lightsaber
phodgson
104
6.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Site-Speed That Sticks
csswizardry
3
270
How GitHub (no longer) Works
holman
312
140k
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