Snackgirls コーディングノート · 01
バイブコーディングはしてみたけど、
Node.jsって何だっけ?
レッド、ネア、キラリ、アイコと基礎を少しずつ。
ゲームの記録サイトを例に、コーディング用語を四つ学びます。

01 · 勉強を始めた理由見覚えはあるのに、説明できなかった
こんにちは、レッドです。部活でいろいろ作っていると、アイコに「こんな画面を作って」と頼むことがあります。できた画面を見て、「このボタンをもう少し大きく」「ここに写真も入れよう」と直していくんです。こんなふうにAIと会話しながらコードを作ることを、バイブコーディングと呼ぶそうです。
画面ができるとうれしいのに、説明を読むと何度も手が止まります。JavaScript、Node.js……。何度も見た名前だから知っているつもりでした。でも、それぞれ何をするのか説明しようとすると、言葉が出てこなかったんです。
一つ質問したら、知らない言葉が三つ増えちゃった。
ネアもノートを開いてうなずきました。「私も名前だけだと混乱します。何をするものなのか、分けて書いてみませんか?」そこで四人で一つずつ調べて、分かったことを短い動画にまとめることにしました。アイコの説明を理解して、自分の作りたいものも、もっと伝えられるようになりたかったんです。
初めてなら、まずはこの二つ
コードは、コンピューターにしてほしいことを、決められた規則に従って書いたものです。実行は、コンピューターがそこに書かれた処理を実際に行うことです。
今日はまず、「コードを書く言語」と「コードを動かす環境」の違いを見てみましょう。そのあと、画面やアプリを作る道具にも少し触れます。
02 · 実際の画面で考える遊んだゲームを記録するサイトなら?
「どのゲームを遊んで、どこまでクリアしたか書いておける場所がほしいな」。キラリの言葉から、小さなWebサイトを想像してみました。ゲーム一覧と短いメモを残す「プレイノート」です。ここに出てくるゲーム名と画面は、仕組みを理解するための架空の例です。
最初からサイト全体を作るのではなく、まずは2回遊んだ時間を足すコードを見てみました。30分と20分で、合計50分。この小さな計算でも、コードを書く言語と、それを実行するプログラムは別のものでした。

この計算を実行しても、最後のコマのWeb画面まで自動でできるわけではありません。画面の見た目や動きは、別にコードを書く必要があります。
03 · 用語の意味を見てみよう書く言語、動かす環境、画面を作る道具
① JavaScriptはコードを書く言語
コンピューターに処理を伝えるには、決められた文法に従います。そのようなプログラミング言語の一つがJavaScriptです。次のコードは、30と20を足した結果を出力します。
console.log(30 + 20);
実行すると、数字の50が出ます。この例では、それを合計50分のプレイ時間として読んでいます。「分」という文字まで自動で付くわけではありません。
② Node.jsはJavaScriptを実行する環境
ファイルにコードを書いただけでは、計算は実行されません。Node.jsは、そのJavaScriptコードを実行できるプログラムです。このような実行環境をランタイムと呼びます。
マンガでは、コードをindex.jsというファイルに保存して、Node.jsで実行しました。だから文字を出力する画面に50が出たんです。今はコマンドを覚えるより、「書くことと実行することは別」と分かれば大丈夫です。
JavaScriptでコードを書いて、
Node.jsで実行します。
同じ種類の名前だと思ってたけど、役割が違ったんだね。
Webページを開かなくてもJavaScriptを実行できる?
ブラウザーは、ChromeやEdgeのようにWebページを開くプログラムです。ブラウザーの中にもJavaScriptを実行する仕組みがあります。
Node.jsを使えば、Webページを開かずに自分のパソコンでJavaScriptを実行できます。サーバーでも使えます。ただし、Web画面やゲームを自動で作ってくれるものではありません。
③ Reactは画面作りを助けるライブラリ
「プレイノート」のゲーム一覧を見てみましょう。各項目に、画像、ゲーム名、クリアしたかどうかが繰り返し出てきます。このまとまりを一度作って、ゲームの情報だけ入れ替えて使えたら便利ですよね。
このように、画面の一部分をまとまりとして作ったものをコンポーネントと呼びます。Reactは、コンポーネントを作ったり組み合わせたりするためのライブラリです。ライブラリは、プログラムを作るときに利用できるコードや道具の集まりと考えてください。
Reactが、このゲーム一覧を完成品として用意してくれるわけではありません。どんな情報やボタンを置くかは、自分たちで決めて作ります。
④ Next.jsはWebアプリの構成を助けるフレームワーク
ゲーム一覧を作ったら、「自分の記録」ページもほしくなりました。それぞれ別のアドレスで開き、ページ間を移動できるようにするには、アプリ全体の構成を考える必要があります。
Next.jsは、Reactを使ってWebアプリを作るためのフレームワークです。基本構造や共通機能を備えた枠組みで、複数のページを構成したり、アドレスに合った画面を表示したりすることを助けます。Webアプリは、ブラウザーで使うプログラムのことです。
ゲームの項目を作ることと、複数のページを構成することを分けると、分かりやすいですね。
枠組みがあっても、「自分の記録に何を保存するか」といった機能は、自分たちで決めて実装します。
言語
JavaScript
ランタイム
Node.js
ライブラリ
React
フレームワーク
Next.js
それぞれ異なる役割の例です。すべてのプログラムで、この四つを必ず一緒に使う必要はありません。
JavaScriptとNode.jsはどう違う?
それでは、まとめた第1話の動画を見てみましょう。動画では、同じ概念をゲーム作りに例えて説明します。
書く言語、実行環境、道具、枠組み。
それぞれの役割がどこに出てくるか探してみてください。
動画にはPythonも出てきます。JavaScriptと同じく、コードを書く言語です。Pythonインタープリターは、Pythonのコードを実行するプログラムです。ここでも、言語と実行するプログラムを分けて考えてみましょう。
元の動画 · 音声は韓国語です。
次に知らない道具の名前が出てきたら
今日は名前より先に、役割を整理しました。JavaScriptで書き、Node.jsで実行する。Reactは画面の部品作り、Next.jsはWebアプリの構成を助けます。
次に知らない名前が出てきたら、何をする道具なのか、先に聞いてみよう。
私のノートにも「これは何をするもの?」と書いておきました。アイコの説明で止まってしまったら、まずそこから聞いてみようと思います。
小さな練習 · 3問
四つの名前を区別してみよう
コードを書いて実行した場面と、ゲーム一覧を思い出して3問解いてみてください。解答例は考えてから開いてみましょう。
1. 名前と役割を結んでみよう
JavaScriptとNode.jsを、「コードを書く言語」「コードを実行する環境」とそれぞれ結んでください。
解答例を開く
JavaScriptは言語、Node.jsはJavaScriptを実行する環境です。
2. 出力を予想してみよう
マンガのconsole.log(30 + 20);を実行すると、どんな数字が出るでしょう? 30分と20分を足すと考えてみてください。
解答例を開く
50です。コードが出すのは数字の50で、この例では合計50分という意味で読んでいます。
3. 画面の繰り返しを探そう
最後のコマにある二つのゲーム項目には、どんな共通点がありますか? Reactで再利用する部品を作るなら、何をまとめますか?
解答例を開く
例えば、ゲームの画像、名前、クリア状況を一つの項目にまとめます。同じ形に、別のゲーム情報を入れて使えます。

コメント
0ログイン不要。投稿したブラウザから編集・削除できます。
すべてのコメント 0
한국어 · English · 日本語まだコメントはありません。最初のひとことをどうぞ。