並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 130件

新着順 人気順

バリデーションの検索結果1 - 40 件 / 130件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

バリデーションに関するエントリは130件あります。 TypeScriptvalidationarticle などが関連タグです。 人気エントリには 『2024年版 HTMLで作るフォームバリデーション - ICS MEDIA』などがあります。
  • 2024年版 HTMLで作るフォームバリデーション - ICS MEDIA

    すべてのフォームが要件を満たしている場合のみ、送信できます。 フォームバリデーションのデザイン 上記の例では最低限のHTMLのみ実装されています。しかし、実際のサイトではバリデーションエラーをユーザーにフィードバックする必要があります。よりユーザビリティの高いフォームでは、以下の点を検討する必要があります。 エラー時のスタイル エラーメッセージの出し方 バリデーションエラーの表示タイミング 以下では、それぞれについて深堀りします。 エラー時のスタイル エラーを検知する方法として、CSSには:valid疑似クラスと:invalid疑似クラスがあります。これらの疑似クラスは『CSS疑似クラスを活用した、モダンでインタラクティブなフォームの作り方』でも紹介されている、バリデーションエラーが起きている要素にのみ適用されるクラスです。 しかし、この疑似クラスには欠点があります。required属性を

      2024年版 HTMLで作るフォームバリデーション - ICS MEDIA
    • TypeScriptの型と値とバリデーション

      TypeScript は本質的に自分に型が付与されていると思っているだけの JavaScript です。 いくら型を付与しようが、それが実行時に影響を与えることはありません。 コードレビューをしているとここを誤解している人が本当に多いです。何度も解説しているのですが、なかなか浸透しないので、TypeScript におけるバリデーションという視点で記事を書くことにしました。 あと TS でバリデータ使って色々作ろうとしている友人と、プログラミング始めたてで zod と openapi を使っいる友人がいたので、彼らが想定読者です。 型と値の名前空間 TypeScript 上での名前空間(スコープ)は2つに分類できます。 値: 実行時にランタイム上のメモリに存在するもの 型: 静的解析時にのみ参照可能なもの。コンパイル時に完全に消滅する。 TypeScript は基本的に JavaScript

        TypeScriptの型と値とバリデーション
      • 翻訳: Parse, don’t validate (バリデーションせずパースせよ)

        これまで、型駆動設計を実践することが何を意味するのか、簡潔でシンプルな説明を見つけるのに苦労してきました。誰かに「どうやってこのアプローチを思いついたのですか?」と尋ねられることが多いのですが、満足のいく答えを出せないことがよくあります。そのアイデアが突然のひらめきで浮かんだわけではなく、正しいアプローチを空から引っ張り出す必要がない、反復的な設計プロセスがあると分かってはいるのですが、そのプロセスを他の人にうまく伝えることができていませんでした。 しかし、およそ1ヶ月前、JSON を静的型付け言語で、そして動的型付け言語にパースしたときに経験した違いについてTwitter上で振り返っていた時、ついに私が探していたものを見つけました。そして、そのスローガンはたった3つの英単語で表せます。 Parse, don’t validate (バリデーションせずパースせよ) 型駆動設計のエッセンス

          翻訳: Parse, don’t validate (バリデーションせずパースせよ)
        • 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 を試した。
          • react-hook-form と zod でバリデーションのその先へ

            どうも、 uzimaru です。 最近、react-hook-form と zod を使っていい感じにやっているのでそれについてまとめようと思います。 react-hook-form で zod を使う 公式から利用する方法が提供されています。 https://www.npmjs.com/package/@hookform/resolvers これを useForm の resolver で利用することで zod が使えるようになります。 zod 以外にも Yup, Superstruct, Joi, io-ts などが利用できます import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import * as z from "zod"; const

              react-hook-form と zod でバリデーションのその先へ
            • ReactとZodで作る堅牢なフォームバリデーション - ICS MEDIA

              前回の記事『2024年版 HTMLで作るフォームバリデーション』ではHTMLの機能を駆使したフォームバリデーションの実装について解説しました。HTMLのみでも高機能なフォームを作成できるのは解説したとおりですが、HTMLに加えてJavaScriptを組み合わせることでより高機能なフォームを作成できます。それに加えて、開発者体験の向上も期待できます。 本記事では3つのライブラリを使用して実践的なフォームを作成する方法を解説します。 UIライブラリ「React」 フォーム向けライブラリ「React Hook Form」 型システムと相性の良いスキーマバリデーションライブラリ「Zod」 また、静的型付け言語であるTypeScriptもこれらのライブラリと同時に使用し、堅牢なフォームの実装を目指します。 本記事を読むことで以下の知識が身につきます。 フォーム画面のユーザー体験(UX)と、フォーム実

                ReactとZodで作る堅牢なフォームバリデーション - ICS MEDIA
              • フロントエンドとバックエンドの一貫したバリデーションで開発プロセスに調和と効率化をもたらす - Sansan Tech Blog

                技術本部 Digitization部の湯村です。 新規アプリケーション開発で採用したバリデーションロジックの管理方法を紹介します。 1. はじめに 2023年末に以下の技術スタックでデータ化アプリケーションの開発をしました。 フロントエンド: TypeScript + Next.js バックエンド: TypeScript + Express Next.js では App Router を採用しましたが、Server Components、Route Handler は利用せず、ブラウザから Express の API を呼び出す構成にしました。 SPA + API で開発する際の課題 この構成で開発をする際の課題の1つにフロントエンドとバックエンドでのコードの重複があります。 特にバリデーションのロジックの管理方法は頭を悩ませた方も多いはずです。 バリデーションに対するアプローチ バリデー

                  フロントエンドとバックエンドの一貫したバリデーションで開発プロセスに調和と効率化をもたらす - Sansan Tech Blog
                • TypeScriptの型定義からバリデーションコードを生成するツールを書いた

                  create-validator-tsというTypeScriptの型定義からJSON Schemaを使ったバリデーションコードを生成するツールを書きました。 モチベーション expressなどでAPIを書くときに、Request/Responseが意図したものかどうかをバリデーションする必要があります。 特にreq.queryなどはStringが入ると予想しますが、オブジェクトが入ってくることもあります。 これは、expressの内部で使っているqsというURLクエリのパーサが、オブジェクトや配列へ展開する機能を持っているためです。 expressを使ってるサイトは ?q=text があるときに req.query.q には オブジェクトが入る可能性をちゃんと考慮しないといけない。 ?q[a]=text で req.query.q ; // { a: "text" } になる — azu

                    TypeScriptの型定義からバリデーションコードを生成するツールを書いた
                  • Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ

                    こんにちは、バックエンドエンジニアの日下です。 CSV から JSON へ変換するスクリプトを、TypeScript で実装する機会がありました。 今回は、CSV のデータのバリデーションに Zod を使った話をします。 スクリプトの目的 システム間のデータ連携が目的です。 連携元のシステムから CSV 出力されたデータを、連携先のシステムで利用する JSON へ変換します。 また、JSON への変換以外にも以下の要件があります。 CSV のデータをバリデーションする 連携先のシステムで利用できるデータであることを保証するために、バリデーションを実行します。 バリデーション失敗時に、日本語のエラーメッセージを表示する スクリプトの実行は業務担当のエンドユーザーが行うため、日本語のエラーメッセージを表示します。 CSV の読み込み 元データとなる CSV の読み込みは、csv-parse を

                      Zod を使って CSV からの入力データをバリデーションする - ドワンゴ教育サービス開発者ブログ
                    • クライアントサイドのバリデーションエラーのデータ型についての考察 - STORES Product Blog

                      業務委託で STORES の開発をしている @inouetakuya です。 先日 STORES のフロントエンドチーム内でクライアントサイドのバリデーションについて見直す機会があり、特にバリデーションエラーのデータ型をどうするかについての議論が興味深かったので、共有させていただきます。 背景 議論の背景について簡単に触れておくと、STORES のクライアントサイドでは、バリデーションのライブラリとしてこれまで joi-browser を使ってきました。 しかしながら、本家の Node.js 版の joi がブラウザ対応したことにより joi-browser が deprecated になったことを受けて、今後も joi を使い続けるかを検討したところ、 joi-browser と joi の最新バージョンとの間で API の差異がいくつかあり、joi-browser から joi への乗

                        クライアントサイドのバリデーションエラーのデータ型についての考察 - STORES Product Blog
                      • Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) - Attsun blog

                        Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) ウェブAPIの作成など、外部からやってくるデータを安全に捌く上で、スキーマ定義とバリデーションは非常に重要です。 また、特にPythonのような動的型付け言語において、内部でもレイヤをまたぐ場合はきちんと定義されたデータモデルを利用することで、知らない間にデータモデルが変わっていた、というようなケースを防ぐことができます。 Pythonには標準でスキーマバリデーションライブラリがないため3rdパーティのものを使うことになりますが、様々なライブラリがあるので比較してみました。 比較対象のライブラリ概要※Pythonバージョンは3.9.0を利用します。 lib                    versionGithub Star (2020/1/5)memo

                        • Next.jsのsearchParamsはas stringせずに必ずバリデーションしてくれ。またはvalibotのちょいテクニック

                          Next.jsのsearchParamsの型問題 Next.jsのsearchParamsの型は少々厄介です。searchParamsのドキュメントでは次のように型定義が記載されています。 export default async function Page({ searchParams, }: { searchParams: Promise<{ [key: string]: string | string[] | undefined }>; }) { const filters = (await searchParams).filters; } 各パラメーターの型がstring | string[] | undefinedとなっていますね。これを使うときに型チェックが面倒になってsearchParams.filters as stringと書いてしまっているのをよく見ます。string[

                            Next.jsのsearchParamsはas stringせずに必ずバリデーションしてくれ。またはvalibotのちょいテクニック
                          • テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション) - Qiita

                            テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション)FirebaseJestFirestoreCloudFirestoreTypeScirpt 今までセキュリティルールをあまり書かずセキュリティ的にアレなものを量産していたので、 その反省からFirestoreのセキュリティルールについて学んだことを記します。 2020/12/01 追記 この記事は、以下バージョン時点の情報です。 node: 10.15.3 @firebase/testing: 0.12.3 内容案内 本記事では以下について記載しています。 Firestore セキュリティールールのテスト環境構築方法(TypeScirpt & Jest) ユーザー認証のルール記載方法、テスト方法 スキーマ検証のルール記載方法、テスト方法 値のバリデーションのルール記載方法、テスト方法 コー

                              テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション) - Qiita
                            • 時系列データの交差検証(クロスバリデーション)は交差検証とはいえないし、良い方法でもないらしい

                              この記事は Qiita に投稿した以下の記事と同一の内容です。 https://qiita.com/s_katagiri/items/7f06ca85f851e0a50516 概要 時系列データ、あるいは独立かつ同一の分布 (i.i.d.) の仮定が成立しない、観測点どうしで自己相関のあるデータに対する予測モデルの交差検証(クロスバリデーション)について書きます。情報量規準との関連まで書きたかったけど時間がないので時系列データとクロスバリデーションについてだけ書きます。 本文ではまず、最初のセクション1では交差検証がなんであるかを確認したうえで、時系列データは交差検証法の想定しているものではなく、そのまま使うことが難しいことを直感的に説明します。次のセクション2では、これまで提案された様々な時系列データに対する予測誤差の評価方法を紹介します。セクション3では、これらの性能を実験で検証した研

                                時系列データの交差検証(クロスバリデーション)は交差検証とはいえないし、良い方法でもないらしい
                              • Cloud Composerによるデータバリデーション ~常に正確なデータ集計を実現するために~ - ZOZO TECH BLOG

                                こんにちは。ECプラットフォーム部データエンジニアの遠藤です。現在、私は推薦基盤チームに所属して、データ集計基盤の運用やDMP・広告まわりのデータエンジニアリングなどに従事しています。 以前、私たちのチームではクエリ管理にLookerを導入することで、データガバナンスを効かせたデータ集計基盤を実現しました。詳細は、以前紹介したデータ集計基盤については以下の過去記事をご覧ください。 techblog.zozo.com 本記事では、データ集計基盤に「データバリデーション」の機能を加えて常に正確なデータ集計を行えるように改良する手段をお伝えします。 データバリデーションとは バリデーション導入後のデータ集計基盤 ジョブネット構築 テンプレートによる効率的なDAGの作成 DAG間の依存関係の設定方法 バリデーションDAGのタスク構成 まとめ データバリデーションとは データバリデーションとはデータ

                                  Cloud Composerによるデータバリデーション ~常に正確なデータ集計を実現するために~ - ZOZO TECH BLOG
                                • CUEによるスキーマやバリデーションのポータビリティ | gihyo.jp

                                  この記事は、連載「つきなみGo」の2回目の記事です。 CUEはデータの表現やスキーマ定義やバリデーションなどを行うことができる言語です。元々Google社内で、Borg(現在のKubernetesの前身となったGoogleの社内システム)の設定に使用するために開発された言語が前身となっており、現在はオープンソースとして開発が進んでいる言語です[1]。 CUEは現在まだv0.4.3とマイナーバージョンではありますが、すでにistioにおいてProtobufからOpenAPIを生成する部分で使用されていたり、CI/CDの構築に使用するDaggerというツールの設定ファイルとして採用されています。 弊社(メルカリ)でもCUEをKubernetesなどを含むインフラの抽象化に使用しています(紹介記事①、紹介記事②⁠)⁠。 また、CUEはGoと親和性が高く、GoからCUEへの変換や、CUEの定義をG

                                    CUEによるスキーマやバリデーションのポータビリティ | gihyo.jp
                                  • 10年物の長寿プロダクトのバリデーションアーキテクチャを変更した件 - RAKUS Developers Blog | ラクス エンジニアブログ

                                    改善施策を決めるまで 旧アーキテクチャ概要 旧アーキテクチャの問題分析 新アーキテクチャ概要 最後に こんにちは、楽楽販売開発課の岡本です。 弊社では10年を超える長寿プロダクトをいくつも擁していますが、私が担当しているプロダクトもそんな長寿プロダクトの一つです。 さて、どのように優れたプロダクトでも10年以上開発を続けていれば、少なくない量のコード負債を抱えてしまうもので、我々の開発チームでもこの問題に日々悩まされております。 このような状況を打開すべく、昨年9月に開発チーム内に改善専門部隊が立ち上がりました。 本記事では、改善部隊が行った施策の1つである「バリデーションアーキテクチャの変更」を取り上げて紹介しようと思います。 改善施策を決めるまで 先の項でも紹介した通り、我々のプロダクトは少なくない量のコード負債を抱えてしまっています。 ですので、改善部隊が発足時点で改善したい内容はい

                                      10年物の長寿プロダクトのバリデーションアーキテクチャを変更した件 - RAKUS Developers Blog | ラクス エンジニアブログ
                                    • Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する

                                      Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する 2023.10.31 Next.js の Server Actions でフォームを作成する際に、どのような方法でバリデーションを行い、エラーメッセージを表示する際にどのような手段が考えられるでしょうか。プログレッシブエンハンスメントの恩恵を受けるために、サーバーサイドでバリデーションを行いその結果を表示する方法が効果的です。`useFormStatus` フックはこの一連の動作を行うために使用します。 Next.js の Server Actions でフォームを作成する際に、どのような方法でバリデーションを行い、エラーメッセージを表示する際にどのような手段が考えられるでしょうか。 最もシンプルな方法は required 属性や input type="email" な

                                        Server Actions のフォームバリデーションにおいて useFormState でエラーメッセージを表示する
                                      • YAMLファイルはJSON Schemaでバリデーションしよう - Qiita

                                        試験環境であれば上記のような間違いも取り返しがつくのですが、 本番環境は大概デプロイ一発勝負であるが故に、ミスすると取り返しが付きません。 頑張ってチェックしても、人力をすり抜けるミスがありうるというのは非常に心臓に悪いです。 あらかじめ想定した型(スキーマ)がある以上、YAMLファイルもバリデーションすべきです。 YAMLのバリデーションに使える道具はあるか? YAMLのバリデーションというのは、そこまでメジャーな関心事ではないらしく、専用のメジャーなスキーマ技術がぱっと出てきません。 そこでいろいろ調べた結果、下記がとりあえず候補として上がりました。 JSON Schema 良い点 VS Code でサポートされている RedHat からリリースされているプラグインで可能です リアルタイムで補完と検証が効くので、かなり体験がいいです ツール、処理系、ノウハウが豊富 識者が多い スキーマ

                                          YAMLファイルはJSON Schemaでバリデーションしよう - Qiita
                                        • Firebase Authenticationのバリデーション等を新機能「blocking functions」を用いて拡張する - Flatt Security Blog

                                          こんにちは。 セキュリティエンジニアの@okazu-dm です。 この記事は、Firebase Authenticationに2022年7月ごろに追加されたblocking functions という機能についての紹介です。 詳細は後述しますが、blocking functionsはFirebase Authenticationの登録、サインイン処理を拡張するための機能で、この記事では、blocking functionsの概要やリリースされた経緯を紹介し、実際のユースケースも一部サンプルコードと共に例示します。 また、Flatt SecurityではFirebaseで構築されたサーバーレスなアプリケーションへの効果的な脆弱性診断メニューを提供しています。 ご興味のある方はぜひ事例インタビューをご覧ください。 blocking functionsについての概要 blocking funct

                                            Firebase Authenticationのバリデーション等を新機能「blocking functions」を用いて拡張する - Flatt Security Blog
                                          • Rails: 個別のバリデーションエラーをErrorオブジェクトにカプセル化する(翻訳)|TechRacho by BPS株式会社

                                            概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Encapsulate each validation error as an Error object | Saeloun Blog 原文公開日: 2020/06/17 著者: Alkesh Ghorpade サイト: Saeloun モデルのsave、create、updateアクションが失敗した場合のRailsのerrorsの表現方法が#32313で変更されました。 変更前 たとえばUserというモデルがあり、そこにfirst_name、last_name、contact_number、emailなどのカラムがあり、どれも必須だとしましょう。Userオブジェクトを作成するときにfirst_nameやcontact_numberをstringとして渡さないと、#errors関数が以下のようなエラーを出力します。 class U

                                              Rails: 個別のバリデーションエラーをErrorオブジェクトにカプセル化する(翻訳)|TechRacho by BPS株式会社
                                            • UTF-8のバリデーションとモノイドと半群

                                              この記事はUTF-8のバリデーションとオートマトンの続きです。 前回はUTF-8のバリデーションが8状態のオートマトン (DFA) で表現できることを見ました。状態と遷移を擬似コードで書けば次のようになるでしょう: -- 8つの状態 data State = START | TAILx1 | TAILx2 | TAILx3 | A | B | C | D -- 入力バイトに応じて次の状態を返す。次の状態が該当しなかったら Nothing を返す next :: Word8 -> State -> Maybe State +----+----+-----+----+ | a0 | a1 | ... | aN | 8ビット整数列 +----+----+-----+----+ | | | v v v +----+----+-----+----+ | m0 | m1 | ... | mN | モノ

                                                UTF-8のバリデーションとモノイドと半群
                                              • Railsでメールアドレスをバリデーションする方法(翻訳)|TechRacho by BPS株式会社

                                                RailsのActive Recordは、意味のあるデータを確実に得られるようにするためのバリデーション機能をActive Modelライブラリ経由で提供しています。 ユーザーにメールを送信可能であることを確認する処理は、アプリケーションを正しく設定するうえで非常に重要なので、既に皆さんもUser#email属性でバリデーションを行っていることでしょう。 🔗 以下の方法ではなく 手作り正規表現や、Railsの古いAPIドキュメントにあるものを使う。 class User < ApplicationRecord validates :email, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i }, presence: true, uniqueness: { case_insensitive: true } end

                                                  Railsでメールアドレスをバリデーションする方法(翻訳)|TechRacho by BPS株式会社
                                                • UTF-8のバリデーションとオートマトン

                                                  UTF-8は今日の文字エンコーディングの中で最も重要なものと言って差し支えないでしょう。UTF-8の仕様はこの辺で確認できます: Unicode 15.1.0 > 3.9 UTF-8 RFC 3629 - UTF-8, a transformation format of ISO 10646 この記事では、読者はすでにUTF-8にある程度の馴染みがあるものとして、UTF-8のバリデーションの細かいところを考えます。 UTF-8のバリデーションを行うには、以下のことを確かめなければなりません: 最初の1バイトが所定の範囲にあること:ASCII (0x00-0x7F) または0xC2以上。 後続のバイト(たち)が0x80-0xBFの範囲にあること。 長すぎないこと:U+007F以下の文字はちょうど1バイトで表現されていること、U+0080以上U+07FF以下の文字はちょうど2バイトで表現されて

                                                    UTF-8のバリデーションとオートマトン
                                                  • URL バリデーションを考えるために - Techtouch Developers Blog

                                                    初めに URL の標準を知るためのポイント あ!やせいの URL がとびだしてきた! ライブラリを比較 validators (Python) regex-weburl.js (Javascript) url.Parse (Go) 最後に 初めに テックタッチアドベントカレンダー 14 日目を担当する izzii です。最近個人 PC の SSD を増設したのですが、CPU やマザボも換装しようかなーなどと考えている今日この頃です。 さて、 Web エンジニアの方ですと、集計処理やセキュリティ運用のために、 URL バリデーション URL エンコーディング URL パース など URL の文字列を操作・評価したことがあるしょう。しかし、抽象化されたライブラリを利用することで、具体的な実装をあまり意識されたことはないのではないでしょうか?というのも自分達で設計した URL を弄る上で壁にぶつ

                                                      URL バリデーションを考えるために - Techtouch Developers Blog
                                                    • コロナの拡大・収束の予測はバリデーションが不可欠 --- 山本 民次

                                                      「ヒトとの接触8割削減をしないと42万人死亡」という西浦氏の発表は極めて衝撃的であった。これは感染症の数理モデルから予測される結末であり、理論モデルとしては間違いではないが、その後いつまで経っても現実のデータとの照合(バリデーション)が行われないまま時間が過ぎた。 現実的には、すでに発症者数が減少に向かい、すでに一部の特定府県を除き、緊急事態宣言が解除されることになった。このこと自体は大いに喜ぶべきことであり、「8割削減」を何としても達成したいという国民全員の我慢強さに敬意を表したい。 5月12日の夜にニコニコ動画で、西浦氏による感染症の数理モデルに関する解説があった。説明は丁寧で分かり易く、好感の持てるものであった。 それはそれとして、私としては必ず、バリデーションが行われるはず、と期待していたので、その期待は大きく裏切られた。 西浦氏には、5点ほどメールで直接質問したが、一週間経っても

                                                        コロナの拡大・収束の予測はバリデーションが不可欠 --- 山本 民次
                                                      • 史上初のdeprecationから最新のバリデーションライブラリまで!TypeScriptの最新動向をうひょさんに聞いてきた

                                                        こんにちは、テックフィード白石です。 日本のエンジニア界隈をリードするエキスパートに、テクノロジーの最前線を語っていただくYouTube動画連載「Ask the Expert」の新着動画が公開されました! 今回は、TypeScriptのエキスパートうひょさんに、TypeScriptの最新動向について詳しく伺ってきました。 うひょさんのアカウントをぜひフォローしましょう! うひょさん(株式会社カオナビ フロントエンドエンジニア) ついでに白石のもフォロー推奨: 聞き手: テックフィード白石 以下に掲載するのは、インタビュー動画の内容の要約です(正確な書き起こしではありません)。 内容をフルにご覧になりたい方は、ぜひ動画をご視聴ください。 (ご質問、ご感想などはYouTubeのコメント、もしくはこの記事のコメント欄でも受け付けております) TypeScript史上初めてのdeprecation

                                                          史上初のdeprecationから最新のバリデーションライブラリまで!TypeScriptの最新動向をうひょさんに聞いてきた
                                                        • Rails 7 で追加されたComparisonValidatorで日付のバリデーションを実装する

                                                          この記事は GMOアドマーケティング Advent Calendar 2022 3日目の記事です。 はじめに こんにちは。 GMOアドマーケティングの石丸(@thomi40)です。 前回の記事では Rails 7 から実装された query_log_tags について紹介しました。 はじめにこんにちは。GMOアドマーケティングの石丸(@thomi40)です。以前、本ブログでRails 6.1に新しく追加された機能について紹介しました。今回はRails 7から追加された「query_log_tags」について紹介します。query_log_tagsとは?query_log_tags は Active Record のオプションの一つで、設定を有効にすることでクエリのログに自動でコメントを追加することができる機能です。元々は「Marginalia」というGemで実装されていた機能とのこと。詳細

                                                            Rails 7 で追加されたComparisonValidatorで日付のバリデーションを実装する
                                                          • Vue.js のフォームバリデーションライブラリ VeeValidate を評価してみた | DevelopersIO

                                                            前職より引き続き Vue.js を用いた開発業務を行っているのですが、毎回必ず発生するフォームバリデーション処理の実装につらみを感じていたので、VeeValidate というライブラリを評価してみました。 前職で Vue.js を用いた開発業務を行っていました。 クラスメソッドに入社後も Vue.js を使った開発業務を担当することになったのですが、フォームバリデーション処理が本質的ではない割に毎回発生することに負担を感じていたので、その辺りを肩代わりしてくれるライブラリを探すことにしました。 その結果 VeeValidate というライブラリが割と引っ掛かり、レビューブログやドキュメントを眺めたりした感じ良さげだったので、評価してみました。 環境情報 Node.js: 12.18.2 Vue.js: 2.6.11 Vuetify: 2.3.3 VeeValidate: 3.3.7 Vue

                                                              Vue.js のフォームバリデーションライブラリ VeeValidate を評価してみた | DevelopersIO
                                                            • 【GraphQL】スキーマ駆動開発におけるバリデーションの取り決め設計パターン集

                                                              ハコベル物流DXシステム開発部のおおいし (@bicstone) です。普段はフロントエンドエンジニアとしてハコベル配車計画の開発を行なっています。 前回の記事では、GraphQLをプロダクトに投入するにあたり検討したエラーレスポンス設計パターンについて紹介しました。 この記事では、フロントエンドとバックエンド間でのバリデーションスキーマの取り決めについて解説します。 GraphQLスキーマ設計で悩まれている方の参考になれば幸いです。 はじめに ハコベル配車計画では、バックエンドとフロントエンド間の通信においてGraphQLを活用しています。1年ほど運用していく中で、設計における課題がいくつか表面化してきました。 今回、社内ハッカソンイベントHackWeek 2023 [1] が開催され、ハコベル配車計画チームでは1年間の運用の中で感じた、GraphQLスキーマの設計における悩みを振り返る

                                                                【GraphQL】スキーマ駆動開発におけるバリデーションの取り決め設計パターン集
                                                              • MUI v5とReact Hook Form v7でサクッとフォームバリデーションを作る | DevelopersIO

                                                                MUI(Material UI)v5とReact Hook Form v7でサクッとフォームのバリデーションを作る方法をまとめました! Material-UI v4とReact Fook Form v6を使い続け、幾多の時が過ぎていた浦島太郎状態の片岡です。 今回は新しいプロジェクトを作る際に、MUI v5(v5でMaterial UIからMUIに名称変更)とReact Hook Form v7を採用した結果今までの苦労はなんだったのか・・・となったのでブログにしました! 準備 MUIとReact Hook Formを使ってフォームを作れるようにしていきます。 Reactプロジェクトを作成 適当にプロジェクトを作ります。 yarn create react-app sample-project --template typescript ライブラリをインストール 実際に使うライブラリをイン

                                                                  MUI v5とReact Hook Form v7でサクッとフォームバリデーションを作る | DevelopersIO
                                                                • TypeScriptファーストなバリデーションライブラリ Zodの始め方 - Qiita

                                                                  はじめに ここ最近の業務では TypeScript を用いた webフォームの実装を担当させていただいています。 親愛なる上司が TypeScriptファーストなバリデーションライブラリの存在を教えてくださり、「プロダクトでどう使えるか考えてみるのも楽しいかも」とお題をくださったので、今回は手始めにZodの基本的な使い方について記事を書かせていただこうと思います。 Zod とは Zod GitHub: https://github.com/colinhacks/zod TypeScriptファーストなスキーマ宣言・バリデーションライブラリ。 ここでいうスキーマとはデータの型のことで、Zodではスキーマの宣言 → スキーマに沿っているか値を検証 というステップでバリデーションを行います。 公式にもある通り、「parse, don't validate」の思考に基づいた関数型プログラミングのア

                                                                    TypeScriptファーストなバリデーションライブラリ Zodの始め方 - Qiita
                                                                  • Zodでファイル(画像)のバリデーションをする

                                                                    const IMAGE_TYPES = ['image/jpg', 'image/png']; const MAX_IMAGE_SIZE = 5; // 5MB // バイト単位のサイズをメガバイト単位に変換する const sizeInMB = (sizeInBytes: number, decimalsNum = 2) => { const result = sizeInBytes / (1024 * 1024); return +result.toFixed(decimalsNum); }; const schema = z.object({ file: z // z.inferでSchemaを定義したときに型がつくようにするため .custom<FileList>() // 必須にしたい場合 .refine((file) => file.length !== 0, { messag

                                                                      Zodでファイル(画像)のバリデーションをする
                                                                    • Railsバリデーションまとめ - Qiita

                                                                      オブジェクトがDBに保存される前に、そのデータが正しいかどうかを検証する仕組みをバリデーションといいますが、 RailsでActiveRecordを使ってそれを実現するにあたってよく使いそうなのをまとめます。 以下のメソッドにおいてはバリデーションがトリガされます。 create create! save save! update update! 以下のメソッドにおいてはバリデーションはスキップされます。 decrement! decrement_counter increment! increment_counter toggle! touch update_all update_attribute update_column update_columns update_counters Railsでのバリデーショントリガ Railsではvalid?メソッドを実行するとバリデーションが実

                                                                        Railsバリデーションまとめ - Qiita
                                                                      • Rustで型を強めにつけ、バリデーション情報を型に落とす方法 - Don't Repeat Yourself

                                                                        Rust を読んでいると、さまざまなものに型付けをするコードをよく見かけます。強めに(厳密に)型付けをする文化があるプログラミング言語、と言えるかもれません。 バリデーションチェックに対してもこうした強めの型付けが適用できます。具体的なバリデーションの情報を型情報として落としておくことで、コードを読むだけでバリデーション情報を把握できたり、あるいは誤った値の代入をコンパイルタイムで弾くことができるようになるというメリットを享受できるようになります。 一方で、型情報があまりに複雑化すると、あまりそうした型付け手法に慣れていないプログラマがキャッチアップするのに少し時間がかかったり、あるいはとんでもなく複雑になってそもそもその型を作り切るのが大変というデメリットも生じることになります。 今日紹介する手法は、さまざまなトレードオフの上に成り立つものであり、もし導入の結果、そのプロジェクトにとって

                                                                          Rustで型を強めにつけ、バリデーション情報を型に落とす方法 - Don't Repeat Yourself
                                                                        • フォームのバリデーションに役立つYupとは? React向けライブラリを解説

                                                                          CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                                                                            フォームのバリデーションに役立つYupとは? React向けライブラリを解説
                                                                          • 峰 宗太郎 on Twitter: "#楽天 が #PCR検査 をつかった非常にまずい提案を官邸にしている模様であることが判明👶完全にめちゃくちゃで、やるならしっかりバリデーションされた抗体検査でやる話。PCRでは実現できないし、どうしようもない。倫理観のかけらもいな… https://t.co/GfPORj87rX"

                                                                            #楽天 が #PCR検査 をつかった非常にまずい提案を官邸にしている模様であることが判明👶完全にめちゃくちゃで、やるならしっかりバリデーションされた抗体検査でやる話。PCRでは実現できないし、どうしようもない。倫理観のかけらもいな… https://t.co/GfPORj87rX

                                                                              峰 宗太郎 on Twitter: "#楽天 が #PCR検査 をつかった非常にまずい提案を官邸にしている模様であることが判明👶完全にめちゃくちゃで、やるならしっかりバリデーションされた抗体検査でやる話。PCRでは実現できないし、どうしようもない。倫理観のかけらもいな… https://t.co/GfPORj87rX"
                                                                            • Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus)

                                                                              Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) ウェブ API の作成など、外部からやってくるデータを安全に捌く上で、スキーマ定義とバリデーションは非常に重要です。 また、特に Python のような動的型付け言語において、内部でもレイヤをまたぐ場合はきちんと定義されたデータモデルを利用することで、知らない間にデータモデルが変わっていた、というようなケースを防ぐことができます。 Python には標準でスキーマバリデーションライブラリがないため 3rd パーティのものを使うことになりますが、様々なライブラリがあるので比較してみました。 比較対象のライブラリ概要※Python バージョンは 3.9.0 を利用します。 lib                    versionGithub Star (202

                                                                                Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus)
                                                                              • Reactで使えるバリデーションライブラリを紹介! - bagelee(ベーグリー)

                                                                                はじめに フォームの実装のライブラリはFormik、React Hook Form、React Final Formのどれにしよう…と悩むことは多いと思うのですが、バリデーションを何で行おうというのは考える機会が少ないと思います。 というのも、React Hook FormもFormikもYupを推しているので、あまり調査せずにYupを使う方が多いのではないでしょうか。そもそもReact Hook FormはデフォルトではHTML標準のバリデーション機能を使用しているので、バリデーションライブラリを意識したことないという方もいるかもしれません。 実は非常に多くのバリデーションライブラリがあるので、今回は色々紹介して比較していきます! バリデーションライブラリの種類 ざっと挙げるだけでもこれくらいあります。 ・Joi ・Yup ・zod ・io-ts ・Superstruct ・Vest ま

                                                                                  Reactで使えるバリデーションライブラリを紹介! - bagelee(ベーグリー)
                                                                                • TypeScript(Node.js)のバリデーションライブラリ「Ajv」を使ってみた | DevelopersIO

                                                                                  Ajv(Another JSON Schema Validator)はNode.jsとブラウザ用のバリデーションライブラリです。事前に定義した検証スキーマでデータのバリデーションを行います。また、バリデーションエラーの内容はerrorsプロパティに格納され、バリデーション後に取得することができます。 基本的な使い方 Ajvのインストールとバリデーションの方法を説明します。 インストール npm(Node package manager)でインストールします。なお、型情報も組み込まれているため@types/ajvは必要ありません。 npm install ajv バリデーションを実行 検証スキーマと検証データを定義してバリデーションを実行してみます。 import Ajv from 'ajv'; // インスタンスを作成 const ajv = new Ajv(); // 検証スキーマを定義

                                                                                    TypeScript(Node.js)のバリデーションライブラリ「Ajv」を使ってみた | DevelopersIO

                                                                                  新着記事