전체 글 (94) 썸네일형 리스트형 NestJS의 프로젝트 구조 NestJS는 모듈화를 통해 프로젝트를 구성한다. 가장 위에 있는 main.ts에서 app.module을 호출하는 것으로 프로그램이 시작된다. app.module은 또 다른 모듈들을 import 하게 된다. 각 모듈은 기본적으로 controller와 provider로 구성된다. controller는 클라이언트에서 보낸 HTTP 요청을 받아 라우팅 하며, 프로바이더에게 전달한다. 또한, 프로바이더에게 받은 응답을 다시 클라이언트에게 반환한다. 자세한 내용은 다른 포스팅에서 다루겠다. provider는 애플리케이션에서 사용되는 서비스, 데이터베이스 이용, 외부 API 호출, 로깅 등의 기능을 수행한다. 핵심 비즈니스 로직을 구현하고, controller에 필요한 데이터와 기능을 제공하는 역할을 한다. 자세한.. Node.js 프로젝트 생성하기, dependency와 devDependency Node.js 프로젝트는 npm 혹은 yarn 패키지 매니저를 통해 생성할 수 있다. 해당 포스팅에서는 yarn 패키지 매니저를 통해 Node.js 프로젝트를 생성할 것이다. dependency와 devDependency 프로젝트 생성 전 dependency와 devDependency의 개념과 둘의 차이점에 대해 먼저 알아보도록 한다. dependency와 devDependency는 프로젝트에 필요한 패키지를 정의하는 데 사용되는 개념으로, package.json 파일에 존재한다. dependency 프로젝트가 실행되는 데 필요한 패키지를 의미한다. 이러한 패키지들은 프로덕션 환경에서 필수적으로 설치되어야 하며, 주로 프로젝트의 기능 구현에 사용된다. dependency에는 애플리케이션 동작과 직접적으로.. 11279번: 최대 힙(Java) 가장 큰 값을 출력해야 하므로 우선순위 큐(Priority Queue)를 사용하면 된다. 우선순위 큐는 큐의 일종으로, add()를 할 때 우선순위를 정할 수 있다. 예를 들어 1,4,6,2를 차례대로 오름차순 우선순위 큐에 넣으면 1,2,4,6 순서로 들어가게 된다. 문제에서는 큰 숫자를 먼저 출력하라고 했으므로, 내림차순으로 큐에 들어가게 하면 된다. 우선순위 큐는 기본적(초기화할 때 매개변수가 없다면)으로 낮은 숫자를 우선순위로 하므로, 내림차순으로 큐에 들어가게 하려면 Priority Queue를 초기화할 때 매개변수로 Collections.reverseOrder() 를 넣어주면 된다. Collections에서 제공하는 reverseOrder()로 내림차순으로 저장되게 할 수 있다. Scanner.. NestJS 소개 ※해당 글은 "NestJS로 배우는 백엔드 프로그래밍"(한용재 저)를 토대로 공부한 것을 정리한 것임을 밝힙니다. NestJS란.. NestJS는 Express, Fastify 등과 같은 Node.js의 인기 있는 웹 프레임워크들을 기반으로 개발된 Node.js에 기반을 둔 웹 API 프레임워크이다. Node.js는 손쉽게 사용할 수 있고 뛰어난 확장성을 가지고 있지만, 과도한 유연함으로 인해 결과물의 품질이 일정하지 않고, 알맞은 라이브러리를 찾기 위해 사용자가 많은 시간을 할애해야 한다. 하지만 NestJS는 데이터베이스, ORM(object-relational-mapping), 설정(구성), 유효성 검사 등 수많은 기능을 기본 제공한다. 그러면서도 필요한 라이브러리를 쉽게 설치하여 기능을 확장할 수.. 웹 FrameWork와 Node.js ※해당 글은 "NestJS로 배우는 백엔드 프로그래밍"(한용재 저)를 토대로 공부한 것을 정리한 것임을 밝힙니다. 웹 FrameWork 예전에는 웹 페이지에서 구동되는 애플리케이션은 모두 SSR(Server Side Rendering) 방식으로 동작했다. 서버에서 웹 브라우저가 그려야 하는 HTML과 자바스크립트를 그대로 전송하고 브라우저는 서버에 전달되는 코드를 화면에 뿌려주기만 하면 됐다. 이후 동적 구성되는 부분은 함께 전달된 자바스크립트를 파싱하여 화면을 구성했다. 시간이 지날수록 웹 기술은 고도의 복잡도를 가지도록 발전했고, 필수로 적용해야 하는 기술들을 기존 방식으로 작성하기에는 시간과 노력이 너무 많이 들게 되었다. 자연스럽게 웹 개발에 필수적인 요소들을 묶어 개발자들이 쉽게 쓸 수 있게 하.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 19 다음