본문 바로가기
반응형

nestjs22

[NestJS]NestJS에서 Swagger 사용법 어떤 프로젝트를 하던간에 문서화는 필수다. 특히 프로젝트가 크면 클수록 문서화를 해놓지 않는다면 유지보수나 기능확장을 할 때 엄청난 재앙으로 돌아올 확률이 크고 협업함에 있어서도 어려움을 겪는다. NestJS를 통해 api 서버를 개발 할 때 이 문서화의 귀찮음을 어느정도 해결해줄 수 있는 방법이 있다. Swagger란? Swagger는 API 문서 자동화 도구이다. 그냥 API 코드를 만들고 수정하면서 자연스럽게 API 문서가 생성되고 수정한다. 즉 굳이 따로 시간내서 작성할 필요가 없다는 것이다. 특히 API 문서에서 제일 문제가 되는게 최신화인데(최신화가 되지 않으면 다른 팀원들과의 협업에서 문제가 생길 수 있다.) 이런 문제가 자연스럽게 해결 된다. 또 장점은 이 API를 테스트할 수 있는 화면까.. 2023. 5. 3.
[NestJS]NestJS,MySQL 쿼리 로깅(logging) 로그는 애플리케이션에서 발생하는 많은 이벤트들에 대한 기록이다. 에러가 발생하거나 어떠한 요청이 왔을 때 해당 로그를 보고 문제를 파악한다던지 어떤 요청이 들어왔는지 파악하는 등 아주 중요한 역할을 한다. 그럼 NestJS는 어떻게 로그를 남길 수 있을까? 자바스크립트에는 console.log()가 있지만 그것보다는 다른 방법이 더 좋을 수 있다. Logger Class NestJS는 다행히도 기본적으로 로거가 내장되어 있고 손 쉽게 사용할 수 있다. @nestjs/common 패키지에서 Logger 클래스를 불러와서 인스턴스 생성 후 사용해 주기만 하면 된다. private readonly logger = new Logger(AlcoholController.name); 이렇게 인스턴스를 생성하면 쉽게 .. 2023. 4. 21.
[Project]공공데이터 수집 DB 모니터링 인턴을 하던 전 직장에서 마지막으로 진행했던 프로젝트이다. 해당 프로젝트에 대해 간략하게 설명하자면 공공데이터 포털에서 한시간에 한 번씩 업로드가 되는 환경 관련 데이터를 한시간에 한 번 씩 스케줄러를 돌려서 수집하는 프로젝트가 이미 서버 위에 올라가서 돌아가고 있었다. 부장님께 전달 받은 미션은 위 수집한 데이터에 이상이 있는지 없는지 체크하고 한 눈에 알아볼 수 있는 모니터링 웹을 만들라는 것이었다. 사실 이 모니터링 웹 페이지는 이미 스프링으로 되어있는 프로젝트가 이미 있었다.(같이 일하는 동기가 스프링 레거시를 이용해 구현하였다.) 하지만 성능상의 이슈가 너무 많았다. 이게 메인페이지인데 해당 페이지를 띄우려면 3개의 테이블을 join 해야 한다. 위 사진 처럼 일단 지역정보를 불러오고 그 지역에.. 2023. 3. 23.
[NestJS]NestJS에서 메일 보내기 사이드 프로젝트를 진행하던 도중 메일을 보내야 하는 상황이 생겼다. 복잡한 메일은 아니고 간단한 데이터 몇 개를 메일로 보내야 되는 상황이였는데 NestJS에서 메일 보내는 방법을 알아보자 먼저 npm install --save @nestjs-modules/mailer nodemailer 명령어를 사용해 관련 라이브러리를 설치한다. 공식 홈페이지에서는 여기서 template를 사용하려면 pug나 ejs 같은 걸 설치하라고 하는데 난 사용 안할거니까 패스. MailerModule.forRootAsync({ useFactory: () => ({ transport: { host: 'smtp.naver.com', port: 465, auth: { user: process.env.EMAIL_ID, pass: pr.. 2023. 3. 22.
반응형