コースでどのトピックがカバーされますか?
Node.js入門
オープニングワードとコース概要:
オープニングワード。
コースでカバーされる内容とNode.jsへのイントロダクション。
コードリポジトリの操作に焦点を当てる。
基本的なサーバーの書き方:
シンプルな最初のサーバーの構築。
サーバーとは何か、HTTPリクエストとレスポンスの処理の説明。
ステータスコードの理解と、JSON対HTMLの返却。
リクエストの基本的な扱い:
APIサーバーエンドポイントへの導入。
リクエストを処理するための複数のルートを定義する。
サーバーリクエストの高度な処理:
HTTPリクエスト構造の理解。
ステータスコードの説明とサーバーの挙動。
Restful APIの作成準備:
Restful APIへの導入。
QueryStringとリクエストパラメーターの理解。
ファイルシステムを操作する
Node.jsでファイルを読む:
ファイルシステムモジュール(fs)を使う。
readFile関数を非同期で使用する。
readFileSync関数を同期で使用する。
fsとpathモジュールへの導入。
複数のエンドポイントを持つサーバーを作成する。
テキストとJSONファイルを保存する。
Node.jsでファイルを保存する:
非同期的にファイルを書き込むためにwriteFile関数を使用する。
同期的にファイルを書き込むためにwriteFileSync関数を使用する。
サーバーでのエラー処理。
Node.jsでのファイル削除:
unlinkSyncを使用してファイルを削除する。
ファイルシステム内のディレクトリを使用する。
ファイルシステムにファイルが存在するかどうかを確認する関数。
POSTリクエストの処理:
基本的なサーバーアーキテクチャ。
postリクエストの処理。
Postmanを使用してgetとpostリクエストを作成する。
サーバーでのバリデーションの使用:
意味のあるサーバーを書く。
サーバーでのバリデーションとエラーを使用する。
複数のリクエストを持つサーバーを作成する(オペレーティングシステムからのファイルの読み取り、書き込み、削除)。
Expressを使ってサーバーを書く
Expressの使用入門:
expressライブラリに関する背景。
サーバーを書くためのexpressライブラリの使用。
send、sendStatus、json関数の使用。
getリクエストの処理。
クエリストリングとパラメータの処理:
expressでreq.queryを使用する。
expressでreq.paramsを使用する。
ファイルシステムを使用して管理者データサーバーを書く。
サーバーでのPOSTリクエストの処理:
expressを使ったpostリクエストの処理。
ミドルウェアの使用説明。
サーバーでの数値検証の追加。
サーバーアーキテクチャ:
expressでのサーバーアーキテクチャ。
express.Routerを使用してサーバールーティングを処理する。
サーバーにコントローラを追加・構築する。
サーバーにサービスを追加・構築する。
Expressでのミドルウェアの使用:
Expressでのミドルウェアの理解。
コントローラーにミドルウェアを適切に組み込む。
ミドルウェアを使用してバリデーションを書く。
MongoDB
MongoDB入門:
データベースへの入門。
リレーショナルデータベースと非リレーショナルデータベースの違い。
MongoDBと一般的な使用例への入門。
expressサーバーをMongoDBに接続する。
mongo GUIの使用入門。
レコードの保存と取得:
スキーマの定義と一般的なタイプの概要。
save関数を使用してMongoDBにレコードを作成する。
find関数を使用してMongoDBでレコードを検索する。
gte$, $gt, $lte, $lt, eq$などの一般的なフィルターを使用する。
MongoDBでの高度なクエリ:
ObjectId識別子を理解する。
toJSON関数の説明。
MongoDBでfindByIdクエリを使用する。
findByIdAndUpdateを使用してレコードを更新する。
inc$オペレーターの使用。
MongoDBでcount関数を使用する。
MongoDBのスキーマでデフォルト値を定義する。
削除クエリと基本オペレーター:
findByIdAndDeleteを使用してレコードを削除する。
push$オペレーターの使用。
サーバー障害リクエストの処理(500)。
MongoDBでの高度な集約:
高度なパイプラインの構築と集約の使用。
MongoDBクエリでのデータの並べ替え。
sum、$max、$min、avg$などの一般的なオペレーターの使用。
MongoDBにおけるコレクション間の高度な関係性:
refを使用してコレクションを接続する説明。
MongoDBでpopulateアクションを使用する。
MongoDBでidを作成する詳細な説明。
サーバーセキュリティと認証
JWT入門:
サーバーセキュリティに関する背景。
jsonwebtokenパッケージの紹介。
最初のトークンの作成。
トークンの有効性をチェックするためのverify関数の使用。
安全なAPIの書き方:
サーバーにセキュリティ層を追加する。
サーバーセキュリティのためのミドルウェアを構築する。
書いたサーバーにJWTを使ってセキュリティを実装する。
Cryptoライブラリの使用:
サーバーでの暗号化使用に関する背景。
パスワードハッシングのためのハッシュ関数の説明。
強化されたセキュリティのためのスキーマへのソルトの追加。
考えられる攻撃の説明。
サーバー間の通信:
サーバー通信のためのaxiosライブラリの使用。
書いたサーバーを通じて他のサーバーからデータを取得する。
外部サーバーから取得したデータをMongoDBに保存する。
締めくくりの言葉:
コースの要約としての締めくくりの言葉。