Text
Page: 1
Railsのissueを毎日読む
方法
2018-07-14 株式会社ドリコム
Rails Developers Meetup 2018 Day 3 Extreme
うなすけ
Page: 2
自己紹介
名前 : うなすけ
所属 : 株式会社バンク (エンジニア)
インフラ寄りサーバーサイドエンジニア
業界4年目
GitHub @unasuke
Twitter @yu_suke1994
Mastodon @unasuke@mstdn.maud.io
Page: 6
OSS watch
やってますか?
Page: 7
もくじ
1. なぜOSSをwatchするのか
2. どのようにwatchするか
3. まとめ
Page: 8
もくじ
1. なぜOSSをwatchするのか ←
a. Railsをwatchする理由
b. Mastodonをwatchする理由
c. [任意]をwatchする理由
2. どのようにwatchするか
3. まとめ
Page: 9
なぜOSSをwatchするのか
なぜ?
メンテナでもないのに?
頼まれたわけでもないのに?
お金が貰えるわけでもないのに?
Page: 10
なぜRailsをwatchするのか
Railsを使ってる人はどのくらいここにいますか?
仕事で
個人で
両方
Page: 11
なぜRailsをwatchするのか
Rails 黒魔術 ➡️ 44,500件
Page: 12
なぜRailsをwatchするのか
十分に発達した科学技術は、魔法と見分けがつ
かない。
https://ja.wikipedia.org/wiki/クラークの三法則
Railsは魔術ではなく、技術
↓
読めばわかる
理解できるとは言ってない……
Page: 13
Railsをwatchする理由
Railsは魔術じゃなくて技術
アプリと地続き
次リリースの予習
新機能のキャッチアップ
updateが楽になる(かも?)
同じ轍を踏まない
issueでbugの先取り
稀
Page: 14
Mastodonをwatchする理由
ソースコードが読めるSNSなので
もしTwitterのコードが読めたら読むでしょ?!
理解できなくても読みたい……
Rails appの実装の参考として
RedmineやGitLabやfastladderも同様
いずれ運用するので
僕が
Page: 15
[任意]をwatchする理由
自分が使用しているツールのコードを追う
新リリース
bug fix
そもそも活発?
書けるようになるために、それ以上に読む
あわよくばコントリチャンス?
Page: 16
大事なこと
Diffだけ読んでも理解はできない
Page: 17
Diffだけ読んでも理解はできない
issueやpull reqはコードリーディングのとっかかり
本体のコードも読みに行く
数行のdiffを入口に数百行のコードを追う
ローカルへのcloneはほぼ必須
amatsuda/gem-src
Page: 18
もくじ
1. なぜOSSをwatchするのか
a. Railsをwatchする理由
b. Mastodonをwatchする理由
c. [任意]をwatchする理由
2. どのようにwatchするか ←
3. まとめ
Page: 19
もくじ
1. なぜOSSをwatchするのか
2. どのようにwatchするか ←
a. コツ
b. (僕の)やり方
3. まとめ
Page: 20
どのようにwatchするか - コツ
1. 全てを理解しようとしない
2. 何かしら感想を書く
3. 義務と思わない
4. 時間を決めてやる
Page: 21
どのようにwatchするか - コツ
全てを理解しようとしない
diffだけ読んでも理解はできない
あなたはメンテナではない
何の責任もない
そんな時間はない
やりたいことはいくらでもある
でも、理解しようという心掛けはする
たとえば再現手順を実行してみるとか
Page: 22
どのようにwatchするか - コツ
何かしら感想を書く
感想を言語化する
会社の日報でもブログでも
「話す」でもいいのかも
読むだけだと「ふ〜ん」で終わりがち
書くことで自分の理解がわかる
Page: 23
どのようにwatchするか - コツ
義務と思わない
あなたはメンテナではない
「義務感」では長続きしない
自発的にやることが大事
「いつでもやめられる」という気持ちで
楽しさや好奇心が大事
Page: 24
どのようにwatchするか - コツ
時間を決めてやる
14時から読む、など
アラームを設定しておく
鳴る前にやる
Railsをwatchするくらいは業務内容
に、してもいいよね?
Page: 25
どのようにwatchするか - コツ
1. 全てを理解しようとしない
2. 何かしら感想を書く
3. 義務と思わない
4. 時間を決めてやる
Page: 26
もくじ
1. なぜOSSをwatchするのか
2. どのようにwatchするか
a. コツ
b. (僕の)やり方 ←
3. まとめ
Page: 27
どのようにwatchするか
そもそも「watch」できてますか?
Page: 28
どのようにwatchするか - (僕の)やり方
Firefoxを使う
タブを大量に開いたときの動作が安定している(主観)
Chrome系と比較して
Page: 29
どのようにwatchするか - (僕の)やり方
refined-githubを使う
https://github.com/sindresorhus/refined-github
ブラウザ拡張
issueを一気に開くことができる
Page: 30
どのようにwatchするか - (僕の)やり方
tree-style-tabを使う
https://addons.mozilla.org/ja/firefox/addon/tree-style-
tab/
ブラウザ拡張
大量のタブの視認性がよくなる
Page: 31
どのようにwatchするか - (僕の)やり方
issueを全部開く
rails/railsなら1日にだいたい20〜30
tootsuite/mastodonなら1日にだいたい10〜20
rubocop-hq/rubocopなら1日にだいたい5〜15
(kubernetes/kubernetesなら1日にだいたい200〜
400)
Page: 32
どのようにwatchするか - (僕の)やり方
上から読んでいく
30秒くらい読んでわからなかったら閉じる
時間は有限
興味のある分野ならもうすこし頑張って理解してみる
それでも1、2分くらい?
完璧な理解じゃなくていいから感想を書く
1、2文くらいでいい
言語化が大事
Page: 33
どのようにwatchするか - (僕の)やり方
ヤギヌマ新聞を読む
http://y-yagi.hatenablog.com/
自分の理解が正しかったかどうか
rails/rails しかできないけど……
Page: 34
どのようにwatchするか - (僕の)やり方
を、毎日やる
時間を空けると溜まって億劫になる
習慣付ける
「あ、今日読んでない」と思えるように
何なら読むだけの日があってもいい
趣味だし
何なら読まない日があってもいい
趣味だし
Page: 35
もくじ
1. なぜOSSをwatchするのか
2. どのようにwatchするか
3. まとめ ←
Page: 36
まとめ
書けるようになるために読む
全てを理解しようとしない、しなくてもいい
毎日読んで習慣付ける
継続は力なり
義務感でなく、軽い気持ちで
OSS watchを楽しもう!
rails/railsに限らず