Logging 로그는 동작 과정을 남기고 에러의 원인을 추적할 수 있다. 로그 덕분에 에러의 원인을 파악할 수 있는 시간을 줄일 수 있다. NestJS에서 제공하고 있는 내장로거는 파일, 데이터베이스 로 저장하는 기능을 제공하지 않는다. 이를 위해서는 커스텀 로거를 만들어야한다. 느려도 좋으니까, 다큐먼트 읽으면서 천천히 꼭꼭씹어먹으면서 이해하는 것을 포커스 뒀다. [ 내장 Logger 활용하기 ] // app.service.ts import { Injectable, Logger } from '@nestjs/common'; @Injectable() export class AppService { private readonly logger = new Logger(AppService.name); getHell..
목표: 커스텀 에러 예외처리를 만들기 throw new NotFoundMarketData() - 커스텀 에러 메시지를 만든다. - 커스텀 에러 발생시, 프로젝트가종료되지 않는다. - 커스텀 에러 발생시, 로그를 남긴다. 문제사항 예외가 발생했을 때, 로그의 기록도 내장예외를 사용했을 때와 달랐다. 커스텀 에러도 내장예외때처럼 사용할 수 있는 방법이 없을까? - posts-exception.ts export class EmptyPostPasswordException extends HttpException { constructor() { super('비밀번호를 입력해주세요!', HttpStatusCode.BadRequest); } } - posts.service.ts async createPost( user..
1. 상황별로 받을 수 있게 하면 안될까? (상황) 모든 게시물들을 불러올 수 있는 API는 [GET] /api/posts/ 이다. 여기서 조건이 있다. 조건1: 게시글이 중복으로 나타내지 않는다 조건2: 한 페이지당 20개 단위로 조건3: 최신글이 먼저 나오도록 조건3은 order by 로 하면 될 것 같고 조건1, 조건2 를 페이지네이션으로 구현하기로 했다. 페이지네이션은 page와 pageSize로 구성되어있으며, 한 페이지당 보여줄 수 있는 게시물의 수를 제한시키는 것이다. 그리고 페이지별로 게시물의 수가 다르게 나타나야한다. 페이지네이션은 게시글 목록에서 페이징을 나타낼 수도 있지만, 스크롤을 내릴 때마다 글들이 계속 랜더링되는 것도 해당한다. 아래는 페이지네이션의 예시이다. 마우스를 스크롤 내..
[ Cannot find module 해결하기 ] (에러문) Cannot find module 'src/entities/enums/PostType' from 'posts/posts.service.ts' (해결책) package.json 에서 "roots", "modulePaths", "moduleDirectories", "moduleNameMapper" 추가 moduleNameMapper 은 jest가 파일을 찾는 방식을 나타낸다. jest는 절대경로를 파악하지 못하고, 상대경로로 파일의 위치를 파악한다. { ... , "jest": { "moduleFileExtensions": ["js","json","ts"], "rootDir": "src", "roots": [ "" ], "modulePaths": ..
Regular Expression 문법 [ 참고자료] 더보기 Javascript 와 RegExp 정규 표현식 자바스크립트를 처음부터 다시 공부해보려고 한다. pks2974.medium.com [정규식] 핵심만 모아놓은 Cheat Sheet 예제를 통하여 정규식의 핵심적인 내용만 깊이있게 알아봅니다 chrisjune-13837.medium.com [정규식] 사용방법/ 정규식 예제 / 정규표현식 문법 아 정규식 진짜 @$*%&@)($&^@$^_매번 찾아보기도 짜증나고 어렵고 공부를 하자 공부를………………………..!!!!!!!!!정규식 할 때마다 예시에 추가해 나가야지.. 일단 정규식을 직접 test 해볼 수 있는 s mkil.tistory.com [Python]정규표현식(+패스워드) 최소 한개의 영문자 + ..
database: mysql - 엔티티 컬럼 길이 조정 export class Posts { @PrimaryGeneratedColumn({ type: 'int', name: 'postId', comment: '게시글 아이디' }) postId: number; // 글자수 20자 제한 @Column({ name: 'title', length: 20, comment:'게시글 제목' }) title: string; // 글자수 200자 제한 @Column({ name: 'content', length: 200, comment: '게시글 본문' }) content: string; } https://orkhan.gitbook.io/typeorm/docs/entities Entities - typeorm int, ..
Cannot find module bcrypt_lib.node (솔루션1) $ npm rebuild (솔루션2) $ npm install node-gyp -g $ npm install bcrypt -g $ npm install bcrypt --save https://stackoverflow.com/questions/34546272/cannot-find-module-bcrypt Cannot find module 'bcrypt' I am getting error Cannot find module 'bcrypt' in nodejs application I have tried to install it using npm install bcrypt but still getting the issue. node app..
배송비 라는 한글을 url에서는 깨진다. 심지어 스페이스바 한번쳐도 url에서는 다르게 나타난다. 즉, 그러므로 한글을 입력받을 때 url이 깨지지 않도록 해야한다. controllers.ts /** * @url [GET] /api/coupons/owned-coupons * @description 사용자 보유쿠폰 조회 * 쿠폰타입에 해당하는 쿠폰들 검색 * 유효기간이 만료되지 않고, 사용 가능한 쿠폰들만 존재합니다. * @Request * @Response OwnedCoupons[] * @success 200 * @errorCode 400 */ @UseGuards(AuthenticatedGuard) @Get('owned-coupons') async getUserOwnedCoupon(@User() user..
- Total
- Today
- Yesterday
- 한달독서
- nestjs
- Nest.js
- nestjs jest
- MongoDB
- 바이트디그리
- MySQL
- 갓생살자
- TypeScript
- IT용어
- 스마트폰중독
- typeORM
- vscode
- 미완
- 개발용어
- 나도 할 수 있다
- 참고
- node.js
- 한달어스
- gem
- TDD
- RDBMS
- OS
- 클린아키텍쳐
- git
- Jekyll
- jest
- Mongoose
- 디지털디톡스
- 습관개선
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |