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
ruby17
Search
Kuniaki IGARASHI
September 28, 2013
Technology
3.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ruby17
第17回 Rails開発環境構築
2013.10.10
Kuniaki IGARASHI
September 28, 2013
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
RailsTokyo 4 GarnetTech373
igaiga
0
130
ActiveJobUpdates
igaiga
1
690
roppongirb_20250911
igaiga
1
770
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
160
KaigiOnRails2024
igaiga
16
25k
RuboSensei
igaiga
0
370
Shibuya.rb-2023-04-27-igaiga
igaiga
1
610
Ginza Rails27 igaiga
igaiga
9
14k
tork09igaiga
igaiga
2
430
Other Decks in Technology
See All in Technology
Flutterをカメラで動かしたかった話
sony
1
130
TypeScript入門 2026
recruitengineers
PRO
2
460
AIが自社のTableauを操作する世界へ:Tableau MCP超入門
tbtykk
0
110
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
2
210
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.7k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
140
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
620
Webアクセシビリティ入門 2026
recruitengineers
PRO
2
410
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Goでデータパイプラインを作ろう
sansantech
PRO
0
330
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.1k
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
1.6k
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Optimizing for Happiness
mojombo
378
71k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Deep Space Network (abreviated)
tonyrice
0
250
WCS-LA-2024
lcolladotor
0
790
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Done Done
chrislema
186
16k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Transcript
3VCZPO3BJMTߨٛ ୈճ3BJMT։ൃڥߏங ޒेཛྷ໌ UXJUUFSJHBJHB IUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ BUҰڮେֶ χϑςΟגࣜձࣾدෟߨٛ ࣾձՊֶʹ͓͚Δใٕज़ͱ ίϯςϯπ࡞*7
χϑςΟגࣜձࣾ ఏڙ
ޒेཛྷ໌ ߨࢣ גࣜձࣾTQJDFMJGF UXJUUFSJHBJHB IUUQTHJUIVCDPNJHBJHB IUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ
ᖛ࡚݈ޗ 5FBDIJOH"TTJTUBOU qVYqFY JOD ถࠃ๏ਓ UXJUUFSINTL IUUQTHJUIVCDPNINTL IUUQXXXGBDFCPPLDPNIBNBDIBOH
ࠓΔ͜ͱ ߨٛʹ͍ͭͯ 3BJMT։ൃڥͮ͘Γ ͡Ίͯͷ8FCΞϓϦͮ͘Γ
ධՁํ๏ ԋश՝Λఏग़͍͖ͯͨͩ͠ධՁΛߦ͍·͢ɻ ·ͨɺतۀͷߩݙධՁͷରͱ͠·͢ɻ ग़੮͕तۀճͷͷʹຬͨͳ͍߹ʮ'ʯͱ͠·͢ɻ
ࣗश༻3BJMTࢿྉ ಛʹڭՊॻ͍·ͤΜ͕ɺࣗश༻ʹҎԼͷࢿྉΛ͓קΊ͠·͢ɻ 3BJMT5VUPSJBM XFC IUUQSBJMTUVUPSJBMKQ WFSTJPO 3BJMT(VJEF XFC &OHMJTI
IUUQHVJEFTSVCZPOSBJMTPSH 3BJMTʹΑΔΞδϟΠϧ8FCΞϓϦέʔγϣϯ։ൃୈ൛ IUUQXXXBNB[PODPKQEQ վగ৽൛جૅ3VCZPO3BJMT IUUQXXXBNB[PODPKQEQ ͨͷ͍͠3VCZ IUUQXXXBNB[PODPKQEQ
ߨٛࢿྉஔ͖ աڈͷࢿྉ͕%-Ͱ͖·͢ɻ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
ࡶஊɾ࣭༻GBDFCPPLάϧʔϓ ޙظͦͷ··͑·͢ɻࢥ͍ग़ͨ͠ͱ͖ʹࡶஊ࣭ͯ͠Βͬͯ0,ɻ अຐͳΑ͏ͳΒάϧʔϓ͔Βୀձ͍ͯͩ͘͠͞ɻ IUUQTXXXGBDFCPPLDPNHSPVQTIJUPUTVCBTIJSC ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ
ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞ ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢
3VCZPO3BJMTͱ 3VCZͰॻ͔Εͨ8FCΞϓϦϑϨʔϜϫʔΫ
$00,1"% 3BJMT
৯ϩά 3BJMT
8FC1BZ 3BJMT
0INZ(MBTTFT 3BJMT
UNJY 3BJMT
͋ͱͰ 3BJMT
UXJUUFSݩ3BJMT
3VCZͷجૅ͕ʹ͖ͭɺ؆୯ͳϓϩάϥϜΛॻ͚Δ ɹXJLJQFEJBΞΫηεղੳ࣮श 3VCZPO3BJMTͷجૅ͕ʹ͖ͭɺ؆୯ͳΞϓϦΛ࡞ΕΔ 3VCZʹؔ͢Δෆ໌͕͋ͬͨͱ͖ʹௐΒΕΔ ͜ͷߨٛΛड͚Δͱ ͜Ε͕Ͱ͖ΔΑ͏ʹͳΔ ༧ఆ
3VCZͷجૅ͕ʹ͖ͭɺ؆୯ͳϓϩάϥϜΛॻ͚Δ ɹXJLJQFEJBΞΫηεղੳ࣮श 3VCZPO3BJMTͷجૅ͕ʹ͖ͭɺ؆୯ͳΞϓϦΛ࡞ΕΔ 3VCZʹؔ͢Δෆ໌͕͋ͬͨͱ͖ʹௐΒΕΔ ͜ͷߨٛΛड͚ͨΒ ͜Ε͕Ͱ͖ΔΑ͏ͳͬͨ Նֶظ
3VCZͷجૅ͕ʹ͖ͭɺ؆୯ͳϓϩάϥϜΛॻ͚Δ ɹXJLJQFEJBΞΫηεղੳ࣮श 3VCZPO3BJMTͷجૅ͕ʹ͖ͭɺ؆୯ͳΞϓϦΛ࡞ΕΔ 3VCZʹؔ͢Δෆ໌͕͋ͬͨͱ͖ʹௐΒΕΔ ͜ͷߨٛΛड͚ͨΒ ͜Ε͕Ͱ͖ΔΑ͏ͳΔ ౙֶظ
͜Μͳ͜ͱΛΔ༧ఆͰ͢ 3BJMTͷجૅ ࣸਅΞοϓϩʔυΞϓϦ࡞Γ ࣗ࡞ΞϓϦͷωοτެ։ ࣗ༝՝ΞϓϦ੍࡞ԋश ΄͔ߟ͑த
IUUQXXXqJDLSDPNQIPUPTVTGCQT ࡞ͬͨͷཤྺॻʹॻ͚·͢ɻ γεςϜؔ࿈ͷ৬Λड͚Δਓ͚
લظͷ༰Λཧղ͍ͯ͠Δ͜ͱΛલఏ ʹͯ͠ਐΊ·͢ͷͰɺલظΛडߨͯ͠ ͍ͳ͍߹͍͠ͱࢥ͍·͢ɻ डߨ͞ΕΔ߹ɺߨٛࢿྉஔ͖ϖ ʔδΛಡΜͰલظΛࣗश͓͍ͯͯ͠ ͍ͩ͘͞ɻ डߨ݅ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
ٳߨ࿈བྷ ݄ ͷߨٛ ٳߨͰ͢ɻ
ҎԼͷڥߏஙΛߦ͍·͢ɻ ڥߏங 8JOEPXT .BD 3BJMT*OTUBMMFS·ͨ7.6CVOUV ͲͪΒΛ͔ͬͯ·Θͳ͍Ͱ͢ɻ ՆֶظͰڥߏஙͨ͠ํͦͷڥʹগ͠ίϚϯυΛଧͭ͜ ͱͰڥߏஙͰ͖·͢ɻ ʢৄ͘͠ޙड़ͷʮڥߏஙࢿྉʯࢀরʣ HFNVQEBUFSBJMTOPSJOPSEPD
SBJMTW ֬ೝ 3BJMTYͱग़Ε0, ࢿྉ࡞࣌࠷৽
ҎԼͷόʔδϣϯΛఆ͍ͯ͠·͕͢ɺߨٛ ظؒதʹόʔδϣϯΞοϓ͢ΔͷͰ৽͍͠ ͷʹมߋʹͳΔ͔͠Ε·ͤΜɻ 3VCZPO3BJMT։ൃڥ 3VCZQPSQ 3VCZPO3BJMT ݄ݱࡏͷ࠷৽
3VCZ 3BJMTڥߏங ͷࢿྉΛݟͯڥߏஙΛ͍ͯͩ͘͠͞ɻ ˞͏·͘Ͱ͖ͳ͍߹ϑΥϩʔ͠·͢ͷͰ Λ͔͚͍ͯͩ͘͞ IUUQTTQFBLFSEFDLDPNJHBJHBCVJMEJOHSVCZEFWFOW ڥߏஙࢿྉ
8FCΞϓϦͷΈͷ ؆୯ͳઆ໌
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ 63-IUUQDPPLQBEDPN 8FCΞϓϦͷجຊಈ࡞ IUUQDPPLQBEDPN ϒϥβʹ63-Λ ೖྗͯ͠&OUFS ϦΫΤετ͕ඈͼ·͢ɻ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63-IUUQDPPLQBEDPN )5.- 8FCΞϓϦͷجຊಈ࡞ IUUQDPPLQBEDPN Ϩεϙϯεͱͯ͠)5.-͕ฦͬͯ͘Δ
)5.- )ZQFS5FYU.BSLVQ-BOHVBHF 8FCϖʔδΛهड़͢ΔͨΊͷݴޠ
ϒϥβͰ)5.-දࣔ ӈΫϦοΫ͔ΒιʔεΛදࣔ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63-IUUQDPPLQBEDPN )5.- ϒϥβͷओͳػೳ IUUQDPPLQBEDPN ϦΫΤετΛඈ͢
ϨεϙϯεͰΒͬͨ)5.-Λਓ͕ݟΔܗࣜͰදࣔ͢Δ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε )5.- ΠϯλʔωοτͷΞΫηε 8FC4FSWFSωοτͷ͜͏ʹ͋Δ *OUFSOFU
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63- )5.- ։ൃ࣌ͷߏ ͷϚγϯͷதͰ։ൃɺΞΫηεՄೳͰ͢ɻ ࣗͷ1$
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63- )5.- 3BJMTΞϓϦ ͜Ε͔Β࡞Δͷ͜ͷ෦ ࣗͷ1$
3BJMT"QQ ϒϥβͰಈ࡞ ֬ೝ͠ͳ͕Βਐ Ί·͢ɻ
Ͱɺ3BJMTΞϓϦΛ ͭͬͯ͘Έ·͠ΐ͏
͡Ίͷ 8FCΞϓϦͮ͘Γ
3BJMTΞϓϦΛͭͬͯ͘ಈ͔ͯ͠ΈΔ 3BJMTΞϓϦΛͭ͘Δ 3BJMTΞϓϦ 8FC4FSWFS Λىಈ͢Δ ϒϥβ͔ΒΞΫηε͢Δ
3BJMTΞϓϦΛͭ͘Δ SBJMTOFXTBNQMF@BQQ ུ SBJMTOFXΞϓϦ໊ Ͱ3BJMTΞϓϦΛ࡞Γ·͢ɻ 3BJMT͕ΞϓϦ໊ͷϑΥϧμΛ࡞ ΓɺͦͷதʹඞཁͳϑΝΠϧΛͨ͘ ͞Μ࡞͠·͢ɻը໘ʹදࣔ͞ΕΔ ͷ࡞͞ΕͨϑΝΠϧ܈Ͱ͢ɻ ͦͷޙɺඞཁͳHFNΛࣗಈͰηο
τΞοϓ͠·͢ɻ ͪΐͬͱ͔͔࣌ؒΓ·͢ɻ ్தͰ&OUFSZPVSQBTTXPSEUP JOTUBMMUIFCVOEMFE3VCZ(FNTUP ZPVSTZTUFN ͱݴΘΕͨΒύιίϯͷύεϫʔυΛೖྗ͠ ͍ͯͩ͘͞ɻ
8FC4FSWFSͱ3BJMTΞϓϦΛىಈͯ͠ɺϒϥβ͔ΒΞΫηε Մೳʹ͠·͢ɻ ىಈதTIFMM͔ΒίϚϯυͳͲೖྗͰ͖ͳ͍ͷͰɺඞཁͳ߹ ผͷλʔϛφϧը໘Λ։͖·͢ɻ ऴྃ$USMΩʔΛԡ͠ͳ͕ΒDΩʔΛԡ͍ͯͩ͘͠͞ɻ 8JOEPXTͰ$USM DͰऴྃ͠ͳ͍߹ɺ$USM 1"64&Λࢼ͍ͯͩ͘͠͞ɻ ͦΕͰμϝͳ߹ɺλʔϛφϧը໘Λด͍ͯͩ͘͡͞ɻ DETBNQMF@BQQ
CVOEMFFYFDSBJMTTFSWFS 8FC4FSWFSͱ3BJMTΞϓϦΛىಈ͢Δ TFSWFSTͱ ུ͢͜ͱՄೳͰ͢ɻ
͜Μͳը໘͕ग़Ε3BJMTΞϓϦΞΫηεޭͰ͢ɻ ։ൃ͢ΔͨΊͷา͕౿Έग़͍ͤͯΔ͜ͱʹͳΓ·͢ɻ IUUQMPDBMIPTU ϒϥβ͔ΒҎԼͷ63-ʹΞΫηε͢Δ
MPDBMIPTU ಛผͳΞυϨεͰ͢ɻࣗͷϚγϯΛࢦ͠·͢ɻ IUUQMPDBMIPTU 63-ͷઆ໌ ϙʔτ൪߸Ͱ͢ɻ൪ϙʔτΛࢦ͠·͢ɻ ΞυϨε ϙʔτ ϙʔτɺಉ͡ΞυϨεͰ௨৴ઌΛಛఆ͢Δ൪߸Ͱ͢ɻ ྫ͑ɺΞυϨε͕Ӻͷ໊લɺϙʔτ͕ӺͷϗʔϜ˓൪ઢɺ
ͱΠϝʔδ͢Δͱ͔Γ͍͔͢ɻ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ IUUQMPDBMIPTU Ϩεϙϯε )5.- ࣗͷ1$ MPDBMIPTU CVOEMFFYFDSBJMTT
͖ͬ͞ͷΞΫηεͷΠϝʔδਤ TBNQMF@BQQ
͍ͭͮͯɺ ؆୯ͳϖʔδΛ࡞ͬͯΈ·͢ɻ σϞ։ൃͷͨΊͷͻͳܗΛ࡞ΔͨΊͷTDBGGPME ͱ͍͏ػೳΛར༻͠·͢ɻ͜ΕΛ͏ͱɺҰؾʹϒ ϩάͷΑ͏ͳػೳΛ࡞Δ͜ͱ͕Ͱ͖·͢ɻ ˞TDBGGPMEͱ͍͏ҙຯͰ͢ɻ ࣄݱͰ·ΕͯΔ͋ͷͰ͢
CVOEMFFYFDSBJMTHTDBGGPMECPPLUJUMFTUSJOHNFNPUFYU ؆୯ͳϖʔδΛͭͬͯ͘ΈΔ CVOEMFFYFDSBLFECNJHSBUF TDBGGPMEͰϖʔδΛͭ͘Δ σʔλΛ͠·͏σʔλϕʔεΛͭ͘Δ IUUQMPDBMIPTUCPPLT ϒϥβ͔ΒҎԼͷ63-ʹΞΫηε͢Δ ຊͷλΠτϧͱϝϞΛొͰ͖ΔϖʔδΛͭ͘Γ·͢ɻ CVOEMFFYFDSBJMTT ˞SBJMTTFSWFSΛ$USMDͰఀࢭ͍ͯͨ͠Βɺ·ͨىಈ͢Δ
λʔϛφϧͰSBJMTTFSWFS͕ىಈ͍ͯ͠Δ߹ɺऴྃ͢Δ͔ɺผͷλʔ ϛφϧΛ։͍͍ͯͩ͘͞ɻTBNQMF@BQQϑΥϧμҠಈ͓͖ͯ͠·͢ɻ ʢ͜ͷϑΥϧμͷ͜ͱΛ3BJMT3PPUͱݺͼ·͢ɻʣ ˞HHFOFSBUFͷུͰ͢ɻ
͜Μͳը໘͕ग़ΕޭͰ͢ɻ/FX#PPLϦϯΫ͔ Βొͨ͠Γฤूͨ͠Γআͨ͠Γͯ͠Έ͍ͯͩ͘͞ɻ IUUQMPDBMIPTUCPPLT ϒϥβ͔ΒҎԼͷ63-ʹΞΫηε͢Δ
3BJMT3PPUϑΥϧμҠಈ TBNQMF@BQQϑΥϧμҠಈ͓͖ͯ͠·͢ɻ TBNQMF@BQQϑΥϧμΛ3BJMT3PPUͱݺͼ·͢ɻ CVOEMFJOTUBMM 3BJMTΞϓϦͰ͏HFNΛηοτΞοϓͯ͘͠ΕΔ͓·͡ͳ͍ɻ ಉ͡ΞϓϦΛ࿈ଓͯ͠ಈ͔͍ͯ͠Δ߹ෆཁͰ͢ɻ 8FC4FSWFSͱ3BJMTΞϓϦΛىಈ͢Δ ϒϥβ͔ΒΞΫηε͢Δ 3BJMTΞϓϦΛճҎ߱ʹىಈ͢Δ߹ͷखॱ CVOEMFJOUBMM
IUUQMPDBMIPTUCPPLT CVOEMFFYFDSBJMTT CVOEMFJOTUBMMCVOEMFͱলུՄೳͰ͢ɻ
2VFTUJPO
None
ࢀߟࢿྉ
BCD ࣮ߦ݁Ռ QVUTBCD ॻࣜ 3VCZίʔυ ࣮ߦ݁Ռ TIFMMίϚϯυ MT Q
จதͰͰॻ͖·͢
ࣗश༻3BJMTࢿྉ ಛʹڭՊॻ͍·ͤΜ͕ɺࣗश༻ʹҎԼͷࢿྉΛ͓קΊ͠·͢ɻ 3BJMT5VUPSJBM XFC IUUQSBJMTUVUPSJBMKQ WFSTJPO 3BJMT(VJEF XFC &OHMJTI
IUUQHVJEFTSVCZPOSBJMTPSH 3BJMTʹΑΔΞδϟΠϧ8FCΞϓϦέʔγϣϯ։ൃୈ൛ IUUQXXXBNB[PODPKQEQ վగ৽൛جૅ3VCZPO3BJMT IUUQXXXBNB[PODPKQEQ ͨͷ͍͠3VCZ IUUQXXXBNB[PODPKQEQ
ߨٛࢿྉஔ͖ աڈͷࢿྉ͕%-Ͱ͖·͢ɻ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
ࡶஊɾ࣭༻GBDFCPPLάϧʔϓ IUUQTXXXGBDFCPPLDPNHSPVQTIJUPUTVCBTIJSC ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾࢀՃऀελοϑ ߨࢣɾ5" ͱࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞
ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞ ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢