본 내용은 해당 강의 토대로 작성
API
우리가 사용했던 함수 fs.readFile
은 개발자들이 만들어 놓은 것이다. Node.js의 공식 홈페이지에서 이 함수를 어떻게 사용하고 어떤 목적으로 사용하는지 그리고 인자와 콜백을 받는지 등을 상세하게 설명해 놓았다. 이렇게, 약속된 조작장치 같은 것을 Interface
라고 한다. 웹 개발자들은 Interface
를 실행시킴으로써 애플리케이션을 만들 수 있게 된다. 이를 프로그래밍 하기 위해서 제공되는 API(Application Programming Interface)
라고 한다. API
는 프로그래밍 언어를 다룰떄의 조작장치 같은 것이라 어떠한 프로그래밍 언어라도 가지고 있다. 만약, 새로운 언어를 배울 때 조작이 궁금하면 API
를 찾으면 된다.
http
는 웹 브라우저와 웹 서버가 통신할 때 사용하는 규칙을 말한다. Node.js의 공식 홈페이지에는 버전별로 지원하는 API
가 설명되어 있는데, 이 http
를 지원하는 API
는 이미 실습에 사용한 아래의 코드이다.
var http = require('http');
...
var app = http.createServer(function(request,response){
...
}
http
변수에 모듈을 가져오고 createServer
라는 함수를 사용하는 것을 볼 수 있다. 이 함수는 콜백함수를 사용한다. createServer
를 사용해서 웹 서버를 만들고 외부에서 요청이 들어오면 웹 서버는 콜백함수를 실행한다.
콜백함수의 첫 번째 인자 request
는 웹 브라우저로부터 들어온 요청에 대한 여러가지 정보를 담고 있는 객체이다. 두 번째 인자 response
는 전송하고 싶은 정보를 응답할 수 있도록 한다.
즉, 지금까지 코드한 모든 것들은 위의 API에 의해서 약속에 따라, 요청한 정보와 응답할 정보를 만든 것이다.
Node.js의 설명에 의하면, createServer
는 리턴 값으로 http.server
를 가진다. 즉, 위 코드에 의하면 변수 app
에 그 리턴값이 담겨져 있는 것이다.
app.listen(3000);
하단에 위와 같은 명령어가 있는데, 리턴 값을 적용하면 server.listen
이다. 이것은 요청에 대해서 응답할 수 있도록 http 서버를 구동시킨다. 이 함수는 여러가지 인자를 받을 수 있는데, 위의 경우에는 입력된 숫자가 port
를 의미한다. 즉, 웹 브라우저로 접속할 때 해당 포트로 들어오면 애플리케이션이 동작하게 되는 것이다.
보충수업 - PM2 사용법
pm2 kill
pm2 실행 앱 전부 종료
pm2 main.js --watch --no-daemon
백그라운드로 실행하지 않는다. 동시에 로그도 볼 수 있다.(daemon: 백그라운드 실행 프로그램)
pm2 start main.js --``watch` `--ignore-``watch``=``"data/* sessions/*"` `--no-daemon
특정 디렉토리에 대한 watch
를 하지 않음
느낀점
기나긴 Node.js 수업을 마쳤다. 힘들었지만, 그만큼 배운 것이 많았다. 웹 어플리케이션 제작에 대해서 전체적인 맥락이 어느정도 잡히는 것 같다. 조금 더 관련 개념을 공부해야할 것 같긴 하다.
'programming study > Node.js' 카테고리의 다른 글
[생활코딩]WEB2-Node.js (9)(2020.12.23) (0) | 2020.12.23 |
---|---|
[생활코딩]WEB2-Node.js (8)(2020.12.23) (0) | 2020.12.23 |
[생활코딩]WEB2-Node.js (7)(2020.12.22) (0) | 2020.12.22 |
[생활코딩]WEB2-Node.js (6)(2020.12.19~21) (0) | 2020.12.21 |
[생활코딩]WEB2-Node.js (5)(2020.12.18) (0) | 2020.12.19 |