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
17k
RuboSensei
igaiga
0
280
Shibuya.rb-2023-04-27-igaiga
igaiga
1
520
Ginza Rails27 igaiga
igaiga
9
13k
tork09igaiga
igaiga
2
340
Road to white mages
igaiga
1
700
Road to white mages
igaiga
8
4k
dive_into_code_rails_ruby_books
igaiga
0
250
ginza_rails_vol3_igaiga
igaiga
0
5k
Other Decks in Technology
See All in Technology
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
160
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
3
270
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
170
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
140
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
Wasm元年
askua
0
140
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
140
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
200
A2Aのクライアントを自作する
rynsuke
1
170
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
11
3.8k
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
160
Agentic DevOps時代の生存戦略
kkamegawa
1
1.3k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
33
5.9k
Producing Creativity
orderedlist
PRO
346
40k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Writing Fast Ruby
sferik
628
61k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
The World Runs on Bad Software
bkeepers
PRO
69
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
Rails Girls Zürich Keynote
gr2m
94
14k
RailsConf 2023
tenderlove
30
1.1k
Scaling GitHub
holman
459
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
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" ͱࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞
ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞ ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢