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
Prismaを1年くらい使ってみたのでちょっと語る
Search
TsukasaSekiguchi
June 29, 2024
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Prismaを1年くらい使ってみたのでちょっと語る
Gunma.web #53のLT資料です
TsukasaSekiguchi
June 29, 2024
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
既存repo / AIとのやり取りから、おれのハーネスエンジニアリングの現状と課題を見てもらった
tsukasagr
1
100
おれのAgentic Coding 2026/03
tsukasagr
1
170
Agentic Coding 時代に絶対抑えておきたい git worktree の基礎知識と、ちょっとだけMCPについても言及
tsukasagr
0
130
おれのAI活用の現状とこれから
tsukasagr
0
250
Deep Researchで積読解消!技術書キャッチアップ術
tsukasagr
0
140
v0とCursorで爆速開発🚀
tsukasagr
0
300
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
260
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
430
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
330
Other Decks in Programming
See All in Programming
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
150
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
140
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
170
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
170
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
190
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.9k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
550
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
5.4k
共通化で考えるべきは、実装より公開する型だった
codeegg
0
280
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Into the Great Unknown - MozCon
thekraken
41
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Become a Pro
speakerdeck
PRO
31
6k
My Coaching Mixtape
mlcsv
0
180
Transcript
Prisma を1 年くらい使ってみたので ちょっと語る 2024/06/29 Gunma.web #53 @TsukasaGR
Prisma とは
Prisma とは JavaScript/TypeScript で利⽤可能なモダンなORM ⭐
主な特徴
主な特徴 型安全性 スキーマからTypeScript の型定義情報を⾃動⽣成してくれるので、型安全に書ける 簡潔なクエリ 直感的なクエリ、かつ補完も効くので初学者でもすぐにクエリを書ける マイグレーション スキーマからマイグレーションファイルを⾃動⽣成してくれる DB クライアント
独⾃のDB クライアントも標準装備してる
使うモチベーション
使うモチベーション( 好きなところ) 1. どうせフロントでJavaScript/TypeScript 書くんだからバッ クエンドも同じ⾔語で書けたほうが楽じゃない? 何と⾔っても多くのWeb 開発者が⼀度は思うであろうこの動機。やっぱり⼀番はここかなと思います。 2. 型安全とマイグレーション!
TypeScript の利⽤が増えた昨今、型安全であるかどうかは超重要な選定基準だと思います。 また、後述しますがPrisma のマイグレーションもモダンな仕組みでこの体験は他ではなかなか味わえないと思います。
歯がゆいところ
歯がゆいところ 1. フルスタックORM と⽐較してしまうとどうしても物⾜りな さが。。。 RoR やLaravel 等のフルスタックフレームワークを使われている⽅にとってORM とはもはやフレームワークのおける⽣命線のよ うにも感じると思います。その利便性を⼀度味わってしまったらなかなか他のORM
に戻れないとすら思います。 Prisma も便利なORM ではあるものの、ActiveRecord(RoR) やEloquent(Laravel) と⽐較してしまうと、「えーこれPrisma じ ゃできないの。。?」という場⾯は少なからず出てきてしまうと思います。 2. パフォーマンスぇ。。。 バージョンを増すごとにカイゼンは繰り返しているものの、複雑/ ⼤規模なDB 構造になるとどうしてもパフォーマンスの課題は 出てきがちです。 いずれのORM にも出てくる話だと思いますが、特にPrisma は規模が⼤きくなってきた場合のパフォーマンス課題が他のORM に ⽐べて⼤きくなりがちかなと思います。( 根拠ベースの話ではなく体感ベースの話です)
今後の展望( 個⼈的な予想)
今後の展望( 個⼈的な予想) まず⼈気⾯で考えると、JS/TS のORM の選択肢はPrisma 以外にもいくつかありますが、それでも今後数年で最も⼈気のある ORM ライブラリとしての地位を確⽴するだろうなと予想しています。 ここでは紹介しませんでしたが、Prisma はサーバーレスアーキテクチャにも注⼒しており、サーバーレスアーキテクチャの発展
によってさらに⾶躍する可能性も⾼いと思います。 次に、「複雑/ ⼤規模なDB に耐えうるフルスタックなモリモリORM になっていくか」という⾯で考えると、こちらは何とも⾔え ない気がしています。 バージョンを増すごとに「待ってました!」という新たなAPI は提供されるものの、Prisma が⽣成するモデルはプレーンなオブ ジェクトであるため、ActiveRecord やEloquent 等と同等の機能数を求めてしまうと物⾜りなさはずっと残り続ける気がしま す。 ただ、こちらはそもそも「複雑/ ⼤規模になってもNode.js 等のJS/TS ⼀本で頑張るのか」みたいにPrisma 単体で考える話ではな いのかもしれません。 つらつらと書いてしまいましたが、「JS/TS でバックエンドも書きたいぜ!という気持ちが強くある⽅はPrisma に挑戦して損は ない!」という⼀⾔で締めさせていただきます。
ご清聴ありがとうございました