nest.js 3

카프카로 메시지 전송하기 - Nest.js와 python

카프카로 메시지 전송하기 - Nest.js와 python Nest.js에서 유튜브 링크를 python 코드로 작성된 서버에 전송하면 받아서 해당 영상 정보를 출력해주는 간단한 서비스를 구현해 보았다. 이전 글에서는 axios로 http 통신을 통해 정보를 주고 받는 코드를 구현해 보았다. (참조: https://issuebombom.tistory.com/117) 이번에는 주고 받는 것은 아니지만 카프카 메시지 브로커를 중간에 두고서 메시지를 전달하는 코드를 구현해 보았다. Kafka란 무엇인가? (간단하게) 어디에선가 받은 이벤트를 잘 보관하고 있다가 구독자에게 이벤트를 잘 전달해주는 이벤트 브로커를 말한다. 이벤트 브로커는 토픽이라는 일종의 파일시스템(fs)의 폴더와 같은 저장 공간을 가지고 그 안에 ..

Nestjs 기반 테스트코드 작성법 공부중 - 2일 차 회고

지난 시간 Nest.js 공식 문서를 참조하여 내가 만든 간단한 API를 기반으로 테스트 코드를 아래와 같이 무작정 작성했다. 아래 테스트코드에 담긴 의미는 "컨트롤러가 서비스에 잘 연결되어 있나?" 이다. 아래 코드는 현재 문제가 많은 상태이며 오늘 어떤 문제게 직면했고, 어떻게 수정했는지 살펴보고자 한다. import { Test, TestingModule } from '@nestjs/testing'; import { UserService } from './user.service'; import { User } from './user.entity'; import { UserController } from './user.controller'; describe('UserService', () => { l..

Nest.js 입문을 위한 맛보기 정리

What is Nest.js? 이전에 사용한 express는 사실 프레임워크라고 부르기 민망할 정도로 너무 제약 사항이 없는 편이었다. 프레임워크의 대표적인 특징은 프로젝트 수행에 있어서 필요한 초기설정, 아키텍처 틀이 정해져 있다는 점인데, express는 자잘한 기능까지도 하나부터 열까지 구현해야 한다는 점이 불편한 점이다. 자유도가 높다고도 볼 수 있겠지만 그만큼 오류를 범할 가능성도 높아지는 것이다. Nest나 Django와 같은 프레임워크는 API 요청, 응답 방법이라든지, 아키텍처 구성 방식이라든지 이미 강제로 정해진 부분이 있어 이를 지키지 않을 수 없도록 구현되어있다. 그렇게 약속되어 있기 때문에 프로젝트를 생성하면 반드시 필요한 기능은 자동으로 파일 생성 및 코드 작성까지 미리 해준다. ..