Node 강의/입문 21

2-6 AWS EC2를 이용한 서버 실행

먼저, AWS에서 EC2를 생성해야 한다. 생성이 완료 됐다는 가정하에 작업을 진행하도록 하겠습니다. 1. EC2 Instance에 접속하기 1) EC2에 접속하기 전 방화벽이란 : 컴퓨터에 아무나 연결할 수 없도록 해주는 역할을 수행한다. 만약, 방화벽이 없다면 아무나 서버 컴퓨터에 접속을 시도 할 수도 있고,         우리가 모르는 사이에 해킹을 당할 수 있는 상태가 됩니다. 2) EC2 Instance에 접속하기 위한 도구, SSH 개념 정리 SSH(Secure Shell)은 일반적으로 다른 컴퓨터에 연결할 때 사용되는 프로그램입니다. - 다른 접속 방법보다 보안이 뛰어나 서버 연결을 위해 일반적으로 사용됩니다.- 로컬 저장소에서 Github의 원격 저장소를 사용하기 위해서 SSH Key를 발..

Node 강의/입문 2024.09.04

2-5 에러 처리 미들웨어(실습에서 추가 및 수정)

1. 에러 처리 미들웨어 에러 처리 미들웨어는 여러 API에서 발생할 수 있는 에러를통합적으로 관리할 수 있도록 도와주는 미들웨어 입니다. 그래서 개발자가 커스텀한 에러 발생 및 처리가 가능해지고에러를 한 .js 파일에서 통합적으로 관리하는게 가능해집니다. 2. Express.js의 에러 처리 미들웨어  Express.js에서 공식적으로 제공하는 기능으로, app.use((err, req, res, next) => {  console.error(err.stack);  res.status(500).send('Something broke!')}); 에러 처리 미들웨어에서 err, req, res, next는 각각 에러, 요청, 응답, 다음 미들웨어 호출하는 함수 입니다. err : 이전 미들웨어에서 발생한 ..

Node 강의/입문 2024.09.04

2-4 데이터 유효성 검증 라이브러리 Joi(실습에서 추가 및 수정)

1. Joi 란? Joi는 JavaScript 유효성 검증을 위한 라이브러리 입니다.Joi는 여러 타입과 규칙을 이용해 유효성을 검증하며,유효성 검증에 실패하면 오류를 발생시킵니다. 클라이언트가 요청한 정보들이 서버로 전달될 때,알맞는 형식인지 아닌지 검증하는 작업을 Joi가 한다. 2. 유효성 검증(Validation)이란? 말 그대로 어떤 것을 검증한다 와 같이 value가 1인지 판단해서 true, false를 반환하는 함수조차Validation이라고 볼 수 있습니다. 3. Joi 설치하기 VScode의 터미널에서 yarn add joi 로 joi를 설치할 수 있다.4. Joi를 이용한 Validation 시작하기 1. 문자열 길이 검증하기import Joi from "joi";// Joi 스키마를..

Node 강의/입문 2024.09.03

2-3 미들웨어(Middleware)(실습에서 추가 및 수정)

1. 미들웨어 (Middleware) 웹 서버에서 요청을 받을 때, 모든 요청에 대한 공통적인 처리를하고 싶을 수 있습니다. 이때 필요한 것이 미들웨어(Middleware) 입니다. 미들웨어(Middleware)는 서버의 요청(Request) - 응답(Response) 과정에서중간에 위치하여 특정 기능을 수행하는 함수라고 볼 수 있습니다. ex) 모든 요청에 대해서 로그(Logging)를 남기거나,특정 사용자만 API를 접근(Authentication & Authorization)하게 하고 싶을 때도 미들웨어를 사용합니다. 또한 사용자가 웹 페이지에서 Form을 통해 전송한 데이터를 서버에게쉽게 파싱(Body Parser)하여 사용할 수 있게 해주는 미들웨어도 존재합니다. 2. Express.js의 미들..

Node 강의/입문 2024.09.03

2-2 웹 서버 + MongoDB 실습

Express를 통해 MongoDB를 사용하고, REST API를 설계하고 구현하는 작업을 진행한다. 1. 단계 : 할 일 메모 페이지 만들기( 프론트엔드로 부터 제공 받을 예정 ) 2. 단계 : Express.js 서버 : API를 구현하기 위해 Express.js를 이용해 서버 코드 작성하기 3. 단계 : MongoDB, mongoose : 할 일 목록을 저희가 대여한 MongoDB에 저장하기 2. 단계 : 할 일 메모 페이지 만들기 먼저 server와 통신할 .js 파일에 import express from "express";const app = express();const PORT = 3000;app.use(express.json());app.use(express.urlencoded({ exten..

Node 강의/입문 2024.09.02

2-1 데이터베이스와 MongoDB

1. 데이터베이스 란? 데이터베이스(DataBase)는 '데이터의 집합'이라고 할 수 있습니다.실제 데이터가 저장되는 저장소의 역할을 수행합니다. DBMS(DataBase Management System) : 데이터베이스(DataBase)를 실제 운영하고, 관리하는 소프트웨어입니다. "데이터베이스에 저장한다"라는 말은 DBMS가 설치된 데이터를 저장한다는 의미입니다. DBMS가 설치된 서버 컴퓨터를 데이터베이스 서버(DB 서버)라고 부릅니다.즉, DB 서버의 모든 데이터는 DBMS가 관리하게 됩니다. 2. MongoDB 란? MongoDB는 국내, 외 수 많은 개발자들에게서 사용되고 있는 가장 인기있는비관계형 데이터베이스(NoSQL) 중 하나 입니다. 모든 데이터가 JSON 형태로 저장됩니다. 복잡한 데..

Node 강의/입문 2024.09.02

1-15 REST API 개발하기

목표1. Express의 REST API를 어떻게 개발하는지 알아봅니다.2. Express 프레임워크에서 REST API를 개발해봅니다. 1. REST API 개발 지금까지 학습한 Express의 기능을 바탕으로 GET, POST 메서드에 해당하는 REST API를 구현해보도록 하겠습니다. 상품 예시 데이터const goods = [  {    goodsId: 1,    name: '상품 1',    thumbnailUrl:      'https://cdn.pixabay.com/photo/2016/09/07/19/54/wines-1652455_1280.jpg',    category: 'drink',    price: 6.2,  },  {    goodsId: 2,    name: '상품 2',    t..

Node 강의/입문 2024.09.02

1-14 Express.js의 req, res 객체

1. Express.js의 req 객체 살펴보기 - req.app : req 객체를 통해 Express.js의 app 객체에 접근할 수 있습니다. - req.ip : 요청한 Client의 ip 주소가 담겨 있습니다 - req.body : Request를 호출할 때 body로 전달된 정보가 담긴 객체입니다.                   express.json() middleware를 이용하여야 해당 객체를 사용할 수 있습니다. - req.params : 라우터 매개 변수(Path Params)에 대한 정보가 담긴 객체입니다. - req.query : Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체입니다. - req.cookies : Request를 호출할 때 Cookie 정보가 담긴..

Node 강의/입문 2024.09.02

1-13 Request와 Response

1. Request, Response란 뭘까? Request란 클라이언트가 서버에게 전달하려는 정보나 메시지를 담은 객체를 의미합니다.Request 세부 사항에는 URL, Http method, 헤더(Header),쿼리 파라미더(query parameter),  바디 데이터(body data)등이 포함됩니다. Response란 서버에서 클라이언트로 응답 메시지를 전송 시켜주는 객체입니다.Response의 세부 사항에는 상태 코드(Status Code), 응답 데이터(Response Data),응답 헤더(Respones Header) 등이 포함됩니다. 2. 서버 모듈 - Node.js의 서버 모듈에는 대표적으로 http 모듈과 Express.js가 존재합니다.   → 여기서, http 모듈은 Node.js..

Node 강의/입문 2024.09.01

1-12 API Client 학습

API Client 학습 1. API Client란? API Client란 개발단계에서 우리가 작성한 API의 요청을 확인하거나 테스팅 할 때 도움을 주는 툴 입니다.개발 속도를 높이거나 잘못된 API 요청으로 인한 치명적인 애러를 예방하는데 도움을 받을 수 있습니다. 대표적인 API Client로 Postman, Insomnia가 있습니다. API Client는 API 요청(Request)을 손쉽게 구성할 수 있고, 응답(Response)을 직관적으로 확인할 수 있게 도와줍니다.  2. 어떤 상황에 필요할까? 우리는 주로 데이터를 가져오는 데 사용되는 Http Method 중 GET에 대응하는API를 구현하고, 웹 브라우저를 통해 확인해왔다. 그러나, 생성(POST), 수정(PUT, PATCH), 삭제..

Node 강의/입문 2024.09.01