바이브 코딩은 해봤는데, Node.js가 뭐였지?

SNACKGIRLS ORIGINAL우리의 코딩 공부 노트

스낵걸즈 코딩 공부 · 01

바이브 코딩은 해봤는데,
Node.js가 뭐였지?

레드, 네아, 키라리, 아이코의 기초 한 입.
게임 기록 웹사이트를 떠올리며 코딩 용어 네 가지를 알아봐요.

Node.js도 언어야? 노트와 펜을 들고 모인 레드, 네아, 키라리, 아이코
만들면서 자주 본 이름들, 이번에는 각각 무슨 일을 하는지 알아보려고요.

써본 이름인데, 설명하려니 막혔어요

안녕하세요, 레드예요. 동아리에서 이것저것 만들다 보면, 아이코에게 “이런 화면 만들어줘”라고 부탁할 때가 있어요. 나온 화면을 보고 “이 버튼은 좀 더 크게”, “여기엔 사진도 넣자” 하면서 고쳐보는 거죠. 이렇게 AI와 대화하며 코드를 만들어가는 걸 ‘바이브 코딩’이라고 부르더라고요.

화면이 나오면 신나는데, 설명을 읽을 때는 자꾸 멈추게 됐어요. JavaScript(자바스크립트), Node.js(노드제이에스)…. 여러 번 봤으니까 아는 줄 알았거든요. 그런데 각각 무슨 일을 하는지 설명하려니 말문이 막혔어요.

키라리 표정

키라리

질문 하나 했는데, 모르는 단어가 세 개 늘었어.

네아도 노트를 펴며 고개를 끄덕였어요. “저도 이름만 보고는 헷갈려요. 어떤 일을 하는지 나눠 적어볼까요?” 그래서 우리 넷이 하나씩 찾아보고, 알게 된 내용을 짧은 영상으로 정리해보기로 했어요. 아이코의 설명을 알아듣고, 내가 원하는 것도 더 잘 설명해보고 싶었거든요.

처음이라면, 이 두 단어부터

코드는 컴퓨터가 할 일을 정해진 규칙에 맞춰 적은 글이에요. 실행은 컴퓨터가 그 글에 적힌 일을 실제로 하는 거예요.

오늘은 ‘쓰는 말’과 ‘실행하는 환경’이 다르다는 것부터 알아봐요. 그다음 화면과 앱을 만드는 도구도 살짝 만나볼게요.

내가 한 게임을 기록하는 사이트라면?

“어떤 게임을 했고, 어디까지 깼는지 적어둘 곳이 있으면 좋겠다.” 키라리의 말에 간단한 웹사이트를 상상해봤어요. 게임 목록과 짧은 메모를 모아두는 ‘플레이 노트’예요. 여기 나오는 게임 이름과 화면은 개념을 알아보기 위해 만든 예시예요.

처음부터 사이트 전체를 만들기보다는, 두 번 플레이한 시간을 더하는 코드부터 살펴봤어요. 30분과 20분을 더하면 50분. 이 간단한 계산에서도 코드를 쓰는 말과 실행하는 프로그램은 달랐어요.

레드가 JavaScript와 Node.js의 차이를 묻는다. 30과 20을 더하는 코드를 실행해 50이 나온다. 키라리가 게임 목록과 내 기록 페이지를 가리킨다.
코드 쓰기 → 실행 결과 확인 → 웹 화면 만들기 순서로 읽어봐요. 그림을 누르면 크게 볼 수 있어요.

계산 코드를 실행했다고 마지막 웹 화면까지 저절로 만들어지는 것은 아니에요. 화면의 모양과 기능은 따로 작성해야 해요.

쓰는 말, 실행하는 환경, 화면을 만드는 도구

① JavaScript는 코드를 쓰는 언어예요

컴퓨터가 할 일을 적으려면 정해진 문법을 따라야 해요. 그런 문법을 갖춘 프로그래밍 언어 중 하나가 JavaScript예요. 아래는 30과 20을 더한 결과를 출력하는 JavaScript 코드예요.

첫 번째 플레이 30분 + 두 번째 플레이 20분
console.log(30 + 20);

실행하면 숫자 50이 나와요. 이 예제에서 그 숫자를 총 플레이 시간 50분으로 해석하는 거예요. ‘분’이라는 글자까지 자동으로 붙지는 않아요.

② Node.js는 JavaScript를 실행하는 환경이에요

코드를 파일에 적어두기만 해서는 계산이 실행되지 않아요. Node.js는 그 JavaScript 코드를 실행할 수 있는 프로그램이에요. 이런 실행 환경을 런타임이라고 불러요.

만화에서는 코드를 index.js라는 파일에 저장하고 Node.js로 실행했어요. 그래서 글자 출력 창에 50이 나온 거예요. 지금은 명령어를 외우기보다 ‘적는 것과 실행하는 것은 다르다’는 점을 봐주세요.

JavaScript로 코드를 쓰고,
Node.js로 그 코드를 실행해요.

레드 표정

레드

같은 종류의 이름인 줄 알았는데, 하는 일이 달랐네.

웹페이지를 열지 않고도 JavaScript를 실행할 수 있나요?

브라우저는 크롬이나 엣지처럼 웹페이지를 열어보는 프로그램이에요. 브라우저 안에도 JavaScript를 실행하는 기능이 있어요.

Node.js를 쓰면 웹페이지를 열지 않고도 내 컴퓨터에서 JavaScript를 실행할 수 있어요. 서버에서도 쓸 수 있고요. Node.js가 웹 화면이나 게임을 알아서 만들어주는 것은 아니에요.

③ React는 화면 만들기를 돕는 라이브러리예요

‘플레이 노트’의 게임 목록을 봐요. 각 항목에 그림, 게임 이름, 클리어 여부가 반복해서 들어가죠. 이것들을 묶어 한 번 만들고, 게임 정보만 바꿔 여러 번 쓸 수 있으면 편하겠어요.

이처럼 나누어 만든 화면의 한 부분을 컴포넌트라고 해요. React는 컴포넌트를 만들고 조합하도록 돕는 라이브러리예요. 라이브러리는 프로그램을 만들 때 가져다 쓰는 코드와 도구 모음이라고 생각하면 돼요.

별빛 모험클리어
달빛 레이싱진행 중

항목의 구조는 같고, 이름과 클리어 여부는 달라요.

React가 이런 게임 목록을 완제품으로 주는 것은 아니에요. 어떤 정보를 보여주고 어떤 버튼을 둘지는 우리가 정해서 만들어야 해요.

④ Next.js는 웹앱 구성을 돕는 프레임워크예요

게임 목록 하나를 만들고 나니 ‘내 기록’ 페이지도 필요해졌어요. 목록과 내 기록을 서로 다른 주소로 열고, 페이지 사이를 이동하려면 앱 전체의 구성을 잡아야 해요.

Next.js는 React를 바탕으로 웹앱을 만드는 프레임워크예요. 앱의 기본 구조와 공통 기능을 제공하는 틀이라고 보면 돼요. 여러 페이지를 구성하고 주소에 맞는 화면을 보여주는 일 등을 도와줘요. 웹앱은 브라우저에서 사용하는 프로그램이에요.

네아 표정

네아

게임 항목을 만드는 일과, 여러 페이지를 구성하는 일을 나눠보니 이해돼요.

틀을 사용해도 ‘내 기록에 무엇을 저장할지’ 같은 기능은 직접 정하고 구현해야 해요.

코드를 쓰는 말

언어

JavaScript

코드를 실행하는 환경

런타임

Node.js

가져다 쓰는 도구

라이브러리

React

앱을 만드는 틀

프레임워크

Next.js

서로 다른 역할의 예시예요. 모든 프로그램에 이 네 가지를 반드시 함께 써야 하는 것은 아니에요.

JavaScript와 Node.js는
왜 다른가?

이제 우리가 정리한 1편 영상을 함께 봐요. 영상에서는 같은 개념을 게임 만들기에 빗대어 설명해요.

약 1분코딩 첫걸음 · 1편

‘쓰는 말, 실행 환경, 도구, 틀.’
이 네 역할이 어디에 나오는지 찾아봐요.

영상에는 Python(파이썬)도 등장해요. JavaScript처럼 코드를 쓰는 언어예요. Python 인터프리터는 Python 코드를 실행하는 프로그램이고요. 여기서도 ‘쓰는 언어’와 ‘실행하는 프로그램’을 나눠보면 돼요.

스낵걸즈 유튜브에서 1편 보기 ↗

게임으로 배우는 코딩 첫걸음 · 1편

다음에 낯선 도구 이름을 만나면

오늘은 이름보다 역할을 먼저 구분해봤어요. JavaScript로 코드를 쓰고, Node.js로 실행해요. React는 화면 부품을 만드는 데, Next.js는 웹앱을 구성하는 데 쓰고요.

키라리 표정

키라리

다음에 모르는 이름이 나오면, 무슨 일을 하는 도구인지부터 물어봐야겠다.

내 노트에도 ‘이건 무슨 일을 맡아?’라고 적어뒀어요. 아이코의 설명을 읽다가 막히면 그 질문부터 해보려고요.

작은 연습 · 3문제

네 가지 이름을 구분해봐요

코드를 쓰고 실행했던 장면과 게임 목록을 떠올리며 세 문제를 풀어보세요. 예시 답은 생각한 뒤 펼쳐보세요.

1. 이름표 붙이기

JavaScript와 Node.js 옆에 ‘코드를 쓰는 언어’와 ‘코드를 실행하는 환경’을 연결해보세요.

예시 답 펼치기

JavaScript는 언어, Node.js는 JavaScript를 실행하는 환경이에요.

2. 출력 결과 예상하기

만화의 console.log(30 + 20);을 실행하면 어떤 숫자가 나올까요? 30분과 20분을 더한다고 생각해보세요.

예시 답 펼치기

50이 나와요. 코드가 출력하는 것은 숫자 50이고, 이 예제에서 우리가 붙인 뜻은 총 50분이에요.

3. 화면에서 반복 찾기

만화 마지막 화면에서 두 게임 항목의 공통 부분을 찾아보세요. React로 다시 쓸 부품을 만든다면 무엇을 묶을까요?

예시 답 펼치기

예: 게임 그림·이름·클리어 여부를 한 항목으로 묶어요. 같은 구조에 다른 게임 정보를 넣어 쓸 수 있어요.

레드의 노트 한쪽에

네아가 찾아준 설명도 여기 남겨둘게요. 아직 낯선 말이 많지만, 오늘 배운 이름부터 찾아보면 조금은 읽히겠죠?

함께 찾아본 공식 설명
#스낵걸즈#코딩기초#바이브코딩#JavaScript#Nodejs

댓글

0

로그인 없이 남길 수 있어요. 작성한 브라우저에서 수정·삭제할 수 있어요.

전체 댓글 0

한국어 · English · 日本語

아직 댓글이 없어요. 첫 이야기를 남겨 주세요.

이 내용 공유하기