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
870
「ふつう」の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
720
爆速のために 独自フレームワーク から 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 Programming
See All in Programming
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
8
1.9k
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
160
LRパーサーはいいぞ
ydah
6
1.2k
GitHub Copilot for Azureを使い倒したい
ymd65536
1
330
VitestのIn-Source Testingが便利
taro28
8
2.4k
Beyond_the_Prompt__Evaluating__Testing__and_Securing_LLM_Applications.pdf
meteatamel
0
110
RuboCop: Modularity and AST Insights
koic
3
2.7k
カウシェで Four Keys の改善を試みた理由
ike002jp
1
130
ComposeでWebアプリを作る技術
tbsten
0
130
「理解」を重視したAI活用開発
fast_doctor
0
290
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
110
파급효과: From AI to Android Development
l2hyunwoo
0
160
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Raft: Consensus for Rubyists
vanstee
137
6.9k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
560
Building Applications with DynamoDB
mza
94
6.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
780
GraphQLとの向き合い方2022年版
quramy
46
14k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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ΞϓϦέʔγϣϯͰ͋ΕมԽΛड͚ೖ Ε͘͢ͳΔ ·ͱΊ