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
モデリングのきほん #kanjava #mixleap
Search
irof
November 30, 2019
Technology
4
7.8k
モデリングのきほん #kanjava #mixleap
2019-11-30
KanJava 10th Anniversary Party
https://kanjava.connpass.com/event/147145/
irof
November 30, 2019
Tweet
Share
More Decks by irof
See All by irof
視座の上げ方
irof
1
71
アーキテクチャと考える迷子にならない開発者テスト
irof
10
4k
技術的負債の正体を知って向き合う
irof
0
790
関ジャバと言う場
irof
0
230
型で語るカタ
irof
2
1.5k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
440
複数アプリケーションを育てていくための共通化戦略
irof
9
5.3k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.3k
Javaアプリケーションモニタリングの基本
irof
7
2.9k
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
700
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
140
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
480
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
2
3k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
160
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
69
How to train your dragon (web standard)
notwaldorf
97
6.5k
How to make the Groovebox
asonas
2
1.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Fireside Chat
paigeccino
41
3.8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Thoughts on Productivity
jonyablonski
74
5k
Code Reviewing Like a Champion
maltzj
527
40k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.7k
Transcript
ϞσϦϯάͷ͖΄Μ ,BO+BWBUI"OOJWFSTBSZ1BSUZ 5 !JSPG
;ͭ͏ͷϓϩάϥϚͰ͢ ʮ͋ͨΓ·͑ͷ͜ͱΛ͋ͨΓ·͑ʹʯ ͋ͨΓ·͑ͷ͜ͱʹ͢Δ
͡Ίʹ ؔδϟόͷपΠϕϯτ ͳͷͰ +BWBͷΛ͠·ͤΜ
ಈػ ϞσϦϯά͕ಛผͳ͜ͱʹଊ͑ΒΕͯΔΑ͏ ʹײͨ͡ͷͰ͢ɻ ʮ͍͠ʯ͕ઌཱͪɺेͳٕࣝज़͕ͳ ͍ͱखΛग़ͤͳ͍ͱײ͍ͯ͡ΔΑ͏Ͱͨ͠ɻ ϞσϦϯάͰ͖ΔΑ͏ʹͳΔͨΊʹɺϞσ Ϧϯά͢Δ͔͠ͳ͍ͷͰ͢ɻͱ͍͑ϞσϦ ϯάࣗମͰ͖ͯΔͱࢥ͏Μͩɻ
ΰʔϧ ʮϞσϦϯάશʹཧղͨ͠ʯ
ϞσϦϯάͱ
ϞσϦϯάͱ ϞσϦϯάͱԿ͔ ϞσϧͱԿ͔
ϞσϦϯάͱԿ͔
ϞσϦϯά ϞσϧΛ࡞Δ͜ͱ Ϟσϧઍࠩສผ
ϞσϦϯά Ϟσϧ ର ϞσϦϯά
ྫυϝΠϯϞσϦϯά υϝΠϯϞσϧ ର υϝΠϯϞσϦϯά
ྫΫϥεਤ Ϋϥεਤ ιʔε Ϋϥεਤͷ࡞
ྫεϥΠυ εϥΠυ ͍ͨ͜͠ͱ εϥΠυͷ࡞
ϞσϦϯάͷϞσϧ ΛϞσϦϯάͯ͠ΈΔ
ϞσϦϯά ϞσϦϯά ࣮ ࣮ߦ ࣮ࡁΈ ಠࣗ PS
ϞσϦϯά interface ϞσϦϯά<T> { Ϟσϧ<T> ࣮ߦ(T); } ແཧཧͷ+BWB ͳΜ͔ҧ͏ײ͋Δ͚Ͳ
ϞσϦϯάͷ࣮ ࡞Γ͍ͨϞσϧʹΑͬͯϞσϦ ϯάͷ࣮มΘΔ ൚༻తͳϞσϧͳΒ࣮ࡁΈͷ ϞσϦϯά͕͑Δ͔
࣮ࡁΈͷϞσϦϯά ͜ͷηογϣϯ͚ͩͷޠ ൚༻తͳϞσϧΛ࡞ΕΔ ୭͔͕࡞ͬͯެ։ͯ͘͠ΕͨϞσ ϦϯάͷΓ͔ͨͷ͜ͱ
࣮ࡁΈͷϞσϦϯάΛ͏ σβΠϯύλʔϯͷద༻ͱಉ͡ ϞσϦϯάͷํ͕Θ͔Γ͍͢ Ϟσϧ͍͍͢ ͍ॴΛؒҧ͑ΔͱେʹࣄނΔ
ಠࣗͷϞσϦϯά ࣗͰߟ͑ͨϞσϦϯά ंྠͷ࠶ൃ໌ສࡀ
ϞσϦϯάʺ͓ֆඳ͖ https://twitter.com/irof/status/1174549654534414336 ʻֆΛඳ݅͘ʼ ֆͷܗࣜͷϞσϧΛબ ඳը͞ΕΔπʔϧΛΘͳ͍
ʹ ݟ͑ͳ͍ Ϟσϧ ʹݟ͑Δ งғؾ ໌ࣔత ໊͚
ʹ ݟ͑ͳ͍ Ϟσϧ ʹݟ͑Δ งғؾ ໌ࣔత ͓ֆඳ͖ ͱ͍͏งғؾͰ͓ֆඳ͖ Ξφϩάศར
ϞσϧͱԿ͔
Ϟσϧͱ ରͷڧௐ͍ͨ͠ଆ໘ΛऔΓग़ ͨ͠ͷ ݱ࣮ͦͷͷͰͳ͍ ໝͰͳ͍
ϞσϧͷϞσϧ Ϟσϧ ใ ղऍ ಘΒΕͨใ ಘΒΕ͍ͯͳ͍ ใ ͏ใ Θͳ͍ใ ใͷղऍ
ໝ ݱࡏͷਪଌ ະདྷͷ༧ଌ
Ϟσϧͷछྨ ಠࣗͷϞσϧ ൚༻తͳϞσϧ
ಠࣗͷϞσϧ ࣗͳΓͷϞσϧ ंྠͷ࠶ൃ໌ΛڪΕͳ͍ ΘΒͳͯ͘ٽ͔ͳ͍
൚༻తͳϞσϧ Α͘ΒΕ͍ͯΔϞσϧ ͨͿΜ࣮ࡁΈͷϞσϦϯάͰ࡞ΕΔ ͨͿΜϞσϧ͍͍͢
͏͚ͩͷϞσϧ ϞσϦϯάΛ͠ͳͯ͘୭͔͕ ࡞ͬͯ͘ΕͨϞσϧΛ༻͢Ε ࣄΓΔ͜ͱ͋Γ·͢
͏͚ͩͷϞσϧͷྫ ङϞσϧ ෆ࣮֬ੑίʔϯ આಘͨ͠Γߟ͑Δͱ͖ͷࡐྉʹ ͔ͭ͏ͷɻ֦ு͍͍ͯ͠ɻ
Ϟσϧͷଊ͑ํ ࢹ࠲ʹΑͬͯͷݟ͑ํҧ͏ ݟ͑ํΛදݱͨ͠ͷ ϞσϦϯά
ϞσϦϯάͷత
ϞσϦϯάͷత ͑ΔϞσϧΛ࡞Δ͜ͱ
͑ΔϞσϧ ݱ࣮ʹϊΠζ͕ଟ͗͢Δ ͑Δঢ়گͰ৭ʑ ͕ࣗཧղͰ͖Δ ଞਓʹཧղͰ͖Δ
ཧղͷͨΊͷϞσϧ ཧղͰ͖ͨΒϞσϧ͕Ͱ͖ͯΔ ʮཁʯͬͯݴ͑ͨΒͦΕ͕Ϟσϧ Ξτϓοτͯ͠Δ͔Ͳ͏͔ผ
ϞσϦϯάΛ௨ͨ͡ཧղ ཧղͨ͜͠ͱશͯϞσϧ ϞσϦϯάΛ௨ͯ͡ଟͷϞσ ϧ͕࡞ΒΕΔ ͦͷଟ͘ʹݟ͑ͳ͍ϞσϧͰɺҙ ࣝ͞Εͳ͍͠ͷݟͳ͍
ϞσϦϯάͷΓํ
ϞσϦϯάͷΓํ ಠࣗͷϞσϧΛ࡞͢Δ ൚༻తͳϞσϧʹམͱ͠ࠐΉ
ಠࣗϞσϧͷ࡞
ରͷશମ ԿΛϞσϦϯά͠Αʔ͔
ରͷશମ ͜ͷลʁ Ϟσϧʹ͍ͨ͜͠ͱͷΞλϦΛ ͚ͭΔ
ରͷશମ ͜ͷลʁ Ͳ͏Ͱ͍͍ ʮͲ͏Ͱ͍͍ʯ ͱ͍͏ڧ͍ݴ༿Λ ͋͑ͯͬͯ ҙࣝతʹ֎͢
ରͷશମ Ϟσϧ Ͳ͏Ͱ͍͍ ʮͲ͏Ͱ͍͍ʯΛ Γམͱ͍ͯ͘͠ͱྠ ֲ͕ݟ͑ͯ͘Δ
Ϟσϧ Ͳ͏Ͱ͍͍ͷͰফ ͯ͠͠·͏
Ϟσϧ ڧௐͨ͠Γೱ୶Λ͚ͭͨΓ
൚༻తͳϞσϧͷ࡞ ʢπʔϧ༻ʣ
ϓϩμΫτ Ϋϥεਤ͕ ཉ͍͠
Ϋϥεਤ ը૾ͱ͔Ͱͷग़ྗ ͳΜ͔͍͍ײ͡ͷݟө͑ දݱํ๏ Ͳ͏Ͱ͍͍ QVCMJDҎ֎ͷϝιου
ಛఆύοέʔδҎ֎ͷΫϥε ࣮ͷৄࡉ ͳͲͳͲ ͳΜ͔ͩΜͩͷͱ͜Ζ উखʹͬͯ͘ΕΔ
ϞσϦϯάͷಠࣗϞσϧ ࢲͷϞσϦϯάΛࢲͷಠࣗϞσ ϧͰઆ໌ͯ͠Έͨɻ ΘΒͳ͔ͬͨΒ૬खΛݟͯผ ͷϞσϧΛ͏ʢٽ͔ͳ͍ ͚ͲࠓҰൃউෛͳΜͩΑͶ͐ʜʜ
ϞσϦϯάͰ͖ͯΔ Ͱ͖ͯΔͰ͖ͯͳ͍ͷڥքΛͲ ͜ʹஔ͔ࣗ͘༝ ͑ͨΒʮͰ͖ͯΔʯ͔ͳʁ ʮ͑ΔʯΛԿͰஅ͢Δ͔ͬͯʹ ʢΊΜͲ͍ͭ͘͞
ϞσϦϯάͷϙΠϯτ
ϞσϦϯάͷϙΠϯτ ಉ͜͡ͱಉ͡Α͏ʹදݱ͢Δ ൚༻తͳϞσϧΛར༻͢Δ
ಉ͜͡ͱಉ͡Α͏ʹදݱ͢Δ ҧ͏දݱ͕͞ΕͯΔͱࠞཚ͢Δ σʔλͷྲྀΕͱґଘઢͱ͔͋Γ͕ͪ ใΛҡ࣋ͯ͠දݱΛݮΒ͢
൚༻తͳϞσϧΛ ༻͢Δ ͦͷ··͏ ར༻͢Δ ֦ு͢Δ Ұ෦͚ͩआΓͯ͘Δ ҹ͚ͩͱ͔ΞΠίϯ͚ͩͱ͔
࠷ޙʹ֬ೝ
ΰʔϧςʔϓ ϞσϦϯάશʹཧղͨ͠ʁ
͕࣌ؒ༨ͬͨΒదʹ ͢κʔϯ
ʮϞσϦϯά͕Ͱ͖Δʯ ಠࣗϞσϧ͕࡞ΕΔͱ͍͏͜ͱ Ͱͳ͍ ʮͰ͖ΔʯΛϞσϦϯάͯ͠ΈΔ ͱ͍͍͔
͑ΔϞσϧ ݴ༿ɺͿΓखৼΓϞσϧ ιʔείʔυϞσϧ ͑ΔతͰΘͬͨΒɺͦΕ Ҏ্ͷϞσϦϯάཁΒͳ͍ υΩϡϝϯτΛ࡞Δ͜ͱͰͳ͍
Ξτϓοτͯ͠ΈΑ͏ ͜ͷεϥΠυϞσϦϯάʹର ͢ΔࢲͷϞσϧΛΞτϓοτ͠ ͨͰ͢ ଟҰൠతͳʮϞσϦϯάʯͱ ҧͬͨͱࢥ͍·͢
ΕͰ͖ΔΑ͏ʹͳΔ Βͳ͍͜ͱઈରͰ͖ΔΑ͏ ʹͳΒͳ͍ ࣗͷཧղΛ૬खʹ͑Α͏ͱ ͢ΔͳΒɺͦΕϞσϦϯά ʮϞσϦϯάʯͩͱࢥͬͯऔΓΜͩ ΒϞσϦϯάྗ͍͍͖ͭͯ·͢
Ϟσϧ ʹ͔͠ଘࡏ͠ͳ͍Ϟσϧ ݕূʹෳͷϞσϦϯάͰΞ τϓοτͯ͠ΈΔ
ϞσϦϯάҰ࿈ͷ׆ಈ Ϟσϧ ؍ଌՄೳϞσϧ ใͷմ ղऍ Ξτϓοτ ચ࿅ Ճใͷऩू తʹরΒͨ͠ใͷऩू ͜Ε͘Β͍Ͱ͍͍͔