본문 바로가기
react native

express+maria DB - 버스앱 #2

by 꿀백과 2021. 6. 24.

express란?

Node.js의 핵심 모듈인 http와 Connect 컴포넌트를 기반으로 하는 웹 프레임워크

express 설치

npm install express

express 사용법

const express = require('express');
const app = express();
app.use(express.json());

app( ) 객체에 담아 Json( ) 형태로 사용

 

const port = process.env.PORT || 5000;
app.listen (port, () => console.log(`${port}`));

웹 서버를 만들기 위해서는 port는 필수이다.
process.env.PORT 속성이 있을 때만 사용이 가능하지만 현재는 5000 포트를 사용한다.
app.listen( ) 함수는 바인딩하는 데 사용하고 지정된 호스트 및 포트에 연결할 때 사용한다. 
이 메소드는 Node의 http.Server.listen( ) 메소드와 동일하다.
포트 번호가 생략되거나 0 인 경우 운영 체제는 자동화 된 작업 (테스트 등)과 같은 경우에 
유용한 사용되지 않는 임의의 포트를 할당한다.

 


MariaDB란?

MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS) 이다.
Mysql 개발자들이 오라클 사에서 나와 따로 만든 것이 MariaDB이다
Mysql과 동일한 소스코드 기반이며 Mysql보다 속도가 약 4~5천배 정도 빠르다고 한다.

MariaDB 설치

npm install mariadb

MariaDB 연동

const mariadb = require('mariadb');

const fs = require('fs');
const data =fs.readFileSync('./database.json');
const conf =JSON.parse(data);

const connection = mariadb.createPool({
    host:conf.host,
    user:conf.user,
    password:conf.password,
    port:conf.port,
    database:conf.database,
    multipleStatements: true,
});

database.json 파일에 각 정보들의 값들을 넣어주고 data에 넣어준다.
Json.parse( ) 메서드는 JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성한다.

데이터베이스에 연결된 Connection을 미리 만들어 둔후 Pool에 보관하였다가 필요할 때 Pool에서 Connection을 가져다 사용한 후, 다시 Pool에 반환하는 기법으로 Connection Pool을 이용하면 여러 Connection을 이용할 수 있기 때문에 더 큰 부하를 견딜 수 있다.

 


Express + MariaDB 사용

const test = await conn.query("SELECT * FROM  board");
      app.get('/board',(req,res)=>{
          res.send(test)
      })

서버를 실행하고 브라우저 창에 http://localhost:5000/board 입력한다.

다음과 같이 웹 서버에 데이터베이스의 컬럼과 값들이 출력되는 것을 확인할 수 있다.
다음은 DB를 통해 클라이언트와 서버 간에 입력한 값이 일치하는지 확인할 수 있는 login 페이지를 구현할 것이다.

 

'react native' 카테고리의 다른 글

React Native 작동원리  (0) 2021.06.23
개발환경구축 - 버스앱 #1  (0) 2021.06.22

댓글