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.7k
ruby15
machu
0
480
ruby12
machu
1
290
ruby11
machu
0
300
ruby10
machu
0
310
ruby09
machu
0
260
ruby08
machu
0
230
ruby07
machu
0
390
Other Decks in Technology
See All in Technology
PostgreSQL Log File Mastery: Optimizing Database Performance Through Advanced Log Analysis
shiviyer007
PRO
0
110
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
AIエージェント開発手法と業務導入のプラクティス
ykosaka
5
1.6k
Mastraに入門してみた ~AWS CDKを添えて~
tsukuboshi
0
280
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
330
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
290
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
180
Linuxのパッケージ管理とアップデート基礎知識
go_nishimoto
0
400
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
270
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
1
530
4/17/25 - CIJUG - Java Meets AI: Build LLM-Powered Apps with LangChain4j (part 2)
edeandrea
PRO
0
120
彩の国で始めよう。おっさんエンジニアから共有したい、当たり前のことを当たり前にする技術
otsuki
0
150
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
For a Future-Friendly Web
brad_frost
176
9.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Statistics for Hackers
jakevdp
798
220k
Docker and Python
trallard
44
3.3k
How STYLIGHT went responsive
nonsquared
99
5.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
560
We Have a Design System, Now What?
morganepeng
52
7.5k
Documentation Writing (for coders)
carmenintech
69
4.7k
Making Projects Easy
brettharned
116
6.1k
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 ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾࢀՃऀελοϑͱҰࡢɺࡢɺࠓͷडߨऀͰ͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞
ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢