ブックマーク / zenn.dev/randd_inc (2)

  • 最強のクエリビルダ「kysely」の紹介 ~薄いORMを探して~

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

    最強のクエリビルダ「kysely」の紹介 ~薄いORMを探して~
    yug1224
    yug1224 2024/08/27
  • Zodでスキーマオブジェクトを使い回す方法

    こんにちは。中塚です。 はじめに Zodは、TypeScriptのためのスキーマ宣言と検証のライブラリで、オブジェクトのバリデーションを簡単に行うことができます。この記事では、Zodを使用してスキーマオブジェクトを効率的に使い回す方法について説明します。今回は、動物園をテーマに例を作成し、動物データのスキーマを入力フォームとAPIで再利用する方法をご紹介いたします。 Zodの基 まずは、基的なZodの使い方をおさらいいたします。以下のコードでは、AnimalSchemaを定義しています。 import { z } from "zod"; const AnimalSchema = z.object({ id: z.string(), name: z.string(), species: z.string(), age: z.number().nullable(), habitat: z.

    Zodでスキーマオブジェクトを使い回す方法
    yug1224
    yug1224 2024/06/29
  • 1