mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
766 文字
2 分
Node.js入門
2024-11-16

Node.jsの基礎#

Node.js は Chrome V8 エンジンをベースにした JavaScript 実行時で、サーバーサイドで JavaScript コードを実行します。以下は Node.js の基本概念とよく使われる機能です。


Node.js 入門#

特徴#

  1. シングルスレッド、非同期 I/O:イベントループと非同期 I/O を通じて、高い同時接続性を実現します。
  2. モジュール化に基づく:CommonJS モジュール規格を使用して、コードの構成がより分かりやすくなります。
  3. クロスプラットフォーム:Windows、Linux、macOS など、複数のオペレーティングシステムをサポートします。

適用シーン#

  • Web サービスの構築(例: REST API)。
  • リアルタイムアプリケーションの作成(例: チャット、ゲーム)。
  • スクリプトツール(例: 自動化タスク)。
  • ファイルシステムの操作。

基本モジュール#

Node.js は多数の組み込みモジュールを提供しています。以下はよく使われるモジュール:

  1. fs(ファイルシステムモジュール)

    • ファイルとディレクトリを扱います。
    const fs = require("fs");
    // 同期読み込み
    const data = fs.readFileSync("example.txt", "utf-8");
    console.log("File content:", data);
    // 非同期読み込み
    fs.readFile("example.txt", "utf-8", (err, data) => {
    if (err) throw err;
    console.log("Async file content:", data);
    });
  2. http(HTTP サービスモジュール)

    • HTTP サーバーを作成します。
    const http = require("http");
    const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader("Content-Type", "text/plain");
    res.end("Hello, World!");
    });
    server.listen(3000, () => {
    console.log("Server running at http://localhost:3000/");
    });
  3. path(パス操作モジュール)

    • ファイルパスを処理します。
    const path = require("path");
    const filePath = path.join(__dirname, "example.txt");
    console.log("File path:", filePath);
  4. os(OS 情報モジュール)

    • OS に関する情報を取得します。
    const os = require("os");
    console.log("Platform:", os.platform());
    console.log("Total Memory:", os.totalmem());

npmとパッケージ管理#

npm の役割#

  • npm(Node Package Manager)は Node.js のパッケージ管理ツールで、サードパーティライブラリのインストールと管理に用います。

よく使うコマンド#

  1. プロジェクトの初期化

    npm init -y
    • package.json ファイルを生成します。
  2. パッケージのインストール

    npm install express
    • デフォルトで node_modules ディレクトリにインストールされ、package.json に記録されます。
  3. グローバルパッケージのインストール

    npm install -g nodemon
    • グローバルにインストールされたパッケージはコマンドとして直接使用できます。
  4. パッケージの削除

    npm uninstall express

サードパーティモジュールの使用#

Express の例#

Express はよく使われる Node.js の Web フレームワークで、Web サービスを迅速に構築するのに適しています。

  1. Express のインストール

    npm install express
  2. 簡単なサーバーの作成

    const express = require("express");
    const app = express();
    app.get("/", (req, res) => {
    res.send("Hello, Express!");
    });
    app.listen(3000, () => {
    console.log("Express server running at http://localhost:3000/");
    });

非同期プログラミングパターン#

Node.js の核心は非同期プログラミングです。以下はいくつかのよく使われる方法です:

  1. コールバック

    const fs = require("fs");
    fs.readFile("example.txt", "utf-8", (err, data) => {
    if (err) throw err;
    console.log("File content:", data);
    });
  2. Promise

    const fs = require("fs").promises;
    fs.readFile("example.txt", "utf-8")
    .then((data) => console.log("File content:", data))
    .catch((err) => console.error(err));
  3. async/await

    const fs = require("fs").promises;
    async function readFileContent() {
    try {
    const data = await fs.readFile("example.txt", "utf-8");
    console.log("File content:", data);
    } catch (err) {
    console.error(err);
    }
    }
    readFileContent();
共有

この記事が役に立ったときは、ぜひ他の人に共有してください!

Node.js入門
https://dreaife.tokyo/jp/posts/nodejs-basics/
著者
dreaife
公開日
2024-11-16
ライセンス
CC BY-NC-SA 4.0

一部の情報は古い可能性があります

関連した投稿 スマート
1
Nest.jsとAngularベースの入札プラットフォーム(JestテストとCI/CD)
BACKEND このプロジェクトはNest.jsとAngularを基盤とした入札プラットフォームで、ユーザー登録、プロジェクト管理、入札管理などの機能を提供します。データベースにはPostgreSQLを使用し、SwaggerでAPIドキュメントを生成します。バックエンドではAWS Cognitoを用いた安全な認証を実装し、フロントエンドではプロジェクト表示と入札管理を行える使いやすいUIを構築しています。コード品質を担保するためにJestでテストを行い、GitHub ActionsでCI/CDも実現しています。
2
Docker入門
infra Dockerは、アプリケーションと依存関係を分離されたコンテナにパッケージ化することで、環境差異や依存関係の衝突を避け、マイクロサービスのデプロイ問題を解決する技術です。仮想マシンと比べて起動が速く、リソース使用量も少ないのが特徴です。Dockerのアーキテクチャはイメージとコンテナで構成され、Docker Hubでイメージを共有・取得できます。基本操作にはイメージ/コンテナの作成・管理や、データ永続化とホスト分離のためのボリューム利用が含まれます。Docker Composeを使うと分散アプリケーションのデプロイを簡素化できます。
3
TypeScript入門
FRONTEND TypeScriptの基礎には、型システム、インターフェース、クラス、デコレータなどが含まれます。number、string、boolean などの基本型をサポートし、型注釈、ジェネリクス、ユニオン型、型エイリアスなどの機能も利用できます。デコレータはクラスやメソッドにメタデータを付与するために使われ、モジュールや名前空間はコード整理に役立ちます。
4
Angular入門
FRONTEND Angularの入門ガイドとして、プロジェクト作成、Angular CLIコマンド、コンポーネントとモジュールの構造、データバインディング、ディレクティブ、サービスと依存性注入、ルーティングとナビゲーション、フォーム処理、HTTPクライアント、RxJS、状態管理、パフォーマンス最適化、PWA、国際化などを扱います。詳細なコマンド例とコード構成の説明により、Angular開発を素早く始められます。
5
Redis入門
middle-side Redisは、低レイテンシと豊富なデータ構造サポートを備えたインメモリのキー/バリュー型NoSQLデータベースです。従来のRDBMSと比べてデータ形式の制約が厳密ではなく、水平スケーリングにも対応します。代表的なコマンドには、キー/バリュー操作、ハッシュ操作、リスト操作、集合操作があります。JedisとSpring Data RedisはRedisとやり取りする主要なJavaクライアントで、使いやすいAPIと接続プール管理を提供します。データシリアライズはカスタム方式で最適化し、メモリ使用量を抑えることもできます。

目次