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
オブジェクト指向でなぜ作るのか@輪読会
Search
kaorun
January 09, 2021
Technology
0
89
オブジェクト指向でなぜ作るのか@輪読会
「オブジェクト指向でなぜ作るのか」という本の輪読会を行っています。
今回は2章をスライドにまとめています。
Rubyを使って解説しているので興味がある方はぜひ!
kaorun
January 09, 2021
Tweet
Share
More Decks by kaorun
See All by kaorun
オブジェクト指向でなぜ作るのか 10章@輪読会
kaorukkkkk
0
100
オブジェクト指向でなぜ作るのか6章@輪読会
kaorukkkkk
1
55
【エンジニア向け】SEOについてざっくり解説
kaorukkkkk
1
120
Other Decks in Technology
See All in Technology
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
280
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
460
人工衛星のファームウェアをRustで書く理由
koba789
11
6.8k
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
230
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.5k
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
120
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
260
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
510
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
170
Featured
See All Featured
KATA
mclloyd
32
14k
A better future with KSS
kneath
239
17k
How to Ace a Technical Interview
jacobian
279
23k
Site-Speed That Sticks
csswizardry
10
810
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Scaling GitHub
holman
463
140k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Transcript
খྛ܆!ྠಡձʹͯ ΦϒδΣΫτࢦͰͳͥ࡞Δͷ͔ ୈ̎ষɹΦϒδΣΫτࢦͱݱ࣮ੈքࣅͯඇͳΔͷ
࣍ w ̎ষͷ֓ཁ w ΦϒδΣΫτࢦͷجຊతͳ֓೦̏બ w ɹˠʢΫϥεͱΠϯελϯεɺϙϦϞʔϑΟζϜɺܧঝʣ w ̏બΛݱ࣮ੈքʹྫ͑ͳ͕Βղઆʙ3VCZʹஔ͖͑ͯʙ w
ݱ࣮ੈքͰྫ͑ΔͱͳͥࠞཚΛੜΉͷ͔ʁ w ·ͱΊ
̎ষͷ֓ཁ
5PQJDΦϒδΣΫτࢦݱ࣮ੈքͰྫ͑ΒΕΔ͜ͱ͕ଟ͍ ͜ΕޡͬͨղऍਓʹΑͬͯೝࣝͷᴥᴪΛੜΜͰ͠·͏ݪҼͱͳΔ ͱ͍͏͜ͱɺΦϒδΣΫτࢦΛ͖ͪΜͱཧղͰ͖ͳ͍ʂ
͜ͷষͰɺΦϒδΣΫτࢦʹଘࡏ͢Δ̏ͭͷ֓೦Λɺ ݱ࣮ੈքʹྫ͑ͳ͕Βղઆ͢Δ ʮԿ͔มͳͱ͜Ζͳ͍ͩΖ͏͔ʁʯͱߟ͑ͳ͕Βฉ͍ͯΈ͍ͯͩ͘͞Ͷʙ ʢޙʑɺͳͥݱ࣮ੈքͰྫ͑Δ͜ͱ͕μϝͳͷ͔ͷղઆΛ͠·͢ʣ
ΦϒδΣΫτࢦͷجຊతͳ֓೦̏બ
ΫϥεͱΠϯελϯε ϙϦϞʔϑΟζϜ ܧঝ ͜ΕΒͷ̏ͭΛݱ࣮ੈքͷൺᄻΛ͍ͭͭ3VCZʹஔ͖͑ͯհ͍͖ͯ͠·͢
ΫϥεͱΠϯελϯε
w ΫϥεͱΠϯελϯεରʹͳΔ֓೦ɹ w Α͘ྫ͑ΒΕΔͷͱͯ͠ɾɾɾ 5PQJDΫϥεͱΠϯελϯεͬͯԿʁ Ϋϥεɹɹɹɹʹɹྨɾछྨ Πϯελϯεɹʹɹ۩ମతͳϞϊ Ϋϥε͕ݘɺΠϯελϯε͕ϙνɾଠ Ϋϥε͕ࠃɺΠϯελϯε͕ΞϝϦΧɾຊ
5PQJDΫϥεͱΠϯελϯεΛ3VCZͰ
5PQJDϝοηʔδύογϯάʹ͍ͭͯ EPHDSZͷΑ͏ʹϝιουΛݺͼग़͢͜ͱΛ ʮϝοηʔδύογϯάʯͱݺͿʂ
ઢBUUS@BDDFTTPSͬͯͳʹʁ IUUQTCPUUPNTQSPHSBNNJOHDPNBSDIJWFTXIBUJTBUUSBDDFTTPSIUNM "ʮಡΈऔΓʯͱʮॻ͖ࠐΈʯΛ྆ํ୲อͯ͘͠ΕΔͷ ೖؔ book.price = 2000Λߦ͑Δ ಡΈऔΓ༻ؔ book.price #=>
2000
ϙϦϞʔϑΟζϜͱܧঝ
5PQJDϙϦϞʔϑΟζϜͬͯԿʁ ɾʮ৭ʑͳܗʹมΘΔʯʮଟ༷ੑʯͱ͍͏ҙຯΛ࣋ͭݴ༿ ૬ख͕۩ମతʹͲͷΠϯελϯεͰ͋Δ͔Λҙࣝͤͣʹ ϝοηʔδΛૹΕΔʢϝιουΛݺΔʣΈ ɾΦϒδΣΫτࢦͰʁ ɾݱ࣮ੈքͰʁ ݘɿ໐͍ͯɹΘΜΘΜ ɿٽ͍ͯɹΦΪϟʔ
5PQJDܧঝͬͯԿʁ ɾϞϊͷछྨͷڞ௨ͱ૬ҧΛମܥతʹཧ͢ΔΈ ɹˠڞ௨ͷͷ·ͱΊͪΌ͓͏ͱ͍͏͜ͱ ࣅͨͷಉ࢜ͷΫϥεͷڞ௨ͱ૬ҧΛཧ͢ΔΈ ˠڞ௨ͷͷΫϥεʹ·ͱΊͪΌ͓͏ͱ͍͏͜ͱ ɾΦϒδΣΫτࢦͰʁ ɾݱ࣮ੈքͰʁ ಈͷྨ ಈɺᄡೕྨɺௗྨɺڕྨʹ͚Δ͜ͱ͕Մೳ
5PQJDϙϦϞʔϑΟζϜɾܧঝΛ3VCZͰ ̍ɺڞ௨ͷ"OJNBMΫϥεΛ༻ҙ͢Δ ̎ɺ%PHΫϥεͱ$BUΫϥεͰܧঝ ɹˠʹڞ௨ॲཧΛ·ͱΊΔ͜ͱ ̏ɺ྆ऀͰDSZϝιουΛ͑Δ ΫϥεɹʹɹεʔύʔΫϥε ࢠΫϥεɹʹɹαϒΫϥε
ઢ3BJMTͷ%#ϦϨʔγϣϯʹϙϦϞʔϑΟζϜ͋ΔΑ IUUQTSBJMTHVJEFTKQ BTTPDJBUJPO@CBTJDTIUNM&%&""&"&#$& &"&&"'&"&"&##& FNQMPZFFQJDUVSFT QSPEVDUQJDUVSFT͕Ͱ͖Δ
ݱ࣮ੈքͰྫ͑ΔͱͳͥࠞཚΛੜΉͷ͔ʁ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ ɾݱ࣮ੈքͷྫͱͯ͠ɺΫϥε͕͍͵ɺΠϯελϯεͱͯ͠ϙνͨΖʔ͕͋Δ ɾΦϒδΣΫτࢦͰɺΫϥεΛ࠷ॳʹఆٛͯ͠ޙ͔ΒΠϯελϯεΛ࡞ΔΈ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 2Ռͨͯ͠ݱ࣮ͦ͏͔ʁ ɾݘ͕࢈·ΕΔͷΦεͱϝε͕ग़ձͬͯɺ৷ͯ͠৽͍͠ݘ͕࢈·ΕΔ ɹˠఆٛ͞ΕͨݘΫϥε͔Βੜ·ΕΔΘ͚Ͱͳ͍
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 001ɿΠϯελϯεΛ࡞ΔΈ͕ΫϥεͰ͋Δ ɹˠΠϯελϯε͕ଐ͢ΔΫϥε͚̍ͭͩ ݱ࣮ੈքɿઌʹ۩ମతͳͷʢ৽ݘʣ͕͍ͯɺͦΕΛݟΔଆͷڵຯɾཱʹΑͬͯมΘΔ ɹˠݘ͔ΒݟͨࢠͲ̍಄ ɹˠࣂ͍ओ͔ΒݟͨѪݘͷ಄ ଞʹɾɾɾɾɾɾɾɾ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 001ɿΠϯελϯε͕࣌ؒܦͬͯมԽ͠ͳ͍ ɹˠࢠΫϥε͔Β࡞ΒΕͨΠϯελϯεԿܦͬͯਓΫϥεʹͳΒͳ͍ ݱ࣮ੈքɿ۩ମతͳͷʢ৽ݘʣ࣌ؒͱͱʹมԽ͢Δ ɹˠࢠ͕̎̌ܦͯਓ ɹˠ̍̌ܦͯࡾे࿏ ଞʹɾɾɾɾɾɾɾɾ
5PQJDݱ࣮ੈքͷਓͷΫϥε͔Βͭ͘ΒΕͳ͍ʂ 001ɿϝοηʔδύογϯά࣮ߦ͞ΕΔ ɹˠఆٛ͞ΕͨϝιουΛݺͿͱඞ࣮ͣߦͯ͘͠ΕΔ ݱ࣮ੈքɿ۩ମతͳͷʢ৽ݘʣʹ໋ྩͯ͠ඞ࣮ͣߦͯ͘͠ΕΔΘ͚Ͱͳ͍ ɹˠࢠʹٽ͍ͯͱݴͬͯɺ΄΅ٽ͍ͯ͘Εͳ͍ ɹˠখྛʹສ͘Εͱݴͬͯ͋͛Δ͔͠Εͳ͍͋͛͠ͳ͍͔͠Εͳ͍ ଞʹɾɾɾɾɾɾɾɾ
·ͱΊ
5PQJDݱ࣮ੈքʹྫ͑Δ͜ͱѱ͍͜ͱͳͷ͔ʁ ΦϒδΣΫτࢦͷཧղʹࠞཚΛੜΜͩͷ͔֬ͳ͜ͱͰ͋Δ ͔͠͠ɺɺɺ ΫϥεɺΠϯελϯεɺܧঝɺϙϦϞʔϑΟζϜ͕ݱ࣮ੈքͷ༷ࢠΛኲኵͱͤ͞ɺ ۀੳཁ݅ఆٛͳͲʹԠ༻ͤ͞Δ͖͔͚ͬͱͳͬͨɻ ɹ ɹˠͦͷ͓͔͛Ͱྲྀߦͨ͠ͱ͍͏ͷ͋Δ ͦ͏͍͏Θ͚Ͱͳ͍
5PQJDݱ࣮ੈքʹྫ͑Δ͜ͱѱ͍͜ͱͳͷ͔ʁ ͦͦϓϩάϥϛϯά͕ਓؒͷࣄΛஔ͖͑ΔͷʮେྔهԱɾఆ·ͬͨॲཧʯ͚ͩͳͷ Ͱɺਓؒͷࣄ͕શͯஔ͖ΘΔΘ͚Ͱͳ͍ ݱ࣮ੈքʹஔ͖͑Δ͜ͱͷӠʑΛٞ͢Δͷφϯηϯε ͋͘·ͰൺᄻͱׂΓͬͯɺϓϩάϥϛϯάͷΈͱͯ͠ཧղ͍ͯ͜͠͏ͥʢ͛Γʣ ˠ͛Γ͕ͩɺ001ιϑτΣΞͷอकੑ࠶ར༻ੑΛ্ͤ͞ΔΈͱͯ͠ཧղ͓ͯ͠ ͍ͨํ͕ૣ͍ͱ͍͏͜ͱ