전체 글
-
catch 할 수 없는 에러들을 slack 웹훅을 통해 slack 실시간 알림 보내기Nest.js 2024. 8. 16. 12:28
@slack/client deprecated가 되었다. @slack/webhook 라이브러리가 @slack/cleint와 비슷하고 유지보수도 잘 되고 있는것 같아 이것을 사용하기로 했다.$ npm i @slack/webhook main.tsall-exception.filter.ts피드 삭제시 TypeORM 에러가 발생 했을때 slack 아주 잘 동작한다!Reference- (https://velog.io/@inmyblue0930/Sentry-Slack-%EC%97%B0%EB%8F%99-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EB%A1%9C%EA%B7%B8%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81)- ( https://www.npmjs.com/package/@slack/..
-
NestJS 꼭 알아야 되는 Exception filter 주의점Nest.js 2024. 8. 14. 17:31
NestJS 여러개의 exception filter와 모든 exception catch filter 사용시 주의할점에 대해서 알아보자.예시 Exception filter 종류BadRequestFilter : 400 bad request 를 catch 하는 filterServiceHttpExceptionFilter : service 에러 catch 하는 filterAllExceptionFilter : 모든 에러를 catch 하는 filter// exceptionapp.useGlobalFilters( new BadRequestServiceExceptionFilter() new ServiceHttpExceptionFilter(), new AllExceptionFilter(httpAdapterH..
-
Log와 모니터링백엔드/견고한 백엔드 만들기 2024. 8. 13. 12:46
monitoring 하는 여러가지 방법들이 존재하고 백엔드에 국한되지 않고 프론트에서도 꼭 필요하다. 이는 production 환경에서 문제를 해결하는데 있어서 중요한 역할을 하기 때문이다.목표winston을 통해 Log 파일을 기록과 Log관리sentry를 통해 모니터링과 slack을 통한 실시간 알림 보내기1. winston을 통한 Log파일 생성과 Log 관리$ winston nest-winston$ winston-daily-rotate-file 필요 라이브러리를 설치 해준다. 2. winston과 winston-daily-rotate-file을 위한 설정 파일 작성common/logger/winston.tsimport { WinstonModule, utilities } from 'nest-wins..
-
TypeORM 쿼리빌더 사용시 where절 사용시 괄호 우선순위와 Brackets 사용Nest.js/TypeOrm 2024. 8. 10. 16:27
TypeORM의 쿼리빌더 사용시에 where절을 사용하는 메서드 where, andWhere, orWhere 사용시에 괄호를 사용하여 where절에 사용하고 싶으면 Brackets를 사용하면 된다.SelectQueryBuilder.d.ts Brackets 사용 괄호로 감싸주고 싶을때 사용 WHERE "a"."isPublic" = true OR "a"."memberId" = '410b7202-660a-4423-a6c3-6377857241cc' AND "a"."isPublic" = false 실제 쿼리 인데 OR 뒤의 부분을 괄호를 이용하여 감싸고 싶을때 사용 하면된다. WHERE "a"."isPublic" = true OR ("a"."memberId" = '410b7202-660a-4423-a6c3-6..