1장 노드 시작하기 1.1 핵심 개념 이해하기 공식사이트에서는 다음과 같이 노드를 설명한다. > Node.jsⓇ는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임입니다. 서버라는 말은 없는 이유는 서버만 실행할 수 있는 것이 아니기
2.1 ES6(ES2015+) 2.1.1 보통 자바스크립트를 배울 때는 var로 변수를 선언하는 방법. 하지만 var은 이제 const, let이 대체. var은 함수 스코프를 가지므로 if문의 블록과 관계 없이 접근할 수 있다. 하지만 const, let은 블록
3.1 REPL 사용하기 입력한 코드를 읽고(Read), 해석하고(Eval), 결과물을 반환하고(Print), 종료할 때까지 반복한다(loop)고 해서 REPL이라고함. 그러나 긴 코드의 경우 자바스크립트 파일로 만든 뒤 통째로 실행하는 것이 좋다. 3.2 JS 파일
3.6.2 버퍼와 스트림 이해하기 파일을 읽거나 쓰는 방식에는 크게 두 가지 방식, 즉 버퍼를 이용한느 방식과 그트림을 이용하는 방식. 앞에서 readFile 매서드를 사용할 때 읽었던 파일이 버퍼 형식으로 출력되었다. 노드는 파일을 읽을 때 메모리에 파일 크기만큼 공
3.5.1 os 웹 브라우저에서 사용되는 자바스크립트는 운영체제의 정보를 가져올 수 없다. 노드는 os 모듈에 정보가 담겨 있어 정보를 가져올 수 있다. • os.arch(): process.arch와 동일합니다. • os.platform(): process.pla
4.1 요청과 응답 이해하기 클라이언트에서 서버로 요청(request)을 보내고 서버에서는 요청의 내용을 읽고 처리한 뒤 크라이언트에 응답(response)을 보낸다 요청과 응답은 이벤트 방식. 클라이언트로부터 요청이 왔을 때 어떤 작업을 수행할 지 이벤트 리스너를
4장 http 모듈로 서버 만들기 두번째 이야기! 쿠키와 세션 이해하기 클라이언트에서 보내는 요청에는 한 가지 큰 단점. 바로 누가 보내는지 모른다. 물론 요청을 보내는 IP 주소나 브라우저의 정보를 받아올 수는 있다. 하지만 여러 컴퓨터가 공통으로 IP주소를 가지거나
5.1 npm 알아보기 npm은 Node Package Manager의 약어로, 이름 그대로 노드 패키지 매니저. npm의 대체자로 yarn이 있다. 리액트나 리액트 네이티브 같은 페이스북 진영의 프레임워크를 사용할 때 종종 볼 수 있다. 5.2 package.jso
4.2 절에서 라우터를 만들 때는 요청 메서드와 주소별로 분기 처리를 하느라 코드가 매우 복잡. if문으로 분기하고 코딩하여 보기에도 좋지 않고 확장하기도 어렵다. 익스프레스를 사용하는 이유 중 하나는 바로 라우팅을 깔끔하게 관리할 수 있다는 점. app.js에서 ap
6.1 익스프레스 프로젝트 시작하기 이제 본격적으로 익스프ㄹ스 프로젝트를 시작해보장. 먼저 learn-express 폴더를 만든다. 항상 package.json을 제일 먼저 생성해야. package.json을 생성해주는 npm init 명령어를 콘솔에서 호출해도 된다.
왜 배울까? 커피 주문을 하는 서비스를 만들 것이다! 실생활에서는 어렵지 않다. 그러나 50명, 70명이 한 번에 주문을 한다면? 실제로 커피 주문을 받는 스레드...! 그런데 꼭 서비스를 만들어야 하나?? 구글 스프레드 시트를 하나 만 든 뒤 각자 주문을 적게 해도