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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
irof
November 30, 2019
Technology
8.1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モデリングのきほん #kanjava #mixleap
2019-11-30
KanJava 10th Anniversary Party
https://kanjava.connpass.com/event/147145/
irof
November 30, 2019
More Decks by irof
See All by irof
ふつうのFeature Flag実践入門
irof
8
4.2k
視座の上げ方
irof
1
120
アーキテクチャと考える迷子にならない開発者テスト
irof
10
4.3k
技術的負債の正体を知って向き合う
irof
0
1k
関ジャバと言う場
irof
0
340
型で語るカタ
irof
2
1.6k
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
500
複数アプリケーションを育てていくための共通化戦略
irof
9
6.5k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.5k
Other Decks in Technology
See All in Technology
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
170
4人目のSREはAgent
tanimuyk
0
280
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
170
[AWS Summit Japan 2026]迷っているあなたへ_小さな一歩が、やがて自分を助けてくれる
sh_fk2
2
430
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
190
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
520
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
360
Deep Data Security 機能解説
oracle4engineer
PRO
2
230
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
220
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
160
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
220
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
120
Featured
See All Featured
Done Done
chrislema
186
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
GitHub's CSS Performance
jonrohan
1033
470k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
260
Designing for Timeless Needs
cassininazir
1
260
Facilitating Awesome Meetings
lara
57
7k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
Transcript
ϞσϦϯάͷ͖΄Μ ,BO+BWBUI"OOJWFSTBSZ1BSUZ 5 !JSPG
;ͭ͏ͷϓϩάϥϚͰ͢ ʮ͋ͨΓ·͑ͷ͜ͱΛ͋ͨΓ·͑ʹʯ ͋ͨΓ·͑ͷ͜ͱʹ͢Δ
͡Ίʹ ؔδϟόͷपΠϕϯτ ͳͷͰ +BWBͷΛ͠·ͤΜ
ಈػ ϞσϦϯά͕ಛผͳ͜ͱʹଊ͑ΒΕͯΔΑ͏ ʹײͨ͡ͷͰ͢ɻ ʮ͍͠ʯ͕ઌཱͪɺेͳٕࣝज़͕ͳ ͍ͱखΛग़ͤͳ͍ͱײ͍ͯ͡ΔΑ͏Ͱͨ͠ɻ ϞσϦϯάͰ͖ΔΑ͏ʹͳΔͨΊʹɺϞσ Ϧϯά͢Δ͔͠ͳ͍ͷͰ͢ɻͱ͍͑ϞσϦ ϯάࣗମͰ͖ͯΔͱࢥ͏Μͩɻ
ΰʔϧ ʮϞσϦϯάશʹཧղͨ͠ʯ
ϞσϦϯάͱ
ϞσϦϯάͱ ϞσϦϯάͱԿ͔ ϞσϧͱԿ͔
ϞσϦϯάͱԿ͔
ϞσϦϯά ϞσϧΛ࡞Δ͜ͱ Ϟσϧઍࠩສผ
ϞσϦϯά Ϟσϧ ର ϞσϦϯά
ྫυϝΠϯϞσϦϯά υϝΠϯϞσϧ ର υϝΠϯϞσϦϯά
ྫΫϥεਤ Ϋϥεਤ ιʔε Ϋϥεਤͷ࡞
ྫεϥΠυ εϥΠυ ͍ͨ͜͠ͱ εϥΠυͷ࡞
ϞσϦϯάͷϞσϧ ΛϞσϦϯάͯ͠ΈΔ
ϞσϦϯά ϞσϦϯά ࣮ ࣮ߦ ࣮ࡁΈ ಠࣗ PS
ϞσϦϯά interface ϞσϦϯά<T> { Ϟσϧ<T> ࣮ߦ(T); } ແཧཧͷ+BWB ͳΜ͔ҧ͏ײ͋Δ͚Ͳ
ϞσϦϯάͷ࣮ ࡞Γ͍ͨϞσϧʹΑͬͯϞσϦ ϯάͷ࣮มΘΔ ൚༻తͳϞσϧͳΒ࣮ࡁΈͷ ϞσϦϯά͕͑Δ͔
࣮ࡁΈͷϞσϦϯά ͜ͷηογϣϯ͚ͩͷޠ ൚༻తͳϞσϧΛ࡞ΕΔ ୭͔͕࡞ͬͯެ։ͯ͘͠ΕͨϞσ ϦϯάͷΓ͔ͨͷ͜ͱ
࣮ࡁΈͷϞσϦϯάΛ͏ σβΠϯύλʔϯͷద༻ͱಉ͡ ϞσϦϯάͷํ͕Θ͔Γ͍͢ Ϟσϧ͍͍͢ ͍ॴΛؒҧ͑ΔͱେʹࣄނΔ
ಠࣗͷϞσϦϯά ࣗͰߟ͑ͨϞσϦϯά ंྠͷ࠶ൃ໌ສࡀ
ϞσϦϯάʺ͓ֆඳ͖ https://twitter.com/irof/status/1174549654534414336 ʻֆΛඳ݅͘ʼ ֆͷܗࣜͷϞσϧΛબ ඳը͞ΕΔπʔϧΛΘͳ͍
ʹ ݟ͑ͳ͍ Ϟσϧ ʹݟ͑Δ งғؾ ໌ࣔత ໊͚
ʹ ݟ͑ͳ͍ Ϟσϧ ʹݟ͑Δ งғؾ ໌ࣔత ͓ֆඳ͖ ͱ͍͏งғؾͰ͓ֆඳ͖ Ξφϩάศར
ϞσϧͱԿ͔
Ϟσϧͱ ରͷڧௐ͍ͨ͠ଆ໘ΛऔΓग़ ͨ͠ͷ ݱ࣮ͦͷͷͰͳ͍ ໝͰͳ͍
ϞσϧͷϞσϧ Ϟσϧ ใ ղऍ ಘΒΕͨใ ಘΒΕ͍ͯͳ͍ ใ ͏ใ Θͳ͍ใ ใͷղऍ
ໝ ݱࡏͷਪଌ ະདྷͷ༧ଌ
Ϟσϧͷछྨ ಠࣗͷϞσϧ ൚༻తͳϞσϧ
ಠࣗͷϞσϧ ࣗͳΓͷϞσϧ ंྠͷ࠶ൃ໌ΛڪΕͳ͍ ΘΒͳͯ͘ٽ͔ͳ͍
൚༻తͳϞσϧ Α͘ΒΕ͍ͯΔϞσϧ ͨͿΜ࣮ࡁΈͷϞσϦϯάͰ࡞ΕΔ ͨͿΜϞσϧ͍͍͢
͏͚ͩͷϞσϧ ϞσϦϯάΛ͠ͳͯ͘୭͔͕ ࡞ͬͯ͘ΕͨϞσϧΛ༻͢Ε ࣄΓΔ͜ͱ͋Γ·͢
͏͚ͩͷϞσϧͷྫ ङϞσϧ ෆ࣮֬ੑίʔϯ આಘͨ͠Γߟ͑Δͱ͖ͷࡐྉʹ ͔ͭ͏ͷɻ֦ு͍͍ͯ͠ɻ
Ϟσϧͷଊ͑ํ ࢹ࠲ʹΑͬͯͷݟ͑ํҧ͏ ݟ͑ํΛදݱͨ͠ͷ ϞσϦϯά
ϞσϦϯάͷత
ϞσϦϯάͷత ͑ΔϞσϧΛ࡞Δ͜ͱ
͑ΔϞσϧ ݱ࣮ʹϊΠζ͕ଟ͗͢Δ ͑Δঢ়گͰ৭ʑ ͕ࣗཧղͰ͖Δ ଞਓʹཧղͰ͖Δ
ཧղͷͨΊͷϞσϧ ཧղͰ͖ͨΒϞσϧ͕Ͱ͖ͯΔ ʮཁʯͬͯݴ͑ͨΒͦΕ͕Ϟσϧ Ξτϓοτͯ͠Δ͔Ͳ͏͔ผ
ϞσϦϯάΛ௨ͨ͡ཧղ ཧղͨ͜͠ͱશͯϞσϧ ϞσϦϯάΛ௨ͯ͡ଟͷϞσ ϧ͕࡞ΒΕΔ ͦͷଟ͘ʹݟ͑ͳ͍ϞσϧͰɺҙ ࣝ͞Εͳ͍͠ͷݟͳ͍
ϞσϦϯάͷΓํ
ϞσϦϯάͷΓํ ಠࣗͷϞσϧΛ࡞͢Δ ൚༻తͳϞσϧʹམͱ͠ࠐΉ
ಠࣗϞσϧͷ࡞
ରͷશମ ԿΛϞσϦϯά͠Αʔ͔
ରͷશମ ͜ͷลʁ Ϟσϧʹ͍ͨ͜͠ͱͷΞλϦΛ ͚ͭΔ
ରͷશମ ͜ͷลʁ Ͳ͏Ͱ͍͍ ʮͲ͏Ͱ͍͍ʯ ͱ͍͏ڧ͍ݴ༿Λ ͋͑ͯͬͯ ҙࣝతʹ֎͢
ରͷશମ Ϟσϧ Ͳ͏Ͱ͍͍ ʮͲ͏Ͱ͍͍ʯΛ Γམͱ͍ͯ͘͠ͱྠ ֲ͕ݟ͑ͯ͘Δ
Ϟσϧ Ͳ͏Ͱ͍͍ͷͰফ ͯ͠͠·͏
Ϟσϧ ڧௐͨ͠Γೱ୶Λ͚ͭͨΓ
൚༻తͳϞσϧͷ࡞ ʢπʔϧ༻ʣ
ϓϩμΫτ Ϋϥεਤ͕ ཉ͍͠
Ϋϥεਤ ը૾ͱ͔Ͱͷग़ྗ ͳΜ͔͍͍ײ͡ͷݟө͑ දݱํ๏ Ͳ͏Ͱ͍͍ QVCMJDҎ֎ͷϝιου
ಛఆύοέʔδҎ֎ͷΫϥε ࣮ͷৄࡉ ͳͲͳͲ ͳΜ͔ͩΜͩͷͱ͜Ζ উखʹͬͯ͘ΕΔ
ϞσϦϯάͷಠࣗϞσϧ ࢲͷϞσϦϯάΛࢲͷಠࣗϞσ ϧͰઆ໌ͯ͠Έͨɻ ΘΒͳ͔ͬͨΒ૬खΛݟͯผ ͷϞσϧΛ͏ʢٽ͔ͳ͍ ͚ͲࠓҰൃউෛͳΜͩΑͶ͐ʜʜ
ϞσϦϯάͰ͖ͯΔ Ͱ͖ͯΔͰ͖ͯͳ͍ͷڥքΛͲ ͜ʹஔ͔ࣗ͘༝ ͑ͨΒʮͰ͖ͯΔʯ͔ͳʁ ʮ͑ΔʯΛԿͰஅ͢Δ͔ͬͯʹ ʢΊΜͲ͍ͭ͘͞
ϞσϦϯάͷϙΠϯτ
ϞσϦϯάͷϙΠϯτ ಉ͜͡ͱಉ͡Α͏ʹදݱ͢Δ ൚༻తͳϞσϧΛར༻͢Δ
ಉ͜͡ͱಉ͡Α͏ʹදݱ͢Δ ҧ͏දݱ͕͞ΕͯΔͱࠞཚ͢Δ σʔλͷྲྀΕͱґଘઢͱ͔͋Γ͕ͪ ใΛҡ࣋ͯ͠දݱΛݮΒ͢
൚༻తͳϞσϧΛ ༻͢Δ ͦͷ··͏ ར༻͢Δ ֦ு͢Δ Ұ෦͚ͩआΓͯ͘Δ ҹ͚ͩͱ͔ΞΠίϯ͚ͩͱ͔
࠷ޙʹ֬ೝ
ΰʔϧςʔϓ ϞσϦϯάશʹཧղͨ͠ʁ
͕࣌ؒ༨ͬͨΒదʹ ͢κʔϯ
ʮϞσϦϯά͕Ͱ͖Δʯ ಠࣗϞσϧ͕࡞ΕΔͱ͍͏͜ͱ Ͱͳ͍ ʮͰ͖ΔʯΛϞσϦϯάͯ͠ΈΔ ͱ͍͍͔
͑ΔϞσϧ ݴ༿ɺͿΓखৼΓϞσϧ ιʔείʔυϞσϧ ͑ΔతͰΘͬͨΒɺͦΕ Ҏ্ͷϞσϦϯάཁΒͳ͍ υΩϡϝϯτΛ࡞Δ͜ͱͰͳ͍
Ξτϓοτͯ͠ΈΑ͏ ͜ͷεϥΠυϞσϦϯάʹର ͢ΔࢲͷϞσϧΛΞτϓοτ͠ ͨͰ͢ ଟҰൠతͳʮϞσϦϯάʯͱ ҧͬͨͱࢥ͍·͢
ΕͰ͖ΔΑ͏ʹͳΔ Βͳ͍͜ͱઈରͰ͖ΔΑ͏ ʹͳΒͳ͍ ࣗͷཧղΛ૬खʹ͑Α͏ͱ ͢ΔͳΒɺͦΕϞσϦϯά ʮϞσϦϯάʯͩͱࢥͬͯऔΓΜͩ ΒϞσϦϯάྗ͍͍͖ͭͯ·͢
Ϟσϧ ʹ͔͠ଘࡏ͠ͳ͍Ϟσϧ ݕূʹෳͷϞσϦϯάͰΞ τϓοτͯ͠ΈΔ
ϞσϦϯάҰ࿈ͷ׆ಈ Ϟσϧ ؍ଌՄೳϞσϧ ใͷմ ղऍ Ξτϓοτ ચ࿅ Ճใͷऩू తʹরΒͨ͠ใͷऩू ͜Ε͘Β͍Ͱ͍͍͔