
この動画では、supabaseを用いて、アプリケーションで使用するデータベースを準備していきます。
ちなみに、DatabaseはPrismaを用いて、制御する予定です。
この動画では、githubから、アプリケーションコードのクローンを行い、ライブラリのインストールや、環境変数の設定など、使用準備をしていきます。
なを、各ファイルと、コードについての解説は、次回以降の動画からとなります。
この動画では、nodemailerから、アプリ パスワードを取得し、認証メールを送信する準備をしていきます。
なお、予め、GoogleChoromeのブラウザ上で、gmailアカウントでログインしておいて下さい。
この動画では、まず、S3について解説。
そして、実際に、S3でバケットを作成。
次に、バケットポリシーと、CORSの設定をして、オンラインで公開可能な状態にしていきます。
この動画では、まず、AWS IAM,IAM Policy,IAM User,IAM Roleについて解説。
次に、S3をのみ操作可能なIAMを作成し、アクセスキー(access key)の作成と、取得を実行。
最後に、Next.jsのアプリケーションから、S3に画像をアップロード&削除するための関数を定義していきます。
この動画では、section2で構築する、ユーザー認証の機能の動作確認と、大まかな処理の流れを確認していきます。
この動画では、Next.jsのバージョン15と、React 19で、正式に導入された、useActionStateについて解説させていただきます。
useFormStateからの大きな変更点についてレクチャーさせて頂いた後、実際にコードを動かして確認していきます。
この動画では、ログイン時の認証関係の処理の際に使用する、関数達について解説していきます。
この動画では、Edge Runtime上で動作する、middleware.tsで、認証システムを構築していきます。
この動画では、
まず、正規表現について解説した後、
正規表現を用いたバリデーション関数について、解説させていただきます。
この動画では、zustandについて解説した後、
zustandを用いて、アプリケーション全体、認証済みuserのデータを状態管理をするための機能を構築していきます。
この動画では、
サインアップの処理を実行しているコードについて、解説をしていきます。
まず、Server Actionsについての概要と、重要なセキュリティーアップデートについて解説。
次に、サインアップの機能を、Server Actionsで定義。
最後に、useActionStateを用いて、サインアップ関数を適切に実行していきます。
この動画では、
メール送信を用いた2段階認証の処理を実行しているコードについて、解説をしていきます。
まず、Server Actions関数の、mailAuthについて解説。
最後に、useActionStateを用いて、mailAuth関数を適切に実行していきます。
この動画では、
サインイン(ログイン)の処理を実行しているコードについて、解説をしていきます。
まず、Server Actions関数の、signInについて解説。
最後に、useActionStateを用いて、signIn関数を適切に実行していきます。
この動画では、
サインアウト(ログアウト)の処理を実行しているコードについて、解説をしていきます。
まず、Server Actions関数の、SignOutについて解説。
最後に、useActionStateを用いて、SignOut関数を適切に実行していきます。
この動画では、ログイン状態か否かで、表示を切り替えている、
UserIconコンポーネントについて解説していきます。
この動画では、section3の解説の流れについて確認した後、
構築していくプログラムの動作確認をしていきます。
この動画では、全体像がイメージしやすくなるよう、
記事作成のプログラムをザックリと確認していきます。
この動画では、サムネイル画像の保存,更新,削除を実行するためのAPIについて,解説していきます。
この動画では、サムネイル画像の保存と、削除の機能を搭載した、
EditedThumbnailコンポーネントについて解説していきます。
この動画では、ここまで解説してきた、サムネイル関連の機能の動作確認をしていきます。
この動画では、アマークダウン文字列の入力と、表示確認の機能を搭載した、
MarkdownTextareaコンポーネントについて解説していきます。
クロスサイトスクリプティング(XSS)対策も施します。
この動画では、新規で記事を作成するための、CreatePost.tsxについて解説していきます。
なお、APIの解説および、動作確認は、次の動画となります。
この動画では、新規で記事を作成するための、APIの処理について解説させていただきます。
この動画では、まず、section4での講義の流れを確認。
最後に、本sectionで解説していく、更新と削除の部分に絞って、動作確認をしておきます。
この動画では、記事の更新と削除を担っているのプログラムについて、ザックリと確認していきます。
これにより全体像が、イメージしやすくなるかと思います。
この動画では、現在、訳あって、
SSRで表示している、ルートグループ(mein)下の、個別ページの挙動を、
最速の,SSGに修正していきます。
この動画では、
記事の更新と削除の機能を担っている、APIの処理について解説していきます。
この動画では、記事の更新と削除の機能を担っているコンポーネントについて、解説していきます。
この動画では、まず、section5全体の構成について確認。
最後に、このセクションでの解説箇所のプログラムに絞って、動作確認をしていきます。
この動画では、まず、
Next.jsのfetch関数の拡張機能,Request Memoization,import { cache } from 'react'、これらについて解説。
記事の一覧表示と、ページネーションを担っているプログラムについて、解説していきます。
この動画では、まず、generateStaticParamsについて深堀って解説。
次に、SSGを適用している個別ページと、SEOを意識した実践的なmetaタグの設定方法について解説させていただきます。
もうすでに、複数個の記事を作成しているというカタは、スキップして下さい。
息抜きのようなものです。
この動画では、検索と並び替えの機能を担っているプログラムについて解説していきます。
この動画では、section6全体の解説の流れを確認していきます。
この動画では、AWSのRoute53について解説した後、独自ドメインを取得していきます。
この動画では、AWS Certificate Managerについて解説した後、SSLサーバー証明書を取得していきます。
◆【この動画の構成:CloudFrontでCDNを活用し、画像を高速配信しよう 】
■[ CloudFrontとは? ]
■[ CloudFrontを設定しよう ]
・Cloudfrontでディストリビューションを作成
・S3のバケットポリシーを更新
・Route53に、CNAMEレコードを追加
・staticのサブドメインから画像にアクセスができるか確認
・Next.jsの環境変数と、configファイルを更新
◆【この動画の構成:AWS WAF(ウェブアプリケーションファイアウォール) 】
■[ AWS WAF(ウェブアプリケーションファイアウォール)とは? ]
■[ Cloudfrontに適用されているWAFを確認&設定を追加しセキュリティー強化 ]
◆【この動画の構成:Vercelにデプロイし、独自ドメインで公開しよう】
■[ 修正:package.json, next.config.mjs ]
■[ githubでリポジトリ作成~push ]
■[ vercelにデプロイ ]
■[ 独自ドメインで公開 ]
・Vercelで公開ドメインを指定
・Route53でDNS設定
■[ 修正:SSR~SSG & githubへ再push~再デプロイ ]
■[ 動作確認 ]
この動画では、
vercelで公開しているアプリケーションや、
AWSで使用したサービスを終了して、後かたずけをしていきます。
放置していては、コストがかかってしまいますので。
Next.js V15 × AWSのインフラ × Vercel、これら3つを掛け合わせて、記事投稿アプリケーションを開発&独自ドメインで公開!!
ちなみに、完全な、フルスタックでの開発となります。
フロントエンドと、バックエンドは、Next.jsのバーション15を採用。
記事のcontent部分は、Markdown(マークダウン)に対応。
また、XSS(Cross-site scripting)対策も施します。
画像ファイルの保存先は、AWSのS3。
S3の前段には、CloudFrontを配置し、CDNを活用した高速配信を実現。
また、WAF(ウェブアプリケーションファイアウォール)でのセキュリティー保護まで実装します。
デプロイ先は、Next.jsに最適化されたVercel。
AWSのRoute53でDNSサーバーの設定を操作し、独自ドメインでの配信方法まで行います。
■この講義を受講するメリット:
①メディアファイルを扱う、本格的なアプリケーションを、
フロントにバック、インフラに至るまで、フルスタックで構築し、公開する力が身につきます。
②Next.jsのバージョン15、かつ、リアクト19で正式に導入された、
useActionStateを使いこなすことが出来る様になります。
また、useFormStateからの変更点についても、しっかりと解説。
加えて、Server Actionsの、重要なseculityアップデートについてもレクチャーさせていただきます。
③Next.jsでの、初心者泣かせとされる、Request MemoizationやDataCache、Router Cacheなどの、
cache(キャッシュ)制御について、実践を通して、解説させていただきます。
④実践的なSEOを意識して、アプリケーションに加え、画像ファイルまで、
独自ドメインで公開する手順を解説させていただきます。
加えて、SSLサーバー証明書の取得方法や、DNSサーバーの設定方法までも、レクチャーさせていただきます。
⑤Next.jsのアプリケーションと、AWSのストレージサービスであるS3を連系させ、
ファイルのアップロードと、削除をする方法を習得することが出来ます。
さらに、CDNサービスのCloudFront、セキュリティーサービスのWAF、
これらを掛け合わせて、高速かつ安全に、メディアファイルを配信する方法を学ぶことが出来ます。
⑥prismaのtransaction(トランザクション)を用いて、堅牢で信頼性の高いデータ更新を実装します。
これは、複数のシステム間での、データの不一致をぐために役立ちます。
ちなみに、決済処理などの際に、よく採用される手法です。
⑦正規表現を駆使して、実践的なバリデーション機能を実装。
これにより、正規表現を用いて、自在にvalidationを実装する力が身につきます。
■[ 最後に ]:
現代のWeb開発では、フロントエンド、バックエンド、インフラ、セキュリティーと、多岐にわたる知識が求められます。
本講義では、それらを体系的に学ぶこができる内容になっていると、自負しています。
丁寧な解説を心がけますので、是非とも最後まで、ご受講いただければ幸いです。
それでは、本講義でお会いできることを、楽しみにしています。