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
ruby13
Search
MATSUOKA Kohei
July 03, 2014
Technology
0
410
ruby13
MATSUOKA Kohei
July 03, 2014
Tweet
Share
More Decks by MATSUOKA Kohei
See All by MATSUOKA Kohei
ゼロからわかるRuby超入門の歩き方
machu
2
4.3k
最近のtDiary
machu
1
1.6k
ruby15
machu
0
470
ruby12
machu
1
290
ruby11
machu
0
300
ruby10
machu
0
300
ruby09
machu
0
250
ruby08
machu
0
230
ruby07
machu
0
380
Other Decks in Technology
See All in Technology
目標と時間軸 〜ベイビーステップでケイパビリティを高めよう〜
kakehashi
PRO
8
970
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
540
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
日経のデータベース事業とElasticsearch
hinatades
PRO
0
260
Two Blades, One Journey: Engineering While Managing
ohbarye
4
2.6k
JavaにおけるNull非許容性
skrb
2
2.7k
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
220
手を動かしてレベルアップしよう!
maruto
0
250
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
240
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
1.9k
OPENLOGI Company Profile
hr01
0
60k
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Thoughts on Productivity
jonyablonski
69
4.5k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Rails Girls Zürich Keynote
gr2m
94
13k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Producing Creativity
orderedlist
PRO
344
40k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Gamification - CAS2011
davidbonilla
80
5.2k
BBQ
matthewcrist
87
9.5k
KATA
mclloyd
29
14k
How STYLIGHT went responsive
nonsquared
99
5.4k
Transcript
3VCZߨٛୈճ 8FCΞϓϦ࡞࣮श χϑςΟגࣜձࣾدෟߨٛ ࣾձՊֶʹ͓͚Δใٕज़ͱίϯςϯπ࡞***
দԬߒฏ ߨࢣ ຊి৴ి᷂ UXJUUFS!NBDIV IUUQTHJUIVCDPNNBDIV IUUQXXXNBDIVKQEJBSZ
લճͷ͓͞Β͍
ࣗಈϦϩʔυ w ຖճ6OJDPSOΛ࠶ىಈ͢Δͷ͕໘ w ίʔυΛमਖ਼͢ΔͱɺࣗಈͰϦϩʔυͯ͘͠ΕΔ HFNTJOBUSBDPOUSJC (FNpMF BQQSC SFRVJSFTJOBUSB
SFRVJSFTJOBUSBSFMPBEFS 4JOBUSB3FMPBEFS ݕࡧ
σόοά༻Τϥʔը໘ w Τϥʔը໘Ͱσόοάʢղੳʣ͕Ͱ͖Δ HFNCFUUFS@FSSPST HFNCJOEJOH@PG@DBMMFS (FNpMF BQQSC SFRVJSFCFUUFS@FSSPST !
VTF#FUUFS&SSPST.JEEMFXBSF #FUUFS&SSPSTBQQMJDBUJPO@SPPU@@EJS@@ CFUUFS@FSSPST ݕࡧ
ࣗಈͰ)5.-Τεέʔϓ w )5.-ʹมΛදࣔ͢Δͱ͖ʹɺηΩϡϦςΟରࡦͷͨ Ί)5.-Τεέʔϓͱ͍͏ॲཧ͕ඞཁͰ͢ w FSVCJTΛ͏ͱɺࣗಈͰ)5.-Τεέʔϓͯ͘͠Ε·͢ HFNFSVCJT (FNpMF BQQSC
SFRVJSFFSVCJT TFUFSC FTDBQF@IUNMUSVF 944߈ܸ ݕࡧ
͍ํͷҙ ࣗಈϦϩʔυͱσόοά༻Τϥʔ ը໘ɺ։ൃ͢Δͱ͖͚ͩ༗ޮ ʹ͠·͠ΐ͏ɻ ΞϓϦΛެ։͢Δͱ͖ແޮʹɻ
ςϯϓϨʔτ &SC ͷॻ͖ํ ֮͑Δ͜ͱ͚ͭͩ 3VCZͷίʔυΛ࣮ߦ 3VCZͷίʔυ 3VCZͷίʔυΛ࣮ߦ͠ɺ݁ՌΛදࣔ 3VCZͷίʔυ
#.*Λ)5.-ʹग़ྗ QPTUCNJEP IFJHIUQBSBNT<IFJHIU>UP@G XFJHIUQBSBNT<XFJHIU>UP@G !CNJXFJHIUIFJHIU FSCCNJ FOE BQQSC
WJFXTCNJFSC GPSNBDUJPOCNJNFUIPEQPTU DN JOQVUOBNFIFJHIUUZQFUFYU ମॏ LH JOQVUOBNFXFJHIUUZQFUFYU JOQVUWBMVF#.*ΛܭࢉʂUZQFTVCNJU GPSN ! JG!CNJ ͋ͳͨͷ#.*!CNJSPVOE Ͱ͢ɻ FOE CNJΛ!CNJʹॻ͖͑ ʢ!ͷҙຯ͋ͱͰઆ໌͠·͢ʣ !CNJมΛදࣔ
ςϯϓϨʔτʹ͍ͨ͠ มʹ!Λ͚ͭΔ BQQSC HFUUFTUEP NFTTBHF)FMMP FSCUFTU FOE ϝοηʔδ NFTTBHFͰ͢ɻ
WJFXTUFTUFSC NFTTBHFมݟ͑ͳ͍ HFUUFTUEP !NFTTBHF)FMMP FSCUFTU FOE ϝοηʔδ !NFTTBHFͰ͢ɻ !Λ͚ͭΔͱΈ͑ΔΑ͏ʹͳΔ
;ͭ͏ͷม 4JOBUSB"QQMJDBUJPO QPTUEP Z FOE BQQSC Z WJFXTCNJSC
HFUEP Y FOE Y Z มͷ༗ޮൣғ είʔϓ ϒϩοΫ Zมݟ͑ͳ͍
!ม Πϯελϯεม 4JOBUSB"QQMJDBUJPO QPTUEP !Z FOE BQQSC !Y WJFXTCNJSC
HFUEP !Y FOE !Y !Z มͷ༗ޮൣғΦϒδΣΫτ !Zม͕ݟ͑Δ
ͱΓ͋͑ͣɺ ςϯϓϨʔτʹͨ͠ ͍มʹ!Λ͚ͭΔ ͱ֮͑Ε0,
લճͷԋश՝ ग़ྗ݁ՌͷΧελϚΠζ
՝ग़ྗ݁ՌͷΧελϚΠζ #.*ͷʹΑͬͯɺʮ૫ͤܕʯɺʮී௨ʯɺ ʮଠΓ͗ΈʯͷମܕදࣔͰ͖ΔΑ͏ʹ 8FCΞϓϦΛमਖ਼͍ͯͩ͘͠͞ɻ
$-*ΞϓϦͷ߹ʢୈճ3VCZߨ࠲ΑΓʣ Λฉ͘ QVUT͋ͳͨͷΛڭ͍͑ͯͩ͘͞ DN IFJHIUHFUTUP@G ମॏΛฉ͘ QVUTͭ͗ʹମॏΛڭ͍͑ͯͩ͘͞ LH
XFJHIUHFUTUP@G #.*Λܭࢉ͢Δ CNJXFJHIUIFJHIU #.*Λڭ͑Δ QVUT͋ͳͨͷ#.*\CNJ^Ͱ͢z ! JGCNJ QVUT૫ͤܕͰ͢ FMTJGCNJ QVUTී௨Ͱ͢ FMTF QVUTଠΓ͗ΈͰ͢ FOE ՝ग़ྗ݁ՌͷΧελϚΠζ
՝ग़ྗ݁ՌͷΧελϚΠζ w ମܕͷܭࢉΞϓϦͱςϯϓϨʔτͷͲͪΒͰΔ͔ʁ w ςϯϓϨʔτͰܭࢉ͢ΔͱJG͕ෳࡶʹɻ w ϩδοΫΞϓϦ BQQSC ଆʹ·ͱΊΔͱεοΩϦ ͠·͢ɻ
QPTUCNJEP !CNJ !TUZMFඪ४ FSCCNJ FOE JG!CNJ #.*!CNJSPVOE Ͱ͢ɻ ମܕ!TUZMFͰ͢ɻ FOE BQQSC WJFXTCNJFSC ࣮ࡍʹఆ ϩδοΫΛॻ͘
8FCΞϓϦ ࡞࣮श IUUQTXXXqJDLSDPNQIPUPTCSF
8FCΞϓϦ࡞࣮श w ͖ͳ8FCΞϓϦΛ࡞ͬͯΈ·͠ΐ͏ w ݶͷߨٛΛཤम͍ͯ͠ΔํɺͦΕΛ༏ઌ͠ ͯ0,Ͱ͢ɻͪΖΜผͰ0,ɻ w લճͷ՝͕·ͩͷਓɺ·ͣ՝͔Β ઓͯ͠Έ·͠ΐ͏ɻ
8FCΞϓϦ࡞࣮श w ࡞ͨ͠8FCΞϓϦΛάϧʔϓͰհ͍ͯͩ͘͠͞ʢൃ ද࣌ؒਓҎʣ w 8FCΞϓϦͷσϞʢ࡞్தͰ0,Ͱ͢ʣ w ͦͷ8FCΞϓϦΛ࡞Ζ͏ͱࢥͬͨཧ༝ w ָ͔ͬͨ͠ͱ͜Ζɺۤ࿑ͨ͠ͱ͜Ζ
w ࠓޙϓϩάϥϛϯάΛͬͯΈ͍͔ͨɺ·ͨɺͦͷཧ༝ w ൃදʹΉ͚ͯϓϨθϯࢿྉΛ࡞Δඞཁͳ͍Ͱ͢
εέδϡʔϧ w ݄ɺ݄̓ w ࣮शͷ࣌ؒʹ͠·͢ɻग़੮Χϯτ͠·͢ɻ w ݄ w ࡞ͬͨ8FCΞϓϦΛάϧʔϓͰհͯ͠Β͍·͢ɻ ͍ͯ͠ͳͯ͘ɺͰ͖ͨͱ͜Ζ·ͰΛհ͍ͯͩ͘͠͞ɻ
w ͕Μͬͯʹདྷ͍ͯͩ͘͞ɻ w ߹͕͋ͬͯͲ͏ͯܽ͠੮͢Δਓɺࣄલʹ࿈བྷ͍ͩ͘͞ɻ
͓ͷྫ ʮੜ·Ε͔ͯΒԿͨͬͨʁʯ w ੜ݄Λೖྗ͢Δͱɺࠓ͕ੜ·Ε͔ͯΒԿ͔ Λදࣔ ʮจࣈԽ͚ղফπʔϧ 63-σίʔυϑΥʔϜ ʯ
w 8JLJQFEJBΞΫηεղੳͰొͨ͠Ͱ࢝·Δಾͷจ ࣈྻΛಡΊΔܗࣜʹม&ˠ͍ ʮ༣ศ൪߸͔Βॅॴมʯ w ༣ศ൪߸Λೖྗ͢ΔͱɺରԠ͢ΔॅॴΛදࣔ͢Δ ʮ8JLJQFEJBΞΫηεղੳ8FCΞϓϦ൛ʯ w ୈճʙୈճͰ࡞ͨ͠8JLJQFEJBΞΫηεղੳΛ 8FCΞϓϦԽ
͓ͷྫ ʮϐλΰϥ҉߸ʯ w ϑΥʔϜʹೖྗͨ͠จࣈΛεΩϡλϨʔ҉߸ Ͱ҉߸Խ͢Δɻγʔβʔ҉߸ͰՄɻ ʮ͋ͯήʔϜώοτϒϩʔʯʲ্ڃʳ w ܻͷΛͯΔήʔϜɻࣈͷͱҐஔ͕ਖ਼
͚͠Ε)*5 ͚ͩਖ਼͚͠Ε#*5&ͱදࣔɻ ྫ͑ɺਖ਼ղ͕ʮʯͰ༧͕ͨ͠ ʮʯͰ͋Εɺ)*5 #*5&ͱͳΔɻϑ δςϨϏͷ/VNFSOɻ
͓ͷώϯτ
ώϯτੜ·Ε͔ͯΒԿʁ w 3VCZͰΛѻ͏ΦϒδΣΫτɺ5JNFͱ%BUFͷछྨ ͕͋Γ·͢ɻͲͬͪΛͬͯܭࢉͰ͖·͢ɻ ࠓΛද͢ΦϒδΣΫτΛ࡞Δ 5JNFOPX %BUFUPEBZ
ੜΛද͢ΦϒδΣΫτΛ࡞Δ 5JNFMPDBM %BUF OFX ੜ͔Βࠓ·ͰͷΛܭࢉ͢Δ UPEBZCJSUI ˡ5JNFͷ߹ੜ·Ε͔ͯΒͷඵ
ώϯτ63-σίʔυ w &63-Τϯίʔυ͞Εͨจࣈྻ w ݩʹ͢ʹ$(*VOFTDBQFϝιουΛ͍·͢ w ͍ํୈճ3VCZߨٛΛࢥ͍ग़͍ͯͩ͘͠͞ & ͍
63-σίʔυ 63-Τϯίʔυ
ώϯτ༣ศ൪߸͔Βॅॴม w ༣ศ൪߸σʔλຊ༣ศͷαΠτ͔ΒμϯϩʔυͰ͖·͢ɻ ʮ༣ศ൪߸σʔλʯͰݕࡧɻ w ༣ศ൪߸ͱॅॴ͕$47ܗࣜʹͳ͍ͬͯ·͢ɻจࣈίʔυ͕ 4)*'5+*4ͳͷͰ65'ʹม͠ͳ͍ͱจࣈԽ͚͠·͢ɻ w શࠃͯ͢ͷσʔλϑΝΠϧ͕େ͖͍ͷͰɺ͖ͳಓݝʹ ݶఆ͢Δͱ͍͍Ͱ͠ΐ͏ɻ
w جຊతͳॲཧ8JLJQFEJBΞΫηεղੳͷલ෦ͱࣅ͍ͯ· ͢ɻϑΝΠϧΛ։͍ͯɺಛఆͷ༣ศ൪߸ؚ͕·ΕΔߦΛݟ͚ͭͯɻ
ώϯτ8JLJQFEJBΞΫηεղੳ w ୈdճͰ࡞ͨ͠ίʔυΛ8FCΞϓϦԽ w ࠷ޙͷදࣔ෦ʢϥϯΩϯάʣΛςϯϓϨʔτ ʹҠͯ͠ɺ)5.-Ͱ៉ྷʹදࣔ͠·͠ΐ͏ w ࣮ફతͳ8FCΞϓϦͰຖճܭࢉͤͣʹϥϯΩ ϯάΛσʔλϕʔεͳͲʹอଘ͠·͕͢ɺͦ͜ ·ͰΒͳͯ͘0,Ͱ͢ʢͬͯ0,ʣ
ώϯτϐλΰϥ҉߸ w ʹࡉ͍ࢴΛר͖͚ɺॎʹจࣈΛॻ͘ w ࢴΛ΄Ͳ͘ͱɺಾͷจࣈྻͱͳΔ w ಛఆͷߦʹมͯ͠ॎಡΈ IUUQKBXJLJQFEJBPSHXJLJ҉߸࢙ ͍
· Ͱ ͔ Μ ͨ Μ ʹ ͔ ͍ Ͳ ͘ Ͱ ͖ · ͢ ͍ · Ͱ ͔ Μ ͨ Μ ʹ ͔ ͍ Ͳ ͘ Ͱ ͖ · ͢ ͍ Μ ͍ · · ͨ Ͳ ͢ Ͱ Μ ͘ ʹ Ͱ ͔ ͔ ͖ ฏจ ҉߸จ ม 伴
ώϯτ͋ͯήʔϜ ώοτϒϩʔ w SBOE ͰϥϯμϜͳܻͷࣈΛ࡞ Ͱ͖Δ͕ɺॏෳνΣοΫ͕େมɻ w UP@BTBNQMF
KPJOͩͱॏෳ͠ͳ͍ ܻͷࣈΛ࡞ΕΔ "SSBZTBNQMFࢀর w ϥϯμϜͳࣈ్தܦաηογϣϯʹอଘ ͢Δɻ͍ํʮ4JOBUSBTFTTJPOʯͰݕࡧɻ
ࢀߟࢿྉ
BCD ࣮ߦ݁Ռ QVUTBCD ॻࣜ 3VCZίʔυ ࣮ߦ݁Ռ TIFMMίϚϯυ MT
ࡶஊɾ࣭༻GBDFCPPLάϧʔϓ IUUQTXXXGBDFCPPLDPNHSPVQTIJUPUTVCBTIJSC ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾࢀՃऀελοϑͱҰࡢɺࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞
ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢