본문 바로가기

node js

(7)
[Nest Js] Nest Js 공식 문서 파헤치기 - Exception Filter(예외 필터) 트리스티가 JavaScript를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 지난 시간에는 Middleware에 대해 알아보았습니다. 이번 시간에는 Nest Js의 예외 처리에 대해서 알아보도록 하겠습니다. 📣 Nest Js의 예외처리 예외 처리란 프로그램이 처리되는 동안 어떤 문제가 발생했을 경우, 처리를 중지하고 해당 예외를 처리하는 것을 말합니다. 훌륭한 개발자라면 멋지게 예외를 처리해서 나중에 프로그램에서 문제가 생겨도 금방 처리할 수 있게 끔 만들어 놔야 합니다. 하지만 예외를 처리하기 위해 예외가 발생할 것 같은 모든 곳에 예외 처리 코드를 작성하는 것은 너무 불합리합니다. 그래서 Nest Js에서는 쉽게 예외를 처리할 수 있도록 Exception Filters 기능을 지..
[Nest Js] Nest Js 공식 문서 파헤치기 - Middleware(미들웨어) 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 지난 포스팅에서는 Modules가 무엇인지를 알아보았습니다. 이번 포스팅에서는 Middleware가 뭔지 알아보도록 하겠습니다. 📣 Middleware란 무엇인가? 미들웨어(Middleware)는 Nest Js가 아니라 express를 사용하셨던 분들이라면 한 번쯤은 써보셨을 기능으로, 라우트 핸들러 이전에 호출되는 함수입니다. 라우트 핸들러는 쉽게 말하면 클라이언트에서 url을 통해 서버의 엔드포인트에 접근할 때 올바른 엔드포인트를 호출할 수 있게끔 해주는 핸들러라고 생각하시면 됩니다. 미들웨어는 요청(request) 및 응답(response) 객체 및 어플리케이션 요청 - 응답 주기 중간에서 그다음의 미들웨어..
[Nest Js] Nest Js 공식 문서 파헤치기 - Modules(모듈) 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 지난 포스팅에서는 Providers란 무엇인지를 알아보았습니다. 이번 포스팅에서는 Modules가 뭔지 알아보도록 하겠습니다. 📣 Modules란 무엇인가? 일반적으로 프로그래밍에서 모듈(Module)이란, 코드 간 응집도를 높이기 위해 특정한 기준으로 쪼개진 코드 덩어리를 의미합니다. 응집도란 프로그램의 모듈 요소들 간 서로 얼마나 연관되어 있는지를 나타내는 개념입니다. 모듈화 작업을 거치며 서로 유사한 서비스 혹은 기능들끼리 모듈들로 묶으며 응집도를 높일 수 있습니다. 프로그램을 설계할 때 처음부터 이러한 작업을 수행했다면 프로그래머들은 이해하기 쉽고 재사용 및 유지 보수가 용이한 코드를 만들 수 있다는 이점..
[Nest Js] Nest Js 공식 문서 파헤치기 - Providers(프로바이더) 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 지난 포스팅에서는 Controller란 무엇이고, Nest js의 Controller에서는 어떤 기능을 사용할 수 있는지를 알아보았습니다. 이번 포스팅에서는 Providers가 뭔지 알아보도록 하겠습니다. 📣 Providers란 무엇인가? Providers란 어플리케이션이 제공하는 서비스 기능을 구현하고 수행하는 역할을 맡는 것으로, 지난 포스팅에서 간단하게 설명해드린 MVC 모델의 Model에 해당하는 부분입니다. 예를 들어 중고 물품 거래 플랫폼인 당근 마켓 같은 경우라면 사용자의 위치를 읽고 주변의 거래를 보여주는 서비스를 보여준다던가, 인터넷 방송 플랫폼인 Twitch Tv 같은 경우라면 현재 진행 중인 ..
[Nest Js] Nest Js 공식 문서 파헤치기 - Controller(컨트롤러) 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 📣 Controller란 무엇인가? Controller란 사용자(client)의 요청(request)을 처리하고, 응답(response)을 반환하는 역할을 담당합니다. controller가 없어도 웹 서버를 구축할 수 있지만, 없다면 엄청나게 긴 코드를 읽고 유지 보수해야 하는 불편함이 생깁니다. 따라서 특정 기준에 따라 해당 코드들을 나눠서 제어자 역할을 하는 controller라고 이름 지어서 관리하는 것이죠. controller는 디자인 패턴 중 하나인 MVC 패턴에서 자주 사용되는 개념입니다. Model - 데이터와 관련된 작업들을 처리합니다. 데이터베이스에 접근하여 수정, 삭제, 생성 등의 작업이 이뤄집..
[Nest Js] Nest Js 공식 문서 파헤치기 - 시작하기 트리스티가 Nest Js를 공부하며 남긴 기록입니다. 틀린 내용은 언제든지 말씀해주세요 ~! 📣 Nest Js 시작하기 Nest Js를 시작하는 것은 정말 간단합니다. 먼저, npm이 설치되어 있는 상태에서 nest cli를 설치를 해줍시다. 설치가 완료되었다면, 아래의 명령어를 사용해서 새로운 nest 프로젝트를 만들어 줍시다. $ npm i -g @nestjs/cli $ nest new project-name nest 프로젝트를 만들었다면 아래의 사진처럼 지정한 프로젝트 디렉토리 하위에 노드 모듈들과 src 폴더와 test 폴더가 생성된 것을 확인하실 수 있습니다. src 폴더 하위에는 다음과 같이 controller, module, service, main 파일과 controller spec 파일이..
NestJs TypeOrm N + 1 Problem을 알아보자! ❔ 나는 이것이 궁금했다. 트리스티가 프로젝트를 하며 궁금했던 것들을 정리한 코~너 입니다. 틀린사항이 있다면 언제든지 알려주세요! 📣 오늘의 주제 - NestJs TypeOrm N + 1 문제를 알아보자! 항해 99 1기가 끝나고 개인적으로 공부하고 있던 중, N + 1 문제에 대해 알게 되었습니다. 그래서 오늘은 N + 1 문제가 무엇이고 NestJs에서 TypeOrm을 사용할 경우 어떻게 해결할 수 있을지 알아보도록 하겠습니다. 추가로 SpringBoot Jpa의 N + 1 문제랑은 어떻게 다를지도 한번 봐보도록 하겠습니다. NestJs를 더 잘 사용해보고 싶어서 조금씩 SpringBoot를 보던 중이었는데, 똑같은 문제가 발생할지 정말 궁금했거든요 ~~ N + 1 문제를 알아보기 전에, 먼저 ea..