JavaScriptバックエンド編

前提

JavaScriptバックエンド編では「コマンドライン操作」や「バックエンドの基本知識(HTTPメソッドやステータスコードなど)」を知っている前提で解説します。

「コマンドライン操作」や「バックエンドの基本知識」をまだ学習していない方は以下の学習コンテンツから先に進めることをオススメします。

Node.JS入門

  1. Node.JSとは
  2. Node.JSの環境を整える【インストールする】
  3. Node.JSでJavaScriptファイルを実行する方法
  4. 【Node.JS】ファイルの分割・外部ファイル読み込みの方法
  5. 【エクササイズ】Node.JSで外部ファイル読み込み&実行を行う
  6. 【Node.JS】package.jsonを作る【npm init】
  7. 【Node.JS】npmを使ってライブラリをインストールする
  8. 【Node.JS】npmでインストールしたライブラリを読み込む
  9. 【Node.JS】package-lock.jsonの役割を理解する
  10. 【エクササイズ】fetchのライブラリでクイズデータを取得する【Node.JS】

テストコード入門

  1. なぜテストをするのか?【関数の挙動確認・自動化・安心の獲得】
  2. 【Node.JS】テストに必要なライブラリをインストールする
  3. 【Node.JS】テストの書き方・実行方法を覚える【基本型】
  4. TDD(テスト駆動開発)なスタイルでテストを書く
  5. 【エクササイズ】カウンターの要件定義と機能実装をする【テスト】
  6. 【mocha】非同期処理のテストを書く①【コールバック関数を使う】
  7. 【mocha】非同期処理のテストを書く②【Promiseを使う】
  8. 【エクササイズ】APIで取得したデータのデータ形式をテストする【mocha】

express【Webフレームワーク】

Webフレームワークの基本

  1. 【Webフレームワークの基本概念】MVCの概要を理解する
  2. 【Webフレームワークの基本概念】ルーティングの概要を理解する
  3. 【エクササイズ】WebフレームワークのMVCとルーティングの復習

2ページ構成のWebサービスを作る

  1. expressをインストールする【Node.jsのフレームワーク】
  2. 【express】サーバーを起動する【ホスト・ポート番号とは?】
  3. nodemonの導入【コード修正時にサーバーを自動で再起動する】
  4. 【express】2ページ分のルーティング処理を実装する
  5. 【エクササイズ】express.Routerを使って2ページ分のルーティングを実装する
  6. 【express】トップページとアバウトページのViewを作成する
  7. 【express】Viewの共通パーツを作成して各ページで読み込む
  8. 【express】テンプレートファイルに外からデータを渡す
  9. 【express】テンプレートファイルから静的ファイルを読み込む
  10. 【エクササイズ】expressを使ってクイズアプリを作る

APIサーバーを作る

  1. 【事前準備】Modelファイルの作成【配列でダミーのDBを作る】
  2. 【Model実装】Todo一覧を取得する機能を実装【テスト含む】
  3. 【Controller実装】Todo一覧を取得するAPIを実装する
  4. 【テスト実装】Todo一覧を取得するAPIのテストを実装する
  5. 【Model実装】Todo1件を新規作成する機能を実装【テスト含む】
  6. 【Controller実装】Todo1件を新規作成するAPIを実装する
  7. 【テスト実装】Todo1件を新規作成するAPIのテストを実装する
  8. 【リファクタリング】Todo一覧を取得するAPIのテストを修正する
  9. 【Model実装】既存のTodo1件を更新する機能を実装【テスト含む】
  10. 【Controller作成】既存のTodo1件を更新するAPIを実装する
  11. 【テスト実装】既存のTodo1件を更新するAPIのテストを実装する
  12. 【Model実装】既存のTodo1件を削除する機能を実装【テスト含む】
  13. 【Controller作成】既存のTodo1件を削除するAPIを実装する
  14. 【テスト実装】既存のTodo1件を削除するAPIのテストを実装する
  15. 【エクササイズ】掲示板APIを実装する【express】

ORMを使ってexpressとDBを連携する

以下の技術スタック(ツール)を使ったAPIサーバーを実装する課題レポジトリを用意しています。(全て英語)

使用する技術スタック

expressとDBを連携させた「APIサーバーを実装するスキルを身につけたい方」は、以下のGitHubレポジトリの「What you need to do」に書いてある「part1〜part6」を取り組むと良いでしょう。

RDBの知識をまだ身につけていない方向けの内容

「MySQL」や「PostgreSQL」などの「RDB」のスキルをまだ身につけていない場合は、こちらのGitHubレポジトリの課題を取り組む前に、「RDB」の学習をする必要があります。

インターネットを使えば無料で色々と参考になるサイトや教材はありますが、体系立てて学習したい場合は、「Udemy」で「MySQL」や「PostgreSQL」などと検索するとたくさん見つかります。

どの動画教材が自分にあっているかどうかは各教材のプレビューを確認して判断することをオススメします。

 

課題レポジトリ名に「postgresql」という名前がついていますが「seaquelize(ORM)」を使うため、データベースの違いを吸収できます。

つまり、MySQLでも実装を進めることができるということです。

「express」「ORM」「DB」を使ったバックエンド全体のイメージがつかない方は、「Learn backend JavaScript」の19ページ目のスライドを確認すると良いでしょう。

【3つの特典付き】Webエンジニアに必要な基礎スキルを体系的に効率良く身につけたいですか?

LINE登録で無料特典を受け取る

次のような方向けに、学習をサポートするコンテンツを無料プレゼントしています。

  • Webエンジニアになりたいけど何から学習を始めれば良いかわからない
  • 今まで独学で頑張ってきたけど、独学に限界を感じてきた
  • プログラミングは出来るけど、大きめのコードが書けない

「プレゼント詳細が知りたい」「プレゼントを受け取りたい」といった方は、以下のボタンをクリックして詳細ページをご確認ください。

無料特典を受け取る