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
260
ドメインの本質を掴む / 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
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
8
2k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
220
"型"のあるRailsアプリケーション開発 / Typed Rails application development
sinsoku
9
2.7k
Let's get started with Ruby && Rails Tips
sinsoku
0
410
LTの敷居を下げる / Lower the threshold for LT
sinsoku
1
360
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
1.3k
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1.5k
💎のつくりかた 2023 / How to make gems 2023
sinsoku
2
370
Make tests run faster
sinsoku
2
700
Other Decks in Technology
See All in Technology
Agile TPIを活用した品質改善事例
tomasagi
0
150
PostgreSQL Unconference #52 pg_tde
nori_shinoda
0
170
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
1.1k
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.1k
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
130
BCMathを高速化した一部始終をC言語でガチ目に解説する / BCMath performance improvement explanation
sakitakamachi
2
1.2k
職種に名前が付く、ということ/The fact that a job title has a name
bitkey
1
220
一人QA時代が終わり、 QAチームが立ち上がった話
ma_cho29
0
230
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
6
950
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
410
我々に残された仕事はあるのか?
taishiyade
0
200
3/26 クラウド食堂LT #2 GenU案件を通して学んだ教訓 登壇資料
ymae
1
170
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
4 Signs Your Business is Dying
shpigford
183
22k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Language of Interfaces
destraynor
156
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
A designer walks into a library…
pauljervisheath
205
24k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
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