並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1545件

新着順 人気順

*next.jsの検索結果241 - 280 件 / 1545件

  • Next.js のローカル開発時に https を使う

    この記事は YAMAP エンジニア Advent Calendar 2020 の 10日目の記事となります。 はじめに 弊社のプロダクトの中のひとつに Next.js フレームワーク(以下 Next.js)を用いて実装しているプロダクトがあります。 このプロダクトで SNS 認証を実装する際、ローカル開発時に HTTPS を使いたかったため、これを調査しました。 本記事ではこの Next.js のローカル開発時に HTTPS + localhost、つまり https://localhost:3000(port はなんでもよい)で開発をするための Tips を紹介いたします。 環境 Mac OS 10.15.7 Catalina 本題 Certificates を生成する 下記のコマンドをターミナルに貼り付けてエンターキーを押します。 openssl req -x509 -out loca

      Next.js のローカル開発時に https を使う
    • 【コードベースで比較する】React VS Next.js

      はじめに 今回の記事では、類似しているWeb技術であるReactとNext.jsをコードベースで比較する。 対象とする読者 ReactとNext.jsの違いがわからない人 技術選定で、ReactとNext.jsのどちらにしようか悩んでいる人 Reactとは React(リアクト)は、Meta(旧Facebook)が開発しオープンソースとして公開しているJavaScriptライブラリで、ユーザインターフェースの構築に特化している。 Reactの特徴は以下の通りだ。 コンポーネントベース:Reactの中核となる考え方は、UIを再利用可能なコンポーネントに分割することにある。これにより、大規模なアプリケーションでも管理を簡単にできる。 仮想DOM:Reactは仮想DOMを使ってページの更新やレンダリングを行う。 宣言的UI:Reactは宣言的UIを採用しており、アプリケーションの各状態に対してU

        【コードベースで比較する】React VS Next.js
      • Next.js + Google Analytics でページビューイベントが二重送信されてしまう問題に対処する

        Next.js で Google Analytics を使っているのですが、ページビューイベントが重複して計測されていることが多かったので調べてみました。 前提として、Next.js 公式の examples/with-google-analytics の通りに実装している場合、今回の事象が発生します。(2021/3/19 時点) 不具合という訳ではないので公式の example が間違っているという訳ではありませんが、割と発生して困る人がいそうなので、個人的な対処方法をメモしておきます。 起こった問題 クエリストリング(URLパラメータ)付きURLで静的生成ページにアクセスすると、 Google Analytics にページビューイベントが二重で送信されていました。発生するのは静的生成されたページで、SSRのページでは発生しません。 (補足: そもそも静的生成ページになぜURLパラメータ

          Next.js + Google Analytics でページビューイベントが二重送信されてしまう問題に対処する
        • 2022年のNext.jsのアップデートを振り返る

          はじめに 2022年も残すところあと3日となりました。 皆様いかがお過ごしでしょうか? 筆者は本日が仕事納めです。 今回は忘年記事として2022年のNext.jsのアップデートを振り返っていきたいと思います。 早速ですが以下の通り、2022年は5回も大きなアップデートがありました。 12.1(2022/02/18) 12.2(2022/06/29) 12.3(2022/09/09) 13(2022/10/26) 13.1(2022/12/23) それではそれぞれのアップデートを振り返っていきましょう。 12.1(2022/02/18) オンデマンドISR(ベータ版):getStaticPropsによるページの即時再検証 SWCへのサポート拡充:styled-components、Relayなど next/jestプラグイン:SWCによるゼロコンフィグのJestサポート SWCによる高速な最

            2022年のNext.jsのアップデートを振り返る
          • Rust/ActixWeb + React/Next.js で GraphQL を使ってビデオチャットアプリを構築してみた

            今回、GraphQLバックエンドの構築にはAsync-graphqlを使用しています。 RustのGraphQLライブラリとして、もうひとつ有名なJuniperも存在しますが、 Async-graphqlの方が機能が豊富で、実現できる仕様の幅が広いです。 また、不具合が非常に少なく、この手のライブラリを使用する際に稀に発生する、 「ライブラリの不具合を回避するためのハック的な実装」みたいなものは今回一切必要ありませんでした。 このライブラリの使い勝手がよかったがために、 ミニマムに抑えようとしていたアプリ機能が少し大きくなった気がします。 ■ セッション管理について 本アプリにおいてセッションの管理は、一般的なWebアプリに用いられるものと同じ、 サーバーでセッションデータを保持し、紐づくセッションIDをクライアントのCookieに保存する方式をとっています。 この手のアプリ構成において、

              Rust/ActixWeb + React/Next.js で GraphQL を使ってビデオチャットアプリを構築してみた
            • Next.jsプロジェクトに追加したい設定11個 - Qiita

              pnpmについて 私は普段、パッケージマネージャーにnpmではなくpnpmを使っています。npmよりパッケージインストールが高速であったり、ちょっと良い機能が付いていたりします。1 この記事の内容のほとんどはnpmとpnpmのどちらでも問題ないように書いているつもりですが、念のため前提として紹介させていただきます。 create-next-appの実行(オプション追加) create-next-appにはいくつかオプションがあります。私はいつも以下のようにしています。 # pnpmの場合 pnpm dlx create-next-app ./some-directory --ts --no-tailwind \ --eslint --app --src-dir --import-alias '@/*' # npmの場合 npx create-next-app ./some-director

                Next.jsプロジェクトに追加したい設定11個 - Qiita
              • Firebase CLIのNext.jsデプロイ対応について調べる

                Firebase HostingがNext.jsのデプロイに対応した[1] と聞きつけ、Next.jsビルドツール好き[2] [3] なので様子を見てきました。 のリポジトリを中心に調べてみます。 Firebase CLI framework-awareness とは フレームワークサポートを付与するためのFirebase CLI のアドオン。 Firebaseプロジェクトの構成に応じて、Google Cloudのリソースを構築する。 現在Next, Nuxt2/3, AngularをサポートしていてCloud Functionsにこれからのフレームワーク機能をサポートするエンドポイントを自動でデプロイしてくれる。 内部アーキテクチャ next export で .next/ ディレクトリができる firebase-frameworks.build() がプロジェクト構造を解析してフレーム

                  Firebase CLIのNext.jsデプロイ対応について調べる
                • GitHub - blitz-js/blitz: ⚡️ The Missing Fullstack Toolkit for Next.js

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    GitHub - blitz-js/blitz: ⚡️ The Missing Fullstack Toolkit for Next.js
                  • Next.jsで戻る厨を満たすrecoil-sync-next

                    以前、Next.jsのスクロール位置復元について記事を書きました。 上記記事でSPAとMPA(Multi Page Application)における、ブラウザバック/フォワード時のスクロール位置復元について言及しました。 MPAではスクロール位置がブラウザによって復元されることがある(ブラウザの実装に依存) SPAではこれらが軽視されがち Next.jsにおいても、デフォルトでは復元されない(ChromeでSSGページなど一部条件下では復元される) Next.jsではexperimental.scrollRestorationを有効にするとスクロール位置をsession storageに保存し復元する これらと同様に、ブラウザバック/フォワード時のUI復元についても軽視されがちなものの1つです。最近もこの手のUI体験の悪さについて、問題提起がされ話題になりました。 ブラウザバック/フォワー

                      Next.jsで戻る厨を満たすrecoil-sync-next
                    • Next js v14 で考える開発チームの事業的貢献 - とろろこんぶろぐ

                      はじめに 今年の 2023年5月に Next.js の v13.4 がリリースされ App Router が Stable になり Vercel 推奨の実装方式となりました。 さらに10月 Next Conf にて、 Next.js v14 がリリースされ App Router を代表する新機能である Server Actions が Stable になりました。 App Router はこれからのWeb開発の未来を担うフレームワークになっていくことが予想されており注目度の高い技術です。一方、これまでの Pages Router からの変更点の多さ、機能の興味深さ、設計の複雑さ、動作の不安定さなども含め、さまざまな要因でいまでもたくさん議論になっています。 今後どこかのタイミングで App Router へ対応する必要があることは明らかなものの、技術の不安定さが気になる上に、ある程度規模の

                        Next js v14 で考える開発チームの事業的貢献 - とろろこんぶろぐ
                      • Dockerfileを書かずにNext.jsアプリケーションをCloud Runにデプロイする|GCP|開発ブログ|株式会社Nextat(ネクスタット)

                        こんにちは、ナカエです。 当ブログでも何度か紹介している Cloud Native Buildpacks はDockerfileを書くことなくコンテナイメージをビルドできる仕組みの一つです。 参考:Dockerfile不要!Cloud Native BuildpacksでLaravelアプリケーションのコンテナイメージを作成する Google Cloud Buildpacks Google Cloud Platformには Google Cloud Buildpacksとして Buildpacks への公式サポートが存在します。 参考: Google Cloud now supports buildpacks | Google Cloud Blog 以前のBuildpacksとCloud Runの組み合わせを紹介した記事では、Google Cloud BuildpacksがPHPのアプリケ

                        • Next.jsにnext/testmodeという概念が出現しMSW x Playwrightのテストがやりやすくなりそう

                          2023年8月15日にリリースされた Next.js v13.4.16から next/experimental/playwright next/experimental/playwright/msw が登場してテストがしやすくなりそう。というお話です! 前提条件 今回お話するのは、Next.js の開発サーバーに対してMSWによりAPI通信をモックしてPlaywrightで行うブラウザテストのことをお話します これまでは? Page RouterかつCSRに関して言えば、MSWでモックすることは可能でした。exampleとしてすでに公式が提供しているので、これをベースにセットアップすれば可能です 現状の課題 Page Router CSRの場合はブラウザ上のservice worker経由でmswが実行されています。なのでmswのserver.useを使うにはそこそこ工夫が必要です。 有志

                            Next.jsにnext/testmodeという概念が出現しMSW x Playwrightのテストがやりやすくなりそう
                          • 【Next.js】チーム開発までの環境整備手順

                            はじめに 初めまして、現在エンジニアをしながら起業をしてサービスを開発中の橋田至です。 私は今Swappyという同人誌のフリマサイトを開発中です。 初めは一人で開発をしていたのですが、開発すべき機能が多すぎることに気づき、共同開発者を募集しました。 その結果、現在約10名ほどのメンバーがアクティブに開発しています。 チーム開発の難しさ 一人で開発するなら自分だけがコードを読めて理解できたら良いです。 しかし、チーム開発となると統一されたコーディング規約やルールが必要になります。 今回は、個人開発レベルをチームで行う際の環境整備手順を記事にしました。 参考になれば幸いです。 技術スタック Next14(App Router) TypeScript Prisma tailwindcss daisy UI 他:MongoDB・Vercel・git,github・NextAuthなど pull_r

                              【Next.js】チーム開発までの環境整備手順
                            • 大規模メディアにおけるNext.js とVercelのレンダリングとキャッ シュ戦略について

                              at ジャムスタックチョットデキル!! シブヤ!! 大規模メディアにてOn-demand ISRとISRの費用対効果についてお話しさせていただきました。 ちょっと株式会社 https://chot-inc.com/ ジャムスタックチョットデキル!! シブヤ!! https://chot.connpass.com/event/272088/

                                大規模メディアにおけるNext.js とVercelのレンダリングとキャッ シュ戦略について
                              • Next.js API Route の実装時に同じファイルでクライアントコードも実装すると嬉しい…

                                tl;dr API Route でクライアント用のコードも一緒に実装すると型安全に実装しやすい ただしセキュリティは気をつけてね 発想 Next.js から Prisma ORM を利用する という記事で、 Next.js の getServerSideProps で prisma のコードを使う例を紹介しました。 これは pages というユニバーサルなエンドポイントで、クライアントとサーバー用のコードを両方記述しています。 import type { GetServerSideProps } from "next"; import prisma from "../lib/prisma"; type Props = { count: number; }; export const getServerSideProps: GetServerSideProps<Props> = async

                                  Next.js API Route の実装時に同じファイルでクライアントコードも実装すると嬉しい…
                                • 転職会議のフロントエンドパフォーマンス改善〜React/Next.jsでWeb Vitals健全化、スコア2.5倍改善を達成した手法の全て - LIVESENSE ENGINEER BLOG

                                  これは Livesense Advent Calendar 2022 DAY 15 の記事です。 はじめに 転職会議事業部エンジニアの、池田、犬島、佐藤、浜田です。 転職会議は、ユーザーの口コミ投稿によって成り立っている転職サイトです。 フロントエンドはReact/Next.jsによる独立したマイクロサービスとして切り出されており、BFFを通じてバックエンドのサービス群とAPI通信する構成をとっています。 サービスの性質上口コミを中心とした検索流入が重要であり、SEOの文脈でフロントエンドのパフォーマンス改善の必要性は認識されていましたが、機能開発や負債解消もあり、まとまった対応ができない状況が続いていました。 この状況を改善すべく、1年間継続的に改善に取り組み、Web Vitalsの健全化、パフォーマンススコアの大幅な改善を達成することができました。 本記事では、特に効果が大きかった改善

                                    転職会議のフロントエンドパフォーマンス改善〜React/Next.jsでWeb Vitals健全化、スコア2.5倍改善を達成した手法の全て - LIVESENSE ENGINEER BLOG
                                  • Next.jsのlayout.tsxで認証チェックすると情報漏洩するかも

                                    Next.jsの認証チェックどこでするか問題 基本的には middleware.ts で行うと思うのですが、肥大化を避けたり、ちょっとした共通処理は layout.tsx に書くこともあるでしょう。今回は layout.tsx で認証チェックをした場合に、実装によっては意図せず認証ユーザにしか表示したくない情報が漏洩してしまうかもしれないケースを紹介します。 問題のあるコード import { redirect } from "next/navigation"; export const dynamic = 'force-dynamic'; function currentUser() { // ここでセッションデータから認証ユーザ情報を取得する関数 // デモ用にログインしていないユーザを再現したいのでfalseを返す return false; } export default fun

                                      Next.jsのlayout.tsxで認証チェックすると情報漏洩するかも
                                    • Next.js 13 vs Remix: An In-depth case study

                                      Next.js 13 vs Remix: An In-depth case studyLast updated on 29 Sep 2023 by Prateek Surana   •   - min read When it comes to building web applications, React has been at the forefront for a while now, and its adoption continues to grow. Among the most common approaches to building web applications with React, Next.js stands out as one of the most preferred options. Next.js has also been in the limel

                                        Next.js 13 vs Remix: An In-depth case study
                                      • Cloudflare PagesにNext.jsをデプロイするとSSRが動作するようになったのでどうやって実現されたのかを調べた

                                        これまでの問題 Next.jsのEdge RuntimeはAPI RoutesやMiddlewaresのような単純なリクエスト/レスポンス変換を行う用途で提供されていてReact Componentをレンダリングする(SSR)にはNode.jsランタイム(主にNodeのStreams API)が必要だった[1]。 その上でCloudflare Workersの実行環境でSSRを実現するにはFastly Compute@EdgeのコンポーネントのようにNode.js APIの互換性問題を解決しプラットフォームに適合したグルーコードを生成することが要求された(fastly/next-compute-jsの内部アーキテクチャを調べるを参照)。 なのでCloudflare WorkersにAPI単体をデプロイ+Cloudflare Pagesにエクスポート済みの静的サイトをデプロイしてSPAで動か

                                          Cloudflare PagesにNext.jsをデプロイするとSSRが動作するようになったのでどうやって実現されたのかを調べた
                                        • Next.js をAWSにデプロイする Amplify vs Serverless - ちょっと株式会社 社員ブログ

                                          はじめにNext.js アプリケーションのデプロイ先の候補として Vercel が真っ先に挙げられますが、料金などの色々な都合でほかの場所にホスティングしたいこともあると思います。 SSG (Static Site Generation) で利用する場合は、幅広い選択肢がありますが、SSR (Server Side Rendering) と ISR (Incremental Static Regeneration) を使いたい場合の選択肢は、それほど多くありません。 AWSに SSR可能な Next.js アプリケーションをデプロイするメジャーな2つの方法 AWS Amplify と Serverless Next.js Plugin (Component) を紹介します。 サーバーレスなSSRとISRNext.jsのさまざまなレンダリング形態と特徴については、本記事では深掘りしませんが、

                                            Next.js をAWSにデプロイする Amplify vs Serverless - ちょっと株式会社 社員ブログ
                                          • 個人開発してるサービスをExpressからNext.jsにしたり、BusBoyを使った話しなど - maru source

                                            2017年から個人で開発しているTrickleというサービスがある。最近、これのバックエンド構成を変えたり、新機能追加などをした。技術的に目新しいものや凄いものはないけど、頑張ったのでその時の話を残しておく。 バックエンド Express → Next.js Multer → BusBoy Web版 GAE → Cloud Run クライアントアプリ React Nativeのアップグレード react-native-image-crop-picker → react-native-image-picker ソーシャルログイン アイコン変更 バックエンド Express → Next.js これまではExpressでモバイルアプリ向けのWeb APIを作っていたが、今回Web版も作るにあたり、Next.jsに移行した。 まずはこれまでのモバイルアプリ向けAPIをNext.jsのAPI Ro

                                              個人開発してるサービスをExpressからNext.jsにしたり、BusBoyを使った話しなど - maru source
                                            • 【備忘録】Next.js開発環境をDockerで構築(WSL2) - Qiita

                                              備忘録です WindowsでDockerを使ってNext.js開発環境を構築しようとすると、実はいくつかのトラップがあるのでその点も解決しつつ解説していこうと思います。 検証環境 Windows 22H2 VScode 1.78 Docker Desktop 4.19.0 さっそくやりましょう コンテナ定義 VScodeで作業用のフォルダを開いて、Dockerfileを作成しましょう

                                                【備忘録】Next.js開発環境をDockerで構築(WSL2) - Qiita
                                              • AWS AmplifyでNext.jsのISRを試してみる | DevelopersIO

                                                まえがき AWS AmplifyでついにNext.jsのISRに対応したようです。実際にやってみる。 Deploy and host server-side rendered apps with Amplify - AWS Amplify 少しハマったので備忘録も兼ねて。 Amplify + Next.jsをデプロイ Next.jsのプロジェクトを作成 yarn create next-app --typescript ✔ What is your project named? … next-sample-app Next.jsにISRのページを作成 サンプルでISRのページを新規作成します。簡単にタイムスタンプを表示し、5秒間キャッシュするようにします。 pages/isr.tsx import Head from 'next/head' import styles from '../s

                                                  AWS AmplifyでNext.jsのISRを試してみる | DevelopersIO
                                                • Blitz.js - The Missing Fullstack Toolkit for Next.js

                                                  // ---- ON THE SERVER ---- // app/projects/mutations/createProject.ts import { resolver } from "@blitzjs/rpc" import db from "db" import * as z from "zod" // This provides runtime validation + type safety export const CreateProject = z .object({ name: z.string(), }) // resolver.pipe is a functional pipe export default resolver.pipe( // Validate the input data resolver.zod(CreateProject), // Ensure

                                                    Blitz.js - The Missing Fullstack Toolkit for Next.js
                                                  • 「State of JavaScript 2023」公開。フロントエンドライブラリ利用率1位はReact、メタフレームワークはNext.jsなど、2万3500人のエンジニアが回答

                                                    JavaScriptに興味を持つ世界中のIT技術者2万3540人が回答したアンケートの結果をまとめた「State of JavaScript 2023」が公開されました。 回答者の国別分布を見ると米国が16%、フランスが7%、ドイツも7%、イギリス(UK)が5%、ポーランドが4%、ロシアが3%、カナダが3%などで、日本は2%(回答者280人)でした。 ここでは発表された内容から、多くの読者が興味を持つであろう、JavaScriptライブラリの人気など、結果の一部を紹介してみます。 フロントエンドフレームワークはReactが1位、2位にVue.js フロントエンドフレームワークの利用率ランキングはReactで、2位以下を引き離して8年連続1位、しかも利用率を伸ばしています。2位にはAngularを抜いてVue.jsが初めて入り、3位は昨年よりランクも利用率も落としたAngularとなりました

                                                      「State of JavaScript 2023」公開。フロントエンドライブラリ利用率1位はReact、メタフレームワークはNext.jsなど、2万3500人のエンジニアが回答
                                                    • View Transitions APIによるスムーズなページ遷移をNext.jsで簡単に試す

                                                      はじめに こんにちは、ziと申します。 今回は、発表からしばらく経ってしまいましたが、View Transitions APIを使ったNext.jsでのスムーズなページ・UI遷移を目指して、実装してみます。 ※もし間違いやより良い実装方法など見つけましたら、ご指摘ください! 🙇‍♂️ 今回実装した最終成果はこちらです。 また、コードはこちらにあります。 View Transitions APIとは? View Transitions APIとは、2023年4月11日現在Chrome 111とOpera 97(pre-release)以降で実装されている遷移のアニメーションを行うブラウザーAPIです。下記は、MDNからの引用です。 View transitions are a popular design choice for reducing users' cognitive load,

                                                        View Transitions APIによるスムーズなページ遷移をNext.jsで簡単に試す
                                                      • 【PHPと一緒だなんて言わないで】Next.js@13.4によるZero API Web Application

                                                        はじめに タイトルで大袈裟にZero API Web Applicationという名前をつけてしまいましたが、要するにNext.jsのversion13.4のServer ActionとReact Server Componentを活用してAPIを作らない・叩かないWeb Applicationを開発するというものです。 今回は趣味で作った麻雀のゲームを例に、Next.js@13.4でAPI要らずなアプリケーション開発及び、開発で得た知見を紹介できたらと思います。 補足ですが、今回開発したアプリケーションの概要としては、麻雀のさまざまな局面に応じて「あなたならどの牌を切る?」というアンケート型のゲームです。 話すこと 今回以下の二点に絞って知見を共有できたらと思います。 RSCとserver actionsでZero APIの実現 ファイルベースのOGP・favicon 成果物とその構成

                                                          【PHPと一緒だなんて言わないで】Next.js@13.4によるZero API Web Application
                                                        • AWS Amplify × Next.js で Server Side RenderingのデプロイおよびCI/CD環境を構築する

                                                          本記事では、AWS Amplify と Next.js を使って SSR 構成のデプロイ、および CI/CD の構築について考えていきたいと思います。 ※2021/05/19 更新 Amplify Console が SSR ホスティングをサポートしたので記事の内容を更新しました Amplify ConsoleがNext.jsで作成されたアプリのSSRに対応しました🎉 去年9月にAmplify LibrariesがNext.js/Nuxt.jsのSSR対応したので、SSRがAmplifyで完結できるようになります!https://t.co/igYF9Vz61a#AWSAmplifyJP — Jaga@AWS Amplify (@jagaimogmog) May 18, 2021 (参考) https://aws.amazon.com/jp/blogs/mobile/host-a-next

                                                            AWS Amplify × Next.js で Server Side RenderingのデプロイおよびCI/CD環境を構築する
                                                          • Next.js 13.4

                                                            Next.js 13.4 is a foundational release, marking stability for the App Router: App Router (Stable): React Server Components Nested Routes & Layouts Simplified Data Fetching Streaming & Suspense Built-in SEO Support Turbopack (Beta): Your local dev server, faster and with improved stability Server Actions (Alpha): Mutate data on the server with zero client JavaScript Since the release of Next.js 13

                                                              Next.js 13.4
                                                            • Next.js 13 Template と Layout の使い分け

                                                              Next.js 13には、LayoutとTemplateというよく似た機能が存在します。 この記事では、それぞれの特徴と使い分け方についてまとめてみました。 Layoutとは? Layoutは複数のページに渡って共有されるUIのことを指します。 特徴としては画面遷移が行われた際に、その状態を保持し、再レンダリングは行われません。またLayoutはネスト(入れ子)にして使用することも可能です。 Layoutの定義方法 appディレクトリ配下で layout.tsx ファイルを定義するとLayoutとして定義できます。 例えば、以下のようなLayoutを定義することができます。 // app/posts/layout.tsx export default function Layout({ children, }: { children: React.ReactNode; }) { retur

                                                                Next.js 13 Template と Layout の使い分け
                                                              • Next.js 11

                                                                As we announced at Next.js Conf, our mission to create the best developer experience continues with Next.js 11, featuring: Conformance: A system that provides carefully crafted solutions to support optimal UX. Improved Performance: Further optimizations to improve cold startup time so you can start coding faster. next/script: Automatically prioritize loading of third-party scripts to improve perfo

                                                                  Next.js 11
                                                                • Getting Started - Learn Next.js

                                                                  Go from beginner to expert by learning the foundations of Next.js and building a fully functional demo website that uses all the latest features.

                                                                    Getting Started - Learn Next.js
                                                                  • Next.js 製アプリケーションの CI の実行時間削減や安定性向上のために取り組んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                    こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、画面刷新を進めていく中で CI の実行時間が長く不安定になってしまい、開発生産性に大きな影響が出ていました。今回の記事では、CI の課題改善のために取り組んだことを紹介します。 目次 DOGO について CI を改善することになった背景 CI の改善のために取り組んだこと ビルド時に tsc を実行しない .next/cache を除いて、artifacts にアップデートする E2E テストをより多くの shard 数で分割する Playwright のブラウザのインストールをキャッシュする PR ではコード差分に関連するテストのみを実行する Hydration の挙動によってテストが flaky になっていた問題の解消 CI の改善の結果 今回取り組ま

                                                                      Next.js 製アプリケーションの CI の実行時間削減や安定性向上のために取り組んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                    • Next.js/Prisma/GraphQL Code Generatorを使ったモダンなWeb開発技術の解説書が発売/『Next.js、Prisma、GraphQL Code Generatorで作るフルスタックWebアプリケーション』【Book Watch/ニュース】

                                                                        Next.js/Prisma/GraphQL Code Generatorを使ったモダンなWeb開発技術の解説書が発売/『Next.js、Prisma、GraphQL Code Generatorで作るフルスタックWebアプリケーション』【Book Watch/ニュース】
                                                                      • Next.js App Router で Keycloak と @auth0/nextjs-auth0 を利用してマルチテナント認証機能を実装する - Uzabase for Engineers

                                                                        初めまして、 @takano-hi です。 2023年2月に AlphaDrive にジョインして、主にフロントエンド領域を中心に設計・実装などの業務を担当しています。 最近、Next.js のプロジェクトを新たに立ち上げる機会があり、せっかくなので App Router を採用しました。 そのプロジェクトの認証機能の実装に当たり、今まで他プロジェクトでも利用していた Keycloak と @auth0/nextjs-auth0 の組み合わせを試したところいくつかの困難に遭遇したので、その解決方法についてまとめようと思います。 環境 next v13.4.9 @auth0/nextjs-auth0 v3.1.0 keycloak v20.0.1 ライブラリの選定背景 私が所属しているチームでは、認証基盤(IDプロバイダー)に Keycloak を利用しています。 Keycloak は Op

                                                                          Next.js App Router で Keycloak と @auth0/nextjs-auth0 を利用してマルチテナント認証機能を実装する - Uzabase for Engineers
                                                                        • Next.jsのISRを独自に構築する ~ Cloudflare Workers編(Cache APIの注意点) ~

                                                                          Next.jsにはIncremental Static Regeneration(以降: ISR)というレンダリングの仕組みが存在します。ところがこれを利用するにはVercel上でNext.jsを使用しないと完璧な動作をしないことは知られています。ですが、このISRの仕組みは従来のSSRよりサーバの処理コストはもちろん、キャッシュという仕組み上レスポンスにも非常に効果のあるものです。 今回はこのISRを独自に構築するための技術を記事として起こしていきます。 本記事の続きとなるものはこちらに記載しておりますので、合わせて御覧ください。 【前提条件】 ISRが何という説明は本記事では行いません。 システム構成上、1記事ですべてを説明するにはボリュームが大きいので複数記事に分けさせて頂きます。 本記事で詳細するシステム構成には一部成約が存在します。 使用するNext.jsもしくはそれに準ずるもの

                                                                            Next.jsのISRを独自に構築する ~ Cloudflare Workers編(Cache APIの注意点) ~
                                                                          • Next.jsのReact Hookへの最適化は一体何をしているのか - tosuke

                                                                            これらの変換はビルトインなhookに対してconst [a, b] = useState(...)をconst {0: a, 1: b} = useState(...)にするが,これが一体何を意味しているのかわからなかったtosuke.icon

                                                                              Next.jsのReact Hookへの最適化は一体何をしているのか - tosuke
                                                                            • react-apollo と next.js を使った最速 GraphQLアプリケーション(+モックサーバー)実装 - Qiita

                                                                              react-apollo を試しながらガチャガチャやっていると、モックサーバーなどを含め、なかなか体験が良かったので、紹介します。 こっちも参照 世のフロントエンドエンジニアにApollo Clientを布教したい - Qiita 今回書くコードの動いてる例は https://github.com/mizchi-sandbox/graphql-playground を参考にしてください。 git clone して yarn install; yarn start で動くはず。 ゴール 最終的にこんな感じのクライアント実装(next.js)が動くようになります。 import React from "react"; import { Query } from "react-apollo"; import gql from "graphql-tag"; const GET_USER = gql

                                                                                react-apollo と next.js を使った最速 GraphQLアプリケーション(+モックサーバー)実装 - Qiita
                                                                              • Next.js の Error を丁寧に扱う

                                                                                Next.js には組み込みのエラーフォールバック機構が存在します。pages/404.tsxとpages/500.tsx、Unhandled Error を捉えるpages/_error.tsxが組み込みフォールバックです。https://nextjs.org/docs/advanced-features/custom-error-page 実アプリケーションにおいてはこれだけでは不十分なケースが多く、意図的なもの・そうでないものをハンドリングしログ収集に繋げるなど、きちんとエラー設計をしたいところです。 TypeScript 4.4 で try catch の推論が変更になった 話が少しそれますが、TypeScript 4.4 で try catch 文の catch 引数errの推論がanyからunknownに変更になりました。この変更はuseUnknownInCatchVariab

                                                                                  Next.js の Error を丁寧に扱う
                                                                                • 話題のゼロランタイムなCSS-in-JSライブラリ「Panda CSS」をNext.jsに導入してみた

                                                                                  Panda CSSとは はじめに、今回のメインテーマとなるPanda CSSについて簡単に紹介します。 CSS-in-JS with build time generated styles, RSC compatible, multi-variant support, and best-in-class developer experience Panda CSSとは、上記公式サイト冒頭にもあるようにパフォーマンス面の課題をクリアしつつ、最高クラスの開発体験も両立したCSS in JSライブラリとなっています。 (最近ではNext.jsのReact Server Componentsが安定版になったこともあり)従来のようにランタイムCSS in JSを利用することが推奨されなくなってきている中、Chakra UIと同じ開発元によって、ゼロインタイムを実現したPanda CSSが新たにリリー

                                                                                    話題のゼロランタイムなCSS-in-JSライブラリ「Panda CSS」をNext.jsに導入してみた