Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
12/4(水)のBedrockアプデ速報(re:Invent 2024 Daily re:Cap #3 with AWS Heroes)
minorun365
PRO
2
390
乗っ取れKubernetes!!~リスクから学ぶKubernetesセキュリティの考え方~/k8s-risk-and-security
mochizuki875
3
460
間違いだらけのポストモーテム - ホントに役立つレビューはこうだ!
jacopen
5
970
イベントをどう管理するか
mikanichinose
1
110
Replit Agent
kawaguti
PRO
2
160
B11-SharePoint サイトのストレージ管理を考えよう
maekawa123
0
130
つくってあそぼ! ユビキタス言語作文の紹介
ndadayo
1
120
Amazon ECSとCloud Runの相互理解で広げるクラウドネイティブの景色 / Mutually understanding Amazon ECS and Cloud Run
iselegant
19
2.5k
B10-ひと目でわかる(といいなぁ)Microsoft Purview
seafay
PRO
0
180
MySQL 8.0 から PostgreSQL 16 への移行と RLS 導入までの道のりと学び
baseballyama
0
780
GeminiとUnityで実現するインタラクティブアート
hokkey621
0
590
Kubernetesを知る
logica0419
17
4.7k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
770
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
240
Into the Great Unknown - MozCon
thekraken
33
1.5k
A Philosophy of Restraint
colly
203
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.1k
Statistics for Hackers
jakevdp
796
220k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
24k
Visualization
eitanlees
145
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
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 ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾࢀՃऀελοϑͱҰࡢɺࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞
ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢