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
Rails 移行を支える コードレビュー #finc_mw /support_to_rails...
Search
matsuhisa
February 16, 2017
Business
0
720
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.6k
Railsでつくる 画像アップロード 2017 #railsdm /rails_developers_meetup6_image_upload
matsuhisa
0
1.2k
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review-2017
matsuhisa
0
1.1k
「ふつう」のRuby on Rails ウェブアプリケーション #clipla_mwed /ruby_on_rails_for_minnano_wedding
matsuhisa
1
880
爆速のために 独自フレームワーク から Rails に移行した話/mobasif_to_ruby_on_rails
matsuhisa
3
2.8k
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review
matsuhisa
0
290
1年間で起きたデザイナーとエンジニアの変化/1year-designer-engineer
matsuhisa
0
530
サービス改善のために エンジニアがすること、 しないこと
matsuhisa
0
1.7k
Other Decks in Business
See All in Business
「miraio」製品発表会資料_20250520
upselltechnologies
1
430
GIYグループ株式会社_会社概要資料
giy
0
960
ABテスト入門
shinu
PRO
0
930
えぇーっ!コードを書いてた私がPdMに!?
doiko123
1
170
JMDC 会社紹介資料 /About JMDC
jmdc
6
370k
TERASS_Company Deck_2025
eguri
0
3.9k
SREの技術力を評価させる技術
kesompochy
0
370
Naumen Business Service Monitoring: зонтичный мониторинг ИТ-инфраструктуры
naumen_service_desk
0
890
HRbase 労務開発説明資料
maka
0
210
TSI_会社案内
tsi_saiyou
1
100k
株式会社CU-会社説明資料
fukuhara02
0
160
Regulatory_Master_Class.pdf
inesitag
0
280
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Embracing the Ebb and Flow
colly
85
4.7k
Adopting Sorbet at Scale
ufuk
76
9.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
The Invisible Side of Design
smashingmag
299
50k
We Have a Design System, Now What?
morganepeng
52
7.6k
Building Applications with DynamoDB
mza
95
6.4k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
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 ίʔυϨϏϡʔʹ͔͔Δ࣌ؒվળΛ͍͖͍ͯͨ͠ ·ͱΊ