개발환경 Windows 10 node.js v21.5.0 nest.js 10.3.0 환경 세팅 Windows에서 node.js 최신 버전 업데이트 하기 node 공식 사이트 에서 직접 다운로드 후에 설치를 진행해도 되고 nvm 을 이용해서 설치해도 됩니다. nvm은 여러 노드 버전들을 손쉽게 관리할 수 있기 때문에 저는 nvm을 설치해서 업데이트 하였습니다. nvm 설치하기 nvm github 에서 nvm-setup.exe 파일을 다운로드 후에 설치를 하면 됩니다! 주요 nvm 명령어는 아래와 같고 저는 nvm install node를 이용해서 최신버전을 설치하였습니다. 만약 프로젝트 규모가 클 것으로 예상이 된다면 LTS 버전을 확인해서 설치하는 게 좀 더 안정적일 수 있을 것 같네요! nvm vers..
Promise 등장 배경 자바스크립트에서 비동기 처리를 위해서 전통적으로 콜백 함수를 사용하였다. 함수 내부에서 함수 호출을 통해 비동기 작업의 결과를 받아서 인자로 주면 이를 이용해 후속 처리 작업을 수행하는 것이다. 콜백 함수는 중첩될 수록 가독성이 떨어지고 코드의 흐름을 파악하기 어려워진다는 문제가 있는데 특히 여러 개의 비동기 작업을 수행해야 할 때는 이른바 콜백 지옥(callback hell) 현상이 발생하게 된다. function increaseAndPrint(n, callback) { setTimeout(() => { const increased = n + 1; console.log(increased); if (callback) { callback(increased); // 콜백함수 호출 }..
동기와 비동기 의미 동기는 하나의 요청이 오면 완료가 되어야 다음 요청을 실행하는 순차적 방식으로 흐름을 쉽게 예측할 수 있고 비동기는 어떤 요청이 완료되기 전에 다음 요청을 실행하는 동시적 방식으로 여러 작업을 동시에 효율적으로 처리할 수 있다. 콜백 함수 콜백 함수의 사용 목적 비동기 방식으로 작성된 함수를 동기 처리하기 위해 주로 사용된다. 비동기 처리를 기본으로 하면서 일부 순차적인 처리를 해야될 때가 있기 때문이다. 콜백 함수 형태 function main(param1, param2, callbackFunc) { // ... 처리 내용 callbackFunc(); } main(1, 2, func()); 보통 함수를 선언한 뒤 함수 타입 파라미터를 맨 마지막에 하나 더 선언해주는 방식으로 정의한다..
개요 function Car() { this.tire = 4; this.handle = 1; } let kona = new Car(); let spark = new Car(); console.log(kona.tire); // 4 console.log(spark.tire); // 4 kona와 spark 인스턴스를 생성하게 되면 Car가 가지고 있는 tire와 handle이라는 변수가 각각 메모리에 할당이 된다. 객체를 만들 때마다 새로운 메모리 공간을 사용하게 되는데 이러한 문제를 프로토타입으로 해결할 수 있다. function Car() { } Car.prototype.tire = 4; Car.prototype.handle = 1; let kona = new Car(); let spark = new C..
ES5 와 ES6 비교 ES5 프로토타입 // 생성자 function Cat(name, age) { this.name = name; this.age = age; } Cat.prototype.feeding = function() { return `${this.name}가 츄르를 먹습니다.` } // 인스턴스 생성 let cat = new Cat('금동이', 9); console.log(cat.feeding()); // 금동이가 츄르를 먹습니다. ES6 클래스 class Cat { //생성자 constructor(name, age) { this.name = name; this.age = age; } feeding() { return `${this.name}가 츄르를 먹습니다.` } } // 인스턴스 생성 l..
- Total
- Today
- Yesterday
- 자바트리
- 자바dp
- 리액트
- CS
- dfs
- Spring
- 형변환
- Queue
- Comparator
- 해시맵
- java
- 정렬
- 프로그래머스
- Algorithm
- JavaScript
- 스프링부트
- 스프링
- JPA
- SQL
- 이분탐색
- 자바bfs
- 타입스크립트
- 자바
- 자바스크립트
- BFS
- Nest
- 백준
- DP
- 알고리즘
- SQLD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |