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
5.7k
モデリングのきほん #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
2
120
Javaマルチバージョンビルディング
irof
1
260
データ/データベースパターン
irof
0
110
勉強会で話すハードルを下げてみる
irof
0
22
Gatlingによる負荷テスト入門
irof
7
1.8k
これからのJavaのとっかかりを掴む
irof
0
7.7k
Listかもしれない
irof
2
460
ドメインモデルのつくり方
irof
2
460
ふつうのプログラマのふつうの設計
irof
16
18k
Other Decks in Technology
See All in Technology
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
600
なぜ NOT A HOTEL が Web3 に取り組むのか - NOT A HOTEL TECH TALK
ynunokawa
0
160
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
2.5k
Databricks におけるデータエンジニアリング
databricksjapan
0
380
Postman v10リリース後を振り返る
nagix
0
130
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
25
5.9k
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
2
2.9k
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
1
200
NgRx Signal Store
rainerhahnekamp
0
120
反実仮想機械学習とは何か
usaito
PRO
7
2.2k
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
740
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
24
5.2k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
36
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Automating Front-end Workflow
addyosmani
1355
200k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
29
6k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
220
21k
How STYLIGHT went responsive
nonsquared
92
4.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Become a Pro
speakerdeck
PRO
10
4.5k
Designing the Hi-DPI Web
ddemaree
276
33k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
Transcript
ϞσϦϯάͷ͖΄Μ ,BO+BWBUI"OOJWFSTBSZ1BSUZ 5 !JSPG
;ͭ͏ͷϓϩάϥϚͰ͢ ʮ͋ͨΓ·͑ͷ͜ͱΛ͋ͨΓ·͑ʹʯ ͋ͨΓ·͑ͷ͜ͱʹ͢Δ
͡Ίʹ ؔδϟόͷपΠϕϯτ ͳͷͰ +BWBͷΛ͠·ͤΜ
ಈػ ϞσϦϯά͕ಛผͳ͜ͱʹଊ͑ΒΕͯΔΑ͏ ʹײͨ͡ͷͰ͢ɻ ʮ͍͠ʯ͕ઌཱͪɺेͳٕࣝज़͕ͳ ͍ͱखΛग़ͤͳ͍ͱײ͍ͯ͡ΔΑ͏Ͱͨ͠ɻ ϞσϦϯάͰ͖ΔΑ͏ʹͳΔͨΊʹɺϞσ Ϧϯά͢Δ͔͠ͳ͍ͷͰ͢ɻͱ͍͑ϞσϦ ϯάࣗମͰ͖ͯΔͱࢥ͏Μͩɻ
ΰʔϧ ʮϞσϦϯάશʹཧղͨ͠ʯ
ϞσϦϯάͱ
ϞσϦϯάͱ ϞσϦϯάͱԿ͔ ϞσϧͱԿ͔
ϞσϦϯάͱԿ͔
ϞσϦϯά ϞσϧΛ࡞Δ͜ͱ Ϟσϧઍࠩສผ
ϞσϦϯά Ϟσϧ ର ϞσϦϯά
ྫυϝΠϯϞσϦϯά υϝΠϯϞσϧ ର υϝΠϯϞσϦϯά
ྫΫϥεਤ Ϋϥεਤ ιʔε Ϋϥεਤͷ࡞
ྫεϥΠυ εϥΠυ ͍ͨ͜͠ͱ εϥΠυͷ࡞
ϞσϦϯάͷϞσϧ ΛϞσϦϯάͯ͠ΈΔ
ϞσϦϯά ϞσϦϯά ࣮ ࣮ߦ ࣮ࡁΈ ಠࣗ PS
ϞσϦϯά interface ϞσϦϯά<T> { Ϟσϧ<T> ࣮ߦ(T); } ແཧཧͷ+BWB ͳΜ͔ҧ͏ײ͋Δ͚Ͳ
ϞσϦϯάͷ࣮ ࡞Γ͍ͨϞσϧʹΑͬͯϞσϦ ϯάͷ࣮มΘΔ ൚༻తͳϞσϧͳΒ࣮ࡁΈͷ ϞσϦϯά͕͑Δ͔
࣮ࡁΈͷϞσϦϯά ͜ͷηογϣϯ͚ͩͷޠ ൚༻తͳϞσϧΛ࡞ΕΔ ୭͔͕࡞ͬͯެ։ͯ͘͠ΕͨϞσ ϦϯάͷΓ͔ͨͷ͜ͱ
࣮ࡁΈͷϞσϦϯάΛ͏ σβΠϯύλʔϯͷద༻ͱಉ͡ ϞσϦϯάͷํ͕Θ͔Γ͍͢ Ϟσϧ͍͍͢ ͍ॴΛؒҧ͑ΔͱେʹࣄނΔ
ಠࣗͷϞσϦϯά ࣗͰߟ͑ͨϞσϦϯά ंྠͷ࠶ൃ໌ສࡀ
ϞσϦϯάʺ͓ֆඳ͖ https://twitter.com/irof/status/1174549654534414336 ʻֆΛඳ݅͘ʼ ֆͷܗࣜͷϞσϧΛબ ඳը͞ΕΔπʔϧΛΘͳ͍
ʹ ݟ͑ͳ͍ Ϟσϧ ʹݟ͑Δ งғؾ ໌ࣔత ໊͚
ʹ ݟ͑ͳ͍ Ϟσϧ ʹݟ͑Δ งғؾ ໌ࣔత ͓ֆඳ͖ ͱ͍͏งғؾͰ͓ֆඳ͖ Ξφϩάศར
ϞσϧͱԿ͔
Ϟσϧͱ ରͷڧௐ͍ͨ͠ଆ໘ΛऔΓग़ ͨ͠ͷ ݱ࣮ͦͷͷͰͳ͍ ໝͰͳ͍
ϞσϧͷϞσϧ Ϟσϧ ใ ղऍ ಘΒΕͨใ ಘΒΕ͍ͯͳ͍ ใ ͏ใ Θͳ͍ใ ใͷղऍ
ໝ ݱࡏͷਪଌ ະདྷͷ༧ଌ
Ϟσϧͷछྨ ಠࣗͷϞσϧ ൚༻తͳϞσϧ
ಠࣗͷϞσϧ ࣗͳΓͷϞσϧ ंྠͷ࠶ൃ໌ΛڪΕͳ͍ ΘΒͳͯ͘ٽ͔ͳ͍
൚༻తͳϞσϧ Α͘ΒΕ͍ͯΔϞσϧ ͨͿΜ࣮ࡁΈͷϞσϦϯάͰ࡞ΕΔ ͨͿΜϞσϧ͍͍͢
͏͚ͩͷϞσϧ ϞσϦϯάΛ͠ͳͯ͘୭͔͕ ࡞ͬͯ͘ΕͨϞσϧΛ༻͢Ε ࣄΓΔ͜ͱ͋Γ·͢
͏͚ͩͷϞσϧͷྫ ङϞσϧ ෆ࣮֬ੑίʔϯ આಘͨ͠Γߟ͑Δͱ͖ͷࡐྉʹ ͔ͭ͏ͷɻ֦ு͍͍ͯ͠ɻ
Ϟσϧͷଊ͑ํ ࢹ࠲ʹΑͬͯͷݟ͑ํҧ͏ ݟ͑ํΛදݱͨ͠ͷ ϞσϦϯά
ϞσϦϯάͷత
ϞσϦϯάͷత ͑ΔϞσϧΛ࡞Δ͜ͱ
͑ΔϞσϧ ݱ࣮ʹϊΠζ͕ଟ͗͢Δ ͑Δঢ়گͰ৭ʑ ͕ࣗཧղͰ͖Δ ଞਓʹཧղͰ͖Δ
ཧղͷͨΊͷϞσϧ ཧղͰ͖ͨΒϞσϧ͕Ͱ͖ͯΔ ʮཁʯͬͯݴ͑ͨΒͦΕ͕Ϟσϧ Ξτϓοτͯ͠Δ͔Ͳ͏͔ผ
ϞσϦϯάΛ௨ͨ͡ཧղ ཧղͨ͜͠ͱશͯϞσϧ ϞσϦϯάΛ௨ͯ͡ଟͷϞσ ϧ͕࡞ΒΕΔ ͦͷଟ͘ʹݟ͑ͳ͍ϞσϧͰɺҙ ࣝ͞Εͳ͍͠ͷݟͳ͍
ϞσϦϯάͷΓํ
ϞσϦϯάͷΓํ ಠࣗͷϞσϧΛ࡞͢Δ ൚༻తͳϞσϧʹམͱ͠ࠐΉ
ಠࣗϞσϧͷ࡞
ରͷશମ ԿΛϞσϦϯά͠Αʔ͔
ରͷશମ ͜ͷลʁ Ϟσϧʹ͍ͨ͜͠ͱͷΞλϦΛ ͚ͭΔ
ରͷશମ ͜ͷลʁ Ͳ͏Ͱ͍͍ ʮͲ͏Ͱ͍͍ʯ ͱ͍͏ڧ͍ݴ༿Λ ͋͑ͯͬͯ ҙࣝతʹ֎͢
ରͷશମ Ϟσϧ Ͳ͏Ͱ͍͍ ʮͲ͏Ͱ͍͍ʯΛ Γམͱ͍ͯ͘͠ͱྠ ֲ͕ݟ͑ͯ͘Δ
Ϟσϧ Ͳ͏Ͱ͍͍ͷͰফ ͯ͠͠·͏
Ϟσϧ ڧௐͨ͠Γೱ୶Λ͚ͭͨΓ
൚༻తͳϞσϧͷ࡞ ʢπʔϧ༻ʣ
ϓϩμΫτ Ϋϥεਤ͕ ཉ͍͠
Ϋϥεਤ ը૾ͱ͔Ͱͷग़ྗ ͳΜ͔͍͍ײ͡ͷݟө͑ දݱํ๏ Ͳ͏Ͱ͍͍ QVCMJDҎ֎ͷϝιου
ಛఆύοέʔδҎ֎ͷΫϥε ࣮ͷৄࡉ ͳͲͳͲ ͳΜ͔ͩΜͩͷͱ͜Ζ উखʹͬͯ͘ΕΔ
ϞσϦϯάͷಠࣗϞσϧ ࢲͷϞσϦϯάΛࢲͷಠࣗϞσ ϧͰઆ໌ͯ͠Έͨɻ ΘΒͳ͔ͬͨΒ૬खΛݟͯผ ͷϞσϧΛ͏ʢٽ͔ͳ͍ ͚ͲࠓҰൃউෛͳΜͩΑͶ͐ʜʜ
ϞσϦϯάͰ͖ͯΔ Ͱ͖ͯΔͰ͖ͯͳ͍ͷڥքΛͲ ͜ʹஔ͔ࣗ͘༝ ͑ͨΒʮͰ͖ͯΔʯ͔ͳʁ ʮ͑ΔʯΛԿͰஅ͢Δ͔ͬͯʹ ʢΊΜͲ͍ͭ͘͞
ϞσϦϯάͷϙΠϯτ
ϞσϦϯάͷϙΠϯτ ಉ͜͡ͱಉ͡Α͏ʹදݱ͢Δ ൚༻తͳϞσϧΛར༻͢Δ
ಉ͜͡ͱಉ͡Α͏ʹදݱ͢Δ ҧ͏දݱ͕͞ΕͯΔͱࠞཚ͢Δ σʔλͷྲྀΕͱґଘઢͱ͔͋Γ͕ͪ ใΛҡ࣋ͯ͠දݱΛݮΒ͢
൚༻తͳϞσϧΛ ༻͢Δ ͦͷ··͏ ར༻͢Δ ֦ு͢Δ Ұ෦͚ͩआΓͯ͘Δ ҹ͚ͩͱ͔ΞΠίϯ͚ͩͱ͔
࠷ޙʹ֬ೝ
ΰʔϧςʔϓ ϞσϦϯάશʹཧղͨ͠ʁ
͕࣌ؒ༨ͬͨΒదʹ ͢κʔϯ
ʮϞσϦϯά͕Ͱ͖Δʯ ಠࣗϞσϧ͕࡞ΕΔͱ͍͏͜ͱ Ͱͳ͍ ʮͰ͖ΔʯΛϞσϦϯάͯ͠ΈΔ ͱ͍͍͔
͑ΔϞσϧ ݴ༿ɺͿΓखৼΓϞσϧ ιʔείʔυϞσϧ ͑ΔతͰΘͬͨΒɺͦΕ Ҏ্ͷϞσϦϯάཁΒͳ͍ υΩϡϝϯτΛ࡞Δ͜ͱͰͳ͍
Ξτϓοτͯ͠ΈΑ͏ ͜ͷεϥΠυϞσϦϯάʹର ͢ΔࢲͷϞσϧΛΞτϓοτ͠ ͨͰ͢ ଟҰൠతͳʮϞσϦϯάʯͱ ҧͬͨͱࢥ͍·͢
ΕͰ͖ΔΑ͏ʹͳΔ Βͳ͍͜ͱઈରͰ͖ΔΑ͏ ʹͳΒͳ͍ ࣗͷཧղΛ૬खʹ͑Α͏ͱ ͢ΔͳΒɺͦΕϞσϦϯά ʮϞσϦϯάʯͩͱࢥͬͯऔΓΜͩ ΒϞσϦϯάྗ͍͍͖ͭͯ·͢
Ϟσϧ ʹ͔͠ଘࡏ͠ͳ͍Ϟσϧ ݕূʹෳͷϞσϦϯάͰΞ τϓοτͯ͠ΈΔ
ϞσϦϯάҰ࿈ͷ׆ಈ Ϟσϧ ؍ଌՄೳϞσϧ ใͷմ ղऍ Ξτϓοτ ચ࿅ Ճใͷऩू తʹরΒͨ͠ใͷऩू ͜Ε͘Β͍Ͱ͍͍͔