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.8k
ソースコードリーディングのススメ / 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
740
PHP8.4におけるJITフレームワークIRと中間表現について理解を深める
cocoeyes02
1
1k
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
980
PHP RFC: Deprecate implicitly nullable parameter types をサクッと話す
cocoeyes02
0
870
PHPUnit 11 概論
cocoeyes02
5
2.7k
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
1
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
10k
Other Decks in Programming
See All in Programming
Learn CPU architecture with Assembly
akkeylab
1
1.3k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
430
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.1k
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
440
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
690
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
1.6k
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
230
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
720
CSC509 Lecture 01
javiergs
PRO
1
430
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
11k
麻雀点数計算問題生成タスクから学ぶ Single Agentの限界と Agentic Workflowの底力
po3rin
5
2.1k
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
740
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
How to Ace a Technical Interview
jacobian
280
23k
4 Signs Your Business is Dying
shpigford
185
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Writing Fast Ruby
sferik
629
62k
Visualization
eitanlees
148
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
A Tale of Four Properties
chriscoyier
160
23k
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