Part3:Hello, World

海未「さて、おなじみ”Hello, Worldはどこいった”のコーナーです」
ことり「Hello, WorldとFizzBuzzはほんと毎回毎回名前だけだよね・・・」

海未「まずは一番基本的なものをやってみましょう。以下のコードを書いてみてください」

海未「拡張子.jsで適当なファイルに保存してください」
穂乃果「おおっ、見たことあるコードだ」
海未「コマンドラインから以下のように実行できます」

穂乃果「うーむ・・・」
ことり「どうかしたの?」
穂乃果「あんまり面白くない・・・」
海未「JavaScriptの言語仕様はもうやったわけですし、実行環境が変わっただけですからね」
穂乃果「まあ、それもそうか・・・」
海未「では、これはどうでしょう」

海未「これを実行して、ブラウザでhttp://127.0.0.1:25252にアクセスしてみてください」
ことり「・・・あっ、ちゅんちゅんって出た」
穂乃果「これだけでWebアプリができちゃったの!?」
海未「そうです。これなら面白いでしょう」
穂乃果「うんうん!」

海未「コードの内容を見ておきましょう。requireはモジュールを読み込む関数です。モジュールは機能をまとめたものだと考えてください」
ことり「require("http");ってするとHTTP通信の機能が使えるのかな?」
海未「そんなところです。そのモジュールのcreateServer関数を使うことでHTTPサーバオブジェクトを作成しています」
穂乃果「それが、シングルスレッドで動いて、イベントループを処理する・・・」
海未「珍しく物覚えがよいですね。その通り、このHTTPサーバオブジェクトはWebアプリケーションの一番基本的な骨組みになるものです」
ことり「簡単に書けるけど、大事なところだね」
海未「実際の処理そのものは関数にして渡しています。このパターンはもう大丈夫ですね?」
穂乃果「はーい」
海未「この関数はHTTPのリクエストとレスポンスを引数に取ります。まあ、分かる人には一般的でしょう」
ことり「分かる人って・・・?」
海未「妄言です。さて出力は、このレスポンスオブジェクトに対して行います。最低限のHTTPヘッダと、レスポンスボディを書き込んでいます」
ことり「それがブラウザで見えるようになるんだ」
海未「最後に、listenメソッドで25252番ポートを指定して待ち受けを開始します。この状態になると、ブラウザからアクセスできるようになります」

海未「これまでのJavaScriptの知識と組み合わせれば、もう色々なことができるようになっているはずです」
穂乃果「うん!何かの修行みたいな言語仕様編を耐え抜いてよかった!」
海未「次回は、今回出てきたhttpのようなモジュールの作り方や使い方を見ていきましょう」

海未「それとこの先、基礎的なネットワークの知識を前提として話をします。HTTPって何?とかソケットって何?という人は予習しておいてくださいね」
ことり「だって」
穂乃果「うっ・・・が、頑張るよっ!ファイトだよ私っ!」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です