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
Unity meets Clean Architecture
Search
Tetsuya Mori
PRO
December 09, 2017
Programming
3
1.8k
Unity meets Clean Architecture
【年末だよ】Unity お・と・な のLT大会 2017【ポロりしてもいいのよ】での発表資料です。
Tetsuya Mori
PRO
December 09, 2017
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.3k
はじめての C# 大統一理論
monry
PRO
0
640
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
180
Unity で ARゲームを作った話
monry
PRO
1
670
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.7k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
470
Democratized Unity Package Manager
monry
PRO
1
2.6k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1k
Other Decks in Programming
See All in Programming
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
360
gopls を改造したら開発生産性が高まった
satorunooshie
8
250
Java ジェネリクス入門 2024
nagise
0
610
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
170
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
1.7k
Why Spring Matters to Jakarta EE - and Vice Versa
ivargrimstad
0
1.1k
Honoの来た道とこれから
yusukebe
19
3.1k
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.1k
Vue.js学習の振り返り
hiro_xre
2
130
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
140
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.7k
Tuning GraphQL on Rails
pyama86
2
1.1k
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Typedesign – Prime Four
hannesfritz
39
2.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.2k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
KATA
mclloyd
29
13k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Faster Mobile Websites
deanohume
304
30k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
6OJUZNFFUT $MFBO"SDIJUFDUVSF 6OJUZ͓ɾͱɾͳͷ-5େձ גࣜձࣾΩοζελʔ $505FDI-FBEɹɹ࠸
סഋʂ
ࣗݾհ
8IPBNɹ w /JDLOBNFNPOSZ w /BNFɹ࠸ w 8PSL,JET4UBS*OD w 5XJUUFS!NPOSZ w
'BDFCPPLNPOSZ w (JU)VCNPOSZ w +PC6OJUZશൠɺϏϧυ͓͡͞Μ
ಥવͰ͕͢
6OJUZ։ൃ͋Δ͋Δ
6OJUZ։ൃ͋Δ͋Δ w ʮ͜ͷॲཧɺͲ͜ʹॻ͚ྑ͍ͷʜʁʯ w αϯϓϧίʔυωοτʹ͍ͬͺ͍͋Δ͚Ͳɺ ॻ͖ํ͕όϥόϥ w ͳΜͳΒ6OJUZެࣜͷϚχϡΞϧͱ͔Ұ؏ੑ͕ແ͍
6OJUZ։ൃ͋Δ͋Δ w ʮ͜͜ʹ༷Ճ͍ͨ͠Μ͚ͩͲʜɻʯ w ӨڹൣғɺΊͬͪΌ͍ʜɻ w ίονΛ͢ͱΞονʹӨڹͪ͠Όͬͯʜɻ w Θʔ͍ɺ
6OJUZ։ൃ͋Δ͋Δ w ʮίʔυϨϏϡʔśūŢŒţʯ w ϨϏϡϫʔʮԿॲʹԿ͕ॻ͔ΕͯΔ͔͔ΒΜʜɻʯ w ϨϏϡΠʔʮΫϥεͷൣғͱ͔ݴΘΕͯʜɻʯ
8IZ
ͦΕภʹ ͻͱ͑
ઃܭෆʂ
ઃܭͷॏཁੑ UP3JTPV1͞ΜͷొஃࢿྉΛ ಡ͏ʂ
ࠓɺͦΜͳʮઃܭͷॏཁੑ͕ ཧղग़དྷͨʯوํʹૹΔ༰Ͱ͢
Ҏ্ɺ͍લஔ͖ɻ
ຊ
ͷɺલʹ
ʢΦϨ͕ࢥ͏ʣ 6OJUZͷֶशϓϩηε
6OJUZֶशϓϩηε w 77JFX w 7JFX.POP#FIBWJPVSͷ 4UBSU Β6QEBUF ΒʹΰϦοΰϦʹॻ͘ w 7JFXͱ7JFXͱͷ݁߹͕ڧ͘ͳΓ͕ͪ
w ʮநԽʁͳʹͦΕ͓͍͍͠ͷʁʯঢ়ଶͳͷͰ %3:ݪଇͱ͔ɺͲ͜ਧ͘෩ঢ়ଶ w อ࣋༻ͷ4JOHMFUPO.POP#FIBWJPVS͘Μొ
6OJUZֶशϓϩηε w 7$7JFX$POUSPMMFS w 7JFX͚ͩͩͱγϯυ͘ͳ͖ͬͯͯɺ .BOBHFS͕ྔ࢈͞ΕΔ w (BNF.BOBHFSͱ͔͍͏ڊେͳΫϥε͕ग़དྷ্͕Δ w $POUSPMMFSͱ7JFXͱͷ݁߹ڧ͕ڧ͍
w ςετͱ͔ॻ͚ͨΜ͡Όͳ͍
6OJUZֶशϓϩηε w .7$.PEFM7JFX$POUSPMMFS w .PEFMͱͯ͠Λ࣋ͭΫϥε͕ొ͢Δ w ͜ͷล͔ΒΑ͋͘ΔϓϩδΣΫτʹͳΔ w 7JFXͱ.PEFM͕૬ޓʹࢀরΛ࣋ͪෳࡶԽ͢Δ w
7JFX.PEFMͷมߋʹऑ͍ʢ༷มߋʹऑ͍ʣ
6OJUZֶशϓϩηε w .77. 1 .PEFM7JFX7JFX.PEFM 1SFTFOUFS w 6OJ3YʢͳͲʣΛ͍ɺ.7$ͷ֤ϨΠϠΛ w
ϨΠϠؒͰͷґଘΛݮΒ͢ w ΄΅͜Ε͕͑ͳײ͢͡Δʂ w Ͱɺϧʔϧ͕ᐆດͰϨʔϧ͕ෑ͔Ε͍ͯͳ͍ײ͡
ͯ͜ͱͰɺ·ͩ՝͕͋Δ
ͦ͜Ͱ
$MFBO"SDIJUFDUVSF
$MFBO"SDIJUFDUVSF w JTԿʁ w ݩʑʹ6ODMF#PCʹΑΓఏএ͞Εͨ ΞʔΩςΫνϟ w J04ք۾ͰΑ͘ΘΕ͍ͯΔͱ͔͍ͳ͍ͱ͔
$MFBO"SDIJUFDUVSF w ͜Μͳਤͱ͔ ग़య5IF$MFBO"SDIJUFDUVSF
$MFBO"SDIJUFDUVSF w ͜Μͳਤͱ͔ ग़య·ͩ.7$ .71 .77.Ͱফͯ͠ΔͷʁJ04$MFBO"SDIJUFDUVSFʹ͍ͭͯ
$MFBO"SDIJUFDUVSF w Ͱද͞ΕΔ֓೦ w ͋͘·ͰʮΞʔΩςΫνϟʯͰ͋Γ ʮϑϨʔϜϫʔΫʯͰͳ͍ w ΦϒδΣΫτࢦϓϩάϥϛϯάʹԙ͚Δ ʮීวతͳߟ͑ํʯʹͳΔͷͰɺݴޠΛΘͣ͑Δ
$MFBO"SDIJUFDUVSF w ϝϦοτ w άάΕ w εΫϦϓςΟϯάͷํੑͱͯ͠ҰͭͷಓےͱͳΔ w 1MBZ.PEF&EJU.PEFΘͣɺςετ͕ॻ͖͍͢ w
େنϓϩμΫτதظతʹϝϯςφϯε͢Δϓϩ μΫτʹ࠷ద
$MFBO"SDIJUFDUVSF w σϝϦοτ w άάΕ w ίʔυͷϑΝΠϧ͕ΊͬͪΌ૿͑Δ w ֶशίετ͕ͪΐͬͱߴ͍ w
ϓϩτλΠϓখنϓϩμΫτʹ͔ͳ͍
6OJUZͰͬͯΈͨ
6OJUZͰͬͯΈͨ w 1SFTFOUBUJPO-BZFS w 7JFX w ͦͷ··.POP#FIBWJPVS w ࣗͷඳըͱࢠཁૉͷੜΛ࢘Δ w
ΠϕϯτϋϯυϦϯάίΠπͷࣄ w 7JFX$POUSPMMFSతͳΫϥεΛ༻ҙ͢ΔͱϤαι
6OJUZͰͬͯΈͨ w 1SFTFOUBUJPO-BZFS w 1SFTFOUFS w 7JFXͱ6TF$BTFΛܨ͙ w 6OJ3Yଟ༻͢Δ w
ίίʹϩδοΫॻ͔ͳ͍
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w 6TF$BTF w ϏδωεϩδοΫ w 7JFXʹ%BUBʹґଘ͠ͳ͍Α͏ʹॻ͘ w
ʮυϝΠϯʯʹରͯ͠Ϋϥε࡞Δ
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w .PEFM w ʮදࣔ༻ͷʯΛཧ͢Δ w දࣔ࣌ͷ࠲ඪͱ͔ͷఆΛ࣋ͬͯϤαι
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w 5SBOTMBUPS w &OUJUZʢޙड़ʣͱ.PEFMΛ૬ޓʹม͢Δ w ಉظɾඇಉظΛߟྀ͢ΔͱϤαι
6OJUZͰͬͯΈͨ w %PNBJO-BZFS w 3FQPTJUPSZ w %BUB4UPSFʢޙड़ʣͱ6TF$BTFͱͷ૭ޱ w 6TF$BTFίΠπͱରͯ͠σʔλΛΓͱΓ͢Δ w
ݫີʹ%PNBJO-BZFSͰͳ͘ %PNBJOͱ%BUBͷதؒʹҐஔ͢Δ֓೦
6OJUZͰͬͯΈͨ w %BUB-BZFS w &OUJUZ w ʮ֎෦ͷʯΛཧ͢Δ w 8FC"1*ͱ͔4DSJQUBCMF0CKFDUͱ͔ 1MBZFS1SFGTͱ͔ͷιʔείʔυͷ֎ͷΛදݱ
w σʔλͷग़ࣗΛΘͣΫϥεσʔλʹ͖ͭͭ
6OJUZͰͬͯΈͨ w %BUB-BZFS w %BUB4UPSF w &OUJUZͷೖग़ྗΛऔΓѻ͏ w &OUJUZͷσʔλͷग़ࣗʹΑͬͯಡΈॻ͖ͷ ॲཧΛ࣮͢Δ
w ಡΈॻ͖ͷ࣮ॲཧڞ௨ԽͰ͖Δ͕ɺ ΠϯλϑΣʔεݸผʹ࣮͢Δίτ͕·͍͠
ͳΜͷͬͪ͜ΌͰ͢Ͷɻ
ͬͯ͜ͱͰɺॻ͖·ͨ͠
$"'6 $MFBO"SDIJUFDUVSFGPS6OJUZ
IUUQTHJUIVCDPNVNNQSPKFDUTDBGV@DPSF
$"'6 w Α͋͘ΔʮΦϨΦϨϑϨʔϜϫʔΫʯͰͳ͘ɺ͋͘·Ͱ ʮΞʔΩςΫνϟʯͱͯ͠ͷ࣮ w ຆͲϝιουੜ͓͑ͯΒͣɺز͔ͭͷJOUFSGBDFͰߏ w 6OJUZͱͷ݁߹͕ڧ͘ͳΔՕॴʹجఈΫϥεͱ͔Λ࣮ w .POP#FIBWJPVSͱ͔4DSJQUBCMF0CKFDUͱ͔
$"'6 w .PEFM6TF$BTFͷઃܭΛͤͣʹॻ͖࢝ΊΔͱ ௧͍ΛݟΔͷͰɺΫϥεਤΛॻ͘͜ͱΛΦεεϝ͠·͢ w ·ͩ·ͩ։ൃதͳͷͰɺ໘҆ఆ͠ͳ͍͔ʜ w Ωοζελʔͷ։ൃݱͰ࣮ࡍʹࢼݧಋೖத w ϝδϟʔόʔδϣϯΛʹԼ͛Α͏͔ࢥҊத
w ը໘ભҠʹؔ͢Δॲཧڞ௨Խͯ͠ผϦϙδτϦͰཧ
ڵຯ͋Δਓੋඇ 1VMM3FRVFTU͍͛ͯͩ͘͞
ॴײ
ॴײ w ΫϥεઃܭίʔσΟϯάͷ࣌ͷʮ໎͍ʯ͕ͳ͘ͳΔ w ׳Εͯ͘Εɻ w ͬͺΓֶशίετ͕ͦΕͳΓʹߴ͍ w ΄ͲΑ͍റΓ͕͋Δ͓ӄͰϨʔϧʹͳͬͯ͘Ε͍ͯΔ w
ઃܭϨϏϡʔίʔυϨϏϡʔ͍͢͠ w 1MBZ.PEF&EJU.PEFΘͣςετίʔυॻ͖͍͢
ॴײ w ෳਓͰҰͭͷϓϩμΫτΛ։ൃ͢ΔࡍʹɺฒΈΛἧ͑ ΒΕΔͱ͍͏େ͖ͳϝϦοτΛڗडͰ͖͍ͯΔ w ͱ͍͑ɺΤϯδχΞʹରͯ͠ٻΊΒΕΔϋʔυϧ্͕͕ Δͷ·ͨࣄ࣮ w 6OJUZͦͷͷͷ"1*ʹറΒΕͳ͍ͷͰɺͭͿ͕͠ޮ͘
༻๏༻ྔΛकͬͯ ਖ਼͘͠͝ར༻͍ͩ͘͞
ࠂ
ΜΓ͌ઌੜ w 4DIPPͰ6OJUZͷतۀΛ࣋ͭίτʹͳΓ·ͨ͠ʂ w IUUQTTDIPPKQDMBTT w 5VF d w
ੜ์ૹແྉͳͷͰɺੋඇͱ͝ཡ͍ͩ͘͞·ͤʂ
ࠂ
1BUDI3FMFBTF/PUFT༁ w 1BUDI3FMFBTFͷ3FMFBTF/PUFTΛ༁͢Δ ݸਓϓϩδΣΫτͬͯ·͢ɻ w IUUQVOJUZSFMFBTFOPUFTIBUFOBCMPHDPN w γΣΞͱ͔ελʔͱ͔͚ͯ͘ΕΔͱɺΜΓ͌ͷ Ϟνϕʔγϣϯ͕͕͋Γ·͆͢
ࠂ
8FBSFIJSJOH גࣜձࣾΩοζελʔͰ ʮࢠͲͷເதΛҭͯΔʯ ϓϩμΫτͷ։ൃΛࢧ͑Δ σϕϩούʔΛืूதͰ͢ʂ
5IBOLZPVGPS ZPVSBUUFOUJPO