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
300
ドメインの本質を掴む / 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
3
11k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
8
2.5k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
260
"型"のあるRailsアプリケーション開発 / Typed Rails application development
sinsoku
10
2.8k
Let's get started with Ruby && Rails Tips
sinsoku
0
440
LTの敷居を下げる / Lower the threshold for LT
sinsoku
1
380
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
1.4k
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1.6k
💎のつくりかた 2023 / How to make gems 2023
sinsoku
2
420
Other Decks in Technology
See All in Technology
事業価値と Engineering
recruitengineers
PRO
6
5k
AWSで推進するデータマネジメント
kawanago
0
310
トヨタ生産方式(TPS)入門
recruitengineers
PRO
5
1.3k
Product Management Conference -AI時代に進化するPdM-
kojima111
0
270
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
330
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
150
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
140
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
930
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
340
JavaScript 研修
recruitengineers
PRO
6
1.3k
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
630
努力家なスクラムマスターが陥る「傍観者」という罠と乗り越えた先に信頼があった話 / 20250830 Takahiro Sasaki
shift_evolve
PRO
2
120
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
For a Future-Friendly Web
brad_frost
179
9.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
A designer walks into a library…
pauljervisheath
207
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Facilitating Awesome Meetings
lara
55
6.5k
Automating Front-end Workflow
addyosmani
1370
200k
Writing Fast Ruby
sferik
628
62k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Typedesign – Prime Four
hannesfritz
42
2.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1k
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