Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Week 1: My first steps into Backend Development 🌐

2025年09月23日に「Dev.to」が公開したITニュース「Week 1: My first steps into Backend Development 🌐」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

初心者がExpress.jsとNode.jsでバックエンド開発の第一歩を踏み出した。HTTPプロトコルとCRUD操作(GET/POST/PUT/DELETE)を学び、ファイルサーバーやTodoアプリを作成した。APIの基礎を理解し、実際に動くシステムを構築できた体験をまとめた。

ITニュース解説

この解説は、バックエンド開発の学習を始めたばかりの初心者に向けて、Webアプリケーションの基礎となる概念と、それらがどのように実際のシステムで活用されるかをまとめたものである。

Web開発の入り口として、まずフルスタックWeb開発という言葉に触れる。これは、ユーザーが見る画面側(フロントエンド)と、データを処理・管理するサーバー側(バックエンド)の両方を扱う開発のことである。バックエンド開発の第一歩として、Web上で情報がどのようにやり取りされるかを理解するための「HTTPプロトコル」の基礎を学ぶことは非常に重要である。HTTPプロトコルは、WebブラウザとWebサーバーが互いに通信するためのルールであり、このルールに沿って情報が送受信される。

次に、実際にWebサーバーを構築する作業に進む。ここでは、「Express.js」というツールを使う。Express.jsは、JavaScriptをサーバー側で動かすための「Node.js」という環境の上で動作し、Webサーバーの作成を非常に簡単にするフレームワークである。Express.jsを使ってサーバーを立てると、特定のURLのパス(「エンドポイント」と呼ばれる)に対して、どのような処理を行うかを定義できるようになる。例えば、/helloというエンドポイントにアクセスがあったら「Hello, World!」と返す、といった具合である。初めて作成したサーバーに対して、「Postman」というツールを使ってリクエストを送信し、サーバーが正しく応答するのを確認できた時の達成感は大きい。これは、目に見えないサーバーが確かに動作していることを実感できる瞬間である。

エンドポイントの扱いに慣れてきたら、さらに深くHTTPリクエストの種類について掘り下げる。Webアプリケーションでデータを操作する基本的な4つの操作、すなわち「CRUD」(Create, Read, Update, Delete)を理解することは不可欠である。これらはそれぞれ、HTTPの異なるメソッドに対応している。 「GET」リクエストは、サーバーからデータを「読み取る」(Read)ために使う。例えば、Webサイトのページを表示したり、商品リストを取得したりする際に利用される。 「POST」リクエストは、サーバーに新しいデータを「作成する」(Create)ために使う。例えば、新規会員登録の情報を送ったり、新しい商品をデータベースに追加したりする際に利用される。 「PUT」リクエストは、サーバー上の既存のデータを「更新する」(Update)ために使う。例えば、ユーザーのプロフィール情報を変更したり、商品の在庫数を更新したりする際に利用される。 「DELETE」リクエストは、サーバー上のデータを「削除する」(Delete)ために使う。例えば、ユーザーアカウントを削除したり、商品をリストから消したりする際に利用される。 これらのCRUD操作がWebサイトのあらゆる機能の根幹をなしており、Express.jsで作ったHTTPサーバーとこれらのリクエストを組み合わせることで、Webアプリケーションの機能を提供する「API」(Application Programming Interface)を自分で構築していることに気づくことは、大きな発見となる。

これらの基礎を学んだ上で、具体的な課題に取り組むことで、理論が実践へと結びつく。最初の課題は、「基本的なファイル管理サーバー」の作成である。これは、Node.jsとExpress.jsを使って、ファイルシステムを操作するサーバーを構築するもので、以下の二つのエンドポイントを持つ。 一つ目は「GET "/files/"」というエンドポイントで、サーバー上の特定のディレクトリ(ここでは./files/)に存在するすべてのファイルの名前を返す機能である。 二つ目は「GET "/files/:filename/"」というエンドポイントで、URLのパスに含まれるファイル名(:で指定されたfilenameの部分)に対応するファイルの内容を返す機能である。 この課題を通して、Node.jsに標準で組み込まれている「fs(ファイルシステム)」モジュールというものを利用して、ファイルの読み書きなどの操作を行う方法を学ぶ。また、URLのパスに含まれる情報(「リクエストパラメータ」と呼ばれる)をサーバー側でどのように取得し、利用するかの具体的な方法も学ぶことができる。例えば、/files/document.txtというリクエストであれば、document.txtという部分をサーバー側でreq.params.filenameとして取得できる。

次の課題は、「Todoリストアプリ」のバックエンドを実装することである。これは、Todo(やるべきこと)のデータを管理する機能を持つサーバーを構築するもので、CRUD操作に対応する以下のようなエンドポイントを持つ。 「GET "/todos/"」で保存されているすべてのTodoを取得し、「GET "/todos/:id"」で特定のIDを持つTodoを取得する。 「POST "/todos/"」で新しいTodoを追加し、「PUT "/todos/:id"」で指定されたTodoを完了済みに更新する。 「DELETE "/todos/:id"」で指定されたTodoを削除する。 この課題で特に重要な学びの一つは、PUTリクエストでのデータ更新方法である。JavaScriptの「スプレッド演算子(...)」を使うことで、既存のTodoデータと、更新したい部分だけを含む新しいデータを効率的に結合し、変更された部分のみを適用してデータを更新できる。例えば、todos[indexOfReq] = { ...todos[indexOfReq], ...req.body };というコードは、元のTodo情報に、リクエストで送られてきた更新情報を上書きする形で適用している。 さらに、この課題では「グローバルミドルウェア」という概念も導入される。ミドルウェアとは、Express.jsのアプリケーションで、リクエストがサーバーに到着してからレスポンスがクライアントに返されるまでの間に実行される処理のことである。グローバルミドルウェアは、すべてのリクエストに対して共通で適用される処理を記述するのに役立つ。例えば、ここでは各リクエストの処理にかかる時間を計測し、その平均時間を計算するミドルウェアを実装する。app.use()というメソッドを使ってミドルウェアを登録し、リクエストが来た時刻を記録し、レスポンスがクライアントに送信され終わったタイミング(res.on("finish")イベント)で処理にかかった時間を計算する。そして、その合計時間とリクエストの数を元に平均応答時間を算出し、コンソールに出力する。これにより、サーバーのパフォーマンスを簡単な形で監視する方法を学ぶことができる。

このように、集中的な学習と実践を通して、HTTPプロトコル、Express.js、CRUD操作、ファイルシステム操作、リクエストパラメータの利用、スプレッド演算子によるデータ更新、そしてミドルウェアによる共通処理の実装といった、バックエンド開発の非常に重要な基礎概念を短期間で習得することが可能である。理論が形となり、実際に動作するファイルサーバーやTodoアプリが完成する経験は、学習の大きなモチベーションとなり、Web開発の世界への理解を深める第一歩となる。

関連コンテンツ

関連IT用語