Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コードレビューしない
Search
Seiei Miyagi
March 23, 2019
Programming
1.9k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コードレビューしない
Seiei Miyagi
March 23, 2019
More Decks by Seiei Miyagi
See All by Seiei Miyagi
Redmineプラグイン開発とCIのmatrix
hanachin
1
1.6k
Other Decks in Programming
See All in Programming
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.6k
Event is what happens
moro
2
960
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Next.js: The final boss of Web Performance
guaca
0
290
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
810
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Featured
See All Featured
BBQ
matthewcrist
90
10k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
ラッコキーワード サービス紹介資料
rakko
1
5.4M
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Skip the Path - Find Your Career Trail
mkilby
1
260
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Transcript
ίʔυϨϏϡʔ ͠ͳ͍ Seiei Miyagi
ͳ͢͜ͱ □ ⾃⼰紹介 □ □ □ □
Θͨ͠ • ID: hanachin、旧姓: ⽐嘉 • 沖縄⽣ 沖縄育 • •
既婚・⼀児 ⽗・三⼈家族 XXXIBOBDIJO
None
͠͝ͱ ZBTTMBCKQ
͠͝ͱ
͠͝ͱ
ͳ͢͜ͱ ✔ ⾃⼰紹介 □ □ □ □
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
動作確認しぐさ
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
かわらないもの なんかない
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
のびしろをみつける
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
どうするどうする ?
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
きえるTODO
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
脇道にそれない
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
いいやりかたを伝える
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
何度でも いいやりかたを伝える
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
何度でも いいやりかたを伝え…
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
͍·ίʔυϨϏϡʔͰ ͳʹΛ͍ͯ͠Δͷ͔
三桁じゃないから セーフ
ͳ͢͜ͱ ✔ ⾃⼰紹介 ✔ □ □ □
Ͳ͏ͯ͠ίʔυϨϏϡʔΛ ͍ͯ͠Δͷ͔ ⽬的 、 誤 修正 。重要 、 全員 同
知識 共有 、 全員 守 確⽴ 。⾃分 書 他 共有 「 共同所有(collective code ownership)」 可能 。 ―― 知 97 なるほど?
なるほど?
自分が うれしかったこと
Ͳ͏ͯ͠ίʔυϨϏϡʔΛ ͍ͯ͠Δͷ͔
Ͳ͏ͯ͠ίʔυϨϏϡʔΛ ͍ͯ͠Δͷ͔
自分のことは 信頼してないけど みんなのこと 信頼してる
みんなのコード
ͳ͢͜ͱ ✔ ⾃⼰紹介 ✔ ✔ □ □
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ 1. ⾃分 2. 、⼤丈夫 3. ⾃分 増
ࣗͰΒͳ͍ɺػցʹΒͤΔ • CircleCI 2.1 Parameterized jobs • Heroku Review Apps
←これをはなすね
ͱ͜ΖͰ3FENJOFϓϥάΠϯ։ൃ 3FENJOF 3.3 3.4 4.0 3BJMT 4.2 4.2 5.2
ͱ͜ΖͰ3FENJOFϓϥάΠϯ։ൃ SVCZ3FENJOF ✔ ✔ ✔
✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
ͱ͜ΖͰ3FENJOFϓϥάΠϯ։ൃ • Microsoft SQL Server • MySQL (MariaDB) • PostgreSQL
• SQLite 3 3FENJOF͕αϙʔτ͍ͯ͠Δ3%#.4
多様な 動作環境
3FENJOFϓϥάΠϯ։ൃͰͷίʔυϨϏϡʔ • 機能 <Redmine > 動 ? • <RDBMS >
動 ? • <Ruby > 動 ?
やってないから わかんない!
テストを動かせばわかる!
かばれっじ 100ぱーなら だいじょうぶ!
ͱ͜ΖͰ3FENJOFϓϥάΠϯ։ൃ • 組 合 実⾏ • 毎⽇ ⼈ 浦島太郎状態 特
• ⼿元 動 記録 共有・再現 • ⼈ 環境 ⼿元 ( )
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ • ⾃分 動 • Redmine/ruby/RDBMS 組 合 全部試
• 動 結果 ⾒
$JSDMF$*ͷ1BSBNFUFSJ[FEKPCT workflows: test: jobs: - rspec: db: mysql redmine_version: ‘4.0.1’
ruby_version: ‘2.6’
$JSDMF$*ͷ1BSBNFUFSJ[FEKPCT jobs: rspec: parameters: ruby_version: description: version of Ruby type:
string
$JSDMF$*ͷ1BSBNFUFSJ[FEKPCT jobs: rspec: executor: name: ruby-<<parameters.db>> ruby_version: <<parameters.ruby_version>>
$JSDMF$*ͷ1BSBNFUFSJ[FEKPCT executors: ruby-mysql: parameters: ruby_version: description: version of Ruby type:
string docker: - image: circleci/mysql - image: circleci/ruby-<<parameters.ruby_version>>
$JSDMF$*ͷ8PSLqPX workflows: nightly: triggers: - schedule: cron: ‘0 15 *
* *’ jobs: - rspec: # ここで組み合わせを列挙して行く
executors: ruby-mysql: docker: - image: circleci/mysql - image: circleci/ruby-<<parameterized.ruby_version>> jobs:
rspec: executor: name: ruby-<<parameters.db>> ruby_version: <<parameters.ruby_version>> workflows: test: jobs: - rspec: db: mysql redmine_version: ‘4.0.1’ ruby_version: ‘2.6’
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ ✔ CircleCI 実⾏ ✔ Redmine/ruby/RDBMS 組 合 動
✔CircleCI 結果 ⾒ ・記録 残 わたしもできるし あなたもできる
ίʔυϨϏϡʔ͠ͳͯ͘Α͘ͳͬͨ • 機能 <Redmine > 動 ? • <RDBMS >
動 ? • <Ruby > 動 ?
ࣗͰΒͳ͍ɺػցʹΒͤΔ • CircleCI 2.1 Parameterized jobs • Heroku Review Apps
←これをはなすね
ಈ࡞֬ೝ͙͠͞ • ⾒ ⽬ 崩 、実機 確認 • ⽂⾯ 変更
、⽂⾯ 確認 • 捨 弾 、確認 • production環境 ⼤丈夫…?
ಈ࡞֬ೝ͙͠͞ てもとではうごいてたし じどうテストもとおった けどコードだけ見ても不安
ಈ࡞֬ೝ͙͠͞ • 動 • 動 ⼿間 • 外 ⾒ ⼿間
• ⼿元 動 動
さわってみてだいじょーぶそう なら だいじょーぶ
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ • ⼿元 動作確認 • 実際 試 • production
同 環境 動
)FSPLV3FWJFX"QQT
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ ✔ Heroku Review Apps push 動 ✔ view
deployment ⾒ ✔ Review App production 動 わたしもできるし あなたもできる
ಈ࡞֬ೝΛͯͱͰ͠ͳͯ͘Α͘ͳͬͨ • ⾒ ⽬ 崩 、実機 確認 • ⽂⾯ 変更
、⽂⾯ 確認 • 捨 弾 、確認 • production環境 ⼤丈夫…? やったー
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ 1. ⾃分 、機械 ! 2. 、⼤丈夫 3. ⾃分
増
͏·͍͔͘ͳͯ͘ɺେৎʂͳֻ͚ • 問題 起 • 戻 • 変 ⼤丈夫 ←これをはなすね
͕ى͖ͨΒ͙͢Θ͔ΔΑ͏ʹ͢Δ
͕ى͖ͨΒ͙͢Θ͔ΔΑ͏ʹ͢Δ
2分で戻せた! すごい!
ロールバック王
͏·͍͔͘ͳͯ͘ɺେৎʂͳֻ͚ • 問題 起 • 戻 • 変 ⼤丈夫 ←これをはなすね
ͤΔΑ͏ʹ͢Δ • 戻 ⽅ 考 ・共有 • 戻
ͤΔΑ͏ʹ͢Δ
ͤΔΑ͏ʹϚΠάϨʔγϣϯͷ ϩʔϧόοΫΛςετ͢Δ bin/rails db:migrate VERSION=0
͏·͍͔͘ͳͯ͘ɺେৎʂͳֻ͚ • 問題 起 • 戻 • 変 ⼤丈夫 ←これをはなすね
ม͑ΒΕΕେৎ 変えたくないことはテストする
ม͑ΒΕΕେৎ 変えづらくなるのは よくない
ม͑ΒΕΕେৎ 機を待つ
͏·͍͔͘ͳͯ͘ɺେৎʂͳֻ͚ • ⾒落 • 問題 起 気 ⼤丈夫 • 戻
⼤丈夫 • 変 ⼤丈夫
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ 1. ⾃分 、機械 ! 2. 、⼤丈夫!! 3. ⾃分
増
ࣗΛ૿͢ ⼈数 増 参加 増 • 同 扱 • ⼈・
⼈ 増 • 探 ⽅ 教 機会 増
コードレビューするとき ドキュメントの探し方が わからない
ࣗΛ૿͢
ࣗΛ૿͢
記事は休まず働ける
ドキュメントを読む能力が 育ってしまう環境 よくなさそう
Ͳ͏ΕίʔυϨϏϡʔΛ ͠ͳͯ͘Α͘ͳΔ͔ 1. ⾃分 、機械 ! 2. 、⼤丈夫!! 3. ⾃分
増 !!!
ͳ͢͜ͱ ✔ ⾃⼰紹介 ✔ ✔ ✔ □
ίʔυϨϏϡʔ͠ͳ͍Λ͢Δܾҙ • ? 考 • 機械 働 • 発表資料 書
発表資料 働
ͳ͢͜ͱ ✔ ⾃⼰紹介 ✔ ✔ ✔ ✔
ίʔυϨϏϡʔ ͠ͳ͍ Seiei Miyagi