タグ

frontendに関するsh19910711のブックマーク (928)

  • [WebGL] Three.jsでジオメトリインスタンシングを使ってモデルをレンダリングする - Qiita

    現状、通常のフローでモデルデータを読み込んでそれをそのままジオメトリインスタンシングでレンダリングする方法はないようです。 なので、モデルデータを読み込み、自前で処理する必要があります。 (ただ、ドキュメントも整備されておらず、もしかしたらまだ安定していないかもしれないので、利用する場合は自己責任でお願いします) ちなみに今回の解説用に作ったサンプルはGithubに上げてあります。 (動作デモはこちら) ジオメトリインスタンシングって? さて、まずジオメトリインスタンシングとはなにか。 WebGLでの詳細についてはエマさんのこちらの記事(WebGLにおけるジオメトリインスタンシング(ANGLE_instanced_arrays)を丁寧に説明してみる)がとても分かりやすく書かれているので読むことをおすすめします。 ざっくり言うと、プログラムで言うところのクラス・インスタンスの関係をジオメトリ

    [WebGL] Three.jsでジオメトリインスタンシングを使ってモデルをレンダリングする - Qiita
    sh19910711
    sh19910711 2024/06/26
    "プログラムで言うところのクラス・インスタンスの関係をジオメトリにも当てはめ / インスタンスごとの設定やデータを事前にまとめてGPUに送っておくことで、この切替コストを最小限にしよう、というもの" 2016
  • Testing Library流でフロントエンドテストのコスパを最大化する

    “Testing takes too much time and effort” by Kent C. Dodds (ライブラリ作者) 訳:テストには時間と労力がかかりすぎる https://testingjavascript.com/

    Testing Library流でフロントエンドテストのコスパを最大化する
    sh19910711
    sh19910711 2024/06/26
    "テストのコスパが悪いと良いテストが継続的に書かれていく流れを作れない / Testing Library: Jestで動作するフロントエンド特化型のテストヘルパー / ユーザーにとって意味のある単位をテストする" 2022
  • TypeScript 5.5 で追加された正規表現構文チェックを理解する


    TypeScript 5.5@graphemecluster🎉 TypeScript 調    JavaScriptTypeScriptESLint   TypeScript 5.540 5.5 //  var re = /a/b; // 
    TypeScript 5.5 で追加された正規表現構文チェックを理解する
    sh19910711
    sh19910711 2024/06/22
    "正規表現に間違いがあった場合、事前にTypeScriptがエラーを出力 / よくある間違いについては改善方法まで提示してくれるメッセージ / 構文チェックに関する Issueは、2015年ごろに立てられ"
  • 軽量なStorybook駆動開発を支えるコンポーネント設計

    こんにちは。この記事ではStorybook駆動開発をゼロから導入するために実践した内容をコンポーネント設計の側面から紹介します。合わせて、紹介した設計を元にどのようなテストを実装しているかについても紹介します。 簡単に実装できることが持続可能なテストへの鍵 Webフロントエンドの持続可能なテスト文化を醸成するためには、テストを開発フローの中で簡単に実装できることが何よりも重要です。テストの実装に機能開発以上のコストが掛かってしまう場合、「時間が無いのでテストコードを後から実装する(結果実装されない)」という典型的なアンチパターンに繋がってしまいます。 持続可能なテストを実現するためのアプローチ フロントエンドにおいて、特にIntegration Testの実装容易性は、コンポーネント設計やツールの使い方によって大きく左右されます。 筆者が関わるプロジェクトでは軽量なStorybook駆動開

    軽量なStorybook駆動開発を支えるコンポーネント設計
    sh19910711
    sh19910711 2024/06/19
    "「時間が無いのでテストコードを後から実装する(結果実装されない)」という典型的なアンチパターン / 持続可能なテスト文化を醸成するためには、テストを開発フローの中で簡単に実装できることが何よりも重要"
  • HTMX + Hyperscriptでサーバレスアプリケーションをつくってみた

    日程調整サービス 「イツスル?」をつくった ちょうど今日MVPをリリースしました。 イベントを作成して、予定を入力すると皆の予定表ができる 画面数は3画面しかない小さいツールをつくったお話です。 URLをシェアすると動的なOGPが生成される みんなに入力をお願いする時に、URLだけだと素っ気ないので 調整さんの代わりにどうぞ! 利用はこちらから(無料、ログイン不要) きっかけは、日程調整ツールの老舗「◯◯さん」 普段、ゲームやオフ会の日程調整をする際に、◯◯さんを良く使っていました。 ログイン不要でプラットフォームに依存しないでブラウザだけで完結するミニマルな機能をかなり気に入っていたからです。 というのも、個人間でやり取りするケースでは、有料のリッチな調整サービスはそもそも不要だし、 ディスコのBotや、LINE日程調整ツールは、フレンドになるか鯖に招待しないと使えなかったりして個人的に

    HTMX + Hyperscriptでサーバレスアプリケーションをつくってみた
    sh19910711
    sh19910711 2024/06/19
    "せっかくのHTMXならサーバレスにしたいなぁみたいな事をぼんやり思っていた / 無料枠もあって、お金もかからずに、サーバ側のほとんどの事をまかせて、UX設計や、デザイン、フロントの開発に集中"
  • フロントエンドエンジニアに勧めるvscode の file nesting


    File Nesting is     1 Storybook  CSStest   Storybook      VSCODE  File Nesting    ,  file nesting e   tsx 
    フロントエンドエンジニアに勧めるvscode の file nesting
    sh19910711
    sh19910711 2024/06/19
    "昨今のフロントエンドでは 1 つのコンポーネントに Storybook や CSS、test などのファイルが存在 / File Nesting という機能が出たことをきき、試したところかなり快適になった" 2022
  • ClojureのDuctとClojureScriptのre-frameによるREST API + SPA開発入門 - Qiita


    Java (JVM)ClojureJavaScriptClojureScriptWebClojureClojure ClojurianDuctClojureScriptReactReagentre-frameREST API + SPATODO Leiningenshadow-cljs使(/Ja
    ClojureのDuctとClojureScriptのre-frameによるREST API + SPA開発入門 - Qiita
    sh19910711
    sh19910711 2024/06/19
    "Java (JVM)環境でのClojureとJavaScript環境でのClojureScriptを組み合わせると、典型的なWebアプリケーションのサーバサイドもフロントエンドもほぼ同等の言語で開発できるというのはClojureの魅力のひとつ" 2020
  • OpenAPI3 + OpenAPI generator でgolangサーバ・TypeScriptクライアントの実装を試す - Qiita

    OpenAPI3 + OpenAPI generator でgolangサーバ・TypeScriptクライアントの実装を試すGoTypeScriptswaggerOpenAPIOpenAPIGenerator 昨今のマイクロサービス化の流れに伴い、サービス間の情報のやり取りのルールをスキーマとして定義してクライアント、サーバーの開発を行うスキーマ駆動開発が取りた出されている。 今回はOpenAPI3(旧Swagger)をスキーマ駆動開発のツールの一つとして取り上げたが、意外と踏み込んだHello Worldの記事が少なかったので書いた。 対象読者 最近swaggerやOpenAPIという言葉を聞いて試してみたいが導入に悩んでいる人 普段からAPIを使用した開発を行っているがOpenAPIを使ったことがない人 Dockerや特定プログラミングをある程度まで習熟している人 OpenAPIとは

    OpenAPI3 + OpenAPI generator でgolangサーバ・TypeScriptクライアントの実装を試す - Qiita
    sh19910711
    sh19910711 2024/06/18
    "コードジェネレータがなければ、究極的にはスキーマはただのドキュメントと何も変わらない / 内部利用向けのAPIの定義に使うかと聞かれると微妙 / コードジェネレータの質が言語によってまちまち" 2020
  • 【フロントエンド】GraphQLを導入する時はFragmentを理解しよう - Qiita


     GraphQL     Fragment Fragment GraphQLFragment Component Component  Fragment  
    【フロントエンド】GraphQLを導入する時はFragmentを理解しよう - Qiita
    sh19910711
    sh19910711 2024/06/18
    "Fragment: 複雑なクエリを小さくまとめ上げる / 親のクエリで子のfragmentを呼び出し + データをFragmentという小さな単位に分割し、複雑なクエリを役割ごとに分割 / 共通化: 保守性を上げる時もあれば、下げる時もあります" 2022
  • GraphQLのschema.graphqlsファイルをバックエンドとフロントエンドで同期するベタープラクティス - Qiita


     GraphQL API(schema.graphqls)    Go, Gin, gplgen  TypeScript, React, Next.js SPA  schema.graphqls  schema.graphqls  graphqls
    GraphQLのschema.graphqlsファイルをバックエンドとフロントエンドで同期するベタープラクティス - Qiita
    sh19910711
    sh19910711 2024/06/18
    "フロントエンドとバックエンドをGraphQL APIで連携する場合、スキーマファイル(schema.graphqls)をどうやって連携するか / schema.graphqlsファイルをバックエンドのサーバにホスティングし、codegenの参照先として設定" 2023
  • ビジュアルリグレッションテストのすすめ - Qiita

    日々いろいろなWebサイトの制作や修正を対応していく中で、修正したページとは関係ない(と思っていた)ページで表示が崩れてしまったことってありませんか? 私はたびたび経験があります。 毎回目視で全ページをチェックすれば防げるのかもしれませんが、それは現実的ではありません。 自動で全ページをチェックしてくれて不具合があれば教えてくれる、そんな便利なツールがあればと何度も思いました。 どうやら現代の技術でそれは作れるみたいです。ビジュアルリグレッションテストというらしいです。 ビジュアルリグレッションテストとは ざっくりいうと「見た目の比較」をするテストのことです。 変更前のWebサイトのスクリーンショットを用意しておき、変更後のスクリーンショットを撮り比較することで、どこが変わったか差分を表示し確認することができます。 どうやって使うの ビジュアルリグレッションテストを導入するための方法はいく

    ビジュアルリグレッションテストのすすめ - Qiita
    sh19910711
    sh19910711 2024/06/17
    "修正したページとは関係ない(と思っていた)ページで表示が崩れ / 変更前のWebサイトのスクリーンショットを用意しておき、変更後のスクリーンショットを撮り比較することで、どこが変わったか差分を表示" 2022
  • Vitest / Playwrightを使ってSvelteのコンポーネントをテストする - Qiita


    Ateam Group U-30 Advent Calendar 20221 @oekazuma  SvelteSvelteKit使 SvelteKitCLIPlaywrightVitest使  SvelteKit SvelteWeb ReactNext.jsVueNuxt.js
    Vitest / Playwrightを使ってSvelteのコンポーネントをテストする - Qiita
    sh19910711
    sh19910711 2024/06/17
    "コンポーネントテストを書きたい / Vitest: Vite環境で動作する高速なテストフレームワークで、Jestの代替として期待されているフレームワーク + SvelteKitはViteを使用しているので簡単な設定のみで利用可能" 2022
  • あなたはフロントエンドの何をテストしたいのか。 - Qiita


     Web    2,3 調     Oswald 
    あなたはフロントエンドの何をテストしたいのか。 - Qiita
    sh19910711
    sh19910711 2024/06/17
    "テストの難易度や運用コストのトレードオフがある / 学習コストのかかるスタック + 実運用まで時間がかかりすぎるため、本当にやるべきか?という疑問 / フロントエンド特有の難しさ" 2023
  • Playwright Component Testに思いを馳せる - Qiita


     () Playwright Component Test PlaywrigthE2ENodeJSchromium, firefox, webkitWeb AngularHeadless BrowserPuppeteerE2ECypressReactVueSveltePlaywright Page()...使experimentalComponent Test Runner 
    Playwright Component Testに思いを馳せる - Qiita
    sh19910711
    sh19910711 2024/06/17
    "Playwright Component Test: Page(一画面)に対してテストコードを書いて実行する...というのが基本的な使い方ですが、experimentalでComponent Test Runnerも提供 / 「実際にブラウザでコンポーネントが正しく動くこと」の担保" 2023
  • まだ実装してない API を Prism でモックするとフロントエンド開発が少しはかどった - Qiita


     Web  API  API  1-2  OpenAPI ( OpenAPI )Prism  OpenAPI  API 便    NuxtTypeScript  SPA  Axios  API  OpenAPI 
    まだ実装してない API を Prism でモックするとフロントエンド開発が少しはかどった - Qiita
    sh19910711
    sh19910711 2024/06/17
    "バックエンドの開発が 1-2 週間遅れそうだがフロントは先んじて実装したい / Prism: モックサーバーを簡単に立ち上げ + OpenAPI 定義ファイルをもとにするので API モックサーバーと仕様のズレを気にしなくてよい" 2020
  • NestJS + OpenAPI(Swagger)からAPIクライアントを生成し型安全に通信する - Qiita

    こちらは、TypeScript Advent Calendar 2020 14日目の記事になります! はじめに 最近、個人での開発にてTypeScriptを選定することが多くなり、その中で NestJS を使ってバックエンドのAPIを構築する機会があったのですが、 フロントエンド(Nuxt.jsで作ったSPA)との通信について、割といい感じに作れた気がしたので、備忘録として残したいと思います✍️ どんなものを作るか Webアプリのフロントエンドとバックエンド間での通信として、以下のことを実現したいという気持ちがありました リクエスト/レスポンスに型付け したい💪 フロント/バックエンド双方のTSで、InterfaceなりClassなりに値が詰められたDTOを扱いたい バックエンド側で定義した型をフロント側でも使いたい I/Fの更新をフロント側からいい感じに取り込みたい フロントのコード上

    NestJS + OpenAPI(Swagger)からAPIクライアントを生成し型安全に通信する - Qiita
    sh19910711
    sh19910711 2024/06/17
    "バックエンド側で定義した型をフロント側でも使いたい / NestJSにて @nestjs/swagger にてアノテートしたDTOとエンドポイントを定義 / openapi-generator-cli にて、1.で作成したyamlファイルからTypeScriptのAPIクライアントを生成" 2020
  • Code Firstで疲弊しないOpenAPI活用方法 - Qiita


     2021xTypeScript10 WebAppOpenAPI OpenAPI OpenAPI API Swagger Editor OpenAPISwaggerAPI 2015SwaggerAPIOpenAPI   OpenAPI json, ya
    Code Firstで疲弊しないOpenAPI活用方法 - Qiita
    sh19910711
    sh19910711 2024/06/17
    "OpenAPIの記述方法は json, yaml が選択できますが、いずれにしても一種の JSON Schema で表現 / OpenAPIの強みは スペックを中心として、ドキュメント・サーバ・クライアントなどをある程度自動生成する事ができる点" 2021
  • Swagger StudioでAPI仕様書の作成とモックサーバー利用してみた - Qiita


    使 APIAPISwaggerSwagger Studio Prism GUIAPI SwaggerAPIyamlSwagger StudioGUI   API Design & Documentation Management | Designing & Building OpenAPIs
    Swagger StudioでAPI仕様書の作成とモックサーバー利用してみた - Qiita
    sh19910711
    sh19910711 2024/06/17
    "Swagger Studio: GUIで直感的に操作して定義を作成しそのコードを出力することができる / エンドポイントのURLも自分の好きなものに変えられ / スピーディーにフロントの開発をするにはよいツール" 2022
  • GitHub Actionsを使ってAPI設計をフロントエンドと共有する話 - Qiita


     OpenAPI Spec GitHub Actions使GitHub PagesReDocMock ServerPrismCloud Run Mock ServerPrismCloud Run0 ReDoc ReDocOpenAPI Spec Swagger UISwagger UIReDoc
    GitHub Actionsを使ってAPI設計をフロントエンドと共有する話 - Qiita
    sh19910711
    sh19910711 2024/06/17
    "GitHub Actionsを使って、GitHub PagesにReDocを配置、Mock Server(Prism)をCloud Runへデプロイ / Mock Server(Prism)のデプロイ先をCloud Runにしたのは、最小インスタンスを0にすることができ、課金を抑えられる" 2022
  • GraphQLのSchemaを元にサクッとモックサーバーを作る - Qiita


     GraphQL GraphQLSchema API 調  GraphQLSchemaMSW Shema   GraphQL SchemaQuery Schema type Query { getUser(id: ID!): User }
    GraphQLのSchemaを元にサクッとモックサーバーを作る - Qiita
    sh19910711
    sh19910711 2024/06/16
    "msw: リクエストをインターセプトし、モックのレスポンスを返す / typescript-msw: クライアントで定義したquery/mutationから型セーフなmswのhandlerを自動生成 / graphql-codegen-typescript-mock-data: Schemaからデータ自動生成" 2023