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
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
Search
Takuma Yamamoto
April 23, 2024
Programming
0
110
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
Takuma Yamamoto
April 23, 2024
Tweet
Share
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
190
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
410
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
110
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
120
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
2k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
3
1.1k
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
1.9k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.5k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1.2k
Other Decks in Programming
See All in Programming
Vibe codingでおすすめの言語と開発手法
uyuki234
0
180
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.6k
TestingOsaka6_Ozono
o3
0
280
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
780
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Fragmented Architectures
denyspoltorak
0
120
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.5k
Data-Centric Kaggle
isax1015
2
660
CSC307 Lecture 04
javiergs
PRO
0
650
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
150
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
340
rack-attack gemによるリクエスト制限の失敗と学び
pndcat
0
230
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The Limits of Empathy - UXLibs8
cassininazir
1
200
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
My Coaching Mixtape
mlcsv
0
29
KATA
mclloyd
PRO
33
15k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
99
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Facilitating Awesome Meetings
lara
57
6.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
270
Paper Plane
katiecoart
PRO
0
45k
How STYLIGHT went responsive
nonsquared
100
6k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
280
Transcript
υϝΠϯۦಈઃܭ ษڧձ Takuma Yamamoto ʙ ϦϙδτϦฤ ʙ
BIOGRAPHY ͋ͳͨ୭Ͱ͔͢ʁ 5BLVNB:BNBNPUP 8PSLBUTOBQNF 'SPN.JZB[BLJ 4/4 झຯ ɾɹɹIUUQTHJUIVCDPNUBNBHPLFSBO ɾɹɹIUUQTUXJUUFSDPNZBNBUBLV ɾɹɹIUUQTRJJUBDPNUBNBHPLFSBO
ɾɹɹIUUQT[FOOEFWUBNBHPLFSBO ɾ͓ͭ ɾαφ ɾΞχϝ ɾɹɹIUUQTOPUFDPNUBNBHPLFSBO ࠷͍ۙͬͯΔ͜ͱ ɾΤϯδχΞ࠾༻શൠ ɾ-BNCEBΛͬͨ$3.ͷ࣮
INTRODUCTION Ҿ͖ଓ͖͜ͷຊΛࢀߟʹ͍ͯ͠·͢ ࠳ંͨ͠%%%Λࠓ͔ͦͬ͜͠ΓֶͿͨΊɺ։ൃऀʹͱͬͯ༏͍͠ೖॻͰ͋ΔʮυϝΠϯۦಈ ઃܭೖʯΛҾ͖ଓ͖ࢀߟʹ͍ͯ͠·͢ɻ
INTRODUCTION υϝΠϯϞσϧ͔Β࣮ʹམͱ͠ࠐΉ෦ʹϑΥʔΧε վΊͯͷઆ໌ʹͳΓ·͕͢ɺ͜ͷษڧձͰ։ൃऀʹͱͬͯཧղ͍͢͠lϞσϦϯάͨ֓͠೦Λ࣮ ʹམͱ͠ࠐΉͨΊͷύλʔϯzʹϑΥʔΧε͍ͯ͠·͢ɻ αϯϓϧίʔυͳͲҰॹʹڞ༗͠ͳ͕ΒਐΊΔͷͰɺͥͻΠϝʔδΛΒ·ͤͯɺۀʹ׆͔ͤͦ͏ ͳ෦Λ୳͍͚ͯͨͩ͠Εͱࢥ͍·͢ʂ υϝΠϯͷ֓೦ υϝΠϯϞσϧ υϝΠϯ ΦϒδΣΫτ
͜͜ʹूத
INTRODUCTION υϝΠϯͷࣝΛ࣮ʹམͱ͠ࠐΉํ๏Λֶͼ·ͨ͠ ͜Ε·ͰυϝΠϯͷࣝΛͲͷΑ͏ʹ࣮ͯ͠ɺυϝΠϯΦϒδΣΫτʹམͱ͠ࠐΉͷ͔ɺͦͷ࣮ ํ๏ʹ͍ͭͯϑΥʔΧεֶͯ͠ΜͰ͖·ͨ͠ɻ υϝΠϯͷ֓೦ υϝΠϯϞσϧ υϝΠϯ ΦϒδΣΫτ ΦϒδΣΫτ ΤϯςΟςΟ
υϝΠϯαʔϏε
INTRODUCTION ࠓճֶͿͷυϝΠϯΦϒδΣΫτͰ͋Γ·ͤΜʂ ࠓճొ͢ΔΦϒδΣΫτɺυϝΠϯΦϒδΣΫτ͕ΑΓυϝΠϯࣝͷදݱʹప͢Δ͜ͱ͕Ͱ͖ ΔΑ͏ɺυϝΠϯΦϒδΣΫτΛࡍཱͨͤΔׂΛ୲͍·͢ɻ υϝΠϯΦϒδΣΫτ ✨ ࠓճͷΦϒδΣΫτ
INTRODUCTION ࠓճͷࡐ “ϦϙδτϦ” Ͱ͢ υϝΠϯΦϒδΣΫτΛ࣮͢ΔͱɺυϝΠϯࣝͱؔͷͳ͍ίʔυ͕ඞཁʹͳΔέʔε͕͋Γ ·͢ɻ͔Γ͍͢ྫͱͯ͠ڍ͛ΒΕΔͷ͕ɺσʔλͷอଘ෮ݩͷॲཧͰ͢ɻ υϝΠϯ ΦϒδΣΫτ ϦϙδτϦ σʔλετΞ
ࠓճֶͿlϦϙδτϦzɺ্هͷΑ͏ʹσʔλΛӬଓԽͨ͠Γɺ࠶ߏஙͨ͠Γ͢ΔॲཧΛυϝΠϯ ΦϒδΣΫτ͔ΒΓ͢͜ͱΛతͱͨ͠ΦϒδΣΫτͰ͢ɻ
Example code ۩ମతʹͲ͏͍ͬͨίʔυͳͷ͔ʁ
LESSON ۩ମྫ1: Ϣʔβʔ࡞ॲཧ ϢʔβʔΛ࡞͢Δॲཧ͕ɺҎԼͷΑ͏ͳίʔυͰ࣮͞Ε͍ͯΔͱ͠·͢ɻ ಉ໊͡લͷϢʔβʔΛ࡞͢Δ͜ͱ͕Ͱ͖ͳ͍ͱ͍͏ϩδοΫΘ͔Γ·͕͢ɺͦΕҎ߱ͷॲཧ͕Կ Λ͓͜ͳ͍ͬͯΔͷ͔ɺύοͱݟͨײ͡Θ͔ΓͮΒ͘ͳ͍Ͱ͠ΐ͏͔ʁ
LESSON ۩ମྫ2: Ϣʔβʔͷॏෳ֬ೝॲཧ ·ͨҰํͰϢʔβʔͷॏෳΛνΣοΫ͢ΔॲཧɺҎԼͷΑ͏ʹ࣮͞Ε͍ͯΔͱ͠·͢ɻ ίʔυΛͬ͘͡ΓಡΊɺࢦఆ໊ͨ͠લͷϢʔβʔΛσʔλετΞͰݕࡧ͠ɺଘࡏͷ༗ແΛ5SVF 'BMTFͰฦ͍ͯ͠Δ͜ͱΛཧղͰ͖·͕͢ɺ͜Εύοͱݟ͔ͯΓͮΒ͍Ͱ͢ΑͶɻɻɻ
LESSON σʔλपΓͷॲཧυϝΠϯࣝΛݟ͑ʹ͘͘͢Δ ͜Ε·ͰυϝΠϯࣝΛίʔυͱͯ͠མͱ͠ࠐΉͨΊʹɺυϝΠϯΦϒδΣΫτΛֶΜͰ͖·ͨ͠ɻ Ͱ͕͢ɺઌड़ͨ͠ίʔυͷσʔλετΞؔ࿈ͷॲཧɺՌͨͯ͠υϝΠϯࣝͳͷͰ͠ΐ͏͔ʁ ͑/PͰ͋Γɺ͜͏͍ͬͨυϝΠϯࣝͱؔͷͳ͍ίʔυ͕هࡌ͞ΕΔ͜ͱͰɺυϝΠϯΦ ϒδΣΫτ͕ݟ͑ͮΒͯ͘͠͠·͍·͢ɻ υϝΠϯΦϒδΣΫτ
How do we use Repository? ͲͷΑ͏ʹϦϙδτϦΛར༻͢Δͷ͔ʁ
˞!BCTUSBDUNFUIPEΛద༻͢Δ͜ͱͰɺੜΫϥε͕ಛఆͷϝιουΛ࣮͢Δ͜ͱΛڧ੍Ͱ͖Δ LESSON ·ͣΠϯλʔϑΣʔεΛ࣮͢Δ ·ͣϦϙδτϦͷΠϯλʔϑΣʔεΛ࣮͠ɺl;Δ·͍zΛఆٛ͠·͢ɻ͜ΕΛఆٛ͢Δ͜ͱͰɺ ։ൃن͕େ͖͘ͳΓɺશମ͕ݟ͑ͮΒ͘ͳͬͯɺԿΛ࣮͖͔͢Λ໌֬ʹѲͰ͖ΔͳͲͷϝ Ϧοτ͕͋ΔΑ͏Ͱ͢ɻ ͨͩ͠ɺ1ZUIPOͷݴޠઃܭʢμοΫλΠϐϯάಈతܕ͚ͳͲʣͩͱɺΠϯλʔϑΣʔεΛ༻͍ ࣮ͯ͢Δ͜ͱɺ੩తܕ͚ݴޠͳͲͱൺͯগͳ͍Α͏Ͱ͢ɻ
LESSON ΠϯλʔϑΣʔεΛܧঝ͠ɺ࠶ߏஙॲཧΛ࣮͢Δ ઌ΄Ͳ࡞ͨ͠*6TFS3FQPTJUPSZΠϯλʔϑΣʔεΛܧঝͯ͠ɺ6TFS.ZTRM3FQPTJUPSZͱ͍͏Ϧϙδ τϦΫϥεΛ࣮͠ɺͦ͜ʹσʔλͷ࠶ߏஙΛߦ͏ fi OEϝιουΛఆٛ͠·͢ɻ
LESSON ॏෳ֬ೝͷ༰͕ΑΓ͔Γ͘͢දݱ͞ΕΔ 6TFS.ZTRM3FQPTJUPSZͷ fi OEϝιουΛ༻ͯ͠ॏෳ֬ೝͷॲཧΛमਖ਼͢ΔͱɺҎԼͷΑ͏ʹίʔ υ͕εοΩϦ͠ɺԿΛߦ͍ͬͯΔॲཧͳͷ͔ύοͱཧղͰ͖ΔΑ͏ʹͳΓ·͢ɻ
LESSON ΠϯλʔϑΣʔεΛܧঝ͠ɺӬଓԽॲཧΛ࣮͢Δ ࣍ઌ΄Ͳ࡞ͨ͠6TFS.ZTRM3FQPTJUPSZΫϥεʹɺϢʔβʔσʔλͷӬଓԽΛߦ͏TBWFϝιου Λఆٛ͠·͢ɻ
LESSON Ϣʔβʔ࡞ॲཧͷ༰͕ΑΓ͔Γ͘͢දݱ͞ΕΔ 6TFS.ZTRM3FQPTJUPSZΛ༻ͯ͠ɺϢʔβʔ࡞ॲཧΛ࣮͢͠ͱɺҎԼͷΑ͏ʹίʔυ͕εοΩ Ϧ͠ɺԿΛߦ͍ͬͯΔॲཧͳͷ͔͕໌֬ʹѲͰ͖ΔΑ͏ʹͳΓ·͢ɻ
What are the bene fi ts of using a Repository?
ϦϙδτϦΛར༻͢ΔϝϦοτʁ
LESSON มߋʹ͏ӨڹൣғΛখ͘͞͠ɺ։ൃεϐʔυΛ؇Ίͳ͍ 42-จΛॻ͍࣮ͯ͠·͕ͨ͠ɺࠓޙ03.BQQFSΛ༻ͨ͠։ൃʹมߋ͢Δ͜ͱ༰қʹ ૾Ͱ͖·͢ɻͦͯ͠ɺطʹDSFBUF@VTFSϝιου͕ଟ͘ͷՕॴͰ༻͞Ε͍ͯͨͱ͠·͠ΐ͏ɻ 03.BQQFSΛ༻͢ΔϦϙδτϦΛผ్४උͯ͠͠·͑ɺ1SPHSBNΫϥε͕ΠϯελϯεԽ͞Ε Δॴ͝ͱʹ༻͢ΔϦϙδτϦΛมߋͰ͖ΔͷͰɺӨڹൣғΛݶఆ͠ͳ͕Β։ൃͰ͖·͢ɻ ίʔυ" ίʔυ# ίʔυ$
ίʔυ"͔Βঃʑʹ͍͛ͯ͘͜ͱ͕Մೳʂ
LESSON ςετ༻ϦϙδτϦΛ࡞Ε؆୯ʹςετͰ͖Δ ઌ΄Ͳ03.BQQFSΛ༻ͨ͠ϦϙδτϦΛผ్४උ͢ΔΛͨ͠௨Γɺςετ༻ͷϦϙδτϦ ࡞ͬͯ͠·͑ɺςετΛߦ͏͜ͱՄೳʹͳΓ·͢ɻ ϓϩμΫγϣϯίʔυ ςετίʔυ
Where do we use Repository? εφοΫϛʔͩͱɺͲ͜ͰϦϙδτϦΛར༻͍ͯ͠Δ͔ʁ
GitHub Ͱ୳ͯ͠Έ·͠ΐ͏ʂ
Summary ϦϙδτϦʹ͍ͭͯ·ͱΊΔͱ…
SUMMARY ϦϙδτϦʹֶ͍ͭͯΜͰΈͯ… ɾϦϙδτϦσʔλͷӬଓԽ࠶ߏஙͷॲཧΛΓͯ͘͠ΕΔΦϒδΣΫτ ɾυϝΠϯΦϒδΣΫτͰͳ͍͕ɺυϝΠϯࣝΛࡍཱͨͤΔॏཁͳׂΛ୲͏ ɾมߋʹ͏ӨڹൣғΛݶఆ͠ɺখ͘͞ૣ͍։ൃΛॿ͚ΔϝϦοτ͋Δ
Recruitment ΤϯδχΞืूதͰ͢ʂ
RECRUITMENT We are Hiring! εφοΫϛʔͰɺʮ͓ͭͱɺੈքΛ໘ന ͘ʯ͍ͯ͘͠ɺͦΜͳ׆ಈΛࣄͱͯ͠औΓ Έ͍ͨΤϯδχΞΛืू͍ͯ͠·͢ɻ IUUQTUFBNTOBRNFDPN εφοΫϛʔ࠾༻