[Node.js] 9일차-The end
: API, AWESOME, PM2 사용법 및 향후 공부 주제
만든 날짜: | 2019-01-19 오전 10:41 |
본 글은 에버노트에서 작성되었습니다.
출처 생활코딩-https://opentutorials.org/course/3332/22110-에 있는 강의를 들으며 요약정리한 내용입니다. 원내용은 위 링크에서 확인할 수 있습니다. 감사합니다.
Node.js-48. API와 CreateServer
API를 알아보자.
우리가 지금까지 만들었던 웹 애플리케이션은 nodejs가 가지고 있는 기능을 사용해서 만든 것이었다.
fs.readFile은 우리가 만든게 아니고 nodejs를 만든 개발자들이 만든 것이다. 어떤 원리로 동작하는제 세세히 모른다. 사용설명서에 어떻게 써야하는지(파라미터,리턴값 등)을 보이고있다.
이 함수를 사용하는 nodejs를 이용하는 개발자들의 약속된 조작장치이다. 이런 것을 interface라고 한다. interface를 실행시킴으로써 애플리케이션을 만들 수 있다.
애플리케이션은 프로그래밍하기 위해서 제공되는 interface를 API라고 한다.
nodejs의 API문서를 살펴보면서 우리의 시야가 넓어졌음을 확인해보자.
여러 모듈들 이 있다.
API분서의 http라고 하는 모듈에서 createServer()라고하는 함수가 있다. (함수가 객체안에 있으면 매소드라고 한다.) (대괄호 []는 생략해도 된다는 것이다.)
우리가 작성했던 코드이다. 우리는 createServer를 사용해서 웹서버를 만든것이고 웹서버로 요청이 들어올 때마다 첫 인자에 해당하는 함수를 호출하면서 그 함수의 첫 번째 파라미터로 request. 두 번째 파라미터로 response(사용자에게 전송하고 싶은 정보)를 받았다.
요청에 대해서 응답할 수 있도록 http서버를 구동시키는 API가 바로 listen()이다.
Possible signatures: 함수의 형태. 이름. 들어오는 인자. 반환값. 이런 형식들을 시그니처라고한다. 우리는 마지막 형식을 사용해서 3000번 포트로 열어준 것이다.
Node.js-49.수업을마치며
지금까지 우리는 자바스크립트의 문법과 Node.js의 기능을 이용해서 웹 애플리케이션을 만드는 방법을 공부했다.
다음에 공부할 만한 것을 추천? Database.
우리는 정보를 데이터라는 디렉토리에 파일의 형태로 저장하고 있다. 파일은 쉽고 어디에나 있다. 그러나 불편하고 위험하고 느리다. 단점이다.
소수의 천재적인 엔지니어들이 만든 파일의 대체제가 데이터 베이스가 된다. 데이터 디렉토리에 저장했던 정보를 데이터베이스 라고하는 전문화된 프로그램에 저장하게된다. 그럼 우리의 웹은 데이터베이스가 가진 엄청난 성능과 보안과 편리함을 거저먹는 애플리케이션으로 탈피할 수 있게된다.
nodejs와 자주 사용되는 것으로는 MongoDB, MySQL 등이 있다.
또 다른 공부 주제는 framework가 있다.
각 분야별로 SW들은 공통적인 부분과 그렇지 않은 부분이 공존한다.
(ex. 웹어플 만드는 경우 사용자 요청처리, 인증, 보안, 파일서비스 등들은 공통적인 부분이라고 할 수 있다.) 이렇게 공통적 요소를 미리 구현해놓은 것을 Framework라고 일단 생각하자. 이를 다루기 위해서는 많은 공부를 해야한다.
중요한 것은 nodejs가 가지고 있는 기본적인 module, API 이다. npm을사용하여 설치할 수 있는 어떤 모듈이 있는지
AWESOME이라는 문화현상? 개발자들은 AWESOME할만한 여러 라이브러리를 모아놓은 일종의 복마(?)코드를 최근에 많이 만들고 있다.
Node.js AWESOME 이라고 검색하면 여러 정보를 알 수 있다. (주목받는 모듈을 알 수 있다.) 알고있는 모듈이 많을 수록 해낼 수 있는 것도 많아진다.
Node.js-49.부록 - pm2 보충학습
--no-daemon : 데몬으로 실행시키지 않겠다. (백그라운드로 실행하지 않겠다.) 라는 뜻 이다.
pm2 start [file name] --watch
도중에 우리가 파일을 생성한다면 nodejs가 꺼졌다가 다시 켜지는 것을 확인할 수 있다. 우리가 원하지 않는 방식일 수 있다. 꺼졌다가 켜지면 기존세팅이 사라진다. 이런 경우에는 pm2 start [file name] --watch --ignore-watch="[path/* path2 path3 ...]" 이런 식으로 사용할 수 있다. 해당 경로의 모든 파일은 watch옵션을 무시한다.
'Web > Node.js' 카테고리의 다른 글
[Node.js] 8일차 : 보안이슈, 입출력보안 (sanitize html) (0) | 2019.01.18 |
---|---|
[Node.js] 7일차-2 : 글삭제 구현 (unlink, oop기본) (0) | 2019.01.17 |
[Node.js] 7일차-1 : 글쓰기, 수정 (method post, redirection) (0) | 2019.01.17 |
[Node.js] 6일차 : pm2 패키지매니저 (0) | 2019.01.17 |
[Node.js] 5일차 : sync(동기 비동기), 콜백함수 (0) | 2019.01.11 |