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
400
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
280
ruby11
machu
0
290
ruby10
machu
0
290
ruby09
machu
0
240
ruby08
machu
0
220
ruby07
machu
0
380
Other Decks in Technology
See All in Technology
ドメイン名の終活について - JPAAWG 7th -
mikit
32
19k
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.7k
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
510
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
330
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Deno+JSRでパッケージを作って公開する
askua
0
120
Amazon CloudWatch Network Monitor のススメ
yuki_ink
0
170
形式手法の 10 メートル手前 #kernelvm / Kernel VM Study Hokuriku Part 7
ytaka23
5
830
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
31
8k
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
380
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
6
2k
Engineering at LY Corporation
lycorp_recruit_jp
0
610
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
830
A Tale of Four Properties
chriscoyier
156
23k
Typedesign – Prime Four
hannesfritz
40
2.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
It's Worth the Effort
3n
183
27k
Designing for humans not robots
tammielis
250
25k
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 ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾࢀՃऀελοϑͱҰࡢɺࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞
ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢