일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- EventListener
- 동적프로그래밍
- BFS
- AWS
- 완전탐색
- 백준알고리즘
- 라우터
- 서버구축
- 토이프로젝트
- url parsing
- 스터디
- 백준
- 자료구조
- java
- ELB
- Spring Boot
- EC2
- Algorithm
- spring
- 탐욕법
- nodejs
- 다익스트라 알고리즘
- sort
- 알고리즘
- 브루트포스
- react
- 리액트
- mysql
- Router
- 정렬
- Today
- Total
목록nodejs (11)
공부하는 블로그
Multiple Statements 비동기 방식을 따르는 Node.js에서는 다중 쿼리를 처리하려면 하나의 쿼리문을 처리 후 콜백 함수를 계속 사용해서 처리해야 한다. 그러나 쿼리가 많아질수록 코드가 복잡해지므로 이를 간단히 하기 위해 mysql 모듈에는 다중쿼리를 한번에 처리할 수 있도록 지원한다. 1. mysql 모듈을 사용하기 위해 임포트 const mysql = require('mysql'); 2. DB 연결 객체 생성 const connection = mysql.createConnection( { host: 'ip', port: 'port_number', user: 'user_name', password: 'pwd', database: 'db_name', multipleStatements: tr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bA7O74/btqAXhs2MDs/OK7psdKdoEPRgvzG8KRFWK/img.png)
React - Node.js 리액트를 클라이언트 사이드로, Node.js를 서버 사이드로 연동하는 방법에 대해 알아보자. 연동하는 방법은 여러가지가 존재하지만 이 포스팅에서는 'http-proxy-middleware'라는 미들 웨어를 이용하여 간편하게 프록시(Proxy)를 설정하는 방법을 이용한다. * Proxy : 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것. 클라이언트가 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해준다. 리액트 애플리케이션(localhost:3000)에서 프록시를 통해 구축된 Node.js 서버 사이드(localhost:3001/api)로 요청을 보내 데이터를 받아오는 방식이다. 따라서 두 개의 포트를 각각 클라이언트 사이드로, 서버 사이드로 할당하여 동시에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPMQtv/btqAK3bbL5b/dQVODJbmZph1M0jCa664dk/img.jpg)
Node.js - MySQL MySQL은 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)으로 기존의 파일 시스템보다 훨씬 효율적으로 데이터를 관리할 수 있다. Node.js와 MySQL을 연동하기 위해서는 기본적으로 컴퓨터에 MySQL이 설치되어 있어야 하며 npm을 이용하여 외장 모듈인 'mysql'을 설치해주어야 한다. ※ Node.js에서는 MySQL의 최신버전과의 연동을 지원하지 않는다. 따라서 MySQL을 설치할 때 인증 방법(Authentication Method)를 v8.0이 아닌 v5.x를 따르도록 해야한다. (2019.12.28 기준) MySQL | MySQL 설치 - Window 관계형 데이터베이스인 MySQL을 설치해보자. 아래의 링크는 MySQL Community 버전을 다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rcebc/btqAM4fF55n/MRlCeKOdAB0IHTbqGa8kgK/img.jpg)
Template Engine 템플릿 엔진(Templete Engine)은 PHP나 JSP처럼 동적인 결과를 정적인 파일(HTML)에 담기 위해 사용한다. 즉, 서버 코드인 Javascript로 연산된 결과를 변수에 넣고 변수를 뷰(view) 파일에서도 사용할 수 있도록 도와준다. 따라서 서버파일(app.js) 내에 HTML 코드를 쓰지 않아도 되므로 뷰와 서버 코드를 따로따로 관리할 수 있도록 해준다. 이러한 템플릿 엔진의 종류에는 pug(구 jade)와 ejs가 있다. 템플릿 엔진을 사용하기 위해서는 npm을 이용하여 사용할 엔진을 설치해주어야 한다. $ npm install pug $ npm install ejs 설치가 끝나면 사용할 템플릿 엔진을 서버에 등록하여 사용할 수 있다. app.set('v..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bOiN1X/btqAMlPMmEN/Ki74tvH4CtIfuk9dtVJ23k/img.jpg)
GET method GET 방식의 요청에서 파라미터를 전송하는 방법은 두 가지가 있다. 쿼리스트링(Querystring)이나 경로(Path)를 통하여 파라미터를 전달할 수 있다. 각각의 방법을 알아보자. Querystring 'req.param()'을 이용하여 쿼리스트링을 통해 요청된 파라미터를 받아낼 수 있다. app.get('/user', function (req, res) { var u_name = req.param('name'); var u_age = req.param('age'); res.send("User Name : " + u_name + " / User Age : " + u_age); }); 쿼리스트링의 id는 name과 age로 하여 보내고자 하는 데이터를 서버에 요청하자. 'http:/..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/buT7ND/btqAAsO99Q1/zTg5YOwixfki5Qekoy0ank/img.jpg)
Routing 라우팅(Routing)은 URL 및 특정 HTTP 요청 방식(GET, POST)에 대한 클라이언트의 요청에 응답하는 방법을 선택하는 것이다. 각각의 라우터(Router)는 하나 이상의 핸들러 함수를 가질 수 있다. 만약 다수의 핸들러 함수를 지정해주려면 함수의 로직 끝에 꼭 'next()'를 붙여주도록 하자. 라우터를 정의하는 기본적인 방법은 요청 방식에 따라 'app.get()' 또는 'app.post()'이다. 두 메소드는 경로(path)와 핸들러 함수(handler funtion)을 파라미터로 받는다. // 여기서 app은 express의 인스턴스 app.get('/', function(req, res) { res.send('GET request to the root'); }); ap..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XEiKo/btqABDCrGt8/AvEbNQN64Cs53jgTfO3Og1/img.jpg)
Express Express - Node.js 웹 애플리케이션 프레임워크 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save expressjs.com 익스프레스(Express)는 웹서버 구현을 보다 간편하게 하기 위한 Node.js의 프레임워크(Framework)로 프레임워크이다. 익스프레스 이외에도 Hapi와 Koa가 있지만 현재까지 가장 많이 사용되는 프레임워크는 익스프레스이다. 익스프레스는 가볍고 유연하게 웹 프레임워크를 구성할 수 있는 장점이 있다. 이는 자바스크립트 코드로 작성된 다양한 기능의 미들웨어(Middleware) 덕분이다. 기존에 서버 구축을 위해 사용하던 http 모듈을 기본으로 내장하고 있으며 라우팅(Routing)이 용이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dkofNG/btqAyygV1lc/dPy8tGOx1FuBF2I8gzsRK1/img.jpg)
GET과 POST는 http 프로토콜을 이용해서 서버에 무언가를 전달할 때 사용하는 방식이다. Node.js에서 GET과 POST 방식 요청에 응답하는 방법을 알아보자. GET GET 방식은 서버로부터 정보를 조회하기 위해 설계된 메소드이다. GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고 URL의 Query String을 통해 전송된다. 따라서 URL에 데이터에 대한 정보가 그대로 노출되므로 데이터를 숨겨서 전달해야 될 경우(ex. 로그인 시 회원의 아이디와 비밀번호 등)에는 부적합하다고 할 수 있다. GET 요청은 URL의 Query String을 통해 전송되기 때문에 URL 모듈을 이용하여 URL을 파싱하면 손쉽게 전송된 데이터을 얻을 수 있다. 아래는 URL parsing에 관한 ..