2020-01-19

박동건·2020년 1월 19일
0

TIL(2020)

목록 보기
11/49

Today I Learn...

서버에서 JSON 메소드 사용

JSON.parse() : parse 메소드는 string 객체를 json 객체로 변환시켜줍니다.

JSON.stringify() : stringify 메소드는 json 객체를 String 객체로 변환시켜 줍니다.

get 요청 시 데이터 객체를 클라이언트에 stringify 후 전달한다.

// 서버의 데이터를 담는 곳이 results라 가정

const data = JSON.stringify(results)

post 요청 시 chunk데이터를 parse해서 저장해야 한다.
chunk데이터는 Buffer 형식으로 나온다.

let body = "" // 가져온 chunk데이터를 바디에 넣는다.
const data = JSON.parse(body)
let body = []     // 가져온 chunk데이터를 배열로 받는다면,
body.push(chunk); // 다음과 같은 방식을 사용해서 데이터를 가공한 뒤, 
                     // parse해서 저장할 수도 있다.
body = Buffer.concat(body).toString();
	```
** 서버에서 데이터를 건드릴 때는 ``parse``해야 하고, 이를 보낼 클라이언트에
보낼 때에는 ``stringify`` 해야 한다. **

## RESTful API / CommonJS

* RESTful API

* REST? 웹 서비스를 만드는데 사용되는 제약 모음 

* 리소스 마다 서로 다른 API 규칙이 존재한다.

* 설계 시 정해진 규칙에 따르기로 하면 API 사용자들이 다른 API도 쉽게 파악 가능케 함

* 설계 가이드 레퍼런스 
  1. https://meetup.toast.com/posts/92
  2. https://sanghaklee.tistory.com/57

* CommonJS
* 핵심은 모듈화이다. 모듈을 어떻게 정의하고, 어떻게 사용할 것인가에 대한 것이다.

* module.exports 와 exports 비교  
 	* module.exports는 객체이고, exports는  module.exports를 참조하는 변수.
 	* 결국 module.exports을 반환
   
## Socket.io


![image.png](https://velog.velcdn.com/post-images%2Fbathingape%2F86c70760-3aba-11ea-9dad-bffc9c3f68c6%2Fimage.png)

* Socket.io는 JavaScript를 이용하여 브라우저 종류에 상관없이 실시간 웹을 구현할 수 있도록 웹 소켓기술을 하나의 API로 일관성 있게 추상화한 기술이다.



profile
박레고의 개발 블로그

0개의 댓글