並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 350 件 / 350件

新着順 人気順

asyncの検索結果321 - 350 件 / 350件

  • 初めてのTypeScript

    TypeScriptの本格的な入門書。TypeScriptは、世界で最もよく使われ、かつ最も好まれているプログラミング言語の1つです。本書では、JavaScriptの基礎的な知識のあるプログラマーを対象に、「型」や「型システム」の基本から、明快かつ包括的にTypeScriptを解説します。TypeScriptはバグやタイプミスを防ぎ、コードを読みやすくするのに有用なだけでなく、JavaScriptがどのように動くべきかを宣言し、それを維持するのに役立つ優れたシステムです。読者は本書を読むことで、TypeScriptの基礎と最も重要な機能をマスターできるでしょう。 賞賛の声 監訳者まえがき まえがき 第I部 TypeScriptの概念 1章 JavaScriptからTypeScriptへ 1.1 JavaScriptの歴史 1.2 バニラJavaScriptの欠陥 1.2.1 コストのかかる

      初めてのTypeScript
    • ソケットAPIが遅すぎる?新たなio_uringを試す!

      新しいAPIが作られるたびに、私たちは、古いAPIを置き換えるだけで高速化という夢をみます。何度夢破れても、高速なAPIが追加されたと聞けば、試さずにはいられませんよね! 今回は、Linuxカーネル5.1で追加されたio_uringを使って、Rustのasyncランタイムを実装し、gRPCサーバのベンチマークを実行してみました。 io_uringとはio_uringは、ファイルシステムとネットワークの非同期I/Oのために開発されました。同期よりも非同期のほうがおしゃれ、そういう雰囲気ありますよね!クラウドネイティブも、非同期にAPIを介して、なんかやってるやつですよね。 io_uringのインターフェイスは、高い性能を目指し、1)アプリケーションとカーネル間でのメモリコピーを避ける、2)複数のI/O要求を一度にカーネルに伝えることができる、という工夫がされています。 下図のように、アプリケ

        ソケットAPIが遅すぎる?新たなio_uringを試す!
      • tsconfig.jsonはJSONじゃないと言う話 - 焼売飯店

        気になったので調べてみました。 tsconfig.jsonと普通のJSONの大きな違い tsconfig.jsonには、コメントが書けます。 tsc --init した時に生成されるtsconfig.jsonに、大量にコメントが付けられているので、すぐに気付くことと思います。 例) { "compilerOptions": { "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd

          tsconfig.jsonはJSONじゃないと言う話 - 焼売飯店
        • ペペロンチーノで学ぶ非同期プログラミングによる並行処理 - Qiita

          非同期プログラミングについて、イメージだけを超速で掴むための記事を書きました。非同期プログラミングが全くわからない人、具体的には、「async await ってなに……?」「for 文で実行していくのと何が違うの……?」レベルの人を想定しています。 非同期プログラングって何? 同期的じゃないプログラミングです。同期的ということは、プログラムが上から下に順々に実行されるということです。つまり、普通のプログラムはだいたい同期的です。言い換えれば、非同期プログラミングは順番が入れ替わる(可能性)のあるプログラムです。なぜそんなことをするかについては後述します。 ペペロンチーノを作りたい あなたはペペロンチーノを作りたいとします。以下のタスクが必要です。 パスタを茹でる(5 分) ニンニクを切る(1 分) ソースを作る(4 分)、ただしニンニクを切っている必要がある 盛り付けをする(0 分)、ただ

            ペペロンチーノで学ぶ非同期プログラミングによる並行処理 - Qiita
          • メルペイフロントエンドのテスト自動化方針 | メルカリエンジニアリング

            Merpay Advent Calendar 2021 の 8 日目はメルペイフロントエンドチーム の @tanakaworld がお送りします。 はじめに メルペイは金融サービスであり、品質の維持・向上に日々取り組んでいます。フロントエンドチームでは、約 2 年前からリグレッションテストの自動化に取り組み始め、直近の 1 年間はインテグレーションテストの自動化にもチャレンジしてきました。本記事ではメルペイフロントエンドチームに於けるテスト自動化の方針とその全体像について振り返ってみたいと思います。 フロントエンドプロダクトに関わるテストは次のものが挙げられます。これらをひとつずつ順番に見ていきたいと思います。 ユニットテスト インテグレーションテスト シナリオテスト リグレッションテスト テストの種類とそのカバレッジ対象 1. ユニットテスト ユニットテストは Jest を用いて、主に

              メルペイフロントエンドのテスト自動化方針 | メルカリエンジニアリング
            • ニッチすぎる!?知られざる広告JavaScriptの世界 - CARTA TECH BLOG

              こんにちは。雨宮(@rail44)です。 普段はヨーヨーやポケモンに興じるかたわら、株式会社fluctで広告配信システムの開発を担当しています。 fluctは広告業界ではSSP(Supply-Side Platform)と呼ばれる立ち位置で、インターネットメディアの収益の最大化にフォーカスした事業を行っています。 私たちのシステムを使うと、広告によるマネタイズが面倒な運用無しに出来る。といったイメージです。 この記事では、自分が直近で担当をしている広告の配信スクリプトと、普段注目されづらいその裏側について書いていきたいと思います! 広告タグの構造 さて、webページに広告を表示したい場合、アプリケーションはHTMLで記述されているため、広告もHTMLタグの形でお渡しすることになります。 (※fluctではモバイルアプリや動画プレイヤーへの広告配信も行っており、それらの場合はHTMLではない

                ニッチすぎる!?知られざる広告JavaScriptの世界 - CARTA TECH BLOG
              • 【図解】1から学ぶ JavaScript の 非同期処理 - Qiita

                はじめに JavaScriptで非同期処理を書くシーンは数多くあると思います。 なのに、今までなんとなく使用してきました。これを機会にちゃんと勉強したいと思い体系化してまとめました。 それだけだとタダのメモになってしまうので、なるべく初学者の人が理解しやすいように書きました。 自分はこの記事を書くことで、JavaScriptの躓きポイントの代表格である非同期処理(Promise や async/await )についても理解が深まったのでいい内容だと思ってます。長いけど。 主に初学者の方に読んでいただけたら幸いです。 JavaScript上級者の方は。何か間違っている記載があれば是非コメントください。 同期処理と非同期処理 まずは用語の定義からです。 同期処理は、最初のコードから次のコードへと順次処理(実行)されていくことです。 対して、非同期処理とは、ある処理が終了するのを待たずに、別の処

                  【図解】1から学ぶ JavaScript の 非同期処理 - Qiita
                • RustのgRPCがGoよりも遅い?

                  夏のある日、GoのgRPCが、Rustよりも2倍早いという記事を見つけました。「おいおい、測定ミスだろ」と強がっていましたが、日々、不安は高まっていきます。真実の愛であれば、疑うことは許されませんが、エンジニアの言語への愛など、所詮、状況に応じて使い分けるような打算的な愛。確認してみました。 性能測定結果上記の記事と同じく、gRPCのサーバソフトウェアは、Goはgrpc-go、Rustはtonicのgreeterの性能を、gRPCのクライアントソフトウェアghzを使って、測定しました。ハードウェアは、AWSを利用し、サーバはc5a.8xlarge(32 vCPU/64 GiB)インスタンス、クライアントはc5a.16xlarge(64 vCPU/128 GiB)インスタンスを使いました。 1台のクライアントインスタンスは、同時に3,000個のgRPCクライアントを立ち上げ、合計で6,000

                    RustのgRPCがGoよりも遅い?
                  • Chrome の 組み込み AI Gemini Nano を試してみる

                    インストールが完了したらアドレスバーに chrome://flags と入力して設定画面を開きます。以下の 2 つのフラグを設定します。 Enables optimization guide on device: Enabled BypassPerfRequirement Prompt API for Gemini Nano: Enabled また、あらかじめ Gemini Nano のモデルをダウンロードしておく必要があります。アドレスバーに chrome://components/ と入力して Optimization Guide On Device Model の「アップデートを確認」をクリックします。 Gemini Nano を使ってみる それでは、Gemini Nano を使ってみましょう。以下のコードをコンソールに貼り付けて実行します。 const canCreate = aw

                      Chrome の 組み込み AI Gemini Nano を試してみる
                    • 知らないとあぶない、Next.js セキュリティばなし

                      ムーザルちゃんねるのムーです。今回は zaru さんと、Next.js のセキュリティについて話しました。 セキュリティについては様々あると思いますが、今回は以下の3点をピックアップして話しました。 Client Components の Props から露出する Server Actions の引数に注意 認証チェックをやってはいけない場所、やって良い場所 これらは、Next.js 入門者がうっかりとやってしまうリスクがあるものです。 このような罠は、アプリケーション自体は正常に動くので、知らないうちにはまってしまいますし、自力で気づくのも難しいものです。もしも知らないものがあれば、ぜひご確認ください。 楽しくて、安全な Next.js 生活をお送りください! Client Components の Props から露出する これは、シンプルで当たり前といえば当たり前ですが、Client

                        知らないとあぶない、Next.js セキュリティばなし
                      • 技術書への不満という濡れ衣 - steps to phantasien

                        最近はプログラマ向けの技術書を読んでもムカついたりがっかりしたりばかりで、読みたい技術書を探すにも良い技術書評家はいないし、もうプログラマ向け技術書というジャンルは終わってしまったのだろうか。それはなぜか。 ・・・というような不満をもっていたが、考えているうちにこれは概ね濡れ衣に思えてきた。端的にいうと、一線を退いた元おたくが「最近のアニメ(などの得意だったおたく分野)はつまらん」というのと同じ現象が自分に起きているだけな気がする。 キャリアの停滞 まずマンネリ化。自分はキャリア初期のたくさん学ぶことのある時期は終わってしまった。これは雇用という点では良いことだが、学びのある本に出会う確率を下げてはいる。多くの人が「これは必要」と思う話題ほどたくさんの本が書かれる。中身はどれも似通ってくる。新しい読者が必要なものに出会う確率はあがるが、必要なものを読み終えた読者は同じものの繰り返し、すなわ

                        • [2020年版] JavaScriptの便利な書き方まとめ | DevelopersIO

                          先月、Node.jsバージョン14がリリースされたこともあり、改めて最新のJavaScriptの書き方を調べてみました。その中でも特に便利だと感じたJavaScriptの書き方や普段の開発でよく利用している記法をまとめています。 アロー関数式 アロー関数式は関数を定義するための構文です。function式よりもアロー関数式の方が記述が短いので読みやすくなります。また、function式で度々問題になるthisが固定されるので混乱を避けることができます。メソッドでない関数はアロー関数式で定義するのがよいと思います。 function式 function name(arg) { return 'foo'; } アロー関数式 const name = (arg) => { return 'foo'; }; async/await async/awaitは非同期処理の構文です。また、asyncは非

                            [2020年版] JavaScriptの便利な書き方まとめ | DevelopersIO
                          • Next.js 13

                            As we announced at Next.js Conf, Next.js 13 (stable) lays the foundations to be dynamic without limits: app Directory (beta): Easier, faster, less client JS. Layouts React Server Components Streaming Turbopack (alpha): Up to 700x faster Rust-based Webpack replacement. New next/image: Faster with native browser lazy loading. New @next/font (beta): Automatic self-hosted fonts with zero layout shift.

                              Next.js 13
                            • あなたの window.open はなぜ開かないのか,Chrome で - マンガ〜ノ伊藤ノ〜ト

                              先日 window.open をしようとしたらポップアップブロッカーに阻まれて open することができなかった. Blocked まあ,これならよくあることなのだが,いかんせん自分の記憶では onClick のようなユーザーのアクション内で開かれた window.open は阻まれないことになってると思っていた.だからそのときも onClick のイベントハンドラ内で window.open したから大丈夫だろう,と思っていたら,見事にブロックされてしまったのでなぜだろう,となっていた. 検証 なので,検証するために 3 つのケースを用意してみた: 検証ページを用意したのであなたの環境でも試してみてね♥ 今回試すブラウザは Google Chrome を前提にしてます ケース1 const immediate = () => { window.open('https://www.goog

                                あなたの window.open はなぜ開かないのか,Chrome で - マンガ〜ノ伊藤ノ〜ト
                              • ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜

                                はじめに まずはこちらをご覧ください。 これは私のApple Watchで計測されたヘルスケアデータです。Apple Watchをつけていると、心拍数や歩数、睡眠時間などのデータが自動的にiPhone内に記録されます。 SREなら健康を維持するためにもSLIとSLOを設定して可視化するべきですよね? SREなら健康エラーバジェットが無くなりそうだったら「今すぐ寝ましょう!」と架電が来て欲しいですよね? 普通にやるとiOSアプリを用いて直接ヘルスケアデータを確認することになりますが、Web系のSRE的なエンジニアとしてはやはり業界標準の技術で可視化したいところです。 また、iOSアプリを開発するのは専門知識が必要となり非常に骨が折れる作業です。そもそもMacがないとできないですし。 そこで、今回は Apple Watchのヘルスケアデータを 全自動で良い感じにデータベースに保存し Grafa

                                  ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜
                                • JavaScriptのthisは結局何種類あるのか - uhyo/blog

                                  JavaScriptのややこしい機能としてよく槍玉に挙げられるのがthisです。その特徴のひとつは状況によって意味(thisの値)が違うことであり、これを指して「JavaScriptのthisは4種類」とする説も見られます。 そこで、この記事ではthisが何種類あるのか、ECMAScript仕様書を頼りに調べます。ECMAScript仕様書とはJavaScriptという言語を定義する文書であり、JavaScriptのthisがどのような挙動をするのかも当然定義されています。今回は仕様書の2020年5月26日版ドラフトを参照します。 https://tc39.es/ecma262/結論としては、最も大ざっぱに分けると3種類、最も細かく分けると157種類です。この記事では全種類漏れなくサンプルコード付きで説明します(似たようなやつはまとめて説明します。また、一部観測不能なものがあります)。 ス

                                    JavaScriptのthisは結局何種類あるのか - uhyo/blog
                                  • Reactハンズオンラーニング 第2版

                                    Facebookが開発したJavaScriptライブラリ「React」の解説書。2013年にオープンソース化されたReactですが、ここ数年で大きな変更が加えられ、またReactを取り巻くエコシステムも大きく変化しました。本書では実際に動くコンポーネントを作りながら、最新のReactの記法について解説しつつ、最新のツールやライブラリも紹介します。初心者から中上級者まで、Reactの今をすばやく学習することができます。 賞賛の声 まえがき 1章 Reactの世界へようこそ 1.1 本書のねらい 1.2 Reactの過去と未来 1.2.1 第2版の変更点 1.3 環境の構築 1.3.1 GitHubリポジトリ 1.3.2 React Developer Tools 1.3.3 Node.jsのインストール 2章 React学習に必要なJavaScriptの知識 2.1 変数の定義 2.1.1 

                                      Reactハンズオンラーニング 第2版
                                    • Vue.jsで作ったゲームをインストール可能(PWA)にしてGitHub Pagesで公開してみた | DevelopersIO

                                      はじめに おはようございます、加藤です。年末年始は実家の北海道に帰省するつもりだったのですが、見事にインフルエンザB型にかかってしまって、急遽キャンセルしました... 予定が全て吹っ飛んで暇になったので、年末年始は下記の教材を使ってVue.jsを勉強していました。 超Vue JS 2 入門 完全パック - もう他の教材は買わなくてOK! (Vue Router, Vuex含む) まだ7割しか終わっていないですが、せっかくなので簡単なゲームをインストール可能な状態で作って公開してみました。 新規プロジェクトの場合 Vue CLIで新規プロジェクトを作成する際に、指定する事でPWAとしてプロジェクトをセットアップできます。 npx -p @vue/cli vue create new-project # Manually select features を選択する Vue CLI v4.1.2

                                        Vue.jsで作ったゲームをインストール可能(PWA)にしてGitHub Pagesで公開してみた | DevelopersIO
                                      • Announcing TypeScript 5.0 - TypeScript

                                        Today we’re excited to announce the release of TypeScript 5.0! This release brings many new features, while aiming to make TypeScript smaller, simpler, and faster. We’ve implemented the new decorators standard, added functionality to better support ESM projects in Node and bundlers, provided new ways for library authors to control generic inference, expanded our JSDoc functionality, simplified con

                                          Announcing TypeScript 5.0 - TypeScript
                                        • Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀

                                          Welcome to Comprehensive Rust 🦀 This is a free Rust course developed by the Android team at Google. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. The latest version of the course can be found at https://google.github.io/comprehensive-rust/. If you are reading somewhere else, please check there for updates. The course is availab

                                          • Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog

                                            paild 社でお手伝いをしている yuki です。前回に引き続き Dependency Injection 略して DI の話題を書いていきたいと思います。今回は Rust における DI についていろいろと考えてみました。今回紹介する実装はかなり単純な例を用いたもので、この記事からさらにみなさんのアプリケーションの実装状況に合わせていくつか工夫は必要になるかもしれません。ただ、とっかかりとしては十分なものになっていると思うので、DI でお困りの方はぜひ参考にしてみてください。 今回実装したいアプリケーションのお題について 今回紹介する技法の種別について コンストラクタインジェクション 静的ディスパッチを用いたもの 動的ディスパッチを用いたもの 静的ディスパッチと動的ディスパッチの利点・欠点 shaku (DI コンテナ)を用いたインジェクション shaku の利点・欠点 余談: DI

                                              Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog
                                            • SPA + SSR + PWA の作り方とセキュリティについて - hiroppy's site

                                              <script nonce="xxxxx" id="initial-data" type="text/plain" data-json="${preloadedState}" ></script> このpreloadedStateはエスケープ処理が必要なので注意してください。 クライアント側の読み込み方 const initialData = JSON.parse( document.getElementById("initial-data")!.getAttribute("data-json")!, ); const { store } = configureStore(initialData); https://github.com/hiroppy/ssr-sample/blob/master/src/client/index.tsx#L21-L22 useEffect SSR では、

                                                SPA + SSR + PWA の作り方とセキュリティについて - hiroppy's site
                                              • CircleCI や GitHub Actions の cron を祝日だけ停止させたい

                                                先日の ua-parse-js のハイジャックの件 を受けて、業務の中で毎日動かしている On-premise Renovate の cron を土日祝に停止させたいという話が上がった。 業務の合間に書く時間がちょっと捻出できそうになかったこと、加えて汎用的なコードということもあり、プライベートでも使えそうだったので一般化した範囲でコードを書いてしまって、業務で社内用に調整する形で決着させたので、せっかくなので共有しておく。 社内が基本的に CircleCI なので特化したものと、一般的に使えるものでバリエーションごとに2つのパターンを用意した。 祝日に停止させるアプローチ ひとまず今回は内製の Bot の運用のため、以下のような特徴があった。 土日の設定自体は cron で曜日指定ができるため祝日にフォーカスして良い 厳密性を重視しない ミッションクリティカルな領域の話ではない 以上を考

                                                  CircleCI や GitHub Actions の cron を祝日だけ停止させたい
                                                • RailsライクなRustのWebフレームワーク 「Loco」 | DevelopersIO

                                                  Introcusion つい先日、「Rust版のRails」ともいわれている、 Locoというフレームワークを教えてもらいました。 Railsは昔ちょっとさわった程度なのですが、 Rustで手軽にRailsライクなアプリ開発はおもしろそうなので、 試してみました。 Loco? Locoについて簡単に説明します。 このblog記事で、Locoって何? なんでRustなの?とか誰のためのフレームワーク?みたいなことが書いてあります。 軽く説明すると、↓です。 Locoって何? Loco は、Rails からインスピレーションを得た Rust用のWebフレームワーク ほぼすべての Rails 機能が含まれている Controllerとaxum経由のルーティング ActiveRecordライクにSeaORMでモデル操作 rrgenでコード生成 その他いろいろ。詳しくは元記事で RubyでいいならR

                                                    RailsライクなRustのWebフレームワーク 「Loco」 | DevelopersIO
                                                  • オープンソースで話題のBaaS「Supabase」を使ってみた | DevelopersIO

                                                    その他詳細の料金プランページはこちら 今回はホビー用途となっているFreeプランを使います。無料でプロジェクトを2つ作ることができますが、APIを1週間未使用の場合はデータベースが一時停止となるようで再開する場合はダッシュボードから起動し直す必要があるようです。 サービスへの登録 では、早速Supabaseのサービスに登録を行っていきます。 Supabase.io Supabase.ioへの登録はGitHubアカウントを利用するようです。 「New Project」から新規プロジェクトを作成します。 プロジェクト名とデータベースのパスワード、リージョンを指定します。今回は「Tokyo」リージョンを選択しました。 「Create new project」を押下後、数分待つとプロジェクトが作成されます。 完了後に画面に表示されるProject API keyとURLを後ほど利用するのでメモして

                                                      オープンソースで話題のBaaS「Supabase」を使ってみた | DevelopersIO
                                                    • React Server Component の Isomorphism について解説する

                                                      Next.js + React Server Component のリファレンス実装が出たので、手元で動かしながら理解したメモ。 vercel/next-server-components: Experimental demo of React Server Components with Next.js. Deployed serverlessly on Vercel. これを書いてるモチベーションとして、Twitter を見る限り React Server Component のことを 「ただのサーバーサイドへの先祖返り」とか「SSR 結果を dangerouslySetInnerHtml してるだけでは?」みたいな反応があったので、そのへんの誤解を解きたい。 Introducing Zero-Bundle-Size React Server Components – React Bl

                                                        React Server Component の Isomorphism について解説する
                                                      • Next.jsに「できるだけ」依存しないReactアプリケーションの構成

                                                        TL;DR 本記事で紹介するのは、Redux や React Router を使った React アプリケーション構築時のベストプラクティスを Next.js に適用した考え方です。 Next.js を外部モジュールと考え、Container/Presentation の Container を Adapter 層と見なす考え方 next/router などの Next.js の組み込みモジュール、Store、SWR(React Query) は Container(Pages) 層で利用する Storybook でコンポーネントを表示する際、Next.js 等のモックをできるだけ作らない 但し、Template 層以下の next/link や next/image への依存は制御できない なお本記事では、Next.js の依存層、Pages 層とTemplate 層という言葉は以下のこ

                                                          Next.jsに「できるだけ」依存しないReactアプリケーションの構成
                                                        • Pythonで非同期投げっぱなしファイル書き出し - Qiita

                                                          Pythonで2面バッファにロギングしつつ、非同期でファイルに書き出す処理を書いてみた。 Fire-and-forgetとちゅうらしい。いわゆるヤリ逃げされるタスク。 動作仕様 ①main()は100msec周期で「日付+ダミーデータ」のCSVデータをバッファに書き込む。 ②dataNumMax(100)個データがたまったらファイル書き出し関数(writeDataToFile)を非同期投げっぱなしで呼び出す。 writeDataToFile()は指定されたバッファをファイルに書き出す。 ③main()はバッファの書き出し面を切り替える。 ※ctrl-Cで抜けてください ※Python3.11です import datetime import asyncio from time import sleep # グローバルな2面のデータバッファ DataBuffer1 = [] DataBuff

                                                            Pythonで非同期投げっぱなしファイル書き出し - Qiita
                                                          • E2EテストでNextAuth認証(OAuthなど)を突破する方法

                                                            NextAuth (Auth.js) で認証させているWebアプリをPlaywrightなどでE2Eテストする際に、認証をどうやってさせるか、あるいは回避するかが悩ましい部分です。 もし採用している認証方式が、単純なID/パスワード認証であればテストユーザを作成し、Playwrightにパスワードを入力させれば認証できるので問題はありません。 しかし、Google認証などの外部のプロバイダを経由するような場合は、E2Eテストをすることが難しくなります。そこでこの記事では、NextAuthの認証済み状態をPlaywrightで再現させる方法を紹介します。 やり方は大きく2つ NextAuthの設定に依存してやり方は大きく2つあります。 セッションデータを database で管理している場合 セッションデータを jwt で管理している場合 データベースの場合 セッションデータをデータベースに

                                                              E2EテストでNextAuth認証(OAuthなど)を突破する方法
                                                            • next.js + vercel + firebase authentication で JWT の検証を行う + Graphql

                                                              今個人で作ってるアプリの 認証 + Graphql の部分を抜き出して GitHub に公開した。 mizchi/next-boilerplate-20200727 next.js + vercel + firebase は (パーツを良く選べば) 最高 next.js はルーティングを持つページを作るには最高で、サーバー、静的サイト、JAM スタック、AMP と必要に応じて選択できる。React ベースならこれ一択。 認証サーバーの実装は毎度疲れるし、Firebase Athunetication はこの点においては OAuth Secret を置くだけ + Custom Provider も作れるので、最高。 それと比べて firestore は、ちょっと前に firestore べったりでアプリを試作したことがあったのだが、型がないためにかなり扱いづらく、また読み書きの速度が遅くパフ

                                                                next.js + vercel + firebase authentication で JWT の検証を行う + Graphql