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
RubyやRailsをはじめる人を応援したい
Search
Kuniaki IGARASHI
December 08, 2012
0
470
RubyやRailsをはじめる人を応援したい
2012.12.8 at RejectTokyoRubyKaigi10
Kuniaki IGARASHI
December 08, 2012
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
Featured
See All Featured
Fireside Chat
paigeccino
37
3.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
A Tale of Four Properties
chriscoyier
160
23k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.4k
Designing for Performance
lara
609
69k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Six Lessons from altMBA
skipperchong
28
3.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Practical Orchestrator
shlominoach
188
11k
Transcript
3VCZ3BJMTΛ ͡ΊΔਓΛ Ԡԉ͍ͨ͠ ,VOJBLJ*("3"4)*JHBJHB BU3FKFDU5PLZP3VCZ,BJHJ
ޒेཛྷ໌ גࣜձࣾສ༿ɹΤϯδχΞ UXJUUFS!JHBJHB GBDFCPPLIUUQGBDFCPPLDPNLVOJBLJJHBSBTIJ QIPUPCZLPJDIJSPPIUUQXXXqJDLSDPNQIPUPTLPJDIJSPP
ఏڙ גࣜձࣾສ༿
None
֤Ͱಅ ٻΊΔਓͷ܈Ε
݄ΑΓඇৗۈߨࢣ
None
None
ఏڙOJGUZ༷
None
จܥͷֶՊ
ߨٛͰ Ή͔͍ͣ͜͠ͱ
ֶੜ͞Μͷ স͍ΛͱΔ͜ͱ
5FBDIJOH"TTJTUBOU ᖛ࡚݈ޗ ΫοΫύουגࣜձࣾɹΤϯδχΞ 5"ͷᖛ࡚͞Μᐌ͘
ޒेཛྷ͞Μɺ ͋ͦ͜ ਓड͚ͯ·ͨ͠Αɻ ˞ֶੜਓ
͍͢͝Ͱ͢Ͷɺ ਓসͬͯ·ͨ͠Αɻ ˞ֶੜਓ
ͦΜͳϨϕϧ
ͪͳΈʹ ߨٛͰҰ൪ ड͚ͨͷ
None
ίϨˢ
ίϨˢ
None
None
None
͟Θ͟Θ ͟Θ͟Θ
͟Θ͟Θ ͟Θ͟Θ ͛͢ʔ
͟Θ͟Θ ͟Θ͟Θ ͛͢ʔ ͋ͷਓYYͬͯͷ ಡΊΔͷ
ΜͩΓ͢Δ ͚ΕͲ
ڭ͑Δ͜ͱ ͨͷ͍͠ʂ
ʆɾТɾ
ʆɾТɾ λ
ʆɾТɾ λɹλ
ʆɾТɾ λɹλɹλο
ʆɾТɾ λɹλɹλο λʔϯ
ɾʄƅɾ Ň ˜ ŰƅōōŇ ɾʄƅɾ ಈ͍ͨʙ
͔Βͷ
ϋΠλον
ϋΠλον
3BJMTॳΊͯͷਓ͚ʹ 3BJMTΛମݧ͢Δ ϫʔΫγϣοϓΠϕϯτ ૿͖͑ͯ·ͨ͠
None
None
None
None
None
None
None
None
None
3VCZBOE3BJMTΛ ͡ΊΔͱ͖ ͍͜͠ͱ
ڥߏங
ͱ͍͑ɺ ͍Ζ͍ΖศརʹͳͬͨͷͰ ͦΕ΄Ͳ͋͘͠Γ·ͤΜ
8JOEPXT3BJMT*OTUBMMFS 3BJMTΠϯετʔϥʔΛ%PXOMPBE *OTUBMM IUUQSBJMTJOTUBMMFSPSH ໊લͱFNBJMΛೖྗ ެ։͞Ε·͢ɻ HJUͷઃఆͰΘΕ·͢ɻ ىಈ8JOEPXTϝχϡʔ͔ΒҎԼΛ࣮ߦ ʮϓϩάϥϜͱϑΝΠϧͷݕࡧʯ͔Β$PNNBOE1SPNQUXJUI3VCZBOE3BJMTPS ελʔτˠશͯͷϓϩάϥϜˠ3BJMT*OTUBMMFSˠ$PNNBOE1SPNQUXJUI3VCZBOE3BJMT
˞3BJMT*OTUBMMFSͱ͍͏໊લͰ͕͢ɺ3VCZ͚ͩ͏ͷͳ͍Ͱ͢ɻ
.BD3BJMT*OTUBMMFS 3BJMTΠϯετʔϥʔΛ%PXOMPBE *OTUBMM IUUQSBJMTJOTUBMMFSPSH ໊લͱFNBJMΛೖྗ ެ։͞Ε·͢ɻ HJUͷઃఆͰΘΕ·͢ɻ λʔϛφϧ͔Β3VCZͱ3BJMT͕͑·͢ɻ ˞3BJMT*OTUBMMFSͱ͍͏໊લͰ͕͢ɺ3VCZ͚ͩ͏ͷͳ͍Ͱ͢ɻ
6CVOUV7. ΦϨΦϨΠϝʔδެ։த 3VCZQ 3BJMT IUUQTHJUIVCDPNIJUPUTVCBTIJSVCZMFDUVSF Πϯετʔϧํ๏ͳͲIUUQTTQFBLFSEFDLDPNJHBJHBSVCZ
6CVOUV BQUߋ৽ TVEPBQUHFUVQEBUF TVEPBQUHFUVQHSBEF جຊύοΫ TVEPBQUHFUJOTUBMMCVJMEFTTFOUJBMPQFOTTMMJCSFBEMJOFMJCSFBEMJOFEFWDVSM HJUDPSF[MJCH[MJCHEFWMJCTTMEFWMJCZBNMEFWMJCTRMJUFMJCTRMJUFEFWTRMJUF MJCYNMEFWMJCYTMUEFWBVUPDPOGMJCDEFWODVSTFTEFWBVUPNBLFMJCUPPMCJTPO TVCWFSTJPO[TITDSFFOWJN 3VCZ
XHFUGUQGUQSVCZMBOHPSHQVCSVCZSVCZQUBSH[ UBSYW[GSVCZQUBSH[ DESVCZQ DPOpHVSF NBLF TVEPNBLFJOTUBMM 3BJMT TVEPHFNJOTUBMMSBJMT TVEPBQUHFUJOTUBMMOPEFKT
͡Ί͔ͨ
8FCΞϓϦ ͍Ζ͍Ζ͕ࣝඞཁ͚ͩͲ 3VCZPO3BJMT 3PVUFT $POUSPMMFS 7JFX .PEFM 3&45GVM %BUBCBTF "QBDIF
1BTTFOHFS +BWBTDSJQU "+"9 K2VFSZ )5.- $44 (FNT 34QFD
·ͣͲΜͳ͜ͱ͕ Ͱ͖Δͷ͔ ମݧͯ͠Β͏
ྫɿը૾ߘΞϓϦ TQPOTPSFECZ+4BUP
ͭ͘Γ͔ͨ SBJMTOFXCMPH@BQQ DECMPH@BQQ CVOEMFFYFDSBJMTHTDBGGPMETUPSZUJUMFTUSJOH ɹ
ɹ EFTDSJQUJPOUFYUQJDUVSFTUSJOH CVOEMFFYFDSBLFECNJHSBUF IUUQMPDBMIPTUTUPSJFT CVOEMFFYFDSBJMTT ϒϥβͰ্هͷΞυϨεΞΫηεͯ͠ಈ࡞֬ೝͯ͠Έ·͠ΐ ͏ɻ֬ೝͰ͖ͨΒSBJMTTΛࢭΊͯ࣍͗ਐΈ·͢ɻ
HFNͷར༻ (FNpMF HFNDBSSJFSXBWF ը૾Λߘ͢ΔػೳΛ͚ΔͨΊʹɺ DBSSJFSXBWFͱ͍͏HFNΛ͍·͢ɻ 3BJMTΞϓϦͰHFNΛར༻͢Δ߹ɺ (FNpMFʹҎԼΛ͠·͢ɻ (FNpMFCMPH@BQQϑΥϧμͷԼʹ͋Γ·͢ɻ Ճ͢Δॴྫ͑HFNTRMJUFͷ࣍ͷߦɻ CVOEMF
CVOEMFCVOEMFJOTUBMMͷུͰɺ(FNpMFʹ৽ ͘͠Ճͨ͠HFNΛΠϯετʔϧ͢ΔίϚϯυͰ͢ɻ ฤूͨ͠(FNpMFΛөͤ͞·͢ɻ
ϑΝΠϧΞοϓϩʔυͷ࣮ NPVOU@VQMPBEFSQJDUVSF 1JDUVSF6QMPBEFS CVOEMFFYFDSBJMTHVQMPBEFS1JDUVSF DBSSJFSXBWFHFNΛར༻͢ΔͨΊͷखଓ͖Λ͠·͢ɻ ࠷ॳʹඞཁͳϑΝΠϧΛੜ͠·͢ɻ ࣍ʹϑΝΠϧΛमਖ਼͠·͢ɻ BQQNPEFMTTUPSZSC DMBTT4UPSZ"DUJWF3FDPSE#BTFͷ࣍ͷߦҎԼՃ ࣍ͷϖʔδͭͮ͘
GUFYU@pFMEQJDUVSF BQQWJFXTTUPSJFT@GPSNIUNMFSCΛՕॴमਖ਼ GpMF@pFMEQJDUVSF ҎԼͷΑ͏ʹมߋ GPSN@GPS !TUPSZ EPcGc GPSN@GPS !TUPSZ IUNM\NVMUJQBSUUSVF^
EPcGc ҎԼͷΑ͏ʹมߋ ͖ͭͮ BQQWJFXTTUPSJFTTIPXIUNMFSCΛՕॴमਖ਼ !TUPSZQJDUVSF JNBHF@UBH !TUPSZQJDUVSF@VSM XJEUI JG!TUPSZQJDUVSFQSFTFOU ҎԼͷΑ͏ʹมߋ
ϒϥβ͔Βಈ࡞֬ೝ SBJMTTΛ࠶ىಈͯ͠ಈ࡞֬ೝͯ͠Έ·͠ΐ͏ɻ IUUQMPDBMIPTUTUPSJFT CVOEMFFYFDSBJMTT ϒϥβͰ্هͷΞυϨεΞΫηε /FXTUPSZϖʔδͰ1JDUVSFʹ ϑΝΠϧΛબͯ͠อଘ͢Δͱɺ ը૾ϑΝΠϧΛVQMPBEͰ͖·͢ɻ
Ͱ͖ͯͨٙΛ આ໌͍ͯ͘͠
Έ
Ϛονͨ͠ ڭՊॻ͕ͳ͍
ੈͷதʹຊ ͨ͘͞Μ ͋Δ͚ΕͲ
ଟ͘ͷຊͷ ର ϓϩάϥϚ
ϓϩάϥϜΛॳ Ίͯॻ͘ਓʹ ෑډ͕ߴ͍
ࢲͷߨٛͰ
ͨͷ͍͠3VCZ ʴ ࣗ࡞
ͨͷ͍͠3VCZ ࢿྉͰิ ԋश ֤ڥͰͷ࣮ߦํ๏ ϓϩάϥϜతͳࢥߟํ๏
IUUQTHJUIVCDPNIJUPUTVCBTIJSVCZMFDUVSF
3VCZฤ TIFMM JSC SC ࢛ଇԋࢉɺຊޠɺม ݅அɺ܁Γฦ͠ɺϝιου "SSBZɺ)BTI ΦϒδΣΫτɺΫϥεɺΠϯελϯε 8JLJQFEJBΞΫηεղੳ UXJUUFSσʔλͷղੳ
IUUQTHJUIVCDPNIJUPUTVCBTIJSVCZMFDUVSF
3BJMTฤ ɾҰ൪খ͞ͳ3BJMTΞϓϦͭ͘Γ DPOUSPMMFS WJFX ɾ3VCZͷΫϥεΛ3BJMTຒΊࠐΉ ͓Έ͘͡ΞϓϦ ɾ$36%ղઆ ϦΫΤετ
SPVUFT DPOUSPMMFS WJFX NPEFM ɾσόοά $ISPNFͰϦΫΤετΛ؍ɺQɺMPHɺQSZ IUUQTHJUIVCDPNIJUPUTVCBTIJSVCZMFDUVSF
ͨͷ͍͠ αϯϓϧ
IUUQXXXFTUBUHPKQ4(FTUBU-JTUEP CJEDZDPEF
None
IUUQTHJTUHJUIVCDPN
Ͱࢿྉࣗ࡞େม
िץ࿈ࡌ࡞Ոؾ
8FC্ͷࢿྉͷ׆༻
ϛχπΫCZ/B$M
υοτΠϯετʔϧ
υοτΠϯετʔϧ
υοτΠϯετʔϧ
$PEFDBEFNZ આ໌ͱώϯτ )5.- $44ͳͲ ίʔυΛॻ͚Δ
$PEFDBEFNZ ͦͷͰॻ͍ͨ ݁ՌΛݟΒΕΔ
IUUQUSZSVCZPSH ͜͜ʹ3VCZίʔυΛ ೖྗ࣮ͯ͠ߦͰ͖·͢ ϓϩάϥϜΛফ͍ͨ͠ ߹Ϧϩʔυ IFMQͰ3VCZϨοεϯ։࢝
΄͔ʹ
ࡶஊ ɾจԽΛ͑Δ ɾՀཟͱόβʔϧ ɾ5Χʔυ ɾΞϧΰϦζϜτϨʔυ ɾ౦෩ʢຑʣ ɾ3VCZ$POG ɾถେ౷ྖબڍ ɾΫοΫύου࠷ڧ
)BWFB )BQQZ3VCZ5JNF