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
9
12k
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
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Designing for humans not robots
tammielis
250
25k
Producing Creativity
orderedlist
PRO
341
39k
Fireside Chat
paigeccino
34
3.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for Performance
lara
604
68k
Adopting Sorbet at Scale
ufuk
73
9.1k
Writing Fast Ruby
sferik
628
61k
Become a Pro
speakerdeck
PRO
26
5k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
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