Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:ファイルシステム操作 | Node.jsとExpress.jsによるコンソールアプリケーションの構築
Node.jsとExpress.jsによるバックエンド開発

チャレンジ:ファイルシステム操作

メニューを表示するにはスワイプしてください

目標

タスク管理自動化の技術習得。1つのソースからタスクを収集し、その内容を抽出して別のファイルに統合するアプリケーションの開発。処理中に発生する可能性のあるエラーへの対応も含む。

タスク

2つのファイルがあると仮定:

  • tasks.txt:既存タスクのリストを含むファイル
  • new-task.txttasks.txtに追加すべき単一タスクを含むファイル

以下の手順でチャレンジを完了:

  1. 作業環境の準備
  • 新しいフォルダを作成
  • 好みのコードエディタで開く
  1. tasks.txtの作成
  • tasks.txtというファイルを作成

  • 以下のタスクを追加、または準備済みファイルをダウンロード:

    tasks.txt

内容:

  • Teach a goldfish to play chess
  • Build a sandcastle in your living room
  • Create a song 🎶 using only sounds from nature
  1. new-task.txtの作成

    • new-task.txtというファイルを作成
  • 以下のタスクを追加、または準備済みファイルをダウンロード:

    new-task.txt

内容:

  • Invent a new dance move and perform it in public
  1. app.jsの作成
  • ファイル操作のためにfsモジュールをインポート
    • readFile()new-task.txtの内容を読み込む
  • .then().catch()で成功・失敗の処理を行う
  • .then()ブロック内でappendFile()を使い、内容をtasks.txtに追加
  • 挿入したタスクの後に改行文字(\n)を追加
  1. アプリケーションの実行
  • app.jsを保存
  • ターミナルを開き、以下を実行:
node app

下のコードエディタを使用する場合、ご自身のファイルは認識されず、進捗も表示されないことにご注意ください。

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
ヒント
expand arrow
  1. ファイル操作のために fs モジュールをインポート。
  2. fs.readFile("new-task.txt", "utf-8") を使い、ファイル new-task.txt から内容を読み込む。
  3. .then() をチェーンして、ファイル内容の読み込み成功時の処理を行う。
  4. .then() ブロック内で、内容を引数として受け取るコールバック関数を指定。
  5. .then() の Promise の readFile ブロック内で、fs.appendFile を使い、内容を tasks.txt ファイルに追加する処理を返す。
  6. 追加する内容の区切りとして改行文字 \n を含めることを忘れずに。
  7. .then() 操作の appendFile ブロックの後に、チェーンして .catch() ブロックを追加し、チェーン全体で発生するエラーを処理。
  8. .catch() ブロック内で、エラーを引数として受け取るコールバック関数を指定。
  9. .catch() ブロック内で、エラーメッセージと受け取ったエラーをログ出力。
  10. Node.js でスクリプトを実行するには node app と入力。
解答例
expand arrow
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

チャレンジ:ファイルシステム操作

目標

タスク管理自動化の技術習得。1つのソースからタスクを収集し、その内容を抽出して別のファイルに統合するアプリケーションの開発。処理中に発生する可能性のあるエラーへの対応も含む。

タスク

2つのファイルがあると仮定:

  • tasks.txt:既存タスクのリストを含むファイル
  • new-task.txttasks.txtに追加すべき単一タスクを含むファイル

以下の手順でチャレンジを完了:

  1. 作業環境の準備
  • 新しいフォルダを作成
  • 好みのコードエディタで開く
  1. tasks.txtの作成
  • tasks.txtというファイルを作成

  • 以下のタスクを追加、または準備済みファイルをダウンロード:

    tasks.txt

内容:

  • Teach a goldfish to play chess
  • Build a sandcastle in your living room
  • Create a song 🎶 using only sounds from nature
  1. new-task.txtの作成

    • new-task.txtというファイルを作成
  • 以下のタスクを追加、または準備済みファイルをダウンロード:

    new-task.txt

内容:

  • Invent a new dance move and perform it in public
  1. app.jsの作成
  • ファイル操作のためにfsモジュールをインポート
    • readFile()new-task.txtの内容を読み込む
  • .then().catch()で成功・失敗の処理を行う
  • .then()ブロック内でappendFile()を使い、内容をtasks.txtに追加
  • 挿入したタスクの後に改行文字(\n)を追加
  1. アプリケーションの実行
  • app.jsを保存
  • ターミナルを開き、以下を実行:
node app

下のコードエディタを使用する場合、ご自身のファイルは認識されず、進捗も表示されないことにご注意ください。

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
ヒント
expand arrow
  1. ファイル操作のために fs モジュールをインポート。
  2. fs.readFile("new-task.txt", "utf-8") を使い、ファイル new-task.txt から内容を読み込む。
  3. .then() をチェーンして、ファイル内容の読み込み成功時の処理を行う。
  4. .then() ブロック内で、内容を引数として受け取るコールバック関数を指定。
  5. .then() の Promise の readFile ブロック内で、fs.appendFile を使い、内容を tasks.txt ファイルに追加する処理を返す。
  6. 追加する内容の区切りとして改行文字 \n を含めることを忘れずに。
  7. .then() 操作の appendFile ブロックの後に、チェーンして .catch() ブロックを追加し、チェーン全体で発生するエラーを処理。
  8. .catch() ブロック内で、エラーを引数として受け取るコールバック関数を指定。
  9. .catch() ブロック内で、エラーメッセージと受け取ったエラーをログ出力。
  10. Node.js でスクリプトを実行するには node app と入力。
解答例
expand arrow
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4
some-alt