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
ドメインの本質を掴む / Get the essence of the domain
Search
Takumi Shotoku
November 14, 2024
Technology
2
330
ドメインの本質を掴む / Get the essence of the domain
【オフライン開催】Roppongi.rb #24
https://roppongirb.connpass.com/event/335196/
Takumi Shotoku
November 14, 2024
Tweet
Share
More Decks by Takumi Shotoku
See All by Takumi Shotoku
Automatically generating types by running tests
sinsoku
4
12k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
8
2.6k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
280
"型"のあるRailsアプリケーション開発 / Typed Rails application development
sinsoku
10
3k
Let's get started with Ruby && Rails Tips
sinsoku
0
470
LTの敷居を下げる / Lower the threshold for LT
sinsoku
2
410
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
1.5k
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1.6k
💎のつくりかた 2023 / How to make gems 2023
sinsoku
2
450
Other Decks in Technology
See All in Technology
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
日本Rubyの会: これまでとこれから
snoozer05
PRO
6
250
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
130
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
220
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
310
2025年 山梨の技術コミュニティを振り返る
yuukis
0
140
Introduce marp-ai-slide-generator
itarutomy
0
160
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
18k
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
240
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
0
500
Knowledge Work の AI Backend
kworkdev
PRO
0
340
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
39
Everyday Curiosity
cassininazir
0
110
New Earth Scene 8
popppiees
0
1.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Building an army of robots
kneath
306
46k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
43
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
97
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
υϝΠϯͷຊ࣭Λ௫Ή Roppongi.rb #24 2024/11/14 1
ࣗݾհ • ໊લ: ਖ਼ಙ (aka: ਆ) • GitHub: @sinsoku (ը૾ӈ্)
• X: @sinsoku_listy (ը૾ӈԼ) • Railsྺ: 10͘Β͍ 2
Omotesando.rb ͷೋ࣍ձޙ 3
! LTͰͤΔωλΛ୳͢ 4
࠷ۙͷۀ • طଘͷ༷ΛௐΔ • ςʔϒϧߏΛѲ͢Δ • ERਤ ΛோΊΔ • υϝΠϯڥքΛߟ͑Δ
• ERਤ ͰςʔϒϧΛάϧʔϓԽ͢Δ 5
࣮ମؔ࿈ϞσϧʢERDʣ1 1 https://ja.wikipedia.org/wiki/ %E5%AE%9F%E4%BD%93%E9%96%A2%E9%80%A3%E3%83%A2%E3%83%87%E3%83%AB 6
ERਤΛѻ͏πʔϧͷհ 1. SchemaSpyʢੜʣ 2. dbdocs.ioʢੜʣ 3. MySQL Workbenchʢੜɾฤूʣ 4. pgAdminʢੜɾฤूʣ
5. dbdiagram.ioʢੜɾฤूʣ 7
rails-mermaid_erd ͷ͠ͳ͍2 2 https://speakerdeck.com/sanfrecce_osaka/rails-and-mermaid 8
SchemaSpy3 • Java • طଘͷDBʹଓͯ͠ੜՄ • HTMLͷϑΝΠϧΛੜ͢Δ • ! DockerΠϝʔδ͋Γ
• JREΛೖΕΔඞཁͳ͍ 3 https://schemaspy.org/ 9
͍ํ $ docker run -"network="host" -v "$PWD/output:/output" \ schemaspy/schemaspy:snapshot \
-t pgsql11 \ -db bootcamp_development \ -host localhost \ -u postgres \ -p postgres 10
11
12
13
dbdocs4 • Node.js, Web • طଘͷDBʹଓͯ͠ੜՄ • Ӿཡ੍ݶ͕Մೳʢύεϫʔυ, ϓϥΠϕʔτ ʣ
• ! " Λॻ͚Δ • ⚠ ϩʔΧϧڥͰӾཡͰ͖ͳ͍ 4 https://dbdocs.io/ 14
͍ํ $ npm install -g dbdocs $ dbdocs login $
dbdocs db2dbml postgres \ 'postgresql:/#postgres:postgres@localhost:5432/bootcamp_development' \ -%outFile=database.dbml $ dbdocs build database.dbml -%project bootcamp 15
16
17
18
MySQL Workbench • طଘͷDB͔ΒςʔϒϧใΛಡΈࠐΈՄʢMySQLͷΈʣ • ςʔϒϧΛάϧʔϓԽͰ͖Δ • ڞಉฤूͰ͖ͳ͍ • !
Λॻ͚Δʢ͔͠͠ " ౾දࣔʣ 19
20
pgAdmin 4 • طଘͷDB͔ΒςʔϒϧใΛಡΈࠐΈՄʢpgͷΈʣ • ςʔϒϧΛάϧʔϓԽͰ͖ͳ͍ • ڞಉฤूͰ͖ͳ͍ • !
Λॻ͚ͳ͍ 21
22
23
dbdiagram.io5 • schema.rb ͔ΒςʔϒϧใΛಡΈࠐΈՄ • ! ςʔϒϧΛάϧʔϓԽͰ͖Δ • ! ڞಉฤूͰ͖Δ
• ! " Λॻ͚Δ • ⚠ ϩʔΧϧڥͰӾཡͰ͖ͳ͍ 5 https://dbdiagram.io/ 24
25
͓·͚: The Top 6 Database Design Tools for 20246 6
https://vertabelo.com/blog/database-design-tools/ 26
ERਤʹ͍ͭͯৄ͍͠ਓ ͥͻޙ΄Ͳ͠·͠ΐ͏ 27