Javascript 15

[ Javascript ] 스트림

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. Stream 스트림은 데이터 전송을 위한 공통 구조를 제공하기 위해 사용된다. 파일을 전송받을 때 버퍼 단위로 옮겨서 버퍼 단위로 전송하는 방식 버퍼는 청크 단위로 채워지며 스트림은 보통 큰 데이터를 처리하거나, 비동기적으로만 얻을 수 있는 데이터 처리 시 사용함. 2. 스트림의 종류와 구현체들 Readable 스트림으로 부터 읽을 수 있음 Writable 스트림에 출력할 수 있음 Duplex 입력 및 출력 둘다 가능 TCP Sockets, crypto streams Transform 입력 받은 스트림을 병합해 새로운 스트림을 만듬 JSON 스트림 처리기 줄바꿈으로 분리된 JSON들을 읽어서 data값을 읽음 (chunk가 ..

Javascript 2021.07.30

[ Javascript ] Node.js 핵심 개념

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. 내장 객체 __dirname : 현재 실행되는 파일 경로 정보를 제공 __filename : 실행되는 코드의 파일명과 파일을 처리한 절대 경로 process : 현재 노드에 대한 정보를 담고있음 - .arch : 아키텍처 정보 - .platform : OS 정보 - .pid : 현재 프로세스 아이디 ... console : 로깅할 때 사용되는 객체 2. 스탠다드 라이브러리 OS : 운영체제와 시스템의 정보를 가져올 수 있는 모듈. .arch(), platform(), cpus() DNS : 도메인 이름을 확인하는데 사용됨. lookup(호스트이름, 콜백) Path : Directory 경로 작업을 위한 모듈. resolve(..

Javascript/Node.js 2021.07.30

[ Javascript ] 모던 Javascript 알아보기

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. let과 const ES6 규칙 - hoist 규칙 없음 - block scoping 지원 let은 레퍼런스가 바뀔 수 있음 const는 상수를 가리키므로 값이 변하지 않음 let과 const는 같은 스코프 내에서 두번 이상 선언할 수 없음. 선언 후에 접근이 가능함 2. spread syntax object merge '...' : 객체 안의 데이터가 나와서 들어감 array merge [...pets, ...predators] 3. Promise 4. polyfill 기능을 지원하지 않는 웹 브라우저 상의 기능을 구현하는 코드 ( 구버전일 경우 Node나 브라우저에는 사용하지 못하는 상황일 경우 ) JS standard ..

Javascript 2021.07.30

[ Javascript ] 자바스크립트 언어 기초 이론

* 이 포스팅은 패스트캠퍼스 "Nodejs" 강의를 듣고 공부한 요약내용임 1. Event Loop 자바스크립트는 여러개의 스레드를 사용하지만 메인스레드는 하나만 사용하고 해당 메인스레드로 자바스크립트를 실행한다. 그러므로 실행 컨텍스트는 하나이며 그 외의 일(File I/O, Network 등)은 워커스레드가 처리한다. 워커스레드는 여러개가 있을 수 있다. 이러한 자바스크립트의 이벤트 루프에 기반한 동시성 모델은 실행 컨텍스트를 하나로만 동작하도록 하여 데이터의 동시성 제어를 용이하게 해준다. Call stack 지금까지 불린 함수들을 call stack에 쌓아둔다. 이벤트루프가 다음 콜백을 처리하려면 지금 실행하는 콜백이 실행되어야 한다. 이러한 과정을 call stack이 끝날 때까지 처리함 Cal..

Javascript 2021.07.30