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 第2章 / Ruby Practice 02
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
muttan
October 18, 2016
Programming
0
120
はじめてのRuby 第2章 / Ruby Practice 02
muttan
October 18, 2016
Tweet
Share
More Decks by muttan
See All by muttan
さわやか待ち時間LINE botを作った話 / Sawayaka LINE bot
bath_poo_
0
110
コンテナ開発入門 1回目/Introduction to Container Development 1
bath_poo_
0
180
ISUCONってなんだ / What is ISUCON
bath_poo_
0
370
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
200
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
170
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
270
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
150
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
230
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
260
Other Decks in Programming
See All in Programming
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
CSC307 Lecture 01
javiergs
PRO
0
690
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
590
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
250
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
Patterns of Patterns
denyspoltorak
0
1.4k
Oxlint JS plugins
kazupon
1
740
Package Management Learnings from Homebrew
mikemcquaid
0
210
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
CSC307 Lecture 05
javiergs
PRO
0
500
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
4
310
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Language of Interfaces
destraynor
162
26k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Exploring anti-patterns in Rails
aemeredith
2
250
Fireside Chat
paigeccino
41
3.8k
So, you think you're a good person
axbom
PRO
2
1.9k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Context Engineering - Making Every Token Count
addyosmani
9
650
Transcript
ͨͷ͍͠3VCZୈষ
ศརͳΦϒδΣΫτ w จࣈྻͷΑ͏ͳΦϒδΣΫτΛ࡞ͨ͠ ʢୈষʣ͕ɺ࣮ࡍʹ͏গ͠ෳࡶͳΦϒδΣ ΫτΛѻ͏ඞཁ͕ग़ͯ͘Δ w ࠓճͷষͰɺ༷ʑͳσʔλߏʹֶ͍ͭͯͿ
ྻ "SSBZ
ྻ "SSBZ w ෳͷΦϒδΣΫτΛॱং͖Ͱ֨ೲ͢Δσʔ λߏ w جຊతʹ$ͱΞΫηεํ๏ಉ͡
ྻΛ࡞Ζ͏ w ྻ<>ͰશମΛғΈɺΧϯϚ۠ΓͰཁૉΛฒ Δ͜ͱͰ࡞Ͱ͖Δ w ۭͷྻ࡞͢Δ͜ͱ͕Ͱ͖Δ OBNFT<༑ ٢ా ॏ lञҪz>
OBNFT<>
ΦϒδΣΫτͷऔΓग़͠ ΦϒδΣΫτͷೖ w ྻͷΞΫηε$ͱಉ༷ʹߦ͏ w ఴࣈ͔Β࢝·Δ͜ͱʹҙ͢Δ w ೖΛ͏͜ͱͰߦ͏͜ͱ͕Ͱ͖Δ OBNFT<༑ ٢ా
ॏ lञҪz> QVUTOBNFT<>༑͕ग़ྗ͞ΕΔ QVUTOBNFT<>٢ా͕ग़ྗ͞ΕΔ 1ྫΛ࣮ߦ OBNFT<>lౡాz
ྻͷத w จࣈྻ͚ͩͰͳ͘ ࣈͷྻͪΖΜ࡞Δ͜ ͱՄೳ w ෳͷΦϒδΣΫτΛࠞͥͯྻʹ֨ೲ͢Δ͜ ͱ͕Ͱ͖Δ w ࣌ࠁϑΝΠϧΛද͢ΦϒδΣΫτ֨ೲՄೳ
NJYFE< l͠z l·z lz lΜz>
ྻͷαΠζ w ྻͷαΠζΛऔಘ͢Δʹɺ0CKTJ[Fͱͯ͠औ ಘ͢Δ͜ͱ͕Ͱ͖Δ JSC NBJO NJYFE< ͠ ·
Μ> < ͠ · Μ> JSC NBJO QNJYFETJ[F
ྻͱ܁Γฦ͠ w FBDIϝιουͱ͍͏ΠςϨʔλ͕༻ҙ͞Ε͍ͯ Δ w ྻͷཁૉͯ͢ʹରͯ͠ΞΫηε͍ͨ͠ͱ͖ ʹศརͳํ๏ "SZFBDIEPcWBSc FYQSFTTJPO FOE
ྻͱ܁Γฦ͠ w EPʜFOEͰғ·Ε͍ͯΔ෦ ΛϒϩοΫͱ͍͏ w cWBScͷ෦ʹɺऔΓग़ͨ͠ ྻͷཁૉ͕֨ೲ͞Ε͍ͯΔ w FBDIϝιουΦϒδΣΫτ ͷཁૉͭͭऔΓग़͠ɺ͢
ͯऔΓग़ͨ͠Βऴྃ͢Δ w ΄͔ʹ͋Δ͚ͲͦΕষ Ͱ "SZFBDIEPcWBSc FYQSFTTJPO FOE
ྻͱ܁Γฦ͠ʢ࣮ߦྫʣ OBNFT<༑ ٢ా ॏ ञҪ> OBNFTFBDIEPcOBNFc QVUTlOBNF\OBNF^\OBNF^มల։ FOE ίʔυྫ OBNF༑
OBNF٢ా OBNFॏ OBNFञҪ ࣮ߦ݁Ռ
ϋογϡ )BTI
ϋογϡ w ྻΦϒδΣΫτɺΦϒδΣΫτͷΞΫη εʹࣈΛΩʔͱͯ͠ΞΫηε͢Δ BSSBZ<> w ϋογϡΩʔͱͯ͠ɺࣈ͚ͩͰͳ͘จࣈྻ γϯϘϧʢ˞ޙड़ʣΛར༻͢Δ͜ͱ͕Ͱ͖Δ ྫ
PCK<lTIJNBEBz>ͱ͔TDPSF<lTIJNBEBz>ल
γϯϘϧͱ w ϝιουͳͲͷ໊લΛࣝผ͢ΔͨΊͷϥϕϧΛ ΦϒδΣΫτʹͨ͠ͷʢE ?@?P ʁʁʁʁʁʁʣ w γϯϘϧઌ಄ʹʢίϩϯʣΛ͚ͯද͢ w ͳʹΛݴ͍ͬͯΔ͔Α͘Θ͔Βͳ͍ͷͰ࣮ݧ
for i in 1..10 puts'hoge'.object_id end 83889020 83888970 83888940 83888910
83888880 83888850 83888820 83888790 83888760 83888730 ίʔυ ग़ྗ ˢશ෦ҧ͏*%
for i in 1..10 puts :hoge.object_id end 212008 212008 212008
212008 212008 212008 212008 212008 212008 212008 ίʔυ ग़ྗ ˢશ෦ಉ͡*%
จࣈྻͱϋογϡͷҧ͍ w จࣈྻੜ͢ΔͨͼʹҟͳΔΦϒδΣΫτΛੜ͍ͯ͠Δ ʢPCKFDU@JE͕ຖճҟͳ͍ͬͯͨʣ w ϋογϡΦϒδΣΫτΛੜ͢Δͱɺಉ໊͡લͰ͋Δ ݶΓಉ͡ΦϒδΣΫτΛࢀর͢Δ ʢจࣈྻͷΑ͏ʹຖੜ͢Δख͕ؒͳ͍ͷͰޮ͕ྑ͘ߴ Ͱ͋Δʣ w
ϋογϡͷΩʔʹ࠷ద w ৄͪ͘͜͠Β IUUQTEPDTSVCZMBOHPSHKBMBUFTUDMBTT4ZNCPMIUNM
ϋογϡΛ࡞Δ w ϋογϡͷ࡞ํ๏ྻͱࣅ͍ͯΔ͕ <>Ͱ ͳ͘\^ͰσʔλΛғΉඞཁ͕͋Δ w γϯϘϧʹؔͯ͠ҎԼͷΑ͏ʹॻ͘͜ͱՄೳ TPOH\UJUMFlγϚμϚαγz BSUJTUlUBJLPz^ QFSTPO\l໊લzlౡాz
lԾ໊zl·͞͠z^ NBSL\l+BDLz l2VFFOz l,JOHz^ TPOH\UJUMFlγϚμϚαγz BSUJTUlUBJLPz^
ϋογϡͷૢ࡞ w ϋογϡʹ֨ೲ͞ΕͨΦϒδΣΫτͷΞΫη εɺྻͱಉ༷ʹߦ͏͜ͱ͕Ͱ͖Δ )BTIΦϒδΣΫτ<Ωʔ> )BTIΦϒδΣΫτ<Ωʔ>֨ೲ͍ͨ͠ΦϒδΣΫτ 1ྫΛ࣮ߦ
ϋογϡͷ܁Γฦ͠ w ϋογϡΦϒδΣΫτFBDIϝιουʢΠςϨʔ λʣΛར༻͢Δ͜ͱͰͯ͢ͷཁૉʹΞΫηε͢ Δ͜ͱ͕Ͱ͖Δ 1ྫΛ࣮ߦ HashObj.each do |key, value|
expression end
ਖ਼نදݱ 3FHFYQ
ਖ਼نදݱ w ਖ਼نදݱΛͬͯ࠷ߴͷϚονϯάੜ׆ΛૹΖ ͏ w ਖ਼نදݱΛ͏͜ͱͰɺಛఆͷจࣈύλʔϯΛ ؆୯ ʹهड़͢Δ͜ͱ͕Ͱ͖Δ w ৄͪ͘͜͠Β
IUUQTEPDTSVCZMBOHPSHKBMBUFTUEPD TQFDGSFHFYQIUNM
ύλʔϯͱϚονϯά w 3VCZͰɺQBUUFSOͱ͍͏ܗͰਖ਼نදݱΛه ड़͢Δ ྫ ਖ਼نදݱ Ϛον͢Δจࣈྻ 3VCZ 3VCZ K3VCZ
BCD3VCZIJK 3VCZJ SVCZ 36#: S6CZ 8<BFJPV>SE 8BSE 8FSE 8JSE 8PSE 8VSE <?BE> F G H I BEҎ֎ͷจࣈ
ύλʔϯͱϚονϯά w ύλʔϯϚονΛߦ͏ࡍ ͱॻ͘Ϛονͨ͠߹ͦͷҐஔ Ϛον͠ͳ ͍߹OJM͕ฦΔ ྫ ਖ਼نදݱdϚονϯά͍ͨ͠จࣈྻ
JSC NBJO 3VCZdK3VCZ JSC NBJO 3VCZdKUVCZ OJM JSC NBJO 3VCZJdlKSVCZେจࣈখจࣈΛ۠ผ͠ͳ͍
ͱ͜ΖͰOJMͬͯͳʹʁ
OJMͱ w ΦϒδΣΫτ͕ଘࡏ͠ͳ͍͜ͱΛࣔ͢ಛผͳ w ϝιου͕ҙຯͷ͋ΔΛฦ͞ͳ͍ͱ͖ʹฦ ͞ΕΔ w 3VCZͰ݅ذ͢ΔࡍʹɺGBMTFͱOJMͷΈِ ͱஅ͞ΕɺͦΕҎ֎ਅͱஅ͞ΕΔ ʢԿճ͔ޙʹ͜ͷ֓೦͕Ͱ͖ͯ·͢ʣ