1. Chrome 브라우저는 http 요청할 때 2번 요청한다.
브라우저에서 Node.js 서버로 Get 요청을 날릴 때 마다 Connection 이벤트가 2번 씩 발생해서 요청 받은 경로를 콘솔로 찍어 확인해보니 원래 내가 요청했던 경로와, favicon.ico로 두번 요청이 들어오는 것을 확인했다.
즉, 브라우저에서는 서버에 요청을 날릴 때 사용자가 지정한 경로+favicon.ico 경로 요청을 더해 총 2번 요청하는 것이다.
* favicon.ico란 favorite + icon의 합성어로, 브라우저 url 왼쪽에 표시되는 아이콘을 의미한다. 일반적으로 웹사이트 주소/favicon.ico에 요청을 날려 아이콘을 가져온다.
2. Node.js의 process 모듈 내에 존재하던 EventEmitter() 생성자는 더 이상 지원되지 않는다.
Node.js를 공부하기 위한 교재로 모던 웹을 위한 Node.js 프로그래밍을 통해 공부하고 있는데, 책은 v4, 6 버전을 기준으로 집필되었다 보니 현재 LTS 버전인 v.8에서 호환되지 않는 부분이 존재한다.
103페이지 5.5 이벤트 생성 부분에서 예시코드로 주어진 코드 5-13을 살펴보자
var custom = new process.EventEmitter();
위와 같이 코드를 작성하고 실행시키면
TypeError: process.EventEmitter is not a constructor
즉, EventEmitter()라는 생성자가 deprecated 되어 오류를 발생시킨다.
따라서 위의 코드 대신
var events = require(‘events’);
var custom = new events();
로 작성하면 정상적으로 작동된다.
3. JSON.stringify(jsonObject)
JSON 형태의 객체를 스트링으로 변환시켜 준다.
ex)
var jsonObj = {'name':'j', 'job':'engineer'};//JSON 객체 생성
console.log(jsonObj); //-> TypeError: Cannot convert object to primitive value 발생(객체를 출력하려고 해서 발생한 오류)
console.log(JSON.stringify(jsonObj))// -> 콘솔에 {'name':'j', 'job':'engineer'} 정상적으로 출력된다.(json 객체가 스트링으로 변환되었기 때문)
'개발을 뚝딱뚝딱 > 매일매일 개발일지' 카테고리의 다른 글
[C++] 구조체, typedef, templete (0) | 2022.01.07 |
---|---|
npm install --save 옵션에 대하여 (0) | 2018.01.11 |