Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
はじめてのRuby 第2章 / Ruby Practice 02
Search
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
170
ISUCONってなんだ / What is ISUCON
bath_poo_
0
370
Web技術の基本 8回目 / Introduction to Web technologies 8th class
bath_poo_
0
190
Web技術の基本 7回目 / Introduction to Web technologies 7th class
bath_poo_
0
160
Web技術の基本 6回目 / Introduction to Web technologies 6th class
bath_poo_
1
260
Web技術の基本 5回目 / Introduction to Web technologies 5th class
bath_poo_
0
140
Web技術の基本 4回目 / Introduction to Web technologies 4th class
bath_poo_
0
220
Web技術の基本 3回目 / Introduction to Web technologies 3rd class
bath_poo_
0
250
Other Decks in Programming
See All in Programming
Integrating WordPress and Symfony
alexandresalome
0
150
AIコーディングエージェント(Manus)
kondai24
0
180
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
140
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
400
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
330
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
460
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Speed Design
sergeychernyshev
33
1.4k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
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ͷΈِ ͱஅ͞ΕɺͦΕҎ֎ਅͱஅ͞ΕΔ ʢԿճ͔ޙʹ͜ͷ֓೦͕Ͱ͖ͯ·͢ʣ