Yamato DaiwaBackend

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

事前に必要な知識・熟練

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

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

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

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

@yamato-daiwa/backend [0.3.0]
当フレームワークの主要なnpmパッケージ
@yamato-daiwa/es-extensions [1.7.0]
Node.jsブラウザー専用JavaScript不問の補助機能。 当授業内、HTTP_Methods列挙のみ必要に成るが、プロジェクトの拡大と共にもっと必要に成る予定。
ts-node [10.9.2]
TypeScript言語専用の REPLTypeScriptは自分のランタイムを持っている効果を作り、 当授業内コンパイル済みのJavaScriptファイル関連面倒を避ける。
typescript [5.5.4]
TypeScript言語の主要npmパッケージts-nodeは当パッケージの導入を求める (npmの用語を使って言い換えると、typescriptts-nodeに対するpeer dependencyである)。 現在のnpmピア依存性を自動的に導入しているが、我々は此のパッケージの 特定バージョンを意識的に導入する。

コード

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

テスティング

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

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

「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を元にし、ブラウザーが同じ様なメッセージを表示。