並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 340件

新着順 人気順

frontendの検索結果281 - 320 件 / 340件

  • 「Chrome Tech Talk Night #16 〜 パスキー」まとめ

    2024 年 6 月 14 日、Google 渋谷オフィスにて Chrome Tech Talk Night #16 〜 パスキー が開催されました。 CTTN #16 は、開発者のみなさんがパスキーの基本について学び、よくある疑問を解決できることを目指したイベントです。 FIDO Alliance メンバー企業でアクティブに仕様策定に参加しているエキスパートの皆様がご登壇されました。 資料はこちらに公開されています:Chrome Tech Talk Night #16 パスキー 以下はClaude Sonnet 3.5 によるまとめとNotta.ai によるまとめをもとに若干手を入れたものです。なお、私はこの分野は素人なので、間違いがあると思うので、その場合はご指摘いただければ幸いです。 Chromeテックトーク16 – パスキーについて #passkeys_jp 1. イントロダクショ

      「Chrome Tech Talk Night #16 〜 パスキー」まとめ
    • ニュース: ユーザー端末のホーム画面にLINEミニアプリへのショートカットを追加できるようになりました

      ユーザー端末のホーム画面にLINEミニアプリへのショートカットを追加できるようになりました。 `liff.createShortcutOnHomeScreen()` メソッドを使うと、ショートカット追加画面が表示されます。ユーザーは、画面上の指示に従うことで、端末のホーム画面にLINEミニアプリへのショートカットを追加できます。これにより、ユーザー端末のホーム画面からLINEミニアプリに直接アクセ...

        ニュース: ユーザー端末のホーム画面にLINEミニアプリへのショートカットを追加できるようになりました
      • Dexie.jsでIndexedDBを使ってみる - Blogメモφ(..)

        IndexedDBはブラウザにデータを保持できる仕組みで、大量のデータをフロントで操作する場合や、APIのレスポンス等をキャッシュしたりする時に便利です。 ただ、IndexedDB APIをそのまま使うと同期処理の対応を自前でやらなければならなかったり(入れ子になるので可読性が悪くバグ発生率が上がりそう)、接続までの手順が長かったり(コード量が増える)します。 Dexie.jsがとても良かったので、試したコードをメモしておきます。 初期表示 取得ボタンクリック後 テストコード 今回はリロードで初期化や、遷移・離脱でデータ残さないようにしたかったので、DB削除もしています。temporary storageが使えれば良かったのですが、FireFoxしか対応していないようでした。 % yarn add dexie <template> <div> <v-btn @click="getData(

        • react-webcamで撮った画像をFastAPIのサーバーに送信する - Qiita

          はじめに Reactを使ったWebアプリケーションでカメラ撮影する機能について調べてみました。 ただ撮影するだけではなく、サーバーに撮った画像を送信するところまでやってみました。 Reactでカメラを使う Reactでカメラを使用する場合、現状(2023/10月現在)だと以下のライブラリが候補になります。 react-webcam https://github.com/mozmorris/react-webcam react-html5-camera-photo https://github.com/mabelanger/react-html5-camera-photo react-camera-pro https://github.com/purple-technology/react-camera-pro ダウンロード数、GitHubのスター数などreact-webcamが圧倒している

            react-webcamで撮った画像をFastAPIのサーバーに送信する - Qiita
          • GitHub Actionsを使ってAPI設計をフロントエンドと共有する話 - Qiita

            はじめに 以下記事を読んで、OpenAPI Specをもっとフロントエンド側で活用できたら良いなと思いました。 そこで、同じようにGitHub Actionsを使って、GitHub PagesにReDocを配置、Mock Server(Prism)をCloud Runへデプロイしてみることにしました。 なお、Mock Server(Prism)のデプロイ先をCloud Runにしたのは、最小インスタンスを0にする(つまり、アクセスが無い時はインスタンスが落ちている状態にできる)ことができ、課金を抑えられると思ったからです。 ReDocとは? ReDocは、OpenAPI Specからドキュメントを生成してくれるツールです。 同じようなツールで、Swagger UIもありますが、Swagger UIはリファレンス要素が強く、ReDocはガイド要素が強い(見易さ重視)印象を受けました。そのため

              GitHub Actionsを使ってAPI設計をフロントエンドと共有する話 - Qiita
            • SQLiteをブラウザ上で実行するサンプル(React+vite+comlink) - Qiita

              はじめに 特徴 ブラウザ上でリレーショナルデータベースのsqlite-wasmを実行します(sqlを実行できます) SQLiteはWeb Workerで実行するため、DB処理がUIスレッドをブロックしません DBファイルはOPFS(オリジンプライベートファイルシステム)上に永続化します(ブラウザを閉じてもデータは失われません。GB単位の大きなデータを扱うことが可能です) Web Workerを容易に扱うために、Comlinkを利用します プログラムソース 動作確認ページ(GitHub Pages) ReactでSQLite Wasmを実行して、localStorageに永続化する最小のサンプルは、 メインスレッドで実行しているため?かSQLiteの読み込み時に警告が出ていました。 Ignoring inability to install OPFS sqlite3_vfs: The OPF

                SQLiteをブラウザ上で実行するサンプル(React+vite+comlink) - Qiita
              • Nuxt3とvitestでユニットテスト実行環境を作った備忘録

                はじめに Nuxt(Nuxt3)のプロジェクトでvitestを使ったユニットテスト環境を実装したので備忘録として記事にします。ちょっとしたメモになりますが、誰かの参考になればと思います。 使用したライブラリ vitest Viteベースの高速なテストランナー @testing-library/vue Vue.jsアプリケーション向けのシンプルなテストユーティリティを提供し、DOMに対する操作やアサーションを行う。 nuxt-vitest Nuxtでvitestを使用するためのモジュール。 happy-dom 高速な仮想DOM実装で、ブラウザ環境をシミュレートする。 @vitest/coverage-c8 vitestでコードカバレッジを収集するためのプラグイン。 テストの設定 import { defineVitestConfig } from 'nuxt-vitest/config' e

                  Nuxt3とvitestでユニットテスト実行環境を作った備忘録
                • lumeで個人サイトを作り直した - はいばらのブログ

                  フロントエンド技術に触れる機会を作るために、定期的に個人サイトを作り直している。 今回はVue.jsのSPAから、Deno向け静的サイトジェネレータであるlumeを使った構成にごっそり変えた。 lume.land SSGをしっかり触るのは初めてだったこともあり、ひとまずlumeの公式サイトにあるドキュメントを読んだ。 こういう文書が整理されているのは本当にありがたい。 手を動かしながらチュートリアルを進めてみて、最近のNext.jsやNuxt.jsよりずっとシンプルで、Jekyllなどよりも取り回しが良く拡張性が高い、というような感触があった。 今回はこのような構成で作ってみた。 静的サイトジェネレータ: lume テンプレートエンジン: JSX CSSフレームワーク: Tailwind CSS ホスティング: Cloudflare Pages またTailwindの実装集であるHyper

                    lumeで個人サイトを作り直した - はいばらのブログ
                  • ブログをリニューアルしました

                    お久しぶりの更新です。ブログをリニューアルしました。 お久しぶりです。 久しぶりのブログ更新です。 ブログのデザインをリニューアルしたいなーと思い立ち、リニューアルを推進するために自分自身にブログのデザインを刷新するまではブログを更新しないぞ、という制約をかけてました。 その過程で TTIL なんていう雑メモ置き場的なサブ・ブログを初めてしまい、本家のこちらの更新をサボっておりました。 が、一念発起してブログをリニューアルしました。 技術スタック ブログの技術スタック…という程大きな技術スタックの変化はないのですが、今回のリニューアルで使った技術を紹介します。 (🆕 が付いているのが今回のリニューアルでの新たな取り組み) Blog Engine: Jekyll Hosting: GitHub Pages 開発中のホスティング: Cloudflare Pages (🆕) CSS: Tai

                      ブログをリニューアルしました
                    • 「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 - レバテックラボ(レバテックLAB)

                      執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

                        「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 - レバテックラボ(レバテックLAB)
                      • karateでWebUIのテストをする。seleniumとのソース比較も - Qiita

                        はじめに 前回はkarateを使用してREST APIのテストを書きました。次はWebUIのテストの書き方をまとめます。REST APIの書き方とほとんど同じなので、前回と今回の2つを合わせるとkarateの魅力を感じられると思います。 環境 IntelliJ:2020.1.3 Java:11 Gradle:7.0 環境作成 前回の環境作成と同じなので、そちらを確認してください。 テストソースの作成 前回と同様karateを使用するので、必要なものはJavaファイルとfeatureファイルの2つで変わりません。 Javaファイルの作成 Javaファイルは前回とほとんど同じです。ただ、今回はテスト前に環境変数をリセットするようにしていますが、あまり関係ないです。(最終的には設定ファイルで設定するはずです) package com.karate.ui; import com.intuit.ka

                          karateでWebUIのテストをする。seleniumとのソース比較も - Qiita
                        • E2Eテストの自動化観点でのブラウザ操作のけるSelenium周りの言葉の定義と関連事項の整理 - Qiita

                          概要 似たような言葉があって混乱したので、整理することを目的としたメモ。 あくまでも私が理解し易い視点、であることに注意。 Webアプリケーションの画面に対するE2Eテストの実行を自動化する実装場面が検討の対象。テストコードとノーコードツールで分岐することを検討したうえで、テストコードでの実装を選択する。その実装に用いるライブラリを比較検討する中で、Selenium周辺の言葉の定義の整理を目的とする。 ツールの比較そのものではなく、言葉の整理が目的であることに注意。 整理の起点 次の通り。 E2Eテストとして、WebアプリケーションのUIに対する機能テストを対象とする テストを自動化することは、つまりコマンドラインから実行出来ること、を意味する コマンドラインからUIテストを実行する方法として、次の2つがある (A) テストコードを用いて、ブラウザーを操作するためのAPIを呼び出す (B)

                            E2Eテストの自動化観点でのブラウザ操作のけるSelenium周りの言葉の定義と関連事項の整理 - Qiita
                          • UV Study : Vue.js LT会 (2024/04/23 19:30〜)

                            概要 Vue.jsをテーマにしたLT会です。 Vue.jsについて、各自興味のあるテーマを持ち寄ることで知識を深めていくことを目的としています。 発表内容は Vue.jsにまつわる技術情報であればなんでも構いません。 オフライン&オンラインのハイブリッド開催 当LT会はオフライン&オンラインのハイブリッド開催となります。 オフライン参加をご希望の方は、オフライン参加枠でのご応募をお願い致します。 なお、LT登壇者の方はアンケートにて、参加方法の選択をお願い致します。 登壇者募集 登壇者を募集します テーマはVue.jsに関連すればなんでもOKです! 登壇時間は1枠10分です。 登壇者の方は当日までに発表資料としてスライドなどをご用意ください。 なお、この登壇枠では質疑応答の時間を設けません。 ご質問、感想等はLT会後の懇親会にてお話いただければと思います。 登壇は、Zoomによるオンライン

                              UV Study : Vue.js LT会 (2024/04/23 19:30〜)
                            • React Testing Libraryで要素を取得する方法 - Qiita

                              はじめに ReactTestingLibrary(RTL)を利用する際に、要素を取得する方法をまとめました。本記事では単純にレンダリングのテストを行っているだけに留まりますが、RTLを使ってテストを始める取っ掛かりとして参考になればと思います。 対象読者 Reactで開発してて、これからテストを導入したい人 サンプルリポジトリはこちらです(参考程度に) ① テストファイルの中でコンポーネントをレンダリングする。 RTLは、Render結果であるDOM構造をテストするので実際のユーザー行動に近いテストをし易いのが特徴です。 コンポーネントのユニットテストをするには、まずはテストファイル内にコンポーネントをimportしてレンダリングしてあげる必要があります。そのためには、render関数を使用します。 render 任意のJSXを受け取ってレンダリングする関数です。 render関数実行後、

                                React Testing Libraryで要素を取得する方法 - Qiita
                              • PlaywrightでVisual Regression Test実装する+便利そうなオプションの紹介 - Qiita

                                ✔ Do you want to use TypeScript or JavaScript? · TypeScript ✔ Where to put your end-to-end tests? · tests ✔ Add a GitHub Actions workflow? (y/N) · false ✔ Install Playwright browsers (can be done manually via 'npx playwright install')? (Y/n) · true 下記のファイルを指定階層(playwright_vrt)にインストールできます、これでplaywrightのインストールは完了です。playwright.config.ts内でデフォルトでChormium,Firefox,Webkit環境でのテストが指定されていますのでテスト内容によってここを修正する

                                  PlaywrightでVisual Regression Test実装する+便利そうなオプションの紹介 - Qiita
                                • Lightning TechTalks #2 〜フロントエンドで導入してよかったOSS〜 (2023/11/02 19:00〜)

                                  お知らせ connpassではさらなる価値のあるデータを提供するため、2024年5月23日(木)を以ちましてイベントサーチAPIの無料での提供の廃止を決定いたしました。 2024年5月23日(木)以降より開始予定の「connpass 有料API」の料金プランにつきましてはこちらをご覧ください。 お知らせ connpassをご利用いただく全ユーザーにおいて健全で円滑なイベントの開催や参加いただけるよう、イベント参加者向け・イベント管理者向けのガイドラインページを公開しました。内容をご理解の上、イベント内での違反行為に対応する参考としていただきますようお願いいたします。 11月 2 Lightning TechTalks #2 〜フロントエンドで導入してよかったOSS〜 技術に関するいろんなネタを Light に話して盛り上がろう!

                                    Lightning TechTalks #2 〜フロントエンドで導入してよかったOSS〜 (2023/11/02 19:00〜)
                                  • UUIDをヒットさせる正規表現 - Qiita

                                    概要 UUIDをヒットさせるための正規表現をメモ的に記載しておく。 UUIDのフォーマット UUIDのフォーマットは下記である。

                                      UUIDをヒットさせる正規表現 - Qiita
                                    • gulp v5.0.0 リリース!およそ5年ぶりのアップデート - コハム

                                      gulp v5.0.0 タスクランナーであるgulpの新バージョン5.0.0がリリースされました! バージョンアップはおよそ5年ぶりとなります。 以下はリリースノートを抄訳したものです。 ⚠ 破壊的な変更点 新機能 バグ修正 その他の作業 ⚠ 破壊的な変更点 Node.js <10.13のサポート終了 デフォルトのストリームエンコーディングがUTF-8に変更 globbingパスにはanymatchライブラリが標準化。srcとwatchで同じ動作になりました 順序付けられたグロブのサポートを削除。chokidarのglobbingの実装と一致 すべてのグロブとパスがUnix形式のファイルパスに正規化 .gulp.*設定ファイルはJSバリアントのみ許可 gulp-cliからv4のアルファリリースのサポート終了 --verifyフラグを削除 --requireフラグを--preloadに変更(

                                        gulp v5.0.0 リリース!およそ5年ぶりのアップデート - コハム
                                      • Vitest で localStorage の単体テストを実装する - Qiita

                                        はじめに この記事では、Vitest というテストフレームワークで localStorage がどのように動作をするか確認していきます。 開発環境 開発環境は以下の通りです。 Windows11 VSCode TypeScript 4.9.5 React 18.2.0 Vite 4.1.5 Vitest 0.34.5 jsdom 22.1.0 テスト対象コードの実装 テストを実装する前に localStorage を利用したテスト対象となるコードを実装します。 export const BOOK_IN_RENTAL_KEY = "book-in-rental"; export const getBookInRental = () => localStorage.getItem(BOOK_IN_RENTAL_KEY); export const setBookInRental = (book

                                          Vitest で localStorage の単体テストを実装する - Qiita
                                        • Shiny WidgetをTypeScript+webpackで作成する際のセットアップ - Qiita

                                          概要 RShinyで使うWidgetを作成する際、デフォルトのテンプレートではTypeScriptを利用できないので、利用可能にするまでの設定を備忘録的に書き残します。 手順 packer::scaffold_widgetを実行しwebpack管理のテンプレートを作成する webpackを利用すると最終的なJavaScript実行ファイルを一つにまとめられます。 これを利用したテンプレート作成ライブラリであるpackerを利用して必要なファイルを作成します。 # 必要なパッケージのインストール install.packages("usethis") install.packages("packer") # テンプレートの作成(ライブラリ名は適宜読み替えてください) usethis::create_package("playground") packer::scaffold_widget("

                                            Shiny WidgetをTypeScript+webpackで作成する際のセットアップ - Qiita
                                          • Swagger StudioでAPI仕様書の作成とモックサーバー利用してみた - Qiita

                                            フロントエンド開発のためにモックサーバーを使いたかった フロントエンドのAPI実装をするにあたって、モックサーバーを作るためのツールを検索していたら、API仕様書作成ツールのSwaggerのサードパーティ製ライブラリのSwagger Studioで作成した仕様書のモックサーバーを簡単に利用できることを知った。 元々モックサーバー用のライブラリであるPrismが統合されているらしい。 GUIで直感的にAPI定義できる SwaggerではAPI仕様書をyamlファイルを書いて作成していくが、Swagger Studioを利用するとGUIで直感的に操作して定義を作成しそのコードを出力することができる。 実際に操作してみる まずアカウントを作成ます。 API Design & Documentation Management | Designing & Building OpenAPIs 自分のワ

                                              Swagger StudioでAPI仕様書の作成とモックサーバー利用してみた - Qiita
                                            • Tauri + Svelte + Milkdown でマークダウンエディタを作った - Qiita

                                              はじめに マークダウンエディターを作りました。 機能はめちゃくちゃシンプルで mdファイルダブルクリックで直接起動出来る タブ機能がある 前回起動していたタブを保持する 起動が爆速 WYSIWYGで使える WYSIWYG(アクロニム: ウィジウィグ)とは、コンピュータのユーザインタフェースに関する用語で、ディスプレイに現れるものと処理内容(特に印刷結果)が一致するように表現する技術[1]。What You See Is What You Get(見たままが得られる)の頭文字をとったもの を目標にしました。 (マークダウン版のサクラエディタみたいな感じ) ちなみに今回使った技術は全部ズブの素人なので、的はずれなコメントなどがあるかもしれません。 よろしくお願いします。 出来たもの 満足! 使ったもの Tauri Svelte Milkdown React(最初こちらにしてたけど、諦めてSve

                                                Tauri + Svelte + Milkdown でマークダウンエディタを作った - Qiita
                                              • フロントエンドパフォーマンス改善に取り組んだ話 - LIFULL Creators Blog

                                                こんにちは。エンジニアの北島です。普段は LIFULL HOME'S の売却査定領域でエンジニアリングを担当しています。 今回は既存アプリケーションのパフォーマンス改善に、フロントエンドの観点から取り組んだ話をします。 経緯 弊社のサービスでプライスマップという AI 査定による不動産価格を地図上で一気に見られるサービスがあります。 このサービスは 2015 年にローンチされ、当時は最新の技術を利用していたものの現在は老朽化が進んでいました。 私どもの部署では昨年このサービスの運用主幹となり、昨年度はバックエンドを弊社で運用しているコンテナオーケストレーション基盤keelに載せ替え、インフラ改善を中心に取り組んで参りました。 今回は既存のアプリケーションのフロントエンドパフォーマンス改善を、Lighthouse を用いて行った話をしていこうと思います。 現状確認 このプライスマップにおいて

                                                  フロントエンドパフォーマンス改善に取り組んだ話 - LIFULL Creators Blog
                                                • Web Share API を使った共有機能とフォールバック

                                                  Web Share API を使った共有機能とフォールバック 元々このブログでは記事ページに、各ソーシャルメディアのインテントへリンクするアイコンを設置していた。これを Web Share API を使ってより汎用的な実装に変更した。 ソーシャルメディアには GET でアクセスできるインテントが用意されていることが多い。これを用いた Web ページの共有機能は従来からある方法で、これ自体に大きな課題はないが、より利用者の OS コンテキストに適したシェア体験を実現する Web Share API が数年前に発表されている。 Web Share API はシェアする文言および URL をパラメータとして渡すことで、OS レイヤで実装される共有メニューを呼び出せる。モバイルではネイティブアプリの共有機能で呼び出されることも多いので、見慣れた UI だろう。このブログはしばしば技術的な実験場とし

                                                    Web Share API を使った共有機能とフォールバック
                                                  • Rust UIライブラリ「Dioxus」をReact+Typescriptと比較してみた - Qiita

                                                    はじめに これは 株式会社 RetailAI X Advent Calendar 2022 の 9 日目の記事です。 前回は MLエンジニアである@atsukishさんの【MLOps】Vertex AIによるモデルモニタリングサービスの構築でした。 本日は「Rust UIライブラリ「Dioxus」をReact+Typescriptと比較してみた」です。 フロントエンドエンジニアの私は最近Rustに興味を持っているのですが、自分の特に興味のあるフロントエンド分野で学習できるライブラリ等がないかと探していたところDioxusを見つけました。 Reactを触ったことがある方なら割と違和感なくRustの学習ができるのではないかと思いましたので共有します。 Dioxusとは? DioxusはRustでGUIアプリケーションを構築できるクレート(Rustの世界ではライブラリ、フレームワークのことをクレ

                                                      Rust UIライブラリ「Dioxus」をReact+Typescriptと比較してみた - Qiita
                                                    • SPA, SSG, SSRはどんなアプリケーションに向いている? (前編)|ファンタラクティブ株式会社

                                                      こんにちは!ファンタラクティブPRの石原です。 ファンタラクティブでは毎週、代表の井村とデザインマネージャーの中村が話すPodcast「FUNTERACTIVE Radio(通称ファンタラジオ)」を配信しています。 本記事は、Podcastで配信したエピソード「#41 SPA, SSG, SSRはどんなアプリケーションに向いている?(前編)」の書き起こしです。 ゆっくり内容を追いたい方はこちらの記事を、会話を聴く方がわかりやすいという方はぜひPodcastを聴いてみてくださいね。 (以下のリンクはSpotifyですが、Apple PodcastやGoogle Podcastなどでもお聴きいただけます。) SPA、SSR、SSGはそれぞれ何の略でどういう定義?井村:「今日はファンタラクティブの実際の仕事として実装の話とか、あとプロジェクトのマネジメントの話とかいろいろあって、実装の話をしたい

                                                        SPA, SSG, SSRはどんなアプリケーションに向いている? (前編)|ファンタラクティブ株式会社
                                                      • GraphQLのSchemaを元にサクッとモックサーバーを作る - Qiita

                                                        概要 GraphQLでクライアントの開発をしており下記のような理由からモックサーバーが欲しくなりました。 バックエンドの開発を待たずにGraphQLのSchemaベースで非同期でフロントエンドの開発を行いたい テスト用にAPIのモック サクッと良い感じにモックサーバー建てられないかな〜と思って調べてみました。 作りたいもの GraphQLのSchemaを正にして、可能な限り自動で型セーフなMSWのハンドラ+データ作成関数を作りたい。 これによってShemaの変更に対してモックサーバもすぐに追随できる+モックサーバのメンテナンスもしやすいのかなと思いました。 ざっくりと導入手順 下記にやったことをざっくりと書いていきます。 まず、下記のようなGraphQL SchemaとQueryがあると仮定します。 Schema type Query { getUser(id: ID!): User }

                                                          GraphQLのSchemaを元にサクッとモックサーバーを作る - Qiita
                                                        • zodとyupのinferを比較してみる

                                                          import { z } from "zod" const userSchema = z.object({ name: z.string(), age: z.number(), }) type User = z.infer<typeof userSchema> // type User = { // name: string; // age: number; // } import * as yup from "yup" const userSchema = yup.object({ name: yup.string().required(), age: yup.number().required(), }) type User = yup.InferType<typeof userSchema> // type User = { // name: string; // age: numb

                                                            zodとyupのinferを比較してみる
                                                          • 独断と偏見で語る ライブラリ化アンチパターン

                                                            独断と偏見で語る ライブラリ化アンチパターン Mar. 13 2024 - Masaki Hara @ Tech Lunch

                                                              独断と偏見で語る ライブラリ化アンチパターン
                                                            • 【フロントエンド】GraphQLを導入する時はFragmentを理解しよう - Qiita

                                                              はじめに GraphQLを用いたフロントエンド開発は多くなってきているように思います。 フロントエンドから柔軟にデータを取ってくることができるということは、今までバックエンドが担保してきていた部分をフロントエンドが担わないといけなくなった ということを意味します。 保守性をちゃんと考えないといけない。 ということですね。 今回は、Fragmentについての話 Fragmentとは? GraphQLにおけるFragmentとは複雑なクエリを小さくまとめ上げるために生み出されました。 これはとてもComponentの概念に似ていますね。 僕たちはComponentという小さな単位に分割し、それを組み合わせることで複雑なアプリケーションを構築しています。 これと同じです。 データをFragmentという小さな単位に分割し、複雑なクエリを役割ごとに分割してやろう。 という話です。 どうやって実現す

                                                                【フロントエンド】GraphQLを導入する時はFragmentを理解しよう - Qiita
                                                              • Yewを使ってRustでフロントエンド入門してみた - Qiita

                                                                概要 最近趣味でRustをやっています。 そのなかで、WASM(WebAssembly)の技術を使ってRustでフロントエンド開発が行えると知ったので少し試しました。 今回はYewというフレームワークのチュートリアルを参考に、環境の立ち上げから簡単なカウンターボタンを表示するところまでやってみます。 執筆者について 普段はGoでバックエンド開発をしています。 フロントエンドはたまにAngularをやる程度であまり詳しくありません。 むしろ、昔ながらのPHPのテンプレートエンジンとjQueryをつかった開発の方が長いです。 Rustについても経験浅なので不正確な記述などあればご指摘ください。 なぜブラウザでRustが動かせるのか WebAssemblyのおかげ https://webassembly.org/ 当初はWebブラウザ上でJavaScriptで行うには負荷が高い処理を高速で実行さ

                                                                  Yewを使ってRustでフロントエンド入門してみた - Qiita
                                                                • 【Rust / GLSL / WebAssembly】Rust + WebAssembly ではじめる WebGL 入門【前編】 - Qiita

                                                                  【Rust / GLSL / WebAssembly】Rust + WebAssembly ではじめる WebGL 入門【前編】WebGLGLSLRustWebAssembly ※ この記事は 2022年8月 に作成したものを一部改稿したものです。 WebGL (Web Graphics Library) はハードウェア向けの 3DCG ライブラリである OpenGL のWeb版で、ブラウザ上で GPU アクセラレータを用いて 2D や 3D の CG を描画できる技術です。 JavaScript の Web API として実装されているためプラグイン等は不要で、今日ではスマートフォン向けを含むほとんどのブラウザが対応しています。 WebGL を利用してWebページ上で 3DCG を描画するにあたり、普通に JavaScript で実装するだけではやや面白味に欠けるので、WebAssemb

                                                                    【Rust / GLSL / WebAssembly】Rust + WebAssembly ではじめる WebGL 入門【前編】 - Qiita
                                                                  • GitHub ActionsのみでVRTを実現したい人へ - Qiita

                                                                    著者の自己紹介 著者はイナバくん。 株式会社ニジボックスのフロントエンドエンジニア。 登山家でもあり、禁煙家でもあります。 某アパレル企業に2年ほど常駐していて、自社プロダクトを開発しております。 この記事で話すこと GitHub Actionsを使ってVRTを実現する方法をお話しします。 この記事で話さないこと VRTとは何か? について GitHub Actionsの基本的な使い方や文法について storycap・reg-suitなどの基本的な使い方について また、VRTの構成として有名な下記のサービスたちは使っていません。 Chromatic: Storybookのホスティングサービス AWSのS3: VRTのスクショやレポートのアップ先としてよく使われます あくまでGitHubのみでVRTを実現する方針となります。 VRT導入の背景 私の参画しているプロダクトでは、フロントエンドは

                                                                      GitHub ActionsのみでVRTを実現したい人へ - Qiita
                                                                    • URL が有効かどうかを判定する `URL.canParse()` メソッド

                                                                      URL が有効かどうかを判定する `URL.canParse()` メソッド 2023.10.15 `URL.canParse()` メソッドは与えられた URL 文字列が有効であるかどうかを判定します。URL 文字列が有効であれば `true` を、無効であれば `false` を返します。これは URL コンストラクターを用いた `try...catch` 文による判定よりも簡潔に記述できます。 URL.canParse() メソッドは 2023 年 10 月 15 日現在 Firefox 115、Safari 17 以降でのみ利用可能です。 JavaScript において URL が有効かどうか判定するために、URL コンストラクター を使用する方法がよく知られています。 URL コンストラクターは与えられた URL 文字列が有効でなければ例外をスローします。このため、例外がスローさ

                                                                        URL が有効かどうかを判定する `URL.canParse()` メソッド
                                                                      • Vue/Nuxt.jsのcomputedで引数を取れる?意味ないかも

                                                                        Vue/Nuxt.jsでcomputedってよく使いますよね。パフォーマンスを考えるとcomputedで書けるなら書きたいと思うのではないでしょうか。 この記事では、引数ありのcomputedを深堀りしました。Vue/Nuxt.jsに興味がある人は最後までご覧ください。 Vue/Nuxt.jsのcomputedのメリット まずはcomputedをざっくりおさらいしていきます。 computedとは 算出プロパティは、リアクティブな依存関係が更新されたときにだけ再評価されます。 引用元: Vue.js公式 簡単に言うと、値に変化がない場合は呼ばれないということ。 computedのメリットがわかるサンプルコード ボタンをクリックするとdataのnumの値を+2していくだけのサンプルコードです。 <template> <div> <h2>computedを調べる</h2> <p>sample1

                                                                          Vue/Nuxt.jsのcomputedで引数を取れる?意味ないかも
                                                                        • エクスペディア、マイクロ・フロントエンドとGraphQL最適化でフライト検索を高速化

                                                                          Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                            エクスペディア、マイクロ・フロントエンドとGraphQL最適化でフライト検索を高速化
                                                                          • 入門Laminar: 0. もうひとつの世界のReact -- Laminarをビルドする - Lambdaカクテル

                                                                            この記事はScala.jsのUIライブラリであるLaminarをステップバイステップで学習していこうという記事の第一弾だ。 いくつかの記事に分けて、現時点で自分が知っているLaminarの知識や知見をまとめていくつもりだ。 あまりどのような構成にするかは考えていないけれど、Scalaにある程度親しんでいる人がLaminarで基本的なアプリケーションを書けるようになることを目指す。 今回は、Laminarの紹介と初歩的な使い方、ビルド方法を説明する。 Laminarとは Scala.js -- TypeScriptの対抗馬 Laminar 最小のLaminarプロジェクト ビルド定義 DOMを組み立てる イベントストリーム 動作確認用HTMLファイル 最小のLaminarプロジェクトをビルドする まとめ Laminarとは Laminar(発音はラミナー)とは、Scala.jsのために開発さ

                                                                              入門Laminar: 0. もうひとつの世界のReact -- Laminarをビルドする - Lambdaカクテル
                                                                            • 【JavaScript】URLのクエリパラメーターの作り方と取得や削除する方法 - No Change No Life I/O

                                                                              こんにちはフロントエンドエンジニアのまさにょんです! 今回は、JavaScriptでURLのクエリパラメーターの作り方と取得や削除する方法を解説していきます。 URLのクエリパラメーターとは? クエリ文字列(URLパラメーター)とは、サーバーに情報を送るためにURLの末尾につけ足す文字列(変数)のことです。 クエリパラメーターのルールは? クエリパラメーターの形は、次のようにルールが決まっています。 パラメーターは、パスの後に「 ? 」を付けてから、書き始める。 各パラメーターは、その名前(key)と値(value)を「 = 」で繋げて記述する。 複数のパラメーターをつける場合は、パラメーター同士を「 & 」で区切る。 「 # 」記号で始まるページ内Linkを付ける場合は、すべてのクエリパラメーターよりも後につける。 URLSearchParams() を使って、クエリパラメーターを作る方

                                                                                【JavaScript】URLのクエリパラメーターの作り方と取得や削除する方法 - No Change No Life I/O
                                                                              • Vuex から Pinia への移行を行いました - every Tech Blog

                                                                                はじめに この記事は、every Tech Blog Advent Calendar 2024(夏) の1日目の記事です。 DELISH KITCHEN開発部の羽馬(@NaokiHaba)です。 この記事では、DELISH KITCHEN チラシ で使用している Vuex の Pinia への移行について紹介します。 chirashi.delishkitchen.tv 本記事では、これらの知識があることを前提に説明を進めます。 Vue.jsの基本的な知識 Nuxt.jsの基本的な知識 Vuexの基本的な知識 Piniaとは Pinia(ピーニャ)は、Vue.js用の新しい状態管理ライブラリです。Vuexの次のイテレーションとして開発が始まり、Vuex 5に組み込むことを想定していたアイデアを多く取り入れています。 pinia.vuejs.org Piniaは、Vuexと比較して以下のような

                                                                                  Vuex から Pinia への移行を行いました - every Tech Blog
                                                                                • Nuxt.jsにて表示する画像を圧縮してパフォーマンスを向上する方法 - Qiita

                                                                                  概要 今回はポートフォリオ作成した際にフロントのパフォーマンス改善した方法の一つを紹介します。 結論から言うと、@aceforth/nuxt-optimized-imagesというライブラリを追加し、表示する画像を圧縮することで パフォーマンス改善を行います。 環境 / バーション

                                                                                    Nuxt.jsにて表示する画像を圧縮してパフォーマンスを向上する方法 - Qiita