Node.js - MySQL (2) SQL 구문 정리
·
MySQL
이번 포스팅에서는 데이터베이스 안에 있는 테이블(table)의 구조에 대해 간단히 살펴보고 MySQL을 사용할 때 작성하게 되는 SQL 구문에 대해 정리해보고자 한다. 테이블(table) 구조 SQL 구문 정리 엑셀을 사용해서 데이터베이스와 테이블의 개념을 알아보도록 하자. 우리가 얘기하는 데이터베이스라는 것은 엑셀파일 그 자체를 일컫는다고 할 수 있다. 그리고 데이터베이스 안에 있는 테이블들은 엑셀 파일 안에 있는 sheet라고 할 수 있다. sheet1, sheet2, sheet3, ... 으로 계속해서 sheet를 추가할 수 있듯이 우리의 데이터베이스도 테이블들을 추가적으로 생성할 수 있다. (데이터 베이스 안에 다수의 테이블들이 존재하고 테이블 안에 데..
Node.js - MySQL (1) 환경설정
·
MySQL
이번 포스팅에서는 DBMS의 한 종류인 MySQL에 대해 알아보고 WSL 환경에서 MySQL을 설치하는 작업을 해보려고 한다. DB?? DBMS?? 그리고 MySQL?? WSL에서 MySQL 설치하기 MySQL 환경설정 MySQL 외부접속 설정 MySQL을 다루기에 앞서 DB란 무엇인지, 그리고 DBMS란 무엇인지에 대해 간략하게 짚고 넘어가보자. DB란 Database의 약자로 위키백과에 다음과 같이 정의되어 있다. 데이터베이스(영어: database, DB)는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다. 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의..
Node.js - express (11) express.json()
·
Node/Express
이번 포스팅에서는 서버쪽에서 JSON 형태의 데이터를 받는 방법에 대해 알아보고자 한다. WSL 환경에서 curl을 이용해 post 요청으로 데이터를 전달하는 방식으로 진행하였다. 지금까지 우리는 post 방식으로 전달된 데이터를 받을 때 아래의 코드를 사용했었다. app.use(express.urlencoded({extended: true})) 해당 코드를 작성해 줌으로써 라우터의 미들웨어에서 req.body를 사용해 HTTP 패킷의 Request Body 영역에 담겨 있는 데이터를 가져올 수 있었다. 하지만 이 코드는 body 영역에 담겨있는 모든 데이터를 처리할 수 있는 마법의 구문이 아니다. body 영역에 데이터가 있을 때마다 이 코드가 실행되는 것이 아니라, 요청 헤더(Request Heade..
Node.js - express (10) express-session 사용하기
·
Node/Express
저번 포스팅에서 세션이 무엇인지에 대해 다뤄보았었다. 이번에는 express-session 패키지를 사용해서 세션을 만들어 보고 간단한 로그인 기능을 구현해보도록 하자. express-session 세팅하기 로그인 기능 구현하기 우선 로그인 기능이 작동하는 원리를 간단하게 살펴보자. 사용자가 아이디와 패스워드를 입력해서 웹서버로 요청을 보내면 웹서버는 자신이 갖고 있는 데이터와 사용자가 입력한 데이터가 일치하는지 확인하는 작업을 거치게 된다. 그리고 데이터가 일치하는지의 여부에 따라 세션을 생성할지 말지를 결정한다. 사용자가 입력한 데이터가 서버쪽 데이터와 일치할 경우 서버는 세션을 생성해서 쿠키 형태로 사용자의 브라우저에 전송하게 된다. 세션은 ..
Node.js - express (9) express.Router() 사용하기
·
Node/Express
이번 포스팅에서는 express.Router()를 사용해 라우터를 분리하는 방법에 대해 알아보도록 하자. express.Router() 라우터 분리하기 Node.js에서 express를 사용해 게시판 서버를 만든다고 가정해보자. 기본적인 기능만을 갖고 있는 게시판 서버를 만드는 작업에도 메인 서버 파일에는 다음과 같이 수많은 라우터들이 들어가게 될 것이다. // server.js 파일 const express = require('express'); const app = express(); app.get('/board/list', (req, res)=>{ }) app.get('/board/write', (req, res)=>{ }) app.post('/bo..