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
小さな疑問を大事にすると成長に繋がる
Search
Satoru Takeuchi
PRO
June 09, 2024
Technology
3
190
小さな疑問を大事にすると成長に繋がる
以下動画のテキストです
https://youtu.be/g0OOIDM23oI
Satoru Takeuchi
PRO
June 09, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
eBPF
sat
PRO
1
110
waruiBPF
sat
PRO
0
100
eBPFとwaruiBPF
sat
PRO
5
3.3k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
0
92
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
180
様々なファイルシステム
sat
PRO
0
330
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
420
ソースを読むプロセスの例
sat
PRO
22
18k
メモリマップトファイル
sat
PRO
1
180
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
210
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
140
First-Principles-of-Scrum
hiranabe
2
1k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
340
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
160
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
540
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
680
ESXi のAIOps だ!2025冬
unnowataru
0
470
AIと融ける人間の冒険
pujisi
0
110
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
1
150
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
54
It's Worth the Effort
3n
187
29k
Skip the Path - Find Your Career Trail
mkilby
0
37
The Limits of Empathy - UXLibs8
cassininazir
1
200
Music & Morning Musume
bryan
46
7k
Discover your Explorer Soul
emna__ayadi
2
1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
The Curious Case for Waylosing
cassininazir
0
200
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
390
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
Transcript
小さな疑問を大事にすると 成長に繋がる Jun. 9th, 2024 Satoru Takeuchi X: satoru_takeuchi 1
はじめに • はなすこと ◦ ソフトウェア技術者として成長する考え方の一つを紹介 ◦ 参考書をじっくり見る、大きなソフトウェアを作るといった大がかりなことではない ◦ 日々のちょっとしたことが後で役立つことを過去の経験をもとに紹介 •
主なターゲット ◦ 技術者として成長したいが、うまくいかないと思っている人 ◦ それでいて、なんとなく日々を過ごしてしまっている人 2
基本的な考え方 • やること ◦ 日々の小さな疑問が生まれたときに、そのままにせず調べる • 効果 ◦ 調べたこと自体で知識が増える ◦
達成感が得られる ◦ その後思わぬところで役立つこともある 3
概念図 もとの状態 4 既存知識
概念図 もとの状態 好奇心が湧く 5 既存知識 ここがわからん… 既存知識
概念図 もとの状態 調べて理解 好奇心が湧く 6 既存知識 新たな 知識 ここがわからん… 既存知識
既存知識 完全理解!
概念図 もとの状態 調べて理解 好奇心が湧く 別の時に… 7 既存知識 新たな 知識 ここがわからん…
既存知識 既存知識 完全理解! 新たな 知識 既存知識 ここがわからん… 別の機会に 得た知識
概念図 もとの状態 調べて理解 好奇心が湧く 別の時に… 8 役立った! 既存知識 新たな 知識
ここがわからん… 既存知識 既存知識 完全理解! 新たな 知識 既存知識 ここがわからん… 新たな 知識 既存知識 新たな知識 別の機会に 得た知識 完全理解!
実例 • 疑問 ◦ lsblkというブロックデバイスをリストするコマンドの仕組みが気になった • 調査結果 ◦ lsblkの仕組みが明らかになった •
数か月後 ◦ lsblkの実行結果を利用する別コマンドの挙動で困ることがあった ◦ 過去の知見を生かして対処できた 9
疑問に至るまでの流れ • 背景 ◦ 自分は業務でRookというCeph(分散ストレージ)を管理するツールのメンテナをしている ▪ https://github.com/rook/rook ◦ RookはCephが使うOSDというデータ構造をブロックデバイス上に作る ▪
1. lsblkコマンドを実行してデバイスのタイプ (e.g. disk、part)を調べる ▪ 2. Cephがサポートしているタイプであれば、 OSDを作る • 疑問 ◦ lsblkコマンドはTYPEフィールドの値をどこから持ってきているのか ? 10
調査した 1. 気になるから調べてみよう(ここ重要) 2. ソース見ればわかるやろ a. 見るべきところは数十行なので 30分くらいで読み終えられた 3. 完全理解してスッキリ
• 📝 lsblkの挙動を詳しく説明している過去動画 ◦ lsblkのtypeフィールドのしくみ ◦ https://youtu.be/x_QSV1tM3qY 11
それから数か月後… • ブロックデバイスのI/O障害をエミュレーションするという発表をした ◦ これは仕事じゃなくて趣味 ◦ blkidのソースを見たことは忘れていた ◦ 📝 発表資料
▪ device mapperによるディスクI/O障害のエミュレーション ▪ https://speakerdeck.com/sat/ozhang-hai-noemiyuresiyon • 発表後にLTをしたくなった ◦ I/O障害のエミューレーションが実際に役に立つことを紹介したい ! ▪ 発表は機能紹介だけに留まっていて、実例が無かった ◦ イベント中にライブで LT資料を作ることにした ▪ Cephのデータの一部を壊しても、元の状態に復旧できることを示そうとした 12
問題発生 • おさらい: RookはCephが使うOSDというデータ構造をブロックデバイス上に作る 1. lsblkコマンドを実行してデバイスのタイプ(e.g. ディスク、パーティション)を得る 2. Cephがサポートしているタイプであれば、OSDを作る •
I/O障害エミュレーション機能を使うと、ブロックデバイスのタイプが、Cephによって サポートされないものになってしまう 13
解決策 • デバイスマッパー設定時にパラメタをうまく設定すると、I/O障害を発生させる対象 のブロックデバイスのタイプを任意のものにできる ◦ lsblkのソースを読んでなければわからない実装依存のハック ◦ 実運用ならやらないが、今回はサンプルのデモなので OKと判断 •
パラメタを設定してブロックデバイスのタイプをCephがサポートするものに見せか けたところ、うまく動いた ◦ スカッとした&「あのときのことがこんな形で役に立つとは」と感動 • 📝 技術的な話 ◦ 分散ストレージはすごいぞ ◦ https://speakerdeck.com/sat/fen-san-sutorezihasugoizo-4af53638-99ea-416b-9841-66ccbc7e4 5cd 14
まとめ • 日々生まれる小さな疑問を放置せずに調べてみることで新しいことがわかる ◦ 疑問は小さければ小さいほど楽 ◦ やってるうちに一筋縄ではいかないとわかったら中断するのも手 • これを繰り返せば技術者としての引き出しの数はどんどん増えていく ◦
調べた当時は小さなことがわかるだけでも、将来につながる • 書籍などで体系的に学ぶのが苦手な人にはとくにお勧め • 注意 ◦ 常に成長し続けなくてはならないわけではない ◦ ずっと成長成長言ってると疲弊してしまうのでほどほどに 15