개발25 ES2015+(Promise) 6. 프로미스 자바스크립트와 노드에서는 주로 비동기 프로그래밍을 합니다. 특히 이벤트 주도 방식 때문에 콜백 함수를 자주 사용합니다. ES2015부터는 자바스크립트와 노드의 API들이 콜백 대신 프로미스(Promise) 기반으로 재구성됩 니다. 그래서 악명 높은 콜백 헬(callback hell)을 극복했다는 평가를 받고 있습니다. 프로미스는 다음과 같은 규칙이 있습니다. 먼저 프로미스 객체를 생성해야합니다. const condition = true; // true면 resolve, false면 reject const promise = new Promise((resolve, reject) => { if (condition) { resolve('성공'); } else { reject('실패'); } });.. 2024. 1. 7. ES2015+(화살표 함수, 비구조화 할당) 4. 화살표 함수 화살표 함수(arrow function)라는 새로운 함수가 추가되었으며, 기존의 function() {}도 그대로 사용할 수 있습니다. function add1(x, y) { return x + y; } const add2 = (x, y) => { return x + y; }; const add3 = (x, y) => x + y; const add4 = (x, y) => (x + y); function not1(x) { return !x; } const not2 = x => !x; add1, add2, add3, add4는 같은 기능을 하는 함수입니다. 마찬가지로 not1, not2도 같은 기능을 합니다. 화살표 함수에서는 function 선언 대신 = > 기호로 함수를 선언합니다. 또.. 2024. 1. 7. ES2015+ (const, let, 템플릿 문자열, 객체 리터럴) 2015년에는 자바스크립트 문법에 매우 큰 변화가 있었습니다. 바로 ES2015(ES6라고도 부릅니다)가 등장한 것이었습니다. 2015년을 기점으로 매년 문법 변경 사항을 발표하고, 새로운 문법 상세에 대해서도 활발한 논의가 이루어지고 있습니다. 2018년 현재 ES2018까지 나왔습니다. 보통 자바스크립트를 배울 때는 ES5의 문법을 배웁니다. 하지만 이제는 ES2015 이상의 자바스크립트를 배울 때입니다. 다른 언어들의 장점을 본딴 편리한 기능이 많이 추가되었기 때문입니다. 노드 6 버전부터 ES2015 문법을 사 용할 수 있습니다. 여기서는 ES6 주요 문법에 대해 설명하겠습니다. 1. const, let 보통 자바스크립트를 배울 때 var로 변수를 선언하는 방법부터 배웁니다. 하지만 var은 이제.. 2024. 1. 7. node.js 서버로서의 노드 노드가 싱글 스레드, 논블로킹 모델을 사용하므로 노드 서버 또한 동일한 모델일 수밖에 없습니다. 따라서 노드 서버의 장단점은 싱글 스레드, 논블로킹 모델의 장단점과 크게 다르지 않습니다. 싱글 스레드여서 멀티 스레드 방식보다는 컴퓨터 자원을 적게 사용하는 장점이 있지만, CPU 코어를 하나밖에 사용하지 못하는 단점도 있습니다. 노드 서버는 I/O가 많은 작업에 적합합니다. 노드는 libuv 라이브러리를 사용하여 I/O 작업을 논블로킹 방식으로 처리해줍니다. 따라서 스레드 하나가 많은 수의 I/O를 혼자서도 감당할 수 있습니다. 하지만 CPU 부하가 큰 작업에는 적합하지 않습니다. 싱글 스레드 방식의 프로그래밍은 멀티 스레드 방식보다 상대적으로 쉽습니다. 서버 프로그래밍에 익숙하지 않은 사람도 쉽게 입문할.. 2024. 1. 7. 이전 1 2 3 4 5 6 7 다음