Yamato DaiwaBackend

初手の例の「ハロー・ワールド」

事前に必要な知識・熟練

下記の知識・熟練が習得済み前提で今以降の授業を論述。

  • Node.jsプロジェクトを展開し、npm依存性を導入。 未習得の場合先ずNode.js基本を学ぶ事。
  • TypeScript言語のコンパイラを設定。 やまとダイワバックエンド(以下YDBフレームワークTypeScript優先のフレームワークで、但し# [+Keyphrase--YDID anyが一切使われていない規律]。
  • オブジェクト指向プログラミングの基本。 YDBに提供される方法論はオブジェクト指向プログラミング中心。 当フレームワークは特定のアーキテクチャを強いてはいないが、オブジェクト指向プログラミングの利用は好ましく、次の授業以降必ず出る。

Node.jsプロジェクトの展開

新規Node.jsプロジェクトを展開し、下記のnpm依存性を導入しよう。 バージョンと共に変化しているAPI関連問題を避ける為に、此の従業無い角括弧指に示された バージョンを導入する超推薦。

@yamato-daiwa/backend [0.4.0]
当フレームワークの主要なnpmパッケージ
typescript [5.8.3]
TypeScript言語の主要npmパッケージ
tsx [4.20.3]
JavaScriptファイルをドライブに書き出さずにTypeScriptで書かれたコードを実行する為の手段。

コード

此の簡易なアプリケーションはhttp://127.0.0.1:80/アドレス宛てのGET型の HTTPリクエストへの返事として「Hello, world!」と言う本文を含んでいる h1見出しから成り立っているHTMLコードを返す。 実は、妥当なHTMLページを代表しているコードには成っていないが、テスト目的の為なら送信しても現在のブラウザーなら表示させる。 此のリクエストを送る前に当単純な例のコードを考察しておこう。

テスティング

tsxでアプリケーションを起動しよう。

「tsxが見つからなかった」と言う様なエラーが発生した場合、当ユーティリティのグローバルインストールと他に "start": "tsx EntryPoint.ts"の様なスクリプトをpackage.jsonに 追加した上で下記のコマンドを実行すると良い。

コードに間違いが無い場合、成功起動に関する下記の通知はターミナルに表示。

「The serving of HTTP requests started」(直訳:「HTTPリクエストの受付が始まった」)と言う見出しのメッセージがコンソールで緑色で表示されている。ウェブアプリケーションはNode.js/・TypeScriptで書かれ、「やまとダイワバックエンドの」(技術名:「Yamato Daiwa Backend」、省略:「YDB」)が使われている。

表示されているURIをウェブブラザーで開く。 貴方のターミナルはリンクを認識している場合は、マウスクリックで開く事も出来る。 結果として、ターミナルで少なくとも一件リクエストルート)に就いて記録が残る。

根ルートのGetリクエストについて、「New request」(直訳:「新規リクエスト」)と言う見出しのメッセージがコンソールで青色で表示されている。ウェブアプリケーションはNode.js/・TypeScriptで書かれ、「やまとダイワバックエンドの」(技術名:「Yamato Daiwa Backend」、省略:「YDB」)が使われている。

ルート/favicon.icoに就いても記録が残る事が有る。

「/favicon」ルートのGetリクエストについて、「New request」(直訳:「新規リクエスト」)と言う見出しのメッセージがコンソールで青色で表示されている。ウェブアプリケーションはNode.js/・TypeScriptで書かれ、「やまとダイワバックエンドの」(技術名:「Yamato Daiwa Backend」、省略:「YDB」)が使われている。

当記録が在れば、 ファビコンを表示させる為に、 ブラウザーに依り当リクエスト自動的に送信された訳。 仮にフレームワークは此のリクエストに備えられなかったとしたら、「見つからなかった」と言うエラー付きレスポンスを送信したが、 YDBフレームワークなら、規定で自分のアイコンを返している。 無論、別のアイコンに置き換える事も出来るが、以降の授業にしておこう。

localhostIPアドレス127.0.0.1に対して「代名詞」で、 80プロトコルHTTPにとって規定のポートなので、 http://127.0.0.1:80/と他に http://localhosthttp://localhost:80http://127.0.0.1:80/にもリクエストを送る事も出来る。

最後に[+ImportantEntity__Code--YDID routing]に登録されていないルートリクエストを送信すればどうなるか、 見てみよう。 例えば、リクエストhttp://127.0.0.1:80/fooの場合記録は下記の様に成る。

「/foo」ルートのGetリクエストについて、「New request」(直訳:「新規リクエスト」)と言う見出しのメッセージがコンソールで青色で表示されている。その後、不明なリソースへの参照について、「Requested resource not found」(直訳:「要求されたリソースが見つからなかった」)と言う見出しのメッセージがコンソールで赤色で表示されている。ウェブアプリケーションはNode.js/・TypeScriptで書かれ、「やまとダイワバックエンドの」(技術名:「Yamato Daiwa Backend」、省略:「YDB」)が 使われている。

フレームワークは、望ましいリソース(レスポンスで取得したいもの)が見つからなかったと。 ステータス404 Not foundを元にし、ブラウザーが同じ様なメッセージを表示。