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
1
3.5k
ruby17
第17回 Rails開発環境構築
2013.10.10
Kuniaki IGARASHI
September 28, 2013
Tweet
Share
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
KaigiOnRails2024
igaiga
11
15k
RuboSensei
igaiga
0
260
Shibuya.rb-2023-04-27-igaiga
igaiga
1
500
Ginza Rails27 igaiga
igaiga
9
13k
tork09igaiga
igaiga
2
310
Road to white mages
igaiga
1
670
Road to white mages
igaiga
8
4k
dive_into_code_rails_ruby_books
igaiga
0
230
ginza_rails_vol3_igaiga
igaiga
0
4.9k
Other Decks in Technology
See All in Technology
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
2
110
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
1
300
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
170
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
110
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
AIエージェント入門
minorun365
PRO
34
20k
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
250
Охота на косуль у древних
ashapiro
0
130
開発者体験を定量的に把握する手法と活用事例
ham0215
0
150
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
180
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
200
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
Featured
See All Featured
Scaling GitHub
holman
459
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
1.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Code Reviewing Like a Champion
maltzj
521
39k
Navigating Team Friction
lara
183
15k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Gamification - CAS2011
davidbonilla
80
5.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
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" ͱࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞
ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞ ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢