<참고 링크>
전 게시글에서 서버 환경을 설정해봤습니다.
이때 express
를 사용했는데
Node.js의 핵심 모듈인 http와 Connection 컴포넌트를 기반으로 하는 웹 프레임워크입니다.
const express = require('express'); const app = express(); app.use(express.json());
app() 객체에 담아 json()
형태로 사용
const port = process.env.PORT || 4000; app.listen (PORT, () => console.log('running on port ${PORT}');
웹 서버를 만들기 위해 PORT는 필수입니다.
process.env.PORT
는 속성이 있을 때만 사용이 가능하지만 현재는 4000 포트를 사용합니다.
app.listen()
함수는 바인딩하는 데 사용하고 지정된 호스트 및 포트에 연결할 때 사용합니다.
이 메소드는 Node의 http.Server.listen()
메소드와 동일합니다.
포트 번호가 생략되거나 0인 경우 운영 체제는 자동화 된 작업 (테스트 등)과 같은 경우에 유용한 사용되지 않는 임의의 포트를 할당합니다.
MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
MySQL 개발자들이 오라클 사에서 나와 따로 만든 것이 MariaDB입니다.
MySQL과 동일한 소스코드 기반이며 MySQL보다 속도가 약 4~5천배 정도 빠르다고 합니다.
$ npm install mariadb
database.json
파일을 생성하고 다음과 같이 넣어줍니다.
{ 'host": "localhost", "user": "root", "password": "[DB 비밀번호]", "port": "[포트 번호]", "database": "[DB명]", }
데이터베이스에 접근하기 위한 값을 적어놓습니다.
const express= require('express'); const app = express(); const PORT = process.env.PORT || 4000; const mariadb = require('mariadb'); const fs = require('fs'); const data = fs.readFileSync('./src/database.json'); const conf = JSON.parse(data); const conn = mariadb.createPool({ host:conf.host, user:conf.user, password:conf.password, port:conf.port, database:conf.database, multipleStatements: true, })
데이터베이스에 연결된 Connection을 미리 만들어 둔 후 Pool에 보관하였다가 필요할 때 Pool에서 Connection을 가져다 사용한 후, 다시 Pool로 반환하는 기법으로,
Connction Pool을 이용하면 여러 Connection을 이용할 수 있기 때문에 큰 부하를 견딜 수 있습니다.
const test = conn.query("SELECT * FROM [테이블명]); app.get('/[원하는 URL]', (req, res) => { res.send(test) })
다음 코드를 추가하고 해당 URL로 이동하시면
query문이 데이터베이스 서버에 전송됩니다.