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
「ふつう」のRuby on Rails ウェブアプリケーション #clipla_mwed ...
Search
matsuhisa
May 24, 2017
Programming
1
890
「ふつう」のRuby on Rails ウェブアプリケーション #clipla_mwed /ruby_on_rails_for_minnano_wedding
「ふつう」のRuby on Rails ウェブサービス開発(Clipla x みんなのウェディング)での発表資料です #clipla_mwed
matsuhisa
May 24, 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
Rails 移行を支える コードレビュー #finc_mw /support_to_rails_from_code_review
matsuhisa
0
730
爆速のために 独自フレームワーク から Rails に移行した話/mobasif_to_ruby_on_rails
matsuhisa
3
2.8k
デザインレビューにエンジニアも参加してみよう/engineers-join-design-review
matsuhisa
0
300
1年間で起きたデザイナーとエンジニアの変化/1year-designer-engineer
matsuhisa
0
540
サービス改善のために エンジニアがすること、 しないこと
matsuhisa
0
1.7k
Other Decks in Programming
See All in Programming
Reading Rails 1.0 Source Code
okuramasafumi
0
250
Ruby Parser progress report 2025
yui_knk
1
460
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
4.3k
1から理解するWeb Push
dora1998
7
1.9k
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
350
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
アセットのコンパイルについて
ojun9
0
130
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
550
楽して成果を出すためのセルフリソース管理
clipnote
0
190
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
190
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Automating Front-end Workflow
addyosmani
1370
200k
Embracing the Ebb and Flow
colly
87
4.8k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Bash Introduction
62gerente
615
210k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Writing Fast Ruby
sferik
628
62k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Six Lessons from altMBA
skipperchong
28
4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Transcript
ʮ;ͭ͏ʯͷ3VCZPO3BJMT ΣϒΞϓϦέʔγϣϯ ݄ɹদٱߒ৳
w גࣜձࣾΈΜͳͷΣσΟϯά ΣϒΞϓϦέʔγϣϯͷΤϯδχΞ w 5XJUUFSɿ!LBNPOFHJ w IUUQXXXqJDLSDPNQIPUPTNBUTVIJTB দٱɹߒ৳
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
ΈΜͳͷΣσΟϯάʹ͍ͭͯ w ໊͙Β͍ɻΤϯδχΞ ໊͕ఔ w αʔϏεఏڙ։࢝ɻձ ࣾઃཱ w 1FSM͔Β3VCZPO3BJMTΛར ༻Ҡߦத
w 3VCZɺ +BWB4DSJQUʢ&4ʣɺ1FSM גࣜձࣾΈΜͳͷΣσΟϯά
ΈΜͳͷΣσΟϯάʹ͍ͭͯ ΈΜͳͷΣσΟϯά ՖՇɾՖ͕࣮ମݧʹج͍ͮͨʮຊԻͷޱίϛʯʮ࣮ࡍͷ අ༻໌ࡉʯͳͲͰࠃ Ҏ্ͷ͔݁ࠗࣜΒࣜΛબ Δʮ݁ࠗࣜબͼͷޱίϛαΠτʯͰ͢
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ͍ͭͰͲ͜ʹͰ͋ͬͯɼΊͣΒ͘͠ͳ͍͜ͱʢ͞·ʣ ΄͔ͱ͘ΒͯಛʹมΘΒͳ͍͜ͱʢ͞·ʣɻ ಛผͰͳ͘ɼҰൠతͰ͋Δ͜ͱʢ͞·ʣɻ ʮ;ͭ͏ʯͱ εʔύʔେࣙྛ
ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࢢʹྲྀ௨͍ͯ͠Δ͕ϝʔΧʔ͝ͱͷݸੑΛࣦ͍ɺফඅऀʹͱͬͯ Ͳ͜ͷϝʔΧʔͷΛߪೖͯ͠େࠩͷͳ͍ঢ়ଶʢ8JLJQFEJBʣ 3VCZPO3BJMTʮ;ͭ͏ʯʹͳͬͨʁ 3VCZPO3BJMT "84
˞8BOUFEMZͷٻਓ݅ʢ݄ʣ
ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ʮΈΜͳͷΣσΟϯάʯͷதͷ3VCZPO3BJMT 3VCZPO3BJMT %# ςετ ϑϩϯτ Πϯϑϥ σϓϩΠ ղੳ ݕࡧ
SFETIJGU SFEBTI 4MBDL $PEF%FQMPZ &MBTUJD4FBSDI "84
ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ w ʮ;ͭ͏ʯʹ3VCZPO3BJMTΛͬͯΣϒαʔϏεΛ։ൃͰ͖͍ͯΔ ͷͩΖ͏͔ʁ w 3BJMTඪ४Ͱ͋Εʮ;ͭ͏ʯ w HFNͳͲͰɺେൊͷยํͰ͋Εʮ;ͭ͏ʯ w ൺֱ͢Δର͕ͳ͍ͱʮ;ͭ͏ʯΛஅͰ͖ͳ͍
w ΈΜͳͷΣσΟϯάͷݱঢ়Λ;Γ͔͑Δ ʮ;ͭ͏ʯ͕ग़དྷ͍ͯΔͷ͔ʁ
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
࣮ߦڥ 1FSMͷಠࣗϑϨʔϜϫʔΫʢچڥʣ͔Β3VCZPO3BJMTʹҠߦத ݱࡏچڥͱ3BJMT͕ฏߦՔಇத 3VCZPO3BJMT .PCB4J' ʢچڥʣ OHJOY
࣮ߦڥ w Πϯϑϥ"NB[PO8FC4FSWJDFT w 1VNB OHJOYΛར༻ w 6OJDPSO͡Όͳ͍ w .Z42-
w จࣈίʔυ$1Ͱ͢ɻ65'Ҡߦ༧ఆͰ͢ w چγεςϜ͕$1Λར༻͍ͯ͠Δ ࣮ߦڥ
࣮ߦڥ w ݱࡏɺΛར༻ w ࠷৽ɺʢϦϦʔεɿ݄ʣ w ݄ w ͦΖͦΖόʔδϣϯΞοϓ͍ͨ͠ 3VCZ
࣮ߦڥ w ݱࡏɺ3VCZPO3BJMTΛར༻ w 3VCZPO3BJMTͷόʔδϣϯΞοϓ࡞ۀΛਐΊ͍ͯΔ w ݄ϦϦʔε w ݄ϦϦʔε w
ϑϨʔϜϫʔΫͷैʹ͔͔Γͦ͏ͳͷ͍ʁ 3VCZPO3BJMT
࣮ߦڥ w ͋·Γར༻͠ͳ͍ʁ ΧδϡΞϧʹೖΕΔʁ w બํΛݕ౼த w ݸ(FNpMFʹهࡌ ʢʣ HFNͷར༻
࣮ߦڥ w UBDIJLPNBΛར༻ͯ͠ʑͷ ΞοϓσʔτʹରԠ͍ͯ͠Δ w ͨ·ʹରԠͰ͖ͳ͍͕࣌͋Δɻ w ྫ͑3VCPDPQͷόʔδϣϯΞο ϓΛ͞΅Γ·ͨ͠ʢ݁Ռɺ ਏ͍͜ͱʹʣ
w େ͖ͳόʔδϣϯΞοϓͷ࣌ɺ ݕূ͔ͯ͠ΒϚʔδ͢Δ͕࣌͋ Δ CVOEMFV
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
ϑϩϯτΤϯυ w )BNMར༻͍ͯ͠Δ w ʢࠓ·ͰΑΓʣγϡοͱΞοϓσʔτ w &3#͡Όͳ͍ w ඪ४Ͱͳ͍͕બཧ༝͕͋Δ w
ϚʔΫΞοϓΛָʹ͠Α͏ͱࢥͬͯબʢด͡λάॻ͖ͨ͘ͳ͍ʣ 7JFXʢςϯϓϨʔτʣ
ϑϩϯτΤϯυ w ৽͘͠࡞Δͷɺ&4ʢ&$."4DSJQUʣͰ࡞Δ w &4MJOUΛͬͯνΣοΫ͍ͯ͠Δ w K2VFSZ͍ͬͯΔ w 41"ʢTJOHMFQBHFBQQMJDBUJPOʣ͕ͳ͍ w
ࠓޙ͋Γͦ͏ w 3FBDUʁ"OHVMBS+4ʁͳͲ͏͔͠Εͳ͍ +BWB4DSJQU
ϑϩϯτΤϯυ 4$44ɺσβΠϯΨΠυϥΠϯ͕͋Γ҆ఆ͖͍ͯͯ͠Δײ σβΠϯνΣοΫਓྗ͚ͩΕͲɺσβΠφʔͱڠྗͯ͠ରԠ 4$44
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
ςετ ςετͱ͍͑ʜ
ςετ w !U@XBEBͷલͰݴ͑ͳͯ͘ɺࣾͰʮॻ͍ͯͳ͍ʯͱݴ͑ͯ͠· ͏ w ٸ͗ͷࣄ͋Δ͚ΕͲʜ w ॻ͍ͯ͋Δͷ͕ʮ;ͭ͏ʯʹ͍ͯ͘͠ʢؾ࣋ͪʣ ςετͬͯ͘
ςετ w 34QFD 'BDUPSZ(JSMΛར༻ w NJOJUFTUͰͳ͍ w ࠓޙ34QFDͰ͍͍ͷ͔ʁͱ͍͏ٙ͋Δ w 34QFDͷ͍ํΛशಘ͢Δͷʹ͕͔͔࣌ؒͬͨ
34QFD 'BDUPSZ(JSM
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
σʔλϕʔε w چγεςϜͰ࡞ΒΕͨςʔϒϧઃܭΛͦͷ··ར༻͍ͯ͠Δ w ςʔϒϧઃܭୈࡾਖ਼نԽΛجຊͱͯ͠ߟ͑Δ w 3BJMTؔͳ͍ w ग़དྷ͍ͯΔ͔Ͳ͏͔ผͷ ςʔϒϧઃܭ
σʔλϕʔε w 3BJMTͷNJHSBUFΛ͍ͬͯͳ͍ w چγεςϜ͋ΔͷͰ3JEHFQPMFΛ͍ͬͯΔ w ςʔϒϧઃܭHJUIVCͰϨϏϡʔ͢Δର w TDIFNBͷϦϙδτϦ͕͋ΓɺϨϏϡʔΛ͏͚ͯϓϧϦΫΤετΛϚʔ δ͢Δͱ42-ϑΝΠϧ͕&YQPSU͞ΕɺΞϓϦέʔγϣϯͷϦϙδτ
ϦͷNBTUFSʹίϛοτ͞ΕΔ 4DIFNB%#
"HFOEB ΈΜͳͷΣσΟϯάʹ͍ͭͯ ʮ;ͭ͏ʯͷ3VCZPO3BJMTͱʁ ࣮ߦڥ ϑϩϯτΤϯυ ςετ σʔλϕʔε ·ͱΊ ͓͢͠Δ͜ͱ
·ͱΊ w ग़དྷ͍ͯΔͱ͜Ζ͋Δ͕ɺ·ͩग़དྷ͍ͯͳ͍ͱ͜Ζ͋Δ w ࣮ߦڥɺै͕ग़དྷ͖͍ͯͯΔ w ϑϩϯτΤϯυग़དྷͯΔʢࠓޙͷ՝͋Δʣ w ςετʜ͍͖ͬͯ·͢ w
σʔλϕʔεɺچγεςϜ͋ΓҰ֓ʹݴ͑ͳͦ͞͏ ʮ;ͭ͏ʯ͕ग़དྷ͍ͯΔͷ͔ʁ
·ͱΊ w ՁΛ͘ಧ͚ΔͷΛʮ;ͭ͏ʯʹ w രͷͨΊʹಠࣗϑϨʔϜϫʔΫ͔Β3BJMTʹҠߦͨ͠ w IUUQTTQFBLFSEFDLDPNNBUTVIJTBNPCBTJGUPSVCZPOSBJMT w ݁ࠗࣜଟ༷Խ͓ͯ͠Γɺ݁ࠗࣜΛ͢ΔมΘΒͳ͍ͷͰϢʔβͷ ೖΕସΘΓ͕͋ΔͷͰɺαʔϏε͕มΘΓଓ͚Δͷ͕ʮ;ͭ͏ʯͰ͋Δ
͜ͱΛՄೳʹ͢ΔγεςϜͰ͋Γ͍ͨ αʔϏε։ൃͷʮ;ͭ͏ʯͷͨΊͷ3VCZPO3BJMT
·ͱΊ w ΞϓϦέʔγϣϯ͕ɺ༷มߋΛड͚ೖΕΒΕΔࣄ͕ʮ;ͭ͏ʯͷঢ়ଶ Ͱ͋Γ͍ͨ w αʔϏεՁΛ্͛ଓ͚ΔͨΊʹɺมԽ͠ଓ͚ΒΕΔ͜ͱ͕ॏཁ w ʮ;ͭ͏ʯͷ3VCZPO3BJMTΞϓϦέʔγϣϯͰ͋ΕมԽΛड͚ೖ Ε͘͢ͳΔ ·ͱΊ