오늘은 서버를 구축하는 스프린트를 진행했다. 기존에 배웠던 것을 바탕으로 진행이 되었고 추가적으로는 api 문서들을 만들고 module.export 이용법을 반영하여 진행했다.
서버 즉, 무엇인가를 제공하는 주체이며 우리가 통상 많이 접하는 http 서버는 http라는 프로토콜을 통해 통신해서 api를 제공하는 주체이다. 앞서 배웠듯이 stateless와 connectionless 특성을 가지면서 말이다. 쉽게 말하면 요청에 대한 응답이 없으면 안 되고 반드시 요청과 응답이 1:1의 관계가 지속된다고 생각하면 될 것이다.
그렇게 서버를 구축하기 위해 진행하는 순서는
Step 1
http 서버를 만들고
Step2
각 요청 분기를 한다
Step 3
분기에 따른 api를 제공한다 여기서 api는 요청이 오면 필요한 데이터를 만든다 그리고 이 데이터는 저장/불러오기가 가능해야 한다.
js 객체에 저장할 수 있으며 보통 서버를 끄게 되면 데이터들이 사리지게 되지만 node.js에 탑재되어 있는 fs 모듈을 사용하게 되면 서버를 꺼도 보존된다.
Step 4
api 문서를 작성한다.
api 문서 작성하는 것은 api를 만들고 문서화까지 하는 것이 api 제작이라고 볼 수 있다.
구성은 먼저 1. api사용법 그리고 2. 기대되는 return data 형식 및 예제로 이루어진다.
그리고 앞서 언급한 node.js의 모듈인 module.exports
사전에 모든 모듈은 자신만의 독립적인 실행 영역이 있어야 한다.
모듈의 정의는 전역 객체인 exports 객체를 이용할 수 있으며 이를 통해 이용 유무 구분이 가능하다.
모듈 사용은 require 함수를 이용한다.
사용의 예를 보면 module.exports와 그냥 exports가 있는데
module.exports가 기존에 먼저 있었고 exports가 후에 생긴 것이라고 한다.
exports는 module.exports 사용을 도와주는 쇼트커트이라고 하는데 내가 이해하기에는 쉽게 바로가기 아이콘?이라고 이해를 하려고 한다. exports는 module.exports를 참조할 뿐이며 그렇기에 Module.exports 에 무엇인가가 이미 붙어있다면 exports는 무시된다. 그리고 두 가지 방식을 혼동해서 쓴다면 쓸려고 하는 데이터를 가지고 오지 못하게 오는 경우가 다반사로 발생하기 때문에 쓸려면 통일하여 하나만 쓰는 것이 좋은 코딩의 지름길이 될 것이라고 생각한다.
내일은 오늘 했던 내용을 express로 리팩터링 하는 시간을 가질 예정인데 정말로 많이 쓰이는 방법이기도 하고 강력한 문법(?)이라고 한다. 잘 익혀서 좋은 코딩을 할 수 있길..
'개념정리' 카테고리의 다른 글
11/23[TIL]Module / Bundler / 비동기 / Virtual Dom / Hooks (0) | 2020.11.23 |
---|---|
11/19[TIL]React (0) | 2020.11.19 |
11/13[TIL]Server & Node (0) | 2020.11.13 |
11/12[TIL]Browser Security (0) | 2020.11.12 |
11/11[TIL]Web architecture (0) | 2020.11.11 |