Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Rails 移行を支える コードレビュー #finc_mw /support_to_rails_from_code_review
matsuhisa
February 16, 2017
Business
0
550
Rails 移行を支える コードレビュー #finc_mw /support_to_rails_from_code_review
2017年2月15日に行われた「Railsを使ってサービスの成長を継続させるぞ!(FiNC×みんなのウェディング)」の発表資料です
matsuhisa
February 16, 2017
Tweet
Share
More Decks by matsuhisa
See All by matsuhisa
Rails移行のレキシ/mobasif-to-ruby-on-rails2017
matsuhisa
1
1.2k
Railsでつくる 画像アップロード 2017 #railsdm /rails_developers_meetup6_image_upload
matsuhisa
0
990
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review-2017
matsuhisa
0
840
「ふつう」のRuby on Rails ウェブアプリケーション #clipla_mwed /ruby_on_rails_for_minnano_wedding
matsuhisa
1
660
爆速のために 独自フレームワーク から Rails に移行した話/mobasif_to_ruby_on_rails
matsuhisa
3
2.4k
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review
matsuhisa
0
220
1年間で起きたデザイナーとエンジニアの変化/1year-designer-engineer
matsuhisa
0
460
サービス改善のために エンジニアがすること、 しないこと
matsuhisa
0
1.5k
Other Decks in Business
See All in Business
UP Life(生活習慣病予防・改善特化型デイサービス)施設紹介資料
up_life
0
160
Careers at en Japan
kentz09043
0
100k
Epics - Buidl to Earn.
epicsdao
1
440
JAWS-UG 朝会 #41 登壇資料
o2mami
1
740
【キャリア採用】BuySell Technologies会社説明資料
buyselltechnologies
2
24k
日本三大何をしているか分からない企業の育児制度
spbaya0141
0
370
Epics - Buidl to Earn. [日本語]
epicsdao
1
400
営業スキル5つの種類と特性がわかる資料
nyattx
PRO
1
1.1k
2023年中途採用_会社説明資料.pdf
slj_hr
0
220
ミラティブ「採用候補者さまへの手紙」/mirrativ letter
hr_team
3
120k
Contrea Company Deck
contrea_0123
3
6.2k
CTO から見た,なぜスタートアップ 初期のソフトウェア設計は壊れがちなのか
memory1994
PRO
81
32k
Featured
See All Featured
KATA
mclloyd
12
9.7k
Code Reviewing Like a Champion
maltzj
508
38k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
Visualization
eitanlees
128
12k
Three Pipe Problems
jasonvnalue
89
8.9k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
338
18k
Designing the Hi-DPI Web
ddemaree
273
32k
Git: the NoSQL Database
bkeepers
PRO
419
60k
Code Review Best Practice
trishagee
50
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
Transcript
גࣜձࣾΈΜͳͷΣσΟϯά 3BJMTҠߦΛࢧ͑Δ ίʔυϨϏϡʔ ݄দٱߒ৳
݄ দٱߒ৳ ͋ͳͨͷେͳ͍ͭͰ͔͢ʁ ݄
w ΈΜͳͷΣσΟϯάʹ͍ͭͯ w αʔϏε w ։ൃͷྲྀΕ w αʔϏεΛࢧ͑ΔͭͷϨϏϡʔ w ίʔυϨϏϡʔͷ՝ͱղܾํ๏
w ৽ͨͳ՝ ͓͢͠Δࣄ
ΈΜͳͷΣσΟϯά
ΈΜͳͷʰେͳʱΛ;͢
αʔϏε εϚʔτϑΥϯ൛ ύιίϯ൛
ಛ ສ 6#݄ , ࣜ ສ ޱίϛ ݄ݱࡏ
։ൃͷྲྀΕ
1FSM͔Β3VCZʹҠߦத IUUQTTQFBLFSEFDLDPNNBUTVIJTBNPCBTJGUPSVCZPOSBJMT
w ։ൃ։࢝ w ίʔυϨϏϡʔΛ͏͚Δ w Ϛʔδ w εςʔδϯάʹࣗಈͰσϓϩΠ w ຊ൪ڥʹσϓϩΠ
։ൃ͔ΒσϓϩΠ·ͰͷྲྀΕ
w NBTUFSͷϚʔδʹίʔυϨϏϡʔඞਢ w ΤϯδχΞ͕ίʔυϨϏϡʔΛ͢Δ w ϚʔΫΞοϓ$44ͷΈͷ߹σβΠφʔͰՄ w σβΠϯมߋ͕͋ΕɺσβΠϯνΣοΫΛσβΠφʔ ʹͯ͠Β͏ ։ൃϧʔϧ
αʔϏεΛࢧ͑ΔେϨϏϡʔ
w εϓϦϯτϨϏϡʔ w σβΠϯϨϏϡʔ w ίʔυϨϏϡʔ αʔϏεΛࢧ͑ΔେϨϏϡʔ
w िؒʢεϓϦϯτʣʹճɺશ෦ॺΛूΊ࣮ͯࢪ w Ռɺ༧ఆΛڞ༗͢Δ w ෦ॺʢνʔϜʣҎ֎͔ΒͷϨϏϡʔΛड͚Δ w νʔϜ֎ՌΛઆ໌ʢࣗຫʣ͢Δ w νʔϜ֎͔ΒͷࢦఠΛड͚ೖΕΔɺઆ໌͢Δ
εϓϦϯτϨϏϡʔ
FTBʹ֤νʔϜͷͰ͖ͨ͜ͱɺͰ͖ͳ͔ͬͨ͜ͱɺདྷि ͷݟ௨͠Λॻ͘ εϓϦϯτϨϏϡʔ
w తΛ໌֬ʹ͠తΛୡ͍ͯ͠Δ͔ʁΛϨϏϡʔ w ओʹHJUIVC্Ͱߦͳ͍ͬͯΔʢର໘͋Δʣ w ΤϯδχΞɺσΟϨΫλʔࢀՃͰ͖Δ w υοΫϑʔσΟϯά͠ʹ͍͘αʔϏεͳͷͰϨϏϡʔ Ͱɺิ͏ w
ΤϯδχΞ͔Β͓ئ͍͢Δ͜ͱ͋Δ σβΠϯϨϏϡʔ
σβΠϯͷతͳͲΛॻ͍ͨJTTVF1VMM3FRVFTUΛ༻ ҙͯ͠σβΠφʔ͔ΒϨϏϡʔΛड͚Δ σβΠϯϨϏϡʔ
w εϓϦϯτϨϏϡʔ w σβΠϯϨϏϡʔ w ίʔυϨϏϡʔ αʔϏεΛࢧ͑ΔେϨϏϡʔ ࠓճʮίʔυϨϏϡʔʯʹ͍ͭͯͰ͢
՝
w ίʔυελΠϧ͕όϥόϥ w ίʔυͷଐਓԽ w ίʔυϨϏϡʔʹͳΕͳ͍ w ίʔυϨϏϡʔ͕ऴΘΒͳ͍ w ࣭ͷ্
՝
ίʔυελΠϧ͕όϥόϥ
w 1FSM͔Β3VCZʹҠͬͨͷͰɺ3VCZ3BJMTͬΆ͍͕ Θ͔Βͳ͍ w ϋογϡϩέοτΛ͏PSΘͳ͍ w 5JNFOPXʁ5JNF[POFOPXʁ5JNFDVSSFOUʁ w \^͍Δͷʁ͍Βͳ͍ͷʁ w
ॳΊͯͷ͜ͱͩΒ͚Ͱɺӈԟࠨԟ ՝
w πʔϧΛಋೖ͠ɺઌਓͷܙΛआΓΔ w 3VCPDPQɺIBNMMJOUɺFTMJOUɺCSBLFNBO w $*Ͱ࣮ߦ͍ͯ͠ΔʢFTMJOUΛআ͘ʣ ղܾɿπʔϧͷಋೖ
ίʔυͷଐਓԽ
w ʮ͋ͷਓʯ͡Όͳ͍ͱΘ͔Βͳ͍ίʔυઃܭ w ಠࣗϑϨʔϜϫʔΫ͔Β3BJMTͷҠ২࣌ʹฉ͍ͯҠ ২Λ࣮ߦ w ݁Ռɺ͕ࣗʮ͋ͷਓʯʹͳͬͯ͠·͏ w ෆ۩߹ͷԹচʹͳΓ͍͢ ՝
w ࠷ॳɺίʔυϨϏϡʔϥϯμϜͰIVCPU͕ࢦ໊ w ϥϯμϜ͗ͯ͢ϨϏϡʔͰ͖ͳ͍࣌ʢ3BJMTͷϞϯ Ωʔύονͱ͔ʣ w νʔϜͰϨϏϡʔΛ͢ΔΑ͏ʹͳͬͨ w ෳਓ͕ίʔυΛݟΔ͜ͱʹͳΓɺଐਓԽΛݮΒ͢ ղܾɿνʔϜͰϨϏϡʔ
ίʔυϨϏϡʔʹͳΕͳ͍
w ίʔυϨϏϡʔΛ͓ئ͍͢Δɺͩͱʜ w ʮਃ͠༁ͳ͍ʯײ͕ͰΔ w ਓͷ࣌ؒΛͬͯ͠·͏ w ίʔυͷؒҧ͍Λࢦఠ͞Εͯؾ͕͜Ή ՝
w CPX!ΛΘͳ͍ w ϨϏϡʔϓϩμΫτΛ࡞Δ্Ͱେͳ͜ͱɻؾΛ ্͛Δײ͡ʹ͍͖͍ͯͨ͠ w ͓ئ͍͢Δ࣌ʹɺͦͷਓʹ߹ΘͤͨֆจࣈΛͬͨΓɺ ؾΛ্͛ΔΑ͏ʹͨ͠ w EBOHP"CSFBE#LJNPOP$IFBSU♥
ͳͲ ղܾɿֆจࣈΛΘͳ͍͏
w ࢥ͍ΓΛͬͯɺࢦఠ Λ͢Δ w ݠڏ )VNJMJUZ w ଚܟ 3FTQFDU
w ৴པ 5SVTU ղܾɿ)35
w ྑ͍ߦಈΛ΄ΊΔɻྑ͍ߦಈΛܧଓ͍ͤͨ͞ɻ ղܾɿߦಈΛ΄ΊΔ
ϓϧϦΫΤετʹؾ͔ͮͳ͍
w HJUIVCͷ௨͕ଟ͗ͯ͢ಡΊͳ͍ w ϝʔϧݏ͍ʢݸਓͷײͰ͢ʣ w 4MBDLͷNFTTBHFͰʮ͓ئ͍CPXʯ͞ΕΔ w ݟͨΒिؒલͷϓϧϦΫΤετͩͬͨʂ w ࣮ɺ࠷ॳผͳਓ͕͓ئ͍͞Εͯͨ
՝
w ேձͰ͑Δɺٸ͗ͷ࣌ݴ͏ w +BTQFSΛ͏ʂ ղܾ
ϓϧϦΫΤετ͕ Θ͔Γʹ͍͘
w ϓϧϦΫΤετΛϚʔδ͢ΔͱԿ͕ى͖Δͷ͔Θ͔Βͳ ͍ w త͕Θ͔Βͳ͍ w ҙ͋Δʁ w ͙͢ʹϚʔδ͍͍ͯ͠ͷʁ ՝
w ྑ͍ϓϧϦΫΤετͷॻ͖ํΛFTBʹ༻ҙͨ͠ w ϨϏϡʔ͢Δ࣌ʹɺϓϧϦΫΤετͷॻ͖ํΛ͑ͨ ղܾ
w ϓϧϦΫΤετͷతɺ͑ΒΕΔ͜ͱΛॻ͘ w ද্ࣔͷࠩɺεΫϦʔϯγϣοτΛషΔ w ϨϏϡʔ͢Δਓ͕خ͍͠ɺ͓ͯͳ͕͋͠ΔϓϧϦΫΤ ετ͕ཧ ղܾ
࣭ͷ্
w ಠࣗϑϨʔϜϫʔΫ͔Β3BJMTʹҠΓɺΦϒδΣΫτࢦ ΞϓϦέʔγϣϯͱͯ͠దͳίʔυ͔ʁ w ςʔϒϧઃܭ͕೦ w 42-Ξϯνύλʔϯ͕৭ʑ w δΣΠΥʔΫɺϚϧνΧϥϜΞτϦϏϡʔτɺཧ আ
՝
w ΦϒδΣΫτࢦʹ͍ͭͯৄ͍͠ਓ͔ΒͷϨϏϡʔΛ Β͑ͨ w ؾ͖ͮΛಘΔ͜ͱ͕Ͱ͖ͨ w 4DIFNB͕HJUͰཧ͞ΕͯϨϏϡʔՄೳʹ w 42-Ξϯνύλʔϯʹؾͮ͘͜ͱ͕Ͱ͖Δ w
ύϑΥʔϚϯεΛؾ͖͘͢ͳΓɺϨϏϡʔͰࢦఠ Ͱ͖ΔΑ͏ʹͳͬͨ ղܾʁ
ίʔυϨϏϡʔͰ࣮ݱͰ͖ͨ ͜ͱ
w ίʔυελΠϧ͕ཧ͞Ε͖ͯͨ w ίʔυͷଐਓԽ͕ݮ͖ͬͯͨ w ࣭ͷ্ʢԼΛ͙ʣ w ৽͍͜͠ͱΛֶͿ͜ͱ͕Ͱ͖ͨ ࣮ݱͰ͖ͨ͜ͱ
w νʔϜʹKPJOͨ͠ਓʹ৽͍͜͠ͱʢ1FSM͔Β3VCZ ͱ͔ʣΛ͑Δػձ͕Ͱ͖Δ w Βͳ͍͜ͱΛνʔϜͰֶशͰ͖ΔػձͱͳΔ w ͍ͬͯΔਓ͔ΒֶͿػձɻڭ͑Δ͜ͱͰڧԽ͞ΕΔ w ΄ΊΔจԽͰ৺ཧత҆શΛ࡞Δ ༧ظ͠ͳ͔ͬͨ͜ͱ
৽ͨͳ՝
w ࣭ͷ্ʢৗʹʣ w ίʔυϨϏϡʔྃ·Ͱͷ࣌ؒ w ϓϧϦΫΤετ͕ͨ·ΓɺαʔϏεͷՁ͕ಧ͚ΒΕ ͍ͯͳ͍ w ϨϏϡʔ͢ΔਓͷภΓ w
ͭͷγεςϜͷଘࡏ ৽ͨͳ՝
·ͱΊ
w 3BJMTҠߦΛ͢͢ΊΔͱ͖ʹɺίʔυϨϏϡʔΛऔΓೖ Εͨ͜ͱͰ w ࣭ͷԼΛ͙͜ͱ͕Ͱ͖ͨ w ։ൃνʔϜʹֶश͢Δػձ͕Ͱ͖ͨ w ίʔυϨϏϡʔʹ͔͔Δ࣌ؒվળΛ͍͖͍ͯͨ͠ ·ͱΊ