
本コースを学習いただくことで身につくこと、コースの特徴について解説します。
本講座で学習する内容について、セクションごとに概要を解説します。
添付リソースを一括ダウンロードする方法についてご紹介します。
Windows環境に Node.js および npm をインストールする方法を学びます。
パッケージマネージャー yarn のインストール方法および使い方を学びます。
yarn がうまく動作しない場合の対応方法いついて解説します。
Windows環境に Visual Studio Code をインストールする方法および設定しておくとよい初期設定について学びます。
Windows環境で通信キャプチャを行えるツール Fiddler Clasic をインストールする方法を学びます。
コンソールに「Hello World」を表示するプログラム作成を通じて、Visual Studio Code や Node.js の基本的な操作について学びます。
今後開発を進めていくにあたり必須となる「デバッグ」の方法について学習します。
Webアプリケーションの基本といえる「リクエスト/レスポンス」の中身(内容や構成)について学習します。
本講座で作成するWebアプリケーションは「飲食店の口コミサービス(tastylog)」です。
どのような完成イメージなのか完成したアプリを見ながら確認していきます。
本講座で開発するアプリケーションの構成は「Node.js + MySQL」です。
構成の概要について確認します。
本講座で作成する画面について「画面フロー」と「画面設計」を確認します。
本講座で扱うデータについて、「概念データモデル」および「テーブル定義」を元に確認していきます。
また、テーブル設計時に気を付けておきたいポイントについても学習します。
Webアプリケーションをリリースする際、接続情報などは環境変数で与えます。
本レクチャーでは、Node.jsで環境変数を利用する方法について学習します。
「tastylog」プロジェクトのひな型を作成します。
フォルダ作成、package.json作成、.gitignore作成、環境変数ファイル作成、デバッグ構成を行います。
プログラムを実行せず、ソースコードの不備を検出するツールが「静的解析ツール」です。
本レクチャーでは Node.js でよく利用される静的解析ツールについてご紹介いたします。
静的解析を便利に利用できるようにするための Visual Studio Code プラグインをインストールします。
プロジェクトに静的解析が行われるような仕組みを入れていきます。
プロジェクトに適用する静的解析ルールを設定します。
本レクチャーではルールの探し方を学んだうえで、以下のルール作成を行います。
インデント
文字の囲み
セミコロン
未使用変数
console
Express.js とはどのような機能があるのか、何ができて何ができないのか、について学習します。
Node.js + Express を使った構成で基本となる「Hello World」を表示するプログラムを作成します。
基本構成の作成を通して Node.js + Express の使い方について学びます。
Expressで利用されるミドルウェアとはどのようなものなのか、どのように定義、利用するのか、について学習します。
Expressを使ったURLルーティング方法について学習します。
サーバーサイドへデータを渡す方法の1つ「パスパラメータ」を利用したデータの渡し方を学習します。
サーバーサイドへデータを渡す方法の1つ「クエリパラメータ」を利用したデータの渡し方を学習します。
Expressを使ってWebページを返す際に利用する「テンプレート」の仕組みについて学習します。
本プロジェクトで利用するテンプレートエンジン「ejs」向けのプラグインをインストールします。
EJSを利用する際に知っておきたい以下の基本構文について学習します。
値出力(エスケープ)
値出力(アンエスケープ)
コード実行
コメント
HTMLを返却する際に注意したいXSS(クロスサイトスクリプティング)脆弱性について、概要と対策を学習します。
Node.js + Express に加えてテンプレートエンジンを使った「Hello World」を表示するプログラムを作成します。
このプログラム作成を通して基本的なテンプレートエンジンの使い方を学習します。
Webアプリケーションにおけるコンテンツには「静的コンテンツ」と「動的コンテンツ」があります。
それぞれどのようなものなのか、について学習します。
Node.js + Express を使って静的コンテンツを配信する実装を行います。
faviconとは何なのかを学習し、faviconを配信する実装方法について学習します。
誰でもアクセスできるトップページをここから作成していきます。
本レクチャーではページのパーツ分割方法を確認し、作成にあたっての大まかな進め方を確認します。
HTMLページで共通的に利用される「メタ情報」部分の作成を行います。
HTMLページで共通的に利用される「スタイルシート」部分の作成を行います。
HTMLページで共通的に利用される「JavaScript」部分の作成を行います。
HTMLページの共通パーツ「ヘッダー」部分の作成を行います。
HTMLページの共通パーツ「フッター」部分の作成を行います。
これまでに作成した共通パーツを利用し、メインコンテンツを作成します。
サーバーサイド情報が漏洩することによる危険性とその対策について学習します。
Webアプリケーション開発、なんとなく実装していませんか?
個人情報の流出やプライバシーポリシーの規約と異なる利用など…「安全な」Webアプリケーション開発が昨今は求められています。
本講座では「安全なWebアプリケーション開発」を行うために何を知り、どのように対策していくのか、Node.js+MySQLの構成で具体的なケーススタディを通して学んでいきます。
また、本講座で作成したWebアプリケーション構成は別講座「AWSで作るWebアプリケーション実践講座」を参考にデプロイ/リリースすることができます。
【概要】
・環境構築
・はじめての開発
・作成するWebアプリケーション
・プロジェクト新規作成
・静的解析の組み込み
・Node.js + Express (ミドルウェア、ルーティング)
・Node.js + Express (テンプレートエンジン(1))
・静的ファイルの配信
・トップページの作成
・ログ出力の作成
・データベースの準備
・データベースへの接続(1)
・Node.js + Express(テンプレートエンジン(2))
・詳細画面の作成
・検索画面の作成
・データベースへの接続(2)
・登録画面の作成
・ログイン/ログアウトの作成
・データ利活用と個人情報保護
・カスタムヘッダーの作成
・カスタムエラーページの作成
・グレースフルシャットダウン
・タスクランナー
【謝辞】
今回も同僚の力を借りて作成することになりました。本コース作成にあたり実務上の知見や講座内容に対するフィードバックをしてくれた古澤魁さんには大変感謝しています。
【免責事項】
本講座には日本国内の法律、EU圏の法律に関する内容が含まれています。
本講座のコンテンツや情報はできる限り正確な情報になるよう努めておりますが、誤情報の混入、情報の陳腐化により不正確になる場合があります。
本講座の情報に基づいて被ったいかなる損害について、一切の責任を負うものではございませんのであらかじめご了承ください。
【更新履歴】
v1.0.2 2022/02/07 「yarnが動作しない場合」について補足レクチャーを追加
v1.0.1 2021/11/27 「トランザクションの利用(動作確認)」レクチャー添付のソースコードを修正
v1.0.0 2021/08/13 初版リリース