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
rwc2014
Search
Kuniaki IGARASHI
November 14, 2014
Technology
2
650
rwc2014
Ruby World Conference 2014
2014.11.13, 14
クラウドサービスを使って簡単に始めるRuby Webアプリケーション開発
Kuniaki IGARASHI
November 14, 2014
Tweet
Share
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
KaigiOnRails2024
igaiga
9
13k
RuboSensei
igaiga
0
240
Shibuya.rb-2023-04-27-igaiga
igaiga
1
470
Ginza Rails27 igaiga
igaiga
9
13k
tork09igaiga
igaiga
2
290
Road to white mages
igaiga
1
640
Road to white mages
igaiga
8
3.9k
dive_into_code_rails_ruby_books
igaiga
0
210
ginza_rails_vol3_igaiga
igaiga
0
4.9k
Other Decks in Technology
See All in Technology
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
380
C++26 エラー性動作
faithandbrave
2
810
コンテナセキュリティのためのLandlock入門
nullpo_head
2
330
5分でわかるDuckDB
chanyou0311
10
3.3k
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
180
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
生成AIのガバナンスの全体像と現実解
fnifni
1
200
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
140
podman_update_2024-12
orimanabu
1
280
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
270
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
540
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
180
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Bash Introduction
62gerente
609
210k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Building Adaptive Systems
keathley
38
2.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Statistics for Hackers
jakevdp
796
220k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Transcript
ΫϥυαʔϏεΛͬͯ؆୯ʹ࢝ΊΔ 3VCZ8FCΞϓϦέʔγϣϯ։ൃ 6TFDMPVETFSWJDFTUPFBTJMZEFWFMPQ 3VCZXFCBQQMJDBUJPOT ޒेཛྷ໌,VOJBLJ*("3"4)* TQJDFMJGF *OD 3VCZ8PSME$POGFSFODF HJUIVCJHBJHB UXJUUFSJHBJHB
GBDFCPPLLVOJBLJJHBSBTIJ
ޒेཛྷ໌ גࣜձࣾTQJDFMJGF ։ൃ෦෦ HJUIVCJHBJHB UXJUUFSJHBJHB GBDFCPPLLVOJBLJJHBSBTIJ
ΤϯδχΞΦϑΟε݅ืूத BUUPCF/:P⒏DFIUUQTXXXqJDLSDPNQIPUPTBTPOBT גࣜձࣾTQJDFMJGF ౡࠜࢧࣾઃཱ४උத
"HFOEB w3VCZ 3BJMTͷ։ൃڥͷ࡞Γํ wΫϥυαʔϏε/JUSPVT*0 w8PSLTIPQͷ࣮ྫΛ௨ͨ͡ධՁ w8FCΞϓϦͷֶशํ๏ w3BJMT w4JOBUSB
͢͜ͱ wΫϥυڥΛͬͨ3VCZ 3BJMTͷ։ൃ wϫʔΫγϣοϓͰ͏ࡍʹؾΛ͚ͭΔ͜ͱ w3VCZ 3BJMTͷֶशํ๏ͱֶशࢿྉ wରɿϓϩάϥϛϯάΛ͜Ε͔Β࢝ΊΔํ ͜ͷൃදΛฉ͘ͱֶश ڭҭ Λ࢝ΊΒΕΔ
͞ͳ͍͜ͱ w+BWB4DSJQU w͍ٕ͠ज़ͷ ͜ͷൃදͰ͢͜ͱɾ͞ͳ͍͜ͱ
3VCZ 3BJMTͷ։ൃڥΛ࡞Δͷ͍͠ IUUQTXXXqJDLSDPNQIPUPTIJEEFO@WJDF
3VCZ 3BJMTͷ։ൃڥ 8JOEPXT "DUJWF4DSJQU3VCZ 3VCZ DPNQJMFS 3BJMT*OTUBMMFS 3VCZ .BD
QSFJOTUBMMFE 3VCZ SCFOW 3VCZ YDPEF IPNFCSFX -JOVY SCFOW 3VCZ DPNQJMFS ΑΓ؆୯ʹηοτΞοϓͰ͖Δ3VCZ 3BJMT։ൃڥͷఏҊ /JUSPVT*0
IUUQTXXXOJUSPVTJP
8IBU`T/JUSPVT*0ʁ ϒϥβ͔Βར༻Ͱ͖Δ Ϋϥυ্ͷ౷߹։ൃڥ *%& 'JMF&YQMPSFS &EJUPS 5FSNJOBM
/JUSPVT*0ͷྑ͞ ແྉϓϥϯͰձһొΛͨ͠Β͙͢ʹ 3VCZͷ։ൃ͕Ͱ͖Δ
/JUSPVT*0ͰͰ͖Δ͜ͱ w5FSNJOBM͔Β3VCZίʔυΛ࣮ߦ w3BJMT 4JOBUSBͰ8FCΞϓϦ։ൃ wHJUΛͬͯHJUIVCͱ࿈ܞ w࠷৽όʔδϣϯͷ3VCZΛར༻Մೳ
/JUSPVT*0ͷ͍ํ
/JUSPVT*0Ͱ։ൃΛ࢝ΊΔ ձһొ
/JUSPVT*0Ͱ։ൃΛ࢝ΊΔ $SFBUF#PY #09 ։ൃ࣮ߦڥ ͷ୯Ґ
/JUSPVT*0Ͱ։ൃΛ࢝ΊΔ ༗ྉϓϥϯΛ ͏߹ /0Λ ߪೖ͢Δ /0 /JUSPVT*0 ͰͷԾ௨՟ ແྉϓϥϯͱ ͷࠩޙड़
/JUSPVT*0Ͱ։ൃΛ࢝ΊΔ μογϡϘʔυ ఀࢭ࣌4UBSUΛԡͯ͠ىಈ ఀࢭத ͠Β͘Θͳ͍ͱࣗಈఀࢭ͢Δ
/JUSPVT*0Ͱ։ൃΛ࢝ΊΔ μογϡϘʔυ *%&ϘλϯΛԡͯ͠։ൃը໘Ҡಈ ىಈத
*%& 'JMF&YQMPSFS &EJUPS 5FSNJOBM
/JUSPVT*0Ͱ3BJMTΞϓϦΛͭ͘Δ TDBGGPMEΛͬͯຊͷใΛొ͢Δ؆୯ͳΞϓϦΛͭ͘Γ·͢ EFNP IUUQZPVUVCF4Y*SXQ7%
SBJMTTFSWFSͨ͠ͱ͖ͷଓํ๏ ˞Πϯλʔωοτ্ʹެ։͞ΕΔͷͰ ެ։ͨ͘͠ͳ͍߹ɺ 1SFWJFX4FU1BTTXPSE͔Β #"4*$ೝূͷύεϫʔυΛઃఆ /JUSPVT*0Ͱ3BJMTΞϓϦΛͭ͘Δ
/JUSPVT*0ͷҙ wແྉϓϥϯͰఆظతʹΠϯελϯε͕ఀࢭ wཧ༻μογϡϘʔυ͔Β࠶ىಈՄೳʢແྉʣ wϫʔΫγϣοϓͷؒʹఀࢭͨ͠έʔεແ͠ wωοτϫʔΫ͕ͳ͍ͱ͑ͳ͍
"DBTFTUVEZJOXPSLTIPQ 3BJMT(JSMT0TBLB IUUQTXXXqJDLSDPNQIPUPTRVBEJOTFU
"DBTFTUVEZJOXPSLTIPQ 3BJMT(JSMTେࡕͰ/JUSPVT*0Λར༻ wରऀॳֶऀʢॳϓϩάϥϛϯάͷํʣ w࡞ͨ͠ΞϓϦࣸਅߘϛχϒϩάΞϓϦ wࢿྉɿIUUQSBJMTHJSMTKQBQQ wશ࣌ؒͷ࡞ۀ࣌ؒ wڥߏங ձһొ ΞϓϦ࣮ ެ։
"DBTFTUVEZJOXPSLTIPQ ྑ͍ wڥߏங ձһొ ͕࣌ؒͰ؆୯ ఔ w͔Γқ͍͘қ͍ͱҙతͳҙݟ w1$Λସ͑ͨ߹Ҿ͖ଓ͖ར༻Ͱ͖Δ w/JUSPVT*0͚ͩͰΠϯλʔωοτެ։Մೳ
1BB4ෆཁ
"DBTFTUVEZJOXPSLTIPQ ѱ͍ w*&ͰҰ෦ػೳ͕͑ͳ͍ͷͰ$ISPNFϒϥβͳͲ͕ඞཁ wωοτϫʔΫ͕Εͨ߹ʹ͑ͳ͍ wϑΝΠϧΤΫεϓϩʔϥͰҙਤͤͣυϥοάΞϯυυϩοϓͷ ૢ࡞Λͯ͠͠·͍ɺϑΥϧμ͕ߦํෆ໌ʹͳΔ w/JUSPVT*0͕αʔϏεΛఀࢭͨ͠߹ʹར༻Ͱ͖ͳ͘ͳΔ ࣄલʹઆ໌Λߦ͍ɺଞͷ։ൃڥߏஙͱͲͪΒ બՄೳʹ͓ͯ͘͠ͷ͕ྑ͍
TQJDFMJGFࣾһཱྀߦUP/JUSPVT*0 ͻͱ͢ΈCSFBL IUUQTXXXqJDLSDPNQIPUPTJHBJHB
/JUSPVT*0JTFYDJUFEUPTFFTP NVDITVQQPSUGSPNPVSGSJFOET JO+BQBO8FXPVMEMPWFUPIFBS GSPNZPVBOETFFXIBUZPV`SF CVJMEJOHXJUI/JUSPVT*0 .FTTBHFGSPN/JUSPVT*0
3BJMTΛͬͨ 8FCΞϓϦ։ൃͷֶशํ๏ ํ wରϓϩάϥϛϯά͕ॳΊͯͷํ wͰ͖Δ͚͔ͩΓқ͘આ໌͍ͨ͠
3BJMTͷֶशࢿྉͷྫ w3BJMT(VJEFT XFC IUUQSBJMTHVJEFTKQ w3BJMT5VUPSJBM XFC IUUQSBJMTUVUPSJBMKQ w࣮ફ3VCZPO3BJMT ॻ੶
wஶࠇా*4#/ ϓϩάϥϚ͚͘͠ɺཧղ͕ࠔͳ߹ ͜ΕΒͷࢿྉͷखલΛຒΊΔɺ ΑΓ͔Γқ͍ࢿྉΛ࡞ͨ͠
IUUQCJUMZJHB[FNJ IUUQTHJUIVCDPNJHBJHBSBJMT@UFYUCPPL
3BJMTͷڭՊॻֶशͷྲྀΕ w࣮ࡍʹ࡞ͬͯԿ͕Ͱ͖Δ͔ΛΔ w3BJMTΞϓϦͷΈΛΔ wखຊͱͳΔίʔυʹ৮ΕΔ wσόοάͷํ๏ΛΔ w՝Λ͜ͳ͍ͯ͘͠
ࡐը૾ߘػೳ͖ϛχϒϩάΞϓϦ ࣮ࡍʹ࡞ͬͯԿ͕Ͱ͖Δ͔ΛΔ
ը૾ߘػೳ͖ϛχϒϩάΞϓϦ গ͠ͷίϚϯ υͱίʔυྔ Ͱ࣮Ͱ͖Δ 3BJMTͷڭՊॻΑΓҰ෦ൈਮ
3BJMTΞϓϦͷΈΛΔ 3BJMTͷڭՊॻΑΓҰ෦ൈਮ
αϯϓϧΞϓϦͰखຊͱͳΔίʔυʹ৮ΕΔ ը૾ߘػೳ͖ϛχϒϩάΞϓϦ wTDBGGPME ੜ͞Εͨίʔυྑ͍खຊ w$36%جૅ w.7$ w3BJMTͷॲཧͷྲྀΕ wSPVUFT DPOUSPMMFS
WJFX w(FN #VOEMFS ը૾ߘDBSFFSXBWFHFN ֶͿཁૉ
σόοάͷํ๏ΛΔ wΤϥʔͷಡΈํ wϩάͷग़͠ํɺಡΈํ wϒϥβͷσόοάػೳ wQSZͰσόοά
ֶशͷྲྀΕ ͜ͷઌͭͮ͘ಓΛࣔ͢ w࣮ࡍʹ࡞ͬͯԿ͕Ͱ͖Δ͔ΛΔ w3BJMTΞϓϦͷΈΛΔ wखຊͱͳΔίʔυʹ৮ΕΔ wσόοάͷํ๏ΛΔ w՝Λ͜ͳ͍ͯ͘͠
3BJMTΛͬͱֶͼ͍ͨਓ 8FC্ͷࢿྉ w3BJMTͷڭՊॻ wIUUQCJUMZJHB[FNJ w3BJMT(VJEFTIUUQSBJMTHVJEFTKQ w ཏతͳղઆͰ3BJMTͷػೳΛֶͿ w3BJMT5VUPSJBMIUUQSBJMTUVUPSJBMKQ w αϯϓϧΞϓϦͮ͘ΓΛ௨ͯ͡3BJMTΛֶͿ
w ୡਓग़൛ձʹిࢠॻ੶൛͋ΓIUUQUBUTV[JOFDPNCPPLTSBJMTUVUPSJBM ॻ੶ w࣮ફ3VCZPO3BJMT 3BJMTରԠ wஶࠇా*4#/
TQJDFMJGFࣾһཱྀߦJO/:XJUIࣰݪ༗࢘உ ͻͱ͢ΈCSFBL IUUQTXXXqJDLSDPNQIPUPTBTPOBT
TQJDFMJGFTFSWJDFT
TQJDFMJGFTQPOTPSFEFWFOUT
3BJMT 8FCαʔϏε։ൃͷελϯμʔυ ศར͕ͩෳࡶɺशಘίετ͕ߴ͍ 4JOBUSB ϑΝΠϧͰಈ࡞ γϯϓϧͳߏ 8FCΞϓϦͷಈ࡞Λཧղ͢Δͷʹྑ͍ࡐ 3VCZ8FC"QQ'SBNFXPSLT
4JOBUSB4BNQMF IFMMPSC HFNJTJOBUSB SVCZIFMMPSCQ PS SVCZIFMMPSCQP ˢ/JUSPVT*0ͰPΛ༩ IUUQMPDBMIPTU ϒϥβͰΞΫηε SFRVJSFTJOBUSB
HFUEP )FMMPXPSME FOE ݁Ռ
4JOBUSBͱ3BJMTͷൺֱ 4JOBUSB pMF IFMMPSC 3BJMT
4JOBUSBσʔλอଘ ӬଓԽ σʔλอଘͷΈผ్༻ҙ͢Δඞཁ͕͋Δ 3BJMTͰඪ४తʹར༻͞Ε͍ͯΔ "DUJWF3FDPSEઃఆ͕ෳࡶʹͳΔ ίʔυेߦ ָʹσʔλΛอଘ͍ͨ͠ ΫϥυαʔϏεpSFCBTFͱ )BTIΛอଘͰ͖ΔpSFCBTFHFNΛར༻
IUUQTXXXpSFCBTFDPN
'JSFCBTF Ϋϥυ্ͷσʔλཧαʔϏε pSFCBTFHFNΛ͏ͱ͍ίʔυͰ )BTIΦϒδΣΫτͷอଘɺಡΈग़͕͠Մೳ ແྉϓϥϯར༻Մೳ
ࣄલ४උ ΞΧϯτΛ࡞͠ɺ %BTICPBSE͔Β $3&"5&/&8"11 ϘλϯΛԡͯ͠ ΞϓϦΛ࡞͢Δ
pSFCBTFHFNTBNQMFDPEF pSFCBTF@TBNQMFSC SFRVJSFpSFCBTF VSMIUUQTJHBJHBTBNQMFpSFCBTFJPDPN pSFCBTF'JSFCBTF$MJFOUOFX VSM TUPSBHF@OBNFCPYࣗ༝ʹ໋໊Մೳ I\BQQMF HSBQF^อଘ͢Δ)BTI
4BWF pSFCBTFTFU TUPSBHF@OBNF I -PBE QSFTVMUpSFCBTFHFU TUPSBHF@OBNF CPEZ HFNJpSFCBTF SVCZpSFCBTF@TBNQMFSC ݁Ռ\BQQMF HSBQF^ $POpH 4BWF -PBE ˞VSMEBTICPBSEͰ ઃఆͨ͠"1163- )BTIΛอଘͯ͠ಡΈࠐΉ3VCZαϯϓϧίʔυ
TJOBUSBpSFCBTFTBNQMFDPEF pSFCBTF@TJOBUSBSC SFRVJSFTJOBUSB SFRVJSFpSFCBTF 'JSFCBTFTFUUJOHT VSMIUUQTJHBJHBTBNQMFpSFCBTFJPDPN pSFCBTF'JSFCBTF$MJFOUOFX VSM TUPSBHF@OBNFCPY
4BWF ຊདྷQPTU͕ͩɺΞΫηε͕؆୯ͳͷͰHFU HFUOBNFOBNFEP pSFCBTFTFU TUPSBHF@OBNF \OBNF QBSBNT<OBNF>^ 7JTJUPSOBNF\QBSBNT<OBNF>^ FOE -PBE HFUWJTJUPSEP pSFCBTFHFU TUPSBHF@OBNF CPEZUP@T FOE HFNJpSFCBTFTJOBUSB SVCZpSFCBTF@TJOBUSBSC ˢ/JUSPVT*0ͰҎԼΛ༩ QP OBNFJHB ϒϥβͰOBNF999ΞΫηε WJTJUPS \OBNFJHB^ OBNF999ΞΫηεͨ͠ࡍʹ 4BWF͞ΕͨσʔλΛදࣔ
ͬͱֶͼ͍ͨਓ4JOBUSB 3VCZฤ wೖ4JOBUSB w*4#/ wߨٛࢿྉ 3VCZฤ wIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ wୈճʙୈճ3VCZฤ ୈճʙୈճͷ3BJMTฤ3BJMTͷڭՊॻΛࢀর
wͨͷ͍͠3VCZୈ൛ w*4#/
·ͱΊ w/JUSPVT*0Ͱ؆୯ʹ3VCZ 3BJMT։ൃ wIUUQTXXX/JUSPVT*0 w3BJMTͷڭՊॻΛ࡞ͨ͠ wIUUQCJUMZJHB[FNJ wγϯϓϧͳ4JOBUSBͰ8FCΞϓϦΛཧղ w'JSFCBTFHFNͰ؆୯ʹσʔλอଘ
3VCZ։ൃऀΛ ͤʹ͢Δݴޠɻ ͬͱଟ͘ͷ։ൃऀΛ 3VCZͰͤʹ͍ͨ͠ɻ ·ͭͱΏ͖ͻΖ
/JUSPVT*0(VZT দԬઌੜɺ-FXJTڭतɺᖛ࡚͞ΜɺχϑςΟגࣜձࣾླઌੜɺٶ͞Μ ҰڮେֶͷडߨֶੜͷΈͳ͞· 3BJMT(JSMT 3BJMTࣉࢠͷελοϑɺίʔνɺࢀՃऀͷΈͳ͞· ৬ಉ྅ ँࣙ5IBOLT BCPVUNF HJUIVCJHBJHB UXJUUFSJHBJHB
GBDFCPPLLVOJBLJJHBSBTIJ U%JBSZIUUQJHBSBTIJLVOJBLJOFU 3BJMTͷڭՊॻIUUQCJUMZJHB[FNJ 2VFTUJPOʁ
None
ิ TVQQMFNFOUBSZFYQMBOBUJPO
/JUSPVT*0Ͱ3VCZΛόʔδϣϯΞοϓ SWNΛར༻͍ͯ͠ΔͷͰɺSWNͷ࡞๏Ͱ࠷৽൛ͷ3VCZΛར༻Մೳ IUUQJHBSBTIJLVOJBLJOFUEJBSZIUNM
pSFCBTFEBTICPBSE
͜ͷ1ͷRubyΤίγεςϜͷϗοττϐοΫͷ1ͭ ৽ֶ͍͠ͼͷ͕ͨ͘͞ΜͰ͖ͨ