codequick-darkmode-logo
ログインサインアップ
Node.js コース

シラバス:

Node.js コース

26 レッスン 180 オンラインコーディングの質問


コースでどのトピックがカバーされますか?

Node.js入門

  1. オープニングワードとコース概要:

    • オープニングワード。

    • コースでカバーされる内容とNode.jsへのイントロダクション。

    • コードリポジトリの操作に焦点を当てる。

  1. 基本的なサーバーの書き方:

    • シンプルな最初のサーバーの構築。

    • サーバーとは何か、HTTPリクエストとレスポンスの処理の説明。

    • ステータスコードの理解と、JSON対HTMLの返却。

  1. リクエストの基本的な扱い:

    • APIサーバーエンドポイントへの導入。

    • リクエストを処理するための複数のルートを定義する。

  1. サーバーリクエストの高度な処理:

    • HTTPリクエスト構造の理解。

    • ステータスコードの説明とサーバーの挙動。

  1. Restful APIの作成準備:

    • Restful APIへの導入。

    • QueryStringとリクエストパラメーターの理解。

ファイルシステムを操作する

  1. Node.jsでファイルを読む:

    • ファイルシステムモジュール(fs)を使う。

    • readFile関数を非同期で使用する。

    • readFileSync関数を同期で使用する。

    • fsとpathモジュールへの導入。

    • 複数のエンドポイントを持つサーバーを作成する。

    • テキストとJSONファイルを保存する。

  1. Node.jsでファイルを保存する:

    • 非同期的にファイルを書き込むためにwriteFile関数を使用する。

    • 同期的にファイルを書き込むためにwriteFileSync関数を使用する。

    • サーバーでのエラー処理。

  1. Node.jsでのファイル削除:

    • unlinkSyncを使用してファイルを削除する。

    • ファイルシステム内のディレクトリを使用する。

    • ファイルシステムにファイルが存在するかどうかを確認する関数。

  1. POSTリクエストの処理:

    • 基本的なサーバーアーキテクチャ。

    • postリクエストの処理。

    • Postmanを使用してgetとpostリクエストを作成する。

  1. サーバーでのバリデーションの使用:

    • 意味のあるサーバーを書く。

    • サーバーでのバリデーションとエラーを使用する。

    • 複数のリクエストを持つサーバーを作成する(オペレーティングシステムからのファイルの読み取り、書き込み、削除)。

Expressを使ってサーバーを書く

  1. Expressの使用入門:

    • expressライブラリに関する背景。

    • サーバーを書くためのexpressライブラリの使用。

    • send、sendStatus、json関数の使用。

    • getリクエストの処理。

  1. クエリストリングとパラメータの処理:

    • expressでreq.queryを使用する。

    • expressでreq.paramsを使用する。

    • ファイルシステムを使用して管理者データサーバーを書く。

  1. サーバーでのPOSTリクエストの処理:

    • expressを使ったpostリクエストの処理。

    • ミドルウェアの使用説明。

    • サーバーでの数値検証の追加。

  1. サーバーアーキテクチャ:

    • expressでのサーバーアーキテクチャ。

    • express.Routerを使用してサーバールーティングを処理する。

    • サーバーにコントローラを追加・構築する。

    • サーバーにサービスを追加・構築する。

  1. Expressでのミドルウェアの使用:

    • Expressでのミドルウェアの理解。

    • コントローラーにミドルウェアを適切に組み込む。

    • ミドルウェアを使用してバリデーションを書く。

MongoDB

  1. MongoDB入門:

    • データベースへの入門。

    • リレーショナルデータベースと非リレーショナルデータベースの違い。

    • MongoDBと一般的な使用例への入門。

    • expressサーバーをMongoDBに接続する。

    • mongo GUIの使用入門。

  1. レコードの保存と取得:

    • スキーマの定義と一般的なタイプの概要。

    • save関数を使用してMongoDBにレコードを作成する。

    • find関数を使用してMongoDBでレコードを検索する。

    • gte$, $gt, $lte, $lt, eq$などの一般的なフィルターを使用する。

  1. MongoDBでの高度なクエリ:

    • ObjectId識別子を理解する。

    • toJSON関数の説明。

    • MongoDBでfindByIdクエリを使用する。

    • findByIdAndUpdateを使用してレコードを更新する。

    • inc$オペレーターの使用。

    • MongoDBでcount関数を使用する。

    • MongoDBのスキーマでデフォルト値を定義する。

  1. 削除クエリと基本オペレーター:

    • findByIdAndDeleteを使用してレコードを削除する。

    • push$オペレーターの使用。

    • サーバー障害リクエストの処理(500)。

  1. MongoDBでの高度な集約:

    • 高度なパイプラインの構築と集約の使用。

    • MongoDBクエリでのデータの並べ替え。

    • sum、$max、$min、avg$などの一般的なオペレーターの使用。

  1. MongoDBにおけるコレクション間の高度な関係性:

    • refを使用してコレクションを接続する説明。

    • MongoDBでpopulateアクションを使用する。

    • MongoDBでidを作成する詳細な説明。

サーバーセキュリティと認証

  1. JWT入門:

    • サーバーセキュリティに関する背景。

    • jsonwebtokenパッケージの紹介。

    • 最初のトークンの作成。

    • トークンの有効性をチェックするためのverify関数の使用。

  1. 安全なAPIの書き方:

    • サーバーにセキュリティ層を追加する。

    • サーバーセキュリティのためのミドルウェアを構築する。

    • 書いたサーバーにJWTを使ってセキュリティを実装する。

  1. Cryptoライブラリの使用:

    • サーバーでの暗号化使用に関する背景。

    • パスワードハッシングのためのハッシュ関数の説明。

    • 強化されたセキュリティのためのスキーマへのソルトの追加。

    • 考えられる攻撃の説明。

  1. サーバー間の通信:

    • サーバー通信のためのaxiosライブラリの使用。

    • 書いたサーバーを通じて他のサーバーからデータを取得する。

    • 外部サーバーから取得したデータをMongoDBに保存する。

  1. 締めくくりの言葉:

    • コースの要約としての締めくくりの言葉。