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
私の推し技術(DERTA Gig #18)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akshimo
July 06, 2025
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
私の推し技術(DERTA Gig #18)
akshimo
July 06, 2025
More Decks by akshimo
See All by akshimo
traitは本当に悪者か?
shimomura
0
430
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
220
Re: AIがコードを書いてくれるなら、新米エンジニアは何をする?
shimomura
0
350
新潟の勉強会を盛り上げたい!
shimomura
0
130
その設計、 本当に価値を生んでますか?
shimomura
3
370
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
2
1.6k
5分でわかる イミュータブル データモデル
shimomura
2
500
アラートの話 をしよう!
shimomura
0
140
serverless
shimomura
1
240
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
GitHub's CSS Performance
jonrohan
1033
470k
The untapped power of vector embeddings
frankvandijk
2
1.9k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
350
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Why Our Code Smells
bkeepers
PRO
340
58k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
It's Worth the Effort
3n
188
29k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Test your architecture with Archunit
thirion
2
2.4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Transcript
私の推し技術・プロダクト DERTA Gig vol.18 akshimo
• akshimo(あくしも) • フリーランス • ソフトウェアエンジニア • PHPカンファレンス新潟2025 コアスタッフ •
Niigata5分Tech実行委員会 • KomeKaigi2025実行委員会
• AI系(Devin, Claude Code, n8n,...) • Vim • アジャイル系の何か(ふりかえり手法とか...) 思いついた推し技術・プロダクト候補
今回の推し技術は …
RDB 今回の推し技術は …
今日の内容は ぺちこん新潟での登壇内容と かなり重複します 別に時間がなくてネタを作れなかった わけじゃないんだからね!
• 大生成AI時代を生き残るために • RDB自体ではなく、それを通してあることを伝えたい • こんな時代だからこそ地に足をつけて なぜ推すのか? 学生も多いしね
遅延束縛(結合) キーワード
多少専門的な用語や人名を 出すことがありますが、 雰囲気で聞いてください
エンジニアの人?
エンジニアリングできる人?
エンジニアリング? プログラミングと違うの?
ソフトウェアエンジニアリングとは 時間で積分したプログラミングである Titus Winters, Tom Manshreck , Hyrum Wright 『Googleのソフトウェアエンジニアリング
―持続可能なプログラミングを支える技術、文化、プロセス』
• ソフトウェアは作って終わりではない • ビジネスにあわせ成長・進化・変化が求められる • そして、「データベースの寿命はアプリケーションより長い」 by そーだいさん エンジニアリングは時間積分
かといって未来を全て予測はできない … どうすれば良いか?
DBに何を保存すれば 良いか? 鍵となる考え
ITって情報技術でしょ? じゃあ”情報”を保存すれば いいんじゃない?
その考えはちょっと気をつけた方が 良いかも? ITって情報技術でしょ? じゃあ”情報”を保存すれば いいんじゃない?
DIKWピラミッド 知恵 知識 情報 データ
• データ ◦ 客観的、事実、未整理、未加工、意味がない。 • 情報 ◦ 整理、分析、解釈、計算されている。 意味、目的がある。 データと情報の違い
• データ ◦ 客観的、事実、未整理、未加工、意味がない。 • 情報 ◦ 整理、分析、解釈、計算されている。 意味、目的がある。 データと情報の違い
こっちを保存すべき!
”ユーザー”テーブル
先月に有料会員を辞めた人に 再入会を勧めるお知らせを送りたいんだよね
”ユーザー”テーブル
オワタ\(^o^)/
こうしておけばよかった
Write • トランザクション整合性 • 集約単位 • ドメインモデル、正規化 Read • 結果整合性
• 集約をまたぐ • クエリ最適化、非正規化 WriteとReadに求められるもの
• DBには起きたコトをそのまま保存する • 計算・解釈は”後から”できる ◦ リレーション演算(テーブル、クエリ、View) ここまでのまとめ
• DBには起きたコトをそのまま保存する • 計算・解釈は”後から”できる ◦ リレーション演算(テーブル、クエリ、View) ここまでのまとめ 遅延束縛!
• 蒸留 • インピーダンスミスマッチ • 非エンジニアとのコラボレーション 今日話せなかったが 他にもこんなことを考える必要がある
じゃあ全ての設計を “ガチ”でやれば良いのか?
• エンジニアリソースは無限ではない • 8:2の法則を意識する • バリューを生み出す”コア”の部分を優先する ◦ それ以外は外注、SaaS、AIの利用を積極的に検討 個人的な答えは No
事業を理解し 戦略を策定できる エンジニアが求められる
事業理解・戦略策定し 進化可能なソフトウェアを設 計する 現状AIには難しいこと
こんな時代だからこそ 地に足をつけ 真にバリューを出せる エンジニアリングをする
ご清聴 ありがとうございました!