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
ソースコードリーディングのススメ / SourceCodeReading of Recomme...
Search
02
March 31, 2019
Programming
2
3.6k
ソースコードリーディングのススメ / SourceCodeReading of Recommendation
ソースコードリーディングのススメ
PHPerKaigi 2019 Lightning Talk で話した時のスライドです
02
March 31, 2019
Tweet
Share
More Decks by 02
See All by 02
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
610
PHP8.4におけるJITフレームワークIRと中間表現について理解を深める
cocoeyes02
1
930
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
860
PHP RFC: Deprecate implicitly nullable parameter types をサクッと話す
cocoeyes02
0
730
PHPUnit 11 概論
cocoeyes02
5
2.5k
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
1
1k
BASEにおける インシデント対応フローと工夫
cocoeyes02
0
1.2k
AWS Lambdaから始める Devチームの小さなDevOps改善 〜QCDどれも諦めない運用を目指して〜 / Start to improving small DevOps with AWS Lambda by Dev Team
cocoeyes02
0
1.4k
PHPUnit 10 概論 / Introduction of PHPUnit 10
cocoeyes02
3
9.8k
Other Decks in Programming
See All in Programming
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
160
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
240
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
22
9k
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
240
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
500
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
190
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
1
310
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
3
470
What's new in AppKit on macOS 26
1024jp
0
140
GPUを計算資源として使おう!
primenumber
1
200
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Writing Fast Ruby
sferik
628
62k
Code Reviewing Like a Champion
maltzj
524
40k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Site-Speed That Sticks
csswizardry
10
700
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Become a Pro
speakerdeck
PRO
29
5.4k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Transcript
ソースコードリーディングの ススメ PHPerKaigi 2019 LT 大津 和槻 / 02
Who am I ? 大津 和槻 / 02 株式会社ウィルゲート 新卒1
年目エンジニア 今日は当日スタッフとしても参加していました
僕も PHP の話ほとんどしません! みんな謝ってるから謝っとこ
結論「ソースコードリーディングは、 アウトプットするチャンスの塊」
ソースコードリーディング? 今回話すソースコードリーディングは主にライブラリ やフレームワークのソースコードを読むこと ライブラリやフレームワークのソースコードを読むと 様々なアウトプットに繋げやすい
こんな人にオススメです
うわっ… 私のアウトプット、少なすぎ?
今日話すこと ソースコードリーディングのメリット ソースコードリーディングで繋げられるアウトプ ット 今日話さないこと ソースコードリーディングのやり方
メリットと繋げられるアウトプット プロダクトコードを読み解くスピードが上がる ブログに書くネタができる OSS に参加できる 登壇できる
プロダクトコードを読み解く スピードが上がる
プロダクトコードを読み解くスピード が上がる ソースコードリーディング ≒ 他人(過去の自分も含む)が書いたコードを読む
プロダクトコードを読み解くスピード が上がる ソースコードリーディング ≒ 他人(過去の自分も含む)が書いたコードを読む ところで、 業務で触るプロダクトコードも、他人が書いたコード
プロダクトコードを読み解くスピード が上がる ソースコードリーディング ≒ 他人(過去の自分も含む)が書いたコードを読む ところで、 業務で触るプロダクトコードも、他人が書いたコード スムーズにソースコードリーディングができる ≒ 他人が書いたコードであるプロダクトコードもスム
ーズに読める
ブログに書くネタができる
ブログに書くネタができる よくある悩み
ブログに書くネタができる よくある悩み 「ブログに書けるネタが無い!」
ブログに書くネタができる よくある悩み 「ブログに書けるネタが無い!」 「他の人が既に書いている内容かもしれないし… 」
ブログに書くネタができる よくある悩み 「ブログに書けるネタが無い!」 「他の人が既に書いている内容かもしれないし… 」 「そんなに価値のある記事を量産できないよ… 」
ブログに書くネタができる よくある悩み 「ブログに書けるネタが無い!」 「他の人が既に書いている内容かもしれないし… 」 「そんなに価値のある記事を量産できないよ… 」 「ブログに書けるネタが無い!」
ブログに書くネタができる よくある悩み 「ブログに書けるネタが無い!」 「他の人が既に書いている内容かもしれないし… 」 「そんなに価値のある記事を量産できないよ… 」 「ブログに書けるネタが無い!」 「ブログに書けるネタが無い!」
ブログに書くネタができる よくある悩み 「ブログに書けるネタが無い!」 「他の人が既に書いている内容かもしれないし… 」 「そんなに価値のある記事を量産できないよ… 」 「ブログに書けるネタが無い!」 「ブログに書けるネタが無い!」 「ブログに書けるネタが無
い!!!!!!」
提案: 1 つのメソッドを読んで、どんな処理 なのかをまとめてブログに書く
1 つのメソッドを読んで、どんな処理 なのかをまとめてブログに書く メソッドの数だけブログ記事が書ける かぶることはほぼない!はず
1 つのメソッドを読んで、どんな処理 なのかをまとめてブログに書く メソッドの数だけブログ記事が書ける かぶることはほぼない!はず 1 メソッドだけのまとめでも、価値がある 設計、言語仕様、思想、罠…
Laravel Collection avg メソッド ドキュメント: https://readouble.com/laravel/5.8/ja/collections.htm l#method-avg
http://cocoeyes02.hatenadiary.jp/entry/2019/02/28 /214952
OSS に参加できる
OSS に参加できる 「そんな強強エンジニアじゃないから、いきなり OSS なんて無理だよ~~~」
OSS に参加できる 「そんな強強エンジニアじゃないから、いきなり OSS なんて無理だよ~~~」 OSS に参加するのに、そんな難しいことをする 必要はありません!
提案: ソースコードを読んで 疑問に思ったことを issue で聞く
ソースコードを読んで 疑問に思ったことを issue で聞く 「ここの処理なんでこんな風になっているかわか らんのだけど、どう思う?」
ソースコードを読んで 疑問に思ったことを issue で聞く 「ここの処理なんでこんな風になっているかわか らんのだけど、どう思う?」 もしバグや改善すべき箇所だったら、pull request が立てられる
ソースコードを読んで 疑問に思ったことを issue で聞く 「ここの処理なんでこんな風になっているかわか らんのだけど、どう思う?」 もしバグや改善すべき箇所だったら、pull request が立てられる 仕様であっても、何故その実装になったのか
思想に基づいた理由を Committer や Contributer が教えてくれる
ソースコードを読んで 疑問に思ったことを issue で聞く issue や pull request は contribution
にもなるので、 草を生やしたい人にもおすすめ
登壇できる
実は皆さんも知っているあの有名な カンファレンスに登壇できました
None
この PHPerKaigi で 登壇できたのは ソースコードリーディングのおかげ!
最後に1 番言いたいこと
ソースコードリーディングはいいぞ!
< Thank you for listening! Twitter: cocoeyes02 GitHub: cocoeyes02