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
motsat
January 23, 2018
Programming
1.4k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メドピアの輪読会
2018/1/18 メドピア株式会社 × 株式会社みんなのウェディング合同勉強会、「サービスを Ruby / Rails で成長させるためにやったこと」の発表資料です。
motsat
January 23, 2018
More Decks by motsat
See All by motsat
「SmartHR基本機能」の溜まっていく技術課題への取り組み
motsat
0
1.9k
Elasticsearchで多言語検索対応してみた話.pdf
motsat
2
1.5k
Other Decks in Programming
See All in Programming
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.7k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
470
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
830
AmebaブログはKMPから卒業します
kmars0605
0
220
AIに “答え“を書かせるのを やめてみた
___akari11
0
130
ジョジョの世界をXRで再現する
mofurune
0
180
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
930
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
120
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
330
ChromeでローカルLLM
ryu1013
0
160
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
270
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
230
The SEO identity crisis: Don't let AI make you average
varn
0
590
YesSQL, Process and Tooling at Scale
rocio
174
15k
We Have a Design System, Now What?
morganepeng
55
8.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
860
Raft: Consensus for Rubyists
vanstee
142
7.8k
My Coaching Mixtape
mlcsv
0
360
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
350
Design in an AI World
tapps
1
360
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Transcript
αʔϏεΛ Ruby / Rails Ͱ ͤ͞ΔͨΊʹͬͨ͜ͱ
ࣗݾհ ɹɾ໊લ ɹɹࠤ౻ ݩل ɹɾϝυϐΞྺ ɹɹ 2017/9 ʙ WebΤϯδχΞɹɹ ɹɹʢ࠷ۙElasticsearchɺAWS
SNSͰPush௨पΓʣ ɹɾͦͷલ ɹɹ- Ruby on Rails/ C++ (ιʔγϟϧήʔϜ) ɹɹ- PHP Maple/ΦϨΦϨ (ձһ੍ಈըܥαʔϏε)
ϝυϐΞͷྠಡձ
લஔ͖ ϝυϐΞͷݱঢ়
ҩࢣઐ༻αΠτʮMedPeerʯ
Ruby on Rails (৽ڥ)ͱ PHP on ಠࣗϑϨʔϜϫʔΫ(چڥ) ͕ڞଘ
ฐࣾϒϩά: ɹϨΨγʔͳಠࣗϑϨʔϜϫʔΫ͔Β٫ͯ͠RailsঃʑʹҠߦ ͍ͯ͠Δ http://tech.medpeer.co.jp/entry/2017/01/31/004227
PHP͔ΒRuby on Railsͷ Ҡߦελʔτ1.5લ
RubyΤϯδχΞ : 10ਓத2ਓ
Ҡߦͷҝʹ ɾPHP͍ͬͯΔਓ͕RubyΛ࢝ΊͨΓ ɾRubyະܦݧऀ͕ೖͬͨΓʢܦݧऀೖͬͨΓʣ
Ruby/Railsͷܦݧগͳ͍ਓ͔Βଟ͍ਓ·Ͱ ෯͍ҝɺRuby/RailsΛϝΠϯʹͷҝ ͷऔΓΈΛߦ͍ͬͯ·͢ɻ
ԬRubyձٞ: ɹϝυϐΞͷશྗRailsԽͷऔΓΈࡽ͠·͢! ( by CTO fukumura ) https://speakerdeck.com/fukumura/metohiafalsequan-li- railshua-falsequ-rizu-mishai-simasu
ओͳऔΓΈ ɾίʔυϨϏϡʔʢRailsܦݧଟ͍ਓͷϨϏϡʔʣ ɹ2017ʹ࢝ΊͨϝυϐΞΤϯδχΞνʔϜͷ৽͍͠औΓΈʹ͍ͭͯ ɹhttp://tech.medpeer.co.jp/entry/2017/12/27/180000 ɾ։ൃ߹॓ ɹ։ൃ߹॓!?ͦΕͳΒϖϯγϣϯͰ͠ΐ!! ʙ܈അݝΈͳ͔ΈொͷϝυϐΞ։ൃ߹॓ࢽʙ ɹ http://tech.medpeer.co.jp/entry/2017/12/06/110000
ओͳऔΓΈ ɾKPTͰؾʹͳΔϨϏϡʔΛৼΓฦΔ ɾಡॻձʢྠಡձʣ
ྠಡձ ɾͲ͏͍ͬͯΔ͔ ɾྑ͔ͬͨ/ѱ͔ͬͨࣄ
ྠಡձͱ ਓʑ͕ू·ͬͯɺಉ͡ڭՊॻͳͲͷຊΛಡΈɺͦͷ ༰ʹ͍ͭͯҙݟΛަΘ͢͜ͱΛҙຯ͢Δޠ
Ұਓಡॻͷྑ͍ॴ ɾ͖ͳ࣌ʹಡΊΔ ɾ͖ͳॴͰಡΊΔ ɾ͖ͳϖʔεͰಡΊΔʢௐͨΓɺࢼ ͨ͠Γ ɾͬͯΔॴඈͤΔ
ྠಡձ > Ұਓͷಡॻ ͱ͍͏Θ͚Ͱͳ͍
ྠಡձͱ ਓʑ͕ू·ͬͯɺಉ͡ڭՊॻͳͲͷຊΛಡΈɺͦ ͷ༰ʹ͍ͭͯҙݟΛަΘ͢͜ͱΛҙຯ͢Δޠ (weblioΑΓ) →ྠಡձͷதͰɺಛʹ͜ͷதͰྑ͔ͬͨ෦ͷ
ϝυϐΞͰͷΓํ ຊ͝ͱʹΓํม͑ͨΓ͍ͯ͠Δ͕ɺ ɾ1ਓ1߲ɺԻಡ͢Δ ɾಡΜͩॴͷ࣭ٞʢແ͍࣌͋Δʣ ɾ൪੍Ͱൃදऀ͕ઌʹ༰·ͱΊͨΓ ɹˠΓํ·ͩࡧத
༷ࢠ
ϝυϐΞͷΑ͏ʹɺ ɾRuby/Railsͷܦݧ →·ͪ·ͪ ɾϝυϐΞྺ → ·ͪ·ͪ ɾಉ͡ιʔείʔυʢϦϙδτϦʣ৮Δࣄ͕ଟ͍ ͱ͍͏ঢ়گͰɺ ྠಡձܗ͕ࣜྑ͔ͬͨͳͱࢥ͏ࣄྫͷհ
ྫ1 RailsGuides https://railsguides.jp/ ʢຊͱݴ͏͔αΠτͰ͕͢ʣ
ͳΜͰ͜ͷຊʹ͔ͨ͠ ɾRailsͷػೳΛମܥతʹΘ͔Γ͘͢հ͍ͯͯ͠ɺ ܦݧ(গ)ͳ͍ਓʹͱ͖͍ͬͭ͢
͜ͷຊͷྠಡձͰ͋ͬͨٞ
Action Controller ͷ֓ཁ (8.ϑΟϧλ) ࣭ٞ ʮControllerͷfillterɺonly͘͠exceptͰࢦఆ͢Δ ߹ɺͲͪΒΛ͏ʁʯ ʮͱΓ͋͑ͣ҆શଆʹΕΔํ͕ྑͦ͞͏ʯ ɹ
ɾܦݧগͳ͍ਓ ɹػೳ + ͏ஈ֊ʹͳͬͯ໎͏෦ΛઌʹҙࣝͰ͖ ͨ ɾͦΕҎ֎ͷਓ ɹνʔϜͰͲ͏͢Δ͔ͷҙࣝΛ߹ΘͤΔ͜ͱ͕ Ͱ͖ͨ ɹ
ྫ2 Everyday Rails - RSpec ʹΑΔRailsςετೖ
ͳΜͰ͜ͷຊʹ͔ͨ͠ ςετΛRSpecͰॻ͍͍͕ͯͨɺ ɾςετͷཻ͕ҧͬͨΓ ɾਖ਼͍͠ॻ͖ํͰ͖ͯΔ͔ո͍͠ʢଞͷΛਅࣅ͍ͯΔ͚ͩʁʣ ͱ͍͏ͷղফͷҝ
͜ͷຊͷྠಡձͰ͋ͬͨٞ
7.ίϯτϩʔϥεϖοΫͷΫϦʔϯΞοϓ ࣭ٞ ʮShared Examples ɺॏෳഉআͰ͖ͯྑ͍ʯ ʮॲཧ͕ݟ͑ʹ͘͘ͳΔ໘͋ΔɻݟͮΒ͘ͳΒͳ͍͔ߟ͑ ͯͬͨํ͕ྑ͍ʯ
ɾܦݧগͳ͍ਓ ɹػೳ+ܦݧऀͷͭΒΈΛઌʹΕͨ ɾͦΕҎ֎ͷਓ ɹνʔϜͰͲ͏͢Δ͔ɺҙࣝ߹ΘͤͰ͖ͨ
?.??(Ͳͷষ͔ͩͬͨΕ·ͨ͠ʣ ࣭ٞ ʮRakeλεΫςετॻ͘ʁʯ ʮmodel()ʹϩδοΫҠৡͯͦ͠ΕΛݺͼग़͚ͩ͢ʹ ͍ͨ͠ʯ ʮͰtypoνΣοΫ͚ͩͷҝͰςετ͋ͬͨ΄͏͕҆ ৺ʯ
ܦݧଟ͍/গͳ͍ݶΒͣɺνʔϜͰ ͳΜͱͳ͘;Θͬͱ͍ͯͨ͠ॴ͕߹ ͑ͨɻ·ͨɺͦͷߟ͑Λڞ༗Ͱ͖ͨɻ
ྫ3ʣΦϒδΣΫτࢦઃܭ ࣮ફΨΠυͷ߹
ͳΜͰ͜ͷຊʹ͔ͨ͠ ɾRailsҠߦ͕গ͠ਐΈɺΦϒδΣΫτࢦ ઃܭతͳ෦Ͱ͕ݟ͖͑ͯͨͨΊ
͜ͷຊͷྠಡձͰ͋ͬͨٞ
ୈ̑ষɹμοΫλΠϐϯάͰίετΛݮ͢ Δ ࣭ٞ ʮμοΫλΠϐϯάා͍ɻJavaͳΒΠϯλʔϑΣʔεͱ͔͋Δͷʹʯ ɹɹɹɹɹ
ɾPHP/Ruby ܦݧऀ ɹ੩తܕ͚ݴޠͷܦݧऀͱײ֮ͷࠩΛײ͡Εͨ ɾJava ܦݧऀ ɹಉ͡ΦϒδΣΫτࢦͰɺ࣮ํ๏ʹ͔ͳΓࠩ ͕͋Δ͜ͱ͕Θ͔ͬͨ
4.5 σϝςϧͷ๏ଇ σϝςϧͷ๏ଇɺΦϒδΣΫτΛૄ݁߹ʹ͢Δ ͨΊͷنͷू·Γɻ͜ͷதͰҕৡग़ͯ͘Δɻ
4.5 σϝςϧͷ๏ଇ ࣭ٞ ʮҕৡɺActiveRecordͰΔͳΒdelegate͕͋Δʯ ʮdelegateɺϧʔϓͰN+1͕ൃੜ͢ΔՕॴΛݟམͱ͠ ͘͢ͳΔ͜ͱʯ
ຊRubyϝΠϯͳͷͰRailsActiveRecordʹ͍ͭͯ ৮Ε͍ͯͳ͍ ͕ɺ RailsΞϓϦ։ൃϝϯόʔͰͷಡॻձͩͬͨͷͰݱͰ ͏࣌ͷ͍ํؾΛ͚ͭΔϙΠϯτΛઌʹ͢͜ͱ͕Ͱ ͖ͨɻ
ୈ6ষ ܧঝʹΑͬͯৼΔ͍Λ֫ಘ͢Δ ࣭ٞ ʮܧঝͰඍົͳڞ௨Խ͕͞ΕͯͭΒ͍ॴ͕hogeॲཧʹ͋ Δʯ ʮڞ௨Խͨͩιʔείʔυ͕ಉ͔ͩ͡Βͬͯͬͯ͘ͱޙ ͰٯʹͭΒ͘ͳΔʯ
ಉ͡ιʔείʔυΛ৮Δϝϯόʔ͔Βɺ ۩ମతͳྫͷڞ༗ͱະདྷͷͭΒΈ͙͖͔͚͕ͬ Ͱ͖ͨɻ
͜Μͳײ͡ͰɺྠಡձΛ͢Δ ࣄͰຊͷ༰Ҏ֎ʹ͍Ζ͍Ζ ಘΔͷ͕͋Γ·ͨ͠
ྠಡձΛଓ͚ΒΕΔڥ
ɾ࣌ؒ ɹۀ࣌ؒɻਫ༵10:30ʙ11:30 ɹۀޙேૣ͗͢ΔͱɺͨͿΜࢀՃऀݮΔɻ ɹશһͷͨΊͷऔΓΈͰͳ͘ͳͬͯ͠·͏ɻ
ɾຊ ɹձࣾܦඅɻ1ਓ1ɺిࢠॻ੶Ͱ࣮ͰOKɻ ɹܦඅͰམͱͤͳ͍ͱΈΜͳͰಉ͡ຊΛݟΔͱ͍͏ ϋʔυϧ্͕Δɻ
ձࣾͷཧղ͕͋ͬͯͦ͜ ಛʹ ɾۀ࣌ؒʹΔ͜ͱ ຊಡΉͷ͕ۀͳͷʁͱɺΤϯδχΞҎ֎͕ී௨ʹٙΛײ͡Δؾ͕͢Δɻ ɹˠʮಡॻձ/ྠಡձʯ໊ͬͯલ͕ۀײग़ʹ͍͘ͷͰʮγεςϜ։ൃख๏ ʹ͍ͭͯͷhogeʯͷΑ͏ͳ໊લʹͨ͠Γۀײग़͢ͷ͋Γ͔ʁ
PRϖʔδ ϝυϐΞΤϯδχΞ׆ಈʹཧղ͋ΔձࣾͰ͢ɻ CTO fukumuraʮؤுͬͯܦӦਞઆಘͯͨ͠Ͷͬͯੲͷಉ྅͔ΒݴΘΕͨɻ ͦΜͳʹؤுͬͯͨͭΓແ͔ͬͨʯ ↓࠷ۙͷ࣮ ɹRuby25पه೦ΠϕϯτɺܦඅͰߦ͚·͢ʢϝυϐΞεϙϯαʔͬ ͯ·͢ʣ
ٞࣄ ɹ͋ͬͨํ͕ྑ͍ɻ ʢձͷதͰग़ͨࢀߟURLͳͲSlackʹషͬͨΓ͍ͯ͠·͢ʣ ɹɾܽ੮ऀ͕࣍ʹࢀՃ͍͢͠Α͏ʹ ɹɾΕͳ͍Α͏ʹ ɹɾະདྷͷϝϯόʔʹΘΔΑ͏ʹ ɹɾϒϩάωλ
ࢀՃϝϯόʔ ͓ʹରͯ͠ɺܦݧଟ͍ਓ͕͍ͨํ͕ྑ͍ ɾ࣭ɺٞΛͦͷͰղܾͰ͖Δ ɾຊ͚ͩͩͱແ͍ܦݧΛઌʹͤΔ ʢϝυϐΞɺٕज़ސwillnet͞ΜʹඞͣࢀՃͯ͠ Β͍ͬͯ·͢ʣ
ͲΜͳຊ͕ྑ͔͔ͬͨʢྑͦ͞͏͔ʣ 1.ͦͷͰ͋ΔఔཧղͰ͖Δ ɹ༧श͖͍ͯͯ͠ͳ͍લఏɻࢀՃϋʔυϧ্͛ͳ͍ɻ
ͲΜͳຊ͕ྑ͔͔ͬͨʢྑͦ͞͏͔ʣ 2.αϯϓϧίʔυ͕ϝΠϯͰͳ͍ ɹ͍αϯϓϧίʔυ͕͋Δͱɺͦ͜ͰཧղͰ͖Δਓ/Ͱ͖ͳ͍ਓ͕Ͱ͖ͯ ͍͢ɻ ɹࢀߟఔʹॻ͍ͯ͋ΔͷɺRails GuidesΈ͍ͨʹͯ͘ཧղ͍͢͠ ͷେৎɻ
ͲΜͳຊ͕ྑ͔͔ͬͨʢྑͦ͞͏͔ʣ 3.༰͕ຖճ݁͢Δͷ ɹܽ੮ɺهԱ͕ඈͿͳͲɺલͷ༰͕಄ʹͳ͍ͱ࣍ͷཧղ͕͍͠ɻ ɹʮ ΦϒδΣΫτࢦઃܭ࣮ફΨΠυʯɺ͖͍ͭ෦͋Δɻ
ͲΜͳຊ͕ྑ͔͔ͬͨʢྑͦ͞͏͔ʣ 4.ͦͷ࣌ඞཁͳͷ ɹRailsҠߦॳRailsΨΠυɺগ͠ܦͬͯઃܭʹվળ͕ݟ͖͑ͯͨΒ ɹʮΦϒδΣΫτࢦઃܭ࣮ફΨΠυʯͳͲɻ ɹཧղ͠ͳ͍ͱ·͍ͣ > ཧղ͍ͨ͠
՝ ɾਓ͕૿͑Δͱո͍͠ ɹࠓ10ਓఔ͕ͩɺਓ͕૿͑Δͱ͕ࣗಡΉ ॱ൪ճΓͮΒ͘ۓுײແ͘ͳΓձͮ͠Β ͘ͳΔؾ͕͢Δ ɹ
՝ ɾ໊લ͕ී௨͔ͩΒม͍͑ͨ ɹʮྠಡձʯΛΤοδ͕ޮ͍ͨײ͡ʹ
·ͱΊ ɾҰਓಡॻྑ͍͚Ͳྠಡձ͍͍ ɾຊʹॻ͍ͯ͋Δ͜ͱҎ֎͕ಘΒΕͨ ɹ- ܦݧʢऀͷʣ ɹ- ҧ͏ࢹ ɹ- ࣗͨͪͲ͏͍͔ͯ͘͠ ɾձࣾͷཧղʢۀ࣌ؒɺ͓ۚʣඞཁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠