Node.js 6

[Node] RESTful API

RESTful API는 RESTful (REpresentational State Treansfer) 규정에 맞게 만든 웹 서비스를 의미한다. RESTful 웹 서비스의 구조는 GET방식 (조회) POST방식 (추가) PUT방식 (수정) DELETE방식 (삭제) 으로 나뉜다. 위 방식에 맞춰 RESTfulgks 웹 서비스를 개발해보자. DB는 DummyDB를 미리 작성해 놓았다. DummyDB는 get, insert, remove 메소드가 있다. Dummy.get(id) -> id를 매개변수로 받아 해당 id가 포함된 정보를 JSON형태로 반환해준다. Dummy.insert(data) -> 아래와 같은 JSON형태의 데이터를 매개변수로 받아 DummyDB에 저장한다. { name: name, region:..

Node.js 2021.11.08

[Node] mysql 쿼리문 안에 변수 삽입

먼저 쿼리문을 하나 만들어 보자 AND 또는 OR를 사용해 조건을 연결할 수 있으며 변수로 넣을 데이터에 '?' 를 넣어주면 쿼리문 안에 변수를 삽입할 수 있다. 또한 order by rand()구문을 사용하여 결과 튜플을 무작위로 섞을 수 있다. query 함수의 첫 번째 인자로 쿼리문, 두 번째 인자로 '?'안에 넣어 줄 변수, 세 번째 인자로 콜백함수를 넣어주면 된다. '?'가 하나일 경우 [] 안에 값을 입력하지 않아도 되지만, '?'가 여러개일 경우 반드시 대괄호 안에 값을 나열해주어야 한다.

Node.js 2021.09.26

[Node] mysql 접속

sudo npm install mysql --save 명령어를 사용하여 먼저 mysql을 설치하여준다. 이후 const mysql = require('mysql'); 을 추가하여 라이브러리 사용을 명시해준다. 아래와 같은 방법으로 mysql DB에 연결할 수 있다. let connection = mysql.createConnection({ host: 'localhost', user: 'username', password: 'pw', database: 'DBname' }); connection.connect(); 쿼리문을 사용하기 위해서는 connection.query 함수를사용한다, 매개변수로는 쿼리문과 콜백함수(에러, 결과, 필드)가 들어간다. 작업이 끝나면 connection.end() 함수를 사용하..

Node.js 2021.09.15

[Node] React, NodeJS hppt통신 CORS 문제 해결

보안상의 이유로 서로 다른 포트나 도메인에 http 통신을 시도하면 CORS 에러가 발생한다. localhost 환경이라면 react 프로젝트 파일의 package.json에서 "proxy":"[접근할 포트]를 입력해주면 된다. 또 다른 방법은 nodeJS의 cors 라이브러리를 활용하는 것이다. sudo npm install cors --save 명령어를 사용해 cors를 설치해준다. 이후 자원 공유를 허락할 origin을 지정해주면 된다. origin 부분에 '*' 를 넣어주면 모든 origin과의 자원 공유를 허락하게 되지만 보안에 취약하므로 이와 같은 방법은 피하자.

Node.js 2021.09.13

[Node.js] 전역 변수와 전역 객체

웹 브라우저에서 동작하는 자바스크립트의 최상위 객체는 window객체다. 하지만 window객체는 웹 브라우저에서 동작하므로 Node.js에는 존재하지 않는다. 대신 전역 변수와 전역 함수를 가지고 있다. __filename 전역변수는 현재 실행 중인 코드의 파일 경로를 나타내며, __dirname 전역변수는 현재 실행중인 코드의 폴더 경로를 나타낸다. 코드를 실행시키면, 파일과 폴더의 경로가 정상적으로 출력되는것을 확인할 수 있다. console 객체는 log(), time(), timeEnd() 메소드를 갖고 있다. log()메소드를 통해 특수 문자를 이용해 문자열을 출력할 수 있으며 time()과 timeEnd() 메소드를 사용해 실행 시간을 출력할 수 있다. time()과 timeEnd() 메소드..

Node.js 2021.09.07