Node.js 하루 만에 끝내기

유영·2024년 9월 12일
0

Node.js

목록 보기
1/2

1단계: Node.js 기초 학습 (2시간)

Node.js 설치 및 환경 설정 (30분)
Node.js와 npm(Node Package Manager)을 설치하고, 로컬 개발 환경을 설정합니다.
간단한 "Hello World" 프로그램을 작성해 Node.js가 잘 동작하는지 확인합니다.

  1. 목표: Node.js가 설치된 후, 기본 명령어와 환경 설정을 익히는 것.
  2. 학습 내용:
  • Node.js 설치
  • Node.js REPL (간단한 자바스크립트 실행)
  • Node.js 파일 실행(node filename.js)
  1. 실습:
// hello.js
console.log('Hello, Node.js!');

Node.js의 비동기 처리와 콜백 (45분)

비동기 프로그래밍의 기본 개념을 익히고, Node.js가 어떻게 I/O 작업을 처리하는지 배웁니다.
간단한 파일 읽기와 쓰기 작업을 통해 비동기 함수(fs.readFile, fs.writeFile)를 실습합니다.

학습 내용:

  • 비동기 함수와 콜백
  • Node.js의 fs(파일 시스템) 모듈 사용법

실습:

const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

npm과 패키지 관리 (45분)

npm을 이용해 패키지를 설치하고 관리하는 방법을 익힙니다.
Express.js와 같은 라이브러리를 설치해 프로젝트에 활용하는 방법을 배우세요.
Express.js는 Node.js에서 서버를 쉽게 구축할 수 있도록 돕는 프레임워크입니다.

학습 내용:

  • npm을 이용한 패키지 설치 (npm init, npm install)
  • package.json 파일의 역할 이해
    실습:
npm init -y
npm install express

2단계: 간단한 REST API 서버 구축 (3시간)

Express.js로 기본 서버 구축 (1시간)
Express.js를 사용하여 간단한 HTTP 서버를 구축합니다.
서버가 요청을 받아 응답을 반환하는 구조를 이해하는 것이 중요합니다.

학습 내용:

  • HTTP GET 요청 처리
  • 서버 실행 및 라우팅 기본
    실습:
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

RESTful API 만들기 (1시간 30분)

간단한 To-Do 리스트 API를 만들면서 RESTful API의 개념을 실습합니다.
할 일을 저장할 간단한 배열을 만들어 GET(조회), POST(추가), DELETE(삭제) 기능을 구현합니다.

학습 내용:
app.get(), app.post(), app.delete()를 사용해 각각의 API 엔드포인트 구현
JSON 형식의 데이터 주고받기

실습:

const express = require('express');
const app = express();
app.use(express.json());

let todos = [];

app.get('/todos', (req, res) => {
  res.json(todos);
});

app.post('/todos', (req, res) => {
  const todo = req.body.todo;
  todos.push(todo);
  res.json({ message: 'Todo added!', todos });
});

app.delete('/todos/:id', (req, res) => {
  const id = parseInt(req.params.id);
  todos = todos.filter((todo, index) => index !== id);
  res.json({ message: 'Todo deleted!', todos });
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

Postman 또는 브라우저에서 API 테스트 (30분)
Postman 같은 툴을 사용하여 API가 제대로 작동하는지 테스트합니다.
할 일 목록을 추가하고, 조회하고, 삭제하는 요청을 보내 봅니다.
목표: 서버와 클라이언트 간의 데이터 통신 흐름을 이해하는 것.

3단계: 프로젝트 마무리 및 코드 개선 (2시간)

기본 오류 처리 및 검증 추가 (1시간)
사용자가 잘못된 요청을 보낼 경우에 대한 오류 처리를 추가해 봅니다.
예를 들어, 할 일 추가 시 빈 문자열을 허용하지 않도록 검증을 추가할 수 있습니다.
실습:

javascript
코드 복사
app.post('/todos', (req, res) => {
  const todo = req.body.todo;
  if (!todo) {
    return res.status(400).json({ error: 'Todo content is required' });
  }
  todos.push(todo);
  res.json({ message: 'Todo added!', todos });
});

코드 리팩토링 및 주석 작성 (30분)
코드 구조를 더 명확하게 정리하고, 주석을 달아 이해하기 쉽도록 만듭니다.

프로젝트 배포 준비 (30분)

Heroku, Vercel, 또는 다른 Node.js 호스팅 플랫폼을 사용하여 프로젝트를 배포합니다.

최종 목표
완성된 프로젝트: 간단한 To-Do 리스트 API
배운 내용: Node.js 설치 및 환경 설정, Express.js 서버 구축,
RESTful API 만들기, 비동기 I/O 처리, npm 사용법, 오류 처리 및 간단한 배포
이상 하루 안에 Node.js의 기본 개념을 익히고, 실습 프로젝트 하나를 완성할 수 있을 것입니다.

0개의 댓글