목록분류 전체보기 (96)
Will find a way

목차1. MySql 모듈2. mysql 모듈 설치3. mysql 모듈 사용 1. MySql 모듈MySql 은 NodeJs의 외장 모듈을 통해 이용할 수 있으며 MySql 자체는 아니다.NodeJs와 이어주는 역할, 쉽게 말해 드라이버라 생각하면 된다. 특징- MySql 콜백방식- MySql2 Promise 기반으로 사용- MySql2 공식문서에서도 권장하는 모듈 2. MySql 모듈 설치npm i mysql2 3. MySql 모듈 사용- require로 MySql2 외장 모듈 가져오기const mysql = require("mysql2"); - createConnection : 연결 요청을 보내고 반환받은 객체를 통해 쿼리문을 요청할 수 있는 메서드를 제공한다.- user : 유저 이름- password..

1. Database(데이터베이스) 생성-- 기본 인코딩 방식은 utfmb4-- mb4 : most bytes 4 : 4byte씩 사용하는 utf8 문자 집합으로 유니코 문자를 지원하겠다.-- utfmb4 : 4byte씩 사용하는 utf8 문자 집합으로 유니코드 문자를 지원하겠다. (전세계 문자 + 이모티콘 사용 가능)-- general : 비교 정렬 규칙을 정의-- ci : 대소문자 구분 안함.-- JAKA 라는 이름의 데이터베이스를 만들겠다CREATE DATABASE JAKA DEFAUTL CHARACTER SET utfmb4 COLLATE utf8mb4_general_ci; 2. Database 보기SHOW DATABASES; 3. Database 삭제-- JAKA 라는 이름의 데이터베이스 삭제D..

목차1. SQL이란?2. SQL의 개요 (DDL, DML, DCL)3. 데이터 타입(문자형, 숫자형, 날짜형) 1. SQL 이란?SQL은 'Structured Query Language'의 약자로, 데이터베이스에서 데이터를 충출하고 조작하는 데 사용하는 데이터 처리 언어이다.쉽게 표현해서 데이터를 보관할 공간을 만들거나 데이터를 저장 삭제 조회를 할 수 있게 해준다. 2. SQL의 개요SQL 의 명령어는 크게 3가지로 나눌 수 있는데 다음과 같다. DDL (데이터의 정의어), DML (데이터의 조작어), DCL (데이터의 제어어) 가 있다. 각각의 명령어에 대해서 간략하게 알아 보자. - DDL (데이터의 정의어) 테이블이나 단계의 구조를 생성하는데 사용하는 구문(1) CREATE (2)..

목차1. Database (데이터베이스)란2. DBMS (Database Management System)4. RDBMS (관계형) 1. Database (데이터베이스)란?데이터베이스는 정보를 저장하는 공간으로데이터의 집합이라고 생각하면 된다. 2. DBMS (Database Management System)데이터베이스라는 말이 정보를 저장하는 공간이라고 표현한다면 DBMS(Database Management System)는 데이터를 관리하고 운영하는 소프트 웨어를 의미한다. 3. RDBMS (관계형)대부분의 DBMS는 RDBMS (=관계형 DBMS)의 형태로 사용된다. RDBMS의 데이터베이스는 테이블(table)이라는 단위로 구성되며 이 테이블은 열(Row)과 행(Column)으로 이루어져 있다.앞..

목차1. 템플릿 엔진 (EJS)2. EJS 설치 및 사용 방법1. 템플릿 엔진우리가 많이 쓰는 HTML은 정적인 언어다. 정적인 페이지는 주어진 기능만 사용할 수 있는 한계가 있고직접 기능을 추가할 수 없다. (자바스크립트를 사용해야만 한다.) 반면에 템플릿 엔진은 자바스크립트를 사용하여 HTML을 렌더링 할 수 있다.HTML 과 문법이 거의 흡사하지만 자바스크립트의 문법이 들어갈 수 있다는 특징이 있다.(서버측에서 html을 만들어서 응답해주는 것이다.) 템플릿 엔진에는 여러가지가 있는데 우리가 알아볼 것은 그 중 EJS다. 2. EJS 설치 및 사용 방법ejs 설치npm i ejs 문법은 다음과 같다. 문법이 다소 난해하다. 밑에서 어떻게 사용하는지 예를 들어보자 server.js// ejs를 re..

목차1. Express란?2. Express 설치3. Express 사용 1. Express란?NodeJs의 프레임워크로써 http net으로 구현 가능한 네트워크 TCP를 모던한느낌으로 외장모듈로 라이브러리를 구현한것이다.NodeJs로만 사용하여 라우팅을 처리하려면 상당히 번거로운 작업을 해야했다.Express를 사용하면 HTTP 모듈 기능 외에도 다양한 기능이 포함되어 있어서 유용하게 쓸 수 있다 1) 라우팅HTTP 모듈을 사용할 때는 if 문이나 switch 문으로 요청 메서드나 요청 URL에 따라 라우팅 해야했다. 2) 미들웨어Express에는 미들웨어라는 개념이 있어서 요청과 응답 사이에서 여러가지 기능을 실행할 수 있다.(미들웨어가 많아서 가져와서 사용이 가능) 3) 템플릿 엔진HTML 페이지..
reduce란?reduce() 메서드는 배열의 요소를 하나로 줄이는 작업을 수행하는 함수다.reduce 함수로 배열의 각 요소를 순회하면서 누적된 값을 계산하고 최종 결과를 반환할 수 있다.reduce 형태array.reduce(callback[, initialValue]);array : reduce를 적용할 배열callback : 배열의 각 요소에 대해 실행할 콜백 함수. 콜백함수는 다음과 같은 매개변수를 가진다- accumulator : 콜백 함수의 반환 값 또는 이전 순회에서의 최종 결과값. 초기값이 제공된 경우 첫번째 순회에서는 initialValue로 설정 된다.- currentValue : 현재 순회 중인 배열의 요소- currentIndex (옵션) : 현재 순회 중인 배열의 요소 인덱스- ..
fs 모듈이란파일을 읽거나 쓰거나 생성 삭제 등을 할 때 사용하는 내장 모듈 파일시스템내장 모듈이기 때문에 별도의 라이브러리 설치 없이 사용이 가능하다. 모듈 불러오기const fs = require("fs"); 비동기 함수 vs 동기 함수fs 모듈에서 제공하는 비동기 메서드는 마지막 인자로 콜백함수를 받고 아무 값도 반환하지 않는다.반면에 동기 메서드는 결과값을 반환(return)하며 예외를 일으킬 수 있다.(동기 메서드는 sync로 끝난다. 동기 / 비동기 메서드 구분이 가능) 폴더가 있는지 없는지 확인하는 법 (existsSync)let folder = fs.existsSync("test");console.log(folder);// test라는 폴더가 있으면 true 없으면 false 폴더 ..

3-Way-Handshake란?TCP는 데이터를 전송하기 전에 송신자와 수신자 간에 연결을 설정한다. 이 과정을 3-way-handshake라고 한다. 순서1. 클라이언트가 서버에 연결 요청(SYN)을 보낸다.2. 서버가 클아이언트의 요청을 승인하고 연결 수락(SYN-ACK)을 보낸다.3. 클라이언트가 서버의 수락을 확인(ACK)한다 일단 3-way-handshake를 구현하기 위해서는클라이언트와 서버가 있어야한다.서버와 클라이언트에 해당하는 코드를 구현해보자. 서버 (server)// net 내장모듈 사용const net = require("net");const server = net.createServer(() => {});// connection -> 서버측에서 서버 연결됐을 때 3-way-hand..
Node.js에서 파일 시스템 모듈(fs)과 스트림 모듈을 사용하여, 파일 'test.txt'를 읽고, 그 내용을 대문자로 변환한 후, 'test2.txt'라는 새로운 파일에 저장하는 예제. // 1. 필요한 모듈 로드// 'stream' 모듈에서 'Transform' 객체를 가져온다.// 'Transform' 스트림은 입력 데이터를 받아 변환 후 출력할 수 있는 스트림// 'fs' 모듈은 파일 시스템을 조작하기 위해 사용되며, 여기서는 파일을 읽고 쓰는데 사용된다.const { transform } = require("stream");const fs = require("fs");// 2. 청크 크기 설정// 청크 크기를 설정한다. 이 예제에서는 64Kb로 설정했다.// 스트림은 데이터를 일정크기(청크)..