Node 강의 65

1-4 SQL (Structured Query Language)

1. VSCode를 이용하여 SQL 사용하기 1) VSCode를 이용하여 SQL 사전 준비 VSCode에서 연결된 MySQL을 우클릭하여 New Query 버튼을 누르고 새로운 Query 파일을 생성한다.  Query 파일에서 원하는 SQL을 사용할 수 있다!  2) 데이터 베이스 기본 개념데이터 베에스는 매우 고도화된 엑셀입니다. 엑셀 파일 하나가 "데이터베이스"라면,엑셀 시트 하나는 "테이블"이라고 부르고,엑셀 행 하나는 "데이터"라고 부릅니다. 3) 데이터 베이스 생성먼저,에서 New Query를 눌러줍니다.  그럼 위와 같은 창이 생성되고,거기에 CREATE DATABASE NodeJS;  을 작성합니다. 그리고 Control + ALT + E 를 눌러준 후 DataBase를 마우스 우클릭해 Re..

Node 강의/숙련 2024.09.05

1-3 SQL (Structured Query Language) 살펴보기

1. SQL이란 데이터베이스에서 사용되는 생성, 삽입, 조회 명령문을 SQL (Structured Query Language)이라고 합니다. 1. SQL의 종류란? DDL (Data Definition Language)DML (Data Manipulation Language)DCL (Data Control LanguageTCL (Transaction Control Language) 1) DDL (Data Definition Language) DDL은 데이터를 정의할 때 사용하는 언어로테이블이나 데이터베이스를 생성, 수정, 삭제와같은 행위를 할 때 사용합니다. CREATE DataBase, Table, View, INDEX 등을 생성할 때 사용합니다. CREATE DATABASE DB 이름 CRATE TA..

Node 강의/숙련 2024.09.05

1-2 RDS 구매하고 MySQL 세팅하기

1. AWS RDS 구매하기 MySQL 서버를 AWS에서 구매해보겠습니다. 1) RDS 구해하기 https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2# https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2 ap-northeast-2.console.aws.amazon.com 주소로 들어갑니다. 2) RDS를 검색하고 결과를 클릭합니다.  3) 좌측 "데이터베이스" 탭 클릭하기 4) "데이터베이스 생성" 버튼을 클릭합니다.  5) "표준 생성" 과 "MySQL"을 클릭합니다.6) DB 인스턴스 크기는 "프리 티어"를 선택합니다...

Node 강의/숙련 2024.09.05

1-1 관계형 데이터베이스 RDB(RelationShip Data Base)

1. 이전에는 어떤 문제가 있었나? 지난 주차에는 인 메모리(In-Memory) 방식으로 데이터를 저장하거나,NoSQL 데이터베이스인 MongoDB를 사용하여 "해야할 일" 데이터를 저장하였습니다. 하지만, 이런 저장 방식은 정형화된 데이터를 관리하거나복잡한 비즈니스 로직을 구현하기에는 적합하지 않았다. ex) MongoDB에서 여러 컬렉션을 합쳐 조회하려고 할 때,      특정 필드(Field)가 존재하지 않는다면, 문제가 발생할 수 있다. 이와 같은 문제점을 해결하기 위해 데이터의 정규화와 무결성을 보장하면서정형화된 데이터를 효과적으로 관리할 수 있는 관계형 데이터베이스(RDB, Relational DataBase)가 탄생하게 됐습니다. 2. 관계형 데이터베이스(RDB, Relational Data..

Node 강의/숙련 2024.09.05

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