Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
Search
Takuma Yamamoto
April 23, 2024
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
Takuma Yamamoto
April 23, 2024
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
220
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
440
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
130
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
140
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
2.4k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
3
1.2k
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
2.1k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.7k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1.3k
Other Decks in Programming
See All in Programming
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
120
オーケストレーション記述言語 Katari
yukikurage
0
190
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
330
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
880
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
190
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
170
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
200
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
150
パスワード再設定メールのURLについて知っておこう
uyuki234
0
180
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
Simple Storage Service(S3) is not simple
iwatsukayura
0
320
Next.js: The final boss of Web Performance
guaca
0
330
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
570
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Building Applications with DynamoDB
mza
96
7.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
230
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
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 εφοΫϛʔ࠾༻