<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>ORM 製品</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MoCo</anchor></p></section><section><h1>ORM からの脱却</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
平成21、2年くらいだったかな? 当時 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ORM</anchor> が流行の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モダン</anchor>の開発手法で、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SQL</anchor> を書くのは野蛮で危険でダサいというイメージが業界にあって、
でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DeNA</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SQL</anchor> バリバリ書いてプログラムを作ってるらしいぞ、
とちょっと話題になってた。でも当時はなぜそうしてるのか理解できなかったなあ。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ORM</anchor> を信仰していたから。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
平成20年代半ばくらいから少しずつ風向きが変わってきた。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite>ORM is an anti-pattern | Seldo.Com Blog</cite>
( (<time>2012-07-04 05:10:11 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern">http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011</cite>, <time>2023-05-23T09:54:47.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.slideshare.net/cho45/yapc-asia-2011">https://www.slideshare.net/cho45/yapc-asia-2011</anchor-external></p><p>79ページあたり</p><blockquote><p>ORM は
勝手にDBひくな</p></blockquote><blockquote><p>コストがかかることを
便利にしてはいけない</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Dongry</anchor></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite>O/Rマッパーはなぜ無駄か(SQLの方が簡単にできるはず) - Qiita</cite>
( (<time>2016-06-17 13:23:51 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://qiita.com/kantomi/items/1deb126a77928ff00dae">http://qiita.com/kantomi/items/1deb126a77928ff00dae</anchor-external></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite>Gormが本番テーブルの数億件のデータを消そうとした話 - keroxpのScrapbox</cite>, <time>2023-05-23T08:52:05.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://scrapbox.io/keroxp/Gorm%E3%81%8C%E6%9C%AC%E7%95%AA%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E6%95%B0%E5%84%84%E4%BB%B6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%B6%88%E3%81%9D%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E8%A9%B1">https://scrapbox.io/keroxp/Gorm%E3%81%8C%E6%9C%AC%E7%95%AA%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E6%95%B0%E5%84%84%E4%BB%B6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%B6%88%E3%81%9D%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E8%A9%B1</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite>exql v2をリリースしました - keroxpのScrapbox</cite>, <time>2023-05-23T09:38:48.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://scrapbox.io/keroxp/exql_v2%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F">https://scrapbox.io/keroxp/exql_v2%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> ほとんど <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SQL</anchor> 書いてるのにまだ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ORM</anchor> を称しているのはなぜなんだぜ</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
<cite xml:lang="ja">XユーザーのKohta Itoさん: 「ORMが採用されやすい雰囲気あると思うんだけど、経験的にORMってアプリ作ってると邪魔になる事の方が多くてなんでそうなるんだろうと思ってしまう。SQLでもそうだしNoSQLでもクエリ書いた方がいいと思うんだよなぁ。ORMが役にたつのって0 -&amp;gt; 1の時の1週間とかそういう時にしか感じない」 / X</cite>, <time>午前0:46 · 2024年3月30日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-03-29T15:46:21.000Z</attrvalue></time>, <time>2024-03-30T03:41:58.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://twitter.com/koh110/status/1773738476154089612">https://twitter.com/koh110/status/1773738476154089612</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
<cite xml:lang="ja">XユーザーのKohta Itoさん: 「これはNode.jsをメインに戦っているせいというのもある。ORMのオブジェクトにマッピングする層が大体同期処理で、Webサービスを作る時はDB操作がホットコードになるからパフォーマンスのネックになるケースが多くて最初に解除したくなる。Prismaはその辺のバランス感覚がよくて好き」 / X</cite>, <time>午前0:50 · 2024年3月30日<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2024-03-29T15:50:05.000Z</attrvalue></time>, <time>2024-03-30T03:41:58.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://twitter.com/koh110/status/1773739413564215424">https://twitter.com/koh110/status/1773739413564215424</anchor-external></li></ul></li></ul></section><section><h1>メモ</h1></section></body></html>