본문 바로가기

Node4

우리가 NestJS를 사용해야하는 이유 NestJS란? 최근 몇 년 동안 Node.js 덕분에 JavaScript는 BE, FE 애플리케이션 모두 웹의 공통 언어가 되었습니다. 이로 인해 Angular, React, Vue가 나오게 되었으며, 해당 프로젝트를 통해 생산성을 향상하고 빠르게 만들 수 있으며, 테스트 가능하고 확장성이 있는 프런트엔드 애플리케이션을 만들 수 있게 되었습니다. 그러나 서버 측 Node.js에서는 뛰어난 라이브러리, 툴이 존재하지만 아키텍처의 주요 문제를 효과적으로 해결하는 것은 없었습니다. Nest는 개발자와 팀이 테스트 가능하고 확장이 가능하며, 느슨한 결합과 유지보수성이 뛰어난 애플리케이션을 만들 수 있도록 아키텍처를 제공합니다. 이 아키텍처는 Angular(느슨한 결합과 뛰어난 확장성을 가짐)에서 영감을 받았습.. 2022. 2. 6.
우리가 express를 사용해야하는 이유 Express란? Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크입니다. (expressjs.com) 다시 한번 나의 용어로 정의하면 Express는 라우팅과 미들웨어 기반인 경량형 Node.js 웹 프레임워크입니다. 만약 Node.js를 사용한다고 하면 대부분의 이유가 웹 서버를 구축하기 위해서 사용한다. 또한 Node.js로 웹서버를 구축한다고 하면 대부분 Express를 사용할 것이다. 가벼운 Express Express의 가장 큰 이유는 가볍게 웹서버를 구현할 수 있다는 점이다. 실제로 구현 코드는 다음과 같다. // 기본 설정 const express = require('express'); const app.. 2021. 8. 29.
우리가 노드를 사용해야하는 이유 Node란? Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임입니다. 런타임(Runtime) : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경 Chrome V8 : C, C++, Rust같은 저수준 언어로 작성된 모듈들을 사용할 수 있게 해주는 웹어셈블리. 즉 Node.js는 브라우저가 아닌 다른 환경에서 Javascript를 사용할 수 있게 해준다. 위 구조에서 libe 라이브러리가 노드의 핵심 특성인 이벤트 기반, 논 블로킹 I/O 모델을 구현하고 있다. 이벤트 기반 이벤트 : 어떠한 사건을 의미한다. (클릭했을 때, 스크롤 했을 때...) 노드는 이벤트 리스너를 생성하고 이벤트가 발생하면 그에 맞는 콜백함수를 호출하는 방식으로 작동한다. 따라서 이.. 2021. 8. 29.
[Node] 비동기 함수의 동작 방식 최근에 내가 하고 있는 부스트캠프 챌린지에서 비동기 관련 미션이 나와 푸는데 애를 먹었던 적이 있었다. 예전부터 비동기에 대한 개념이 너무 부족한걸 알았지만 끝끝내 미뤘는데 이번 기회에 정리를 해야겠다고 생각했다. 예시를 보면서 확인하겠습니다. 코드 상으로는 다음과 같습니다. console.log('Hi'); setTimeout(function cb(){ console.log('there'); }); console.log('JSConfEU'); 메서드들은 호출 스택에 쌓일 것이기 때문에 일반적으로 console.log('Hi')가 동작되고 setTimeout()이 동작하고 마지막으로 console.log('JSConfEU')가 동작할 것이라고 예상합니다. 그러나 setTimeout()은 비동기 메서드이기.. 2021. 8. 7.