並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 88件

新着順 人気順

ormの検索結果1 - 40 件 / 88件

ormに関するエントリは88件あります。 ORMDBTypeScript などが関連タグです。 人気エントリには 『Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA』などがあります。
  • Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA

    September 15, 2021 @ iCARE Dev Meetup #25

      Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA
    • FastAPIの作者が作った「SQLModel」が革命的すぎるので、全Python使いに教えたい

      この記事はLivetoon Tech Advent Calendar 2025の11日目の記事です。 本日はCTOの私がよく使ってるSQLModelについてお話します。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。 SQLModelとは SQLModelは、 Pydantic と SQLAlchemy のいいとこ取りをしたPython ORMライブラリです。FastAPIの作者(tiangolo)が開発しており、以下の特徴があります: Pydanticの書き心地: バリデーション・型安全性をそのまま活用 SQLAlchemyの互換性:

        FastAPIの作者が作った「SQLModel」が革命的すぎるので、全Python使いに教えたい
      • 「Rails vs Node.js」を観た|laiso

        このYouTubeライブはフロントエンドの最適化を専門にするmizchiさんがCloudflare Meet-up Tokyoで行った同タイトルのプレゼンを、RustやRDBの実装に詳しいkoba789さんを話し相手に語っていくというものだ。背景としては2人ともチーム開発の現場でのRailsが活発に利用されていた時期にウェブ開発を経験し、現在はNode.jsのサーバーサイドも実践している。 ライブは3時間半という長時間におよび、スライド外の周辺情報や持論や余談など多岐に渡るので、すでにこのプレゼンに触れた人でもさらに深掘りできるようなコンテンツになっている。 全体を大まかに1時間ごとの3パートに区切って視聴するとわかりやすい。前半はRailsからNext.jsに辿り着くまでのウェブ開発の変遷。ORMの話は主に後半戦で。最後の1時間はアフタートークになっている。 内容としてはRailsアプリ

          「Rails vs Node.js」を観た|laiso
        • TypeScriptでWebサービス開発(Apollo Server/Prisma/Next.js etc...)

          最近開発しているBtoB SaaSサービスの技術スタックを、RailsからNode.jsに移行した。 これにより、フロントエンドもバックエンドも全てをTypeScriptで統一することができた。 特にNode.jsのWebバックエンドの構成について、まだまだ世の中に知見が少ない気がしているので記事にしておく。 Webバックエンド - Node.js(TypeScript) Nexus/Apollo Server (Webサーバー) GraphQLサーバーとして、Apollo ServerのコードファーストなアプローチでのラッパーであるNexusを使っている。 Railsからの移行を決断できたのも、Apollo ServerとPrismaにより、外部との通信が型付きで、かつ開発体験よく書けるようになたから、というのが大きくある。 数年前の段階だと、素のexpressを使ってWebサーバーを立

            TypeScriptでWebサービス開発(Apollo Server/Prisma/Next.js etc...)
          • オブジェクト指向は業務システムで本当に不要なのか? - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 主旨 以前はシステムの状態をオブジェクト指向でカプセル化し、オブジェクト同士の通信でシステムの制御をしようとしていた しかし、Webアプリケーションのように状態をメモリ上に保持し続けるのが難しい環境が増えると、上記のことがやりにくくなった(ORMのインピーダンスミスマッチの影響が大きくなった) 現在では、システム全体の状態を管理するためにオブジェクト指向を用いるシーンは減っているが、要所要所でシステムを抽象化する道具の一つとして用いるシーンはあり、適材適所で使い続ければ良い はじめに 一時期あれだけもてはやされた「オブジェクト指向」です

              オブジェクト指向は業務システムで本当に不要なのか? - Qiita
            • GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri

              JSConf JP 2021 で登壇した資料です #jsconfjp #jsconfjp_b Links: [Active Recordから考える次の10年を見据えた技術選定](https://speakerdeck.com/yasaichi/architecture-decision-for-…

                GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri
              • 生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」

                生SQLを扱う $queryRaw TypeScript向けのORMライブラリとしてPrismaがあります。Prismaは直感的で型安全なAPIを提供し、TypeScript向けのORMとしては第一に名前が上がることが多いライブラリです。 しかしそんな人気なPrismaでも、裏側では少しクセのあるSQLが発行されていたり、欲しいSQLがPrismaのAPIでは実現できない場合があります。 そういった場合のために $queryRaw というメソッドが用意されており、これを使うことで生SQLを書いてその結果を受け取ることができました。他のORMにもよくある機能です。 例えば以下のように実装することができます。 const users = await prisma.$queryRaw` SELECT id, name FROM "Users" WHERE id = ${userID} `; co

                  生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」
                • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

                  ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangのORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

                    Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
                  • AI時代にORMなんて必要なんですかね?

                    新規で構築するシステムの設計を考えていて、 「今の時代にORMなんているんか???」 という思いに至ったので、これを書いてます。 ORMなしでAIにDBアクセスコードを生成する AIでコードを生成する前提として、 AIは生SQLを書くのが得意 オブジェクトマッピングみたいなボイラープレートをAIに生成させるコストは極小(人間が手で書くとめちゃくちゃ時間がかかる) という点が挙げられます。 そのため、AIを使う前提であれば、ORMなしで以下の作業を行っても、必要なコスト(特に時間)は極小です。 ドメイン要件を伝えてSQLを生成させる オブジェクトマッピング処理(いわゆるDAO)を生成させる 単体テストコードを生成させる というか、ドメインロジックを書いていく過程で上記のようなDBアクセスコードを、都度必要となった分だけ生成させていくのであれば、この部分の生成に時間がかかってると認識することは

                      AI時代にORMなんて必要なんですかね?
                    • Prisma ORMを2年運用して培ったノウハウを共有する

                      TSKaigi 2024 ref: https://tskaigi.org/talks/tockn

                        Prisma ORMを2年運用して培ったノウハウを共有する
                      • Apollo ServerとPrismaではじめるGraphQL API開発入門

                        この本では、TypeScriptで型安全にGraphQLサーバーを構築する方法をハンズオン形式で学習することができます。 Todoアプリの開発を通して、GraphQLスキーマの扱いやCLIツールの設定方法、TypeScriptのORMであるPrismaの基本的な使用方法、CI/CDパイプラインの構築によるマイグレーションの自動化などを体験します。 GraphQLサーバー実装の素振りをしておきたい方や、フロントエンドからGraphQL APIを使用したことはあるけど自分でAPIを実装したことはないようなバックエンドの開発初心者の方に向けた内容となっております。

                          Apollo ServerとPrismaではじめるGraphQL API開発入門
                        • たった1行のSELECT文でシステムを停止しかけた話 - Qiita

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 「SELECT文なんて読み取りだけだし、大した影響ないでしょ」 そう思っていた時期が私にもありました。 今回は、Django Adminで作成した機能によって、本番システムを停止しかけた経験を共有します。 環境 モノリス構成(Web、DB、Appが全て1つのVM上で稼働) MariaDB 10.x系 Django + Django Admin 何が起きたのか ある日、本番環境のディスク使用率が急激に上昇していることに気づきました。みるみる増加するディスク容量に心臓が止まりだったことを今でも鮮明に覚えています。 調査してみると、

                            たった1行のSELECT文でシステムを停止しかけた話 - Qiita
                          • ORM と向き合う

                            PyCon JP 2024 ※ 資料中で絵文字を使用したら SpeakerDeck アップロード時になんか変なことになってしまいましたが気にしないでください

                              ORM と向き合う
                            • SQLに対するバックエンドのアプローチ比較、そしてSafeQLの紹介

                              はじめに こんにちは。calloc134 です。 バックエンド開発において、DB にデータを保存することはよくあることです。 DB と接続してデータのやり取りを行う必要がありますが、皆さんはどのようにしてデータを取得していますか? ORM やクエリビルダを利用したり、逆に SQL を記述してコード生成を行ったりと、様々な方法があります。 今回はこれらのアプローチについて比較し、比較的斬新な方針を取っているものとして SafeQL を紹介します。 注意点 ここでは、TypeScript のバックエンド開発と、そこで利用されるライブラリを前提として話を進めます。 Go や Python など他の言語での利用方法については、別途調査が必要です。 SQL に対するアプローチ まず、SQL に対するアプローチには大きく分けて 2 つの方法があります。 それぞれのライブラリの使い方を、簡単に見ていきま

                                SQLに対するバックエンドのアプローチ比較、そしてSafeQLの紹介
                              • SQLファイルから型安全なコードを生成するsqlc | フューチャー技術ブログ

                                TIGの辻です。GoのORマッパー連載8日目です。本記事では sqlc を紹介します。早速ですが、結論から行きましょう。 sqlc まとめ SQLファイルからデータベースにアクセスできる型安全なGoのコードを生成するライブラリ 構造体のモデルの手書き実装不要 複数テーブルをJOINしたときのマッパー実装不要 生成されるコードは不要なリフレクションなし SQLをがんがん書きたい、でも面倒なマッパー構造体は書きたくない、という開発者にとっては大きな味方になります。 sqlc の紹介 sqlc はSQLファイルからGoのアプリケーションコードを生成するライブラリです。2020/2に v1.0.0 をリリースし、着々とスターを伸ばしています。2021/08現在は v1.8.0 をリリースしています。本資料で生成しているコードも v1.8.0 を用いています。 https://star-histor

                                  SQLファイルから型安全なコードを生成するsqlc | フューチャー技術ブログ
                                • Go の入力バリデーションパッケージ ozzo-validation を試した。

                                  はじめに Go のウェブアプリで使う入力バリデーションに関して、ozzo-validation を検討した。 これまでのバリデーション 普段、仕事では labstack/echo という Go のウェブフレームワークを使う事が多いのだけど、バリデーションに関しては labstack/echo のサンプルに合わせて go-playground/validator を使ってきた。 go-playground/validator は機能も豊富で(一応)痒い所に手は届くのだけど、struct にタグを付けて判定させないといけない。これが実に煩わしい。以前 labstack/echo を使ったサンプルを書いたので、それを見て欲しい。 // Comment is a struct to hold unit of request and response. type Comment struct { I

                                    Go の入力バリデーションパッケージ ozzo-validation を試した。
                                  • Go の ORM はどのようにして AUTO INCREMENT で採番された値を取得しているのか? - MySQL 編 - カミナシ エンジニアブログ

                                    こんにちは。カミナシで「カミナシレポート」の開発を担当しているソフトウェアエンジニアの佐藤です。 カミナシレポートのバックエンドは Go で開発しており、データベースには Amazon Aurora MySQL を使用しています。また、データベースアクセスには ORM ライブラリの GORM を採用しています。 ほとんどのテーブルでは、プライマリキー(ID列)に AUTO INCREMENT を利用しています。これらのテーブルに GORM の Create メソッドなどを使って新しいレコードを挿入すると、AUTO INCREMENT で採番された値が自動的に対応する Struct のフィールドに反映されます。 AUTO INCREMENT による値の採番は MySQL 側で実行されているため、Go 側の Struct のフィールドに反映させるためには、Go アプリケーション側が何らかの方法

                                      Go の ORM はどのようにして AUTO INCREMENT で採番された値を取得しているのか? - MySQL 編 - カミナシ エンジニアブログ
                                    • Cloudflare Workers を活かしきるスタックを考えた(remix+d1 on pages-functions) + 残タスク

                                      Cloudflare Workers を活かしきるスタックを考えた(remix+d1 on pages-functions) + 残タスク このスクラップ で試行錯誤していたまとめ。 最終形はここにアップロードした。 docs の下に、このリポジトリを生成した手順、セットアップ方法、リリース方法を書いてある。 (remix-validated-form や vitest のテストの追加でもうちょっといじるとは思う) なぜ cloudflare-workers + d1 のポテンシャルは最強で、近い未来、開発者|個人開発者の銀の弾丸になると思っているのだが、それを活かす開発スタックが知られていない(要出典)。この記事では GW の間に自分で周辺ライブラリを使い倒しながら選定していった。 2021年 は Fullstack Next.js 元年なので、有望な Next.js 系フレームワークを

                                        Cloudflare Workers を活かしきるスタックを考えた(remix+d1 on pages-functions) + 残タスク
                                      • 業務システム開発でsqlcを導入して良かった点とハマった点 | フューチャー技術ブログ

                                        はじめにTechnogoly Innovation Group 辻です。Go には Gorm や SQLBoiler をはじめとして様々な O/Rマッパ があります。2021 年には当社のブログで OR マッパーの連載を行ったこともありました。絶対的な O/Rマッパ があるわけではなく、業務システムの特性やチーム構成などに合わせて O/Rマッパ を選択することになるでしょう。 今回、私たちのチームでは、バッチ処理が中心的な業務システム開発において Go の O/Rマッパ に sqlc を採用しました。素の SQL を書いていくチームの開発方針1とマッチし、開発体験は非常に良かったです。一方、枯れきってはいない O/Rマッパ ではあります。いくつか想定外の挙動が発生し GitHub の Issue を見ながら問題を切り分けることもありました。 これから sqlc を導入してみようかな、と考え

                                          業務システム開発でsqlcを導入して良かった点とハマった点 | フューチャー技術ブログ
                                        • 【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい

                                          【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい by nao · 2022年6月25日 前書き:sqlcとは 本記事は、kyleconroy/sqlcの基本的な情報を紹介します。 sqlcは、DBスキーマ(DBテーブル定義)、SQLクエリ定義、設定ファイルの3点をインプットとして、型安全なCRUDコード + DBテーブルに対応したモデル(構造体)を自動生成します。ここでのモデルの自動生成には、複数テーブルをJOINしたクエリ用の構造体も含まれます。 個人的な視点では、sqlcは「SQLクエリを検証してから、そのクエリを実行するGolangコードを書いて、クエリ結果を受け取るための構造体を書くのが大変」という課題を解決するツールです。独自のDSL(Domain Specific Language)は殆ど登場しないので、SQLをゴリゴリ書ける

                                            【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい
                                          • 現状Cloudflare WorkersでGraphQLサーバを構築するならコレ

                                            結論 Cloudflare WorkersでGraphQLサーバを立てて普通に動く TCPでのデータベース接続も問題ない(ベータなので使ってると何かあるかもしれないが) Node.js互換は完全ではないので、Node.jsが必要な処理はオリジンサーバを用意するのが吉 動機 Cloudflare WorkersはCDN上のプロキシやRemixやNext.jsのレンダリング用のバックエンドとして使うというようなことが多いです。フロントエンドからデータ取得や更新するためのAPIとなると別のバックエンドサーバを立てて、構築するのがほとんどだと思います。 自身も漏れなくそのパターンでNode.jsでバックエンドサーバを立てることが多いですが、そうなると簡単に建てれるCloud Runを初手で選ぶのですが、Cloud Run自体は素晴らしいサービスなんですが、更に欲が出てくるのが人間です。 デプロイを

                                              現状Cloudflare WorkersでGraphQLサーバを構築するならコレ
                                            • 0=>1フェーズの技術的負債を解消する第一歩@バックエンド編 - カミナシ エンジニアブログ

                                              こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 我々のサービス『カミナシ』をローンチしてから、今年の夏で丸2年を迎えます。 私は『カミナシ』のプロダクト開発初期メンバーの1人でした。当時会社の残りランウェイ(残資金で運営できる期間)が極端に短いという厳しい時間的制約のなかで高速にプロダクトを作り上げたことを誇りに思う一方、その代償としての技術的負債は今も解消しきれずに残っています。 継続的に寄せられるお客様からの機能開発要望や、ユーザー数が増えた結果発生しはじめた不具合への対処に時間をとられ、それら技術的負債の根本的な解消には、これまで会社として注力することができていませんでした。今年に入ってから既存ユーザーにも影響が出てしまうような問題の発生が徐々に目立ちはじめています。 この状況をカイゼンすべく、私たちはバックエンドの技術的負債を解消する第一歩を踏み出しました。

                                                0=>1フェーズの技術的負債を解消する第一歩@バックエンド編 - カミナシ エンジニアブログ
                                              • Announcing TypedSQL: Make your raw SQL queries type-safe with Prisma ORM

                                                  Announcing TypedSQL: Make your raw SQL queries type-safe with Prisma ORM
                                                • 100%型安全なgolangORM「ent」を使ってみた | フューチャー技術ブログ

                                                  はじめにgolang ORM連載の2記事目となります。TIGの宮崎将太です。 突然ですがみなさん、O/Rマッパは何を使用していますか? golangだとGORMがデファクトスタンダードの位置を勝ち取りつつあり、当社でも特に理由がない限りはGORMを使用するケースが多い印象です。 今回は新たな可能性としてFacebook社謹製のent/entを検証します。個人的なO/Rマッパ経験としてはRuby on RailsのActiveRecordから始まり、当社謹製のUroboroSQLというO/RマッパからGORMまで割と多めに触れているので、大体どのO/Rマッパでも気になる機能を中心に作りながら検証します。 entとは 公式から引用してくると以下の通りとのこと。 データベーススキーマをグラフ構造として簡単にモデル化 スキーマをプログラムのGoコードとして定義 コード生成に基づく静的型付け データ

                                                    100%型安全なgolangORM「ent」を使ってみた | フューチャー技術ブログ
                                                  • Cloudflare D1 で ORM を使う (drizzle-orm)

                                                    tl;dr 生産性を上げる & SQL インジェクションを防ぐために ORM を使うのがよいとされている(諸説あります) cloudflare workers + d1 はウェブの破壊的イノベーション(諸説あります) モダンフロントエンドで大切なのは TypeScript との親和性と言われている(諸説減ってきた) 本当は理想の ORM を自作したいのけど、drizzle が現状一番自分のゴールに近いので、試したら良さそうだった 既存の問題と drizzle-orm 今までのあらすじ というわけで d1 に全振りするのが今後の生存戦略として有効だと思っているんですが、d1 client は専用のAPIからクエリ文字列を送り込む形式なので、native driver を使ってる prisma や typeorm 等が使えません。 自分が Mongodb + たまに Rails ActiveR

                                                      Cloudflare D1 で ORM を使う (drizzle-orm)
                                                    • Prisma TypedSQL をクエリビルダとしてのみ運用する

                                                      タイトルのこともできることを検証した。(ORM で文句ない人は ORM として使えばいい) Prisma は TypeScript の優秀な ORM / QueryBuilder だが、Prisma 以外で運用されていると途中から投入するのが(一応可能ではあるが)面倒だったりする。 だが Typed SQL によって、既に存在するDBに対して、副作用なくクエリビルダとしてのみ導入することができるのでは、と思いついて試したところ、できた。 今回はリモートの Supabase の PostgreSQL に対して行ったが、たぶん他の環境にも使える。 d1 とか。 prisma の最小プロジェクトのセットアップ $ mkdir prisma-qb-only $ cd prisma-qb-only ## 初期化 $ pnpm init $ pnpm add prisma @prisma/client

                                                        Prisma TypedSQL をクエリビルダとしてのみ運用する
                                                      • PrismaPromise とは何か

                                                        はじめに Node.js の TypeScript-friendly な ORM である Prisma についての記事です。Prisma では PrismaPromise 型の値がよく使われており、それについて調べたことと、その設計が素晴らしい点をまとめています。 クエリの実行タイミング 次のような User モデルが定義されているとき、

                                                          PrismaPromise とは何か
                                                        • 「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース

                                                          「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース 静的サイトジェネレータAstro用のデータベースサービス「Astro DB」が登場しました。 簡単にAstroに組み込むことが可能で、Astroのバックエンドデータベースとして、例えばフォームやコメントのデータの入出力、ユーザー認証などに利用可能です。 Introducing: Astro DB Add a hosted database to any Astro project in seconds. Includes a TypeScript ORM, schema manager, and automatic migrations out-of-the-box. Try it today! Every database comes with a generou

                                                            「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース
                                                          • PostgreSQL と ORM と Logging と

                                                            少し前に PostgreSQL サービスに Go でアクセスする方法についてちょっとした調べものをした。そのときの作業メモをブログ記事として残そうと思ったのだが,単ページで収まりそうになかったので Zenn 本の体裁で書き記しておく。体裁は「本」だが,中身はただの作業記録である。ちゃんとした解説をご所望の方にはあしからずご了承のほどを。 講釈はいいから動くコードをくれ! という方には多少なりと参考になるかもしれない。

                                                              PostgreSQL と ORM と Logging と
                                                            • Prisma ORMを使いこなす ~歴史と対RDB運用の知見を添えて~

                                                              CloudbaseはPostgreSQLのORMとしてPrismaを使用しています CloudbaseはAWS, Azure, Google Cloud等のパブリッククラウドを対象にしたセキュリティリスクの検出・管理SaaSです。 個人情報の入ったS3バケットを公開してしまうなどの設定ミスや、近年騒がれたLog4Shellなどの脆弱性をエージェントを使用せず検出し、その修正をサポートするプロダクトです。 CloudbaseではAPIサーバとしてNode.js、DBとしてPostgreSQLを使用し、そのORMとしてPrismaを使用しています。本記事では入門を超えて本番環境でPrismaを使いこなすために必要な知識、弊社がPrismaを運用する中で得た知見を共有していきます。 対象読者 PrismaをRDBのORMとして使っている人 雰囲気でPrismaを使っている人 これからPrisma

                                                                Prisma ORMを使いこなす ~歴史と対RDB運用の知見を添えて~
                                                              • GoのORマッパー連載を始めます | フューチャー技術ブログ

                                                                (2021.09.18追記)おまけとして、筒井さんがさらに寄稿してくれました。 lib/pq から jackc/pgx への移行 O/RマッパとクエリビルダーO/Rマッパは Object Relational Mapperの略で、通常はGoの構造体とRDBのレコードを紐付ける処理のことを指します。O/Rマッパーと呼ぶことが多いですが、略してORMとも呼びます。名前から見るとSQL検索結果を構造体にマッピングすること(Goだとsqlx相当の処理)かなと思いますが、実際はSQLを組み立てるDSLを提供するライブラリが多いです。 クエリビルダーは、広い意味のO/Rマッパ機能のうち、SQLクエリを組み立てるライブラリのことです。調べると goquとかがまさにそれにあたります。 細かくはgoquを連載テーマにした伊藤真彦さんに譲るとして、簡単ではありますがここでサンプルコードも出しちゃいます。 ds

                                                                  GoのORマッパー連載を始めます | フューチャー技術ブログ
                                                                • GitHub - eveningkid/denodb: MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno

                                                                  import { DataTypes, Database, Model, PostgresConnector } from 'https://deno.land/x/denodb/mod.ts'; const connection = new PostgresConnector({ host: '...', username: 'user', password: 'password', database: 'airlines', }); const db = new Database(connection); class Flight extends Model { static table = 'flights'; static timestamps = true; static fields = { id: { primaryKey: true, autoIncrement: true

                                                                    GitHub - eveningkid/denodb: MySQL, SQLite, MariaDB, PostgreSQL and MongoDB ORM for Deno
                                                                  • GW は ORM を作るぞと思っていたがまずフルスタック環境を仕上げたい

                                                                    sqlite 用に特化したORMを作りたい 何を作るか 主に sqlite 用のクエリビルダ + マイグレーションキット クエリビルダ部分は prisma 風の TypeScript の型推論をガンガン効かせたやつ。select するとそのフィールドだけ結果に出るやつ。 Why 最近 sqlite-wasm が sqlite 公式から出たので、ブラウザから sqlite を使う頻度も増えそう sqlite3 WebAssembly & JavaScript Documentation Index d1 や lite stream 等の各種の sqlite replication 系のDB が最近増えてるから sqlite の注目度が上がってる(俺の中で) 現状、cloudflare d1 も sqlite-wasm も sql を生で書かないといけない TypeScript になれた世代の

                                                                      GW は ORM を作るぞと思っていたがまずフルスタック環境を仕上げたい
                                                                    • tokioから発表された新しいORM「toasty」を触ってみる - Don't Repeat Yourself

                                                                      toastyは先日tokioから発表されたORMです。 tokio.rs このORMは現状開発段階のもので、まだ実用に耐えうる段階にはないとGitHubには書かれています。というか、crates.ioにはダミー用関数が用意されているだけで、プロジェクトの依存に追加したとしてもまだ何もできません。現時点で対応しているのはsqliteとDynamoDBのようで、他のデータベースないしはCassandraなどには今後対応予定とのことです。async対応しています。また、SQLとNoSQL対応しているとなると、両者を抽象してくれるなにかかと思われるかもしれませんが、両者に対する操作を抽象してくれるわけではありません。 toastyの特徴 特徴としては、toastyというファイルにスキーマ定義を書き、toasty cliを実行すると、専用のRustコードが生成されるという点でしょうか。そして、生成さ

                                                                        tokioから発表された新しいORM「toasty」を触ってみる - Don't Repeat Yourself
                                                                      • Software Design の特集に寄稿しました - LIVESENSE ENGINEER BLOG

                                                                        きっかけ 書く内容を決めるまでの流れ 社内Slackにおけるブレスト 技術評論社の方との打ち合わせ 執筆担当者内での社内打ち合わせ 苦労・工夫したところ テーマから実際の記事の内容を決めること 記事内で取り上げる例を作ること 出版社の方に技術的こだわりを伝えながらの校正 最後に この度、2022年11月18日発売『Software Design 2022年12月号』の特集「なにかと使えるSQL 基本操作から実務に役立つテクニックまで」の3章に、リブセンスのエンジニアメンバーで寄稿させていただきました。 gihyo.jp 本ブログでは、執筆者の @verdy_266 @mnmandahalf @ayumu838 の3名が寄稿に至った経緯や苦労した点を記録しておこうと思います。 きっかけ 以前弊社が『Software Design 2017年11月号』掲載の記事「データ分析に効く SQL50本

                                                                          Software Design の特集に寄稿しました - LIVESENSE ENGINEER BLOG
                                                                        • 最強のクエリビルダ「kysely」の紹介 ~薄いORMを探して~

                                                                          はじめに こんにちは、畑田です。 最近、RDBを使用しているプロダクトをリプレイスする機会がありました。 このプロジェクトの目標は今現在の使用や実装方針をできるだけそのままに、インフラと技術だけをリプレイスするというものでした。 もちろん、インフラや技術を刷新するということはその上に乗るアプリケーションの実装にも必ず影響を及ぼします。その中で出来るだけ現状の仕様に寄せる試みを行いました。 元のプロジェクトはPHPで書かれており、DBのへの通信においても、文字列とsprintfなどを使用し、生のSQLを書いてpg_queryで実行していました。 私はこれを再現する最も安全な方法を探しました。 Prismaなどを用いたactive record形式のORMを使用するより、SQLに近い書き味のクエリビルダーを求めてkyselyに辿り着きました。 あまり情報が第三者からの情報が出てきていないように

                                                                            最強のクエリビルダ「kysely」の紹介 ~薄いORMを探して~
                                                                          • #yapcjapan YAPC::Kyoto 2023に行ってきた・喋ってきた - その手の平は尻もつかめるさ

                                                                            yapcjapan.org 2023年3月19日に開催されたYAPC::Kyoto 2023に参加してきました。もう2週間も前の話になるんですね......USに戻ってきてから色々あり、すっかりブログを書くのが遅くなってしまいました。 YAPC::Kyotoの様々な感想については「にゃんこ酒場.fm」で id:papix、id:karupanerura さんら運営の方々と喋ったPodcastが公開されているので是非お聴きくださいませ! nyanco-sakaba-fm.hatenablog.com 面白かったトーク ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス id:tarao さんの発表。Fireworqが発表されたあたりって、スケーラビリティが高くなおかつ複数の言語から良い感じで使えるジョブキューのプロダクトについて「何使えば良いんだろうねえ」っ

                                                                              #yapcjapan YAPC::Kyoto 2023に行ってきた・喋ってきた - その手の平は尻もつかめるさ
                                                                            • Vercel PostgresがどうやってEdge RuntimeでORMとコネクションプールを使えるようにしているのか

                                                                              TLTR 実行時にNeon serverless driver(@neondatabase/serverlessモジュール)がnode-postgres(pgモジュール)内のSocketクラスをWebSocket実装に置き換える WebSocket接続を受けたneon.techサーバーがTCP接続に変換してPgBouncerに接続し応答する Neon serverless driverの解説記事が以下にあります。 Edge RuntimeでNode.jsのSocket APIがサポートされていない問題 Node.jsのORMライブラリはPostgreSQLへの接続にnode-postgresからSocket APIを呼び出しますが、Edge Runtimeは互換性の問題からそのままでは動作しません。 これに対して、各マネージドDBのプロバイダーは専用ライブラリを提供してHTTP経由でDBに

                                                                                Vercel PostgresがどうやってEdge RuntimeでORMとコネクションプールを使えるようにしているのか
                                                                              • 数年来の技術的負債を改修した話 - 2種類のORM並列状態からの脱却 -

                                                                                この記事は毎週必ず記事がでるテックブログ Loglass Tech Blog Sprint の23週目の記事です! 1年間連続達成まで 残り 30 週 となりました! はじめに 勝丸と言います。ログラスのエンジニアが毎週記事を発信するLoglass Tech Blog Sprint 2周目に突入しました。前回は「心穏やかにDBバージョンアップ!ロジカルレプリケーションで安全にバージョンを切り戻せるようにした話」という記事を書きました。こちらもよろしくお願いします。普段はログラスの横串組織で活動しています。 この記事では「数年来の技術的負債を改修した話 - 2種類のORM並列状態からの脱却 -」というタイトルで、年末から年始にかけてやっていた作業について共有します。 この記事で得られること リファクタリングのやり方や考え方 リリースへの持っていき方 投資判断のタイミングや負債解消について 経

                                                                                  数年来の技術的負債を改修した話 - 2種類のORM並列状態からの脱却 -
                                                                                • Is Prisma ORM an ORM? | What is an ORM? | Prisma Documentation

                                                                                  To answer the question briefly: Yes, Prisma ORM is a new kind of ORM that fundamentally differs from traditional ORMs and doesn't suffer from many of the problems commonly associated with these. Traditional ORMs provide an object-oriented way for working with relational databases by mapping tables to model classes in your programming language. This approach leads to many problems that are caused b

                                                                                    Is Prisma ORM an ORM? | What is an ORM? | Prisma Documentation

                                                                                  新着記事