2018~2019/Node.js
-
Web Socket2018~2019/Node.js 2018. 9. 18. 17:52
1. Web Socket- HTML5에서 새로 추가된 스펙으로 실시간 양방향 데이터 전송을 위한 기술- HTTP와는 다르게 'WS'라는 프로토콜 사용 1) ws 모듈- 간단하게 웹 소켓을 사용하고자 할 때 좋음 2) Socket.IO- 웹 소켓을 지원하지 않는 브라우저까지 실시간 통신을 구현할 수 있음 : HTTP 프로토콜을 사용하여 먼저 폴링 방식으로 연결 후, 웹 소켓을 사용 할 수 있는 브라우저면 웹 소켓으로 업그레이드함 - 네임스페이스- 방 : 네임스페이스보다 더 세부적인 개념 2. 서버센트 이벤트(Server Sent Events, SSE)- 처음에 한 번만 연결하면 서버가 클라이언트에 지속적으로 데이터는 보내줌- 서버에서 클라이언트로 데이터를 보내는 단방향 통신 * 웹 소켓 이전의 실시간 데이..
-
Express2018~2019/Node.js 2018. 9. 10. 09:30
Express- Web Server Framework- Jade(=Pug) 템플릿 엔진 : 템플릿을 읽어 엔진의 문법과 설정에 따라서 파일을 HTML 형식으로 변환시키는 모듈 1. 폴더 구조 알아보기- app.js : 핵심적인 서버 역할- bin/www : 서버를 실행하는 스크립트- public : 외부에서 접근 가능한 파일드을 모아둔 곳 ( 이미지, 자바스크립트, CSS 파일 )- routes : 주소별 라우터들을 모아둔 곳 => 서버 로직- views : 템플릿 파일을 모아둔 곳 => 화면 부분- models : 데이터베이스 파일을 모아둔 곳 => 데이터 부분 2. 미들웨어- 요청과 응답의 중간에 위치하여 미들웨어라고 부름- 라우터와 에러 핸들러 또한 미들웨어의 일종- 요청과 응답을 조작하여 기능 추..
-
Node.js 기능2018~2019/Node.js 2018. 9. 10. 09:05
1. 모듈- 특정한 기능을 하는 함수나 변수의 집합.- require, module.exports => ES6 버전 import, export default 2. 노드 내장 객체1) global- 전역 객체.- require, console, timer(setTimeout, setInterval, setTimmediate), module, process ... 3. 노드 내장 모듈1) os- 운영체제의 정보를 가져옴- 주로 컴퓨터 내부 자원에 빈번하게 접근하는 경우 사용 2) path- 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈 ( 운영체제 별로 경로 구분자가 다름 ) 3) url- 인터넷 주소를 쉽게 조작하도록 도와주는 모듈 4. 기타 웹 프로그래밍 지식 1) 동기-비동기와 블로킹-논블로킹- ..
-
Node.js 특성2018~2019/Node.js 2018. 9. 8. 19:44
서버 : 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램클라이언트 : 요청을 보내는 주체 프로세스 : 운영체제에서 할당하는 작업의 단위. 프로세스 간에는 메모리 등의 자원을 공유하지 않음.스레드 : 프로세스 내에서 실행되는 흐름의 단위. 하나의 프로세스는 여러 개의 스레드를 가짐. 자원을 공유하므로 같은 메모리에 접근 가능. Node.js의 특성 1. 자바스크립트 런타임 2. 이벤트 기반- 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식.- 이벤트 리스너에 콜백 함수를 등록한다 : 특정 이벤트가 발생 할 때 무엇을 할 지 미리 등록해두는 것. ( 이벤트 리스너에 콜백 함수 등록 -> 이벤트 발생 -> 등록된 콜백 함수 호출 ) 3. 논블로킹 I/O- 이전 작업이 완료될 ..