작성 기준 nest 버전: 9 deepl과 papago 번역기를 사용하였고 읽으면서 필요한 내용을 수정하고 추가하였습니다. 인터셉터는 @Injectable() 데코레이터로 주석이 달린 클래스이며 NestInterceptor 인터페이스를 구현합니다. 인터셉터에는 Aspect Oriented Programming (AOP) 기법에서 영감을 얻은 유용한 기능들이 있습니다. 인터셉터를 사용하면 다음을 수행할 수 있습니다: 1. 메서드 실행 전후에 추가 로직을 바인딩합니다. 2. 함수에서 반환된 결과 변환 3. 함수에서 던져진 예외를 변환 4. 기본 함수 동작 확장 특정 조건에 따라 함수를 완전히 재정의할 수 있습니다(예: 캐싱 목적). Basic 각 인터셉터는 인터셉트() 메서드를 구현하는데, 이 메서드는 두 ..
상황 mac에 brew로 local에 redis 설치 nest.js 프로젝트에는 https://docs.nestjs.com/techniques/caching#in-memory-cache 공식문서를 보고 redis 설치 redis 모듈을 만들고 get, set 메서드까지 사용해보고 연결이 잘 됐다고 생각했다. 그러다 redis DB를 실제로 보니 값은 존재하지 않았다. (늬 늬긔야..) 혹시 도커가 켜져있나 해서 확인해보니 서비스도 다 내려가있었다. 에러 메세지도 뜨지 않았다. 팀원분 pc에서 git pull 받아 테스트 해보니 메세지가 하나 떴다. TypeError: store.get is not a function 위의 git comment를 읽어보니 cache-manager가 버전 4->5로 올리면서..
controller의 create post api이다. @Post() @CreateBoardDecorator() @UsePipes(ValidationPipe) async createBoard( @Body() data: CreateBoardDto, ): Promise { const board = await this.boardsService.createBoard(data); const value = responseFormat(board, '게시글 생성 성공', HttpStatus.OK); return value; } - CreateboardDecorator(): swagger 전용 데코레이터 - UsePipes(ValidationPipe): 핸들러 레벨의 validation, 모든 파라메터에 적용한다. - ..
상황 vs code에 저장버튼을 누를 때 마다 async await 코드 중 await이 자꾸 지워져서 저장되었다. 아래와 같은 코드를 작성했다면 return await 부분에 await이 자꾸 제거되었다. @Patch('/:id') async patch( @Param('id', ParseIntPipe) movieId: number, @Body() updateData: UpdateMovieDto ): Promise { return await this.movieService.update(movieId, updateData) } } 원인 이유는 간단하였다. ESLint에 위반되어서 저장할 때 자동으로 지워준것이었다. 위반 규칙은 https://eslint.org/docs/latest/rules/no-retu..

Nest를 공부하다가 이런 알아들을 수 없는 함수 때문에 코드 읽는 것이 힘들었고 어떤 것을 사용해야 할지 몰랐었다. 참고한 블로그에서 발견한 글, 완전 공감.. nestjs의 모듈 생김새 @Module({ imports: [], controllers: [], providers: [], }) export class AppModule {} // src/common/common.module.ts @Module({ controllers: [], imports: [ ConfigModule.forRoot({ load: configs, isGlobal: true, }), MysqlModule, RedisModule, ], }) export class CommonModule {} @Module({ imports:[ ..
공식 문서를 보면 main.ts 파일에 swagger 설정을 하고 있다. 하지만 main.ts에는 swagger만 있는 것이 아니니 파일을 분리하도록 하겠다. main.ts의 기본적으로 생성되는 코드는 아래와 같다. import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000); } bootstrap(); 원래는 아래처럼 하려고 했으나 swaggerConfig(app)에서 에러가 발생했다. Argument of type 'INestApp..

ts를 제대로 써본적이 없고 아직은 헷갈리는게 많아 일단 기록. https://www.youtube.com/watch?v=u846zBg4TK8&list=PL9a7QRYt5fqnCYYs9YfcBXcWuDnAnQ5sI&index=13&ab_channel=JohnAhn 강의를 보다가 conteroller에 주입하는 service코드가 축약되었다는 사실을 알게되었다. 축약된 코드는 ts의 도움을 받아 가능하게 됐다 자바스크립트에서는 private같은 접근 제한자를 사용할 수 없지만 ts에서는 사용 가능하다. 변환된 코드 private를 사용하면 boardsService 프로퍼티는 BoardsController 클래스 내부에서만 사용 가능하다.
mysql 연동 시 에러가 발생했다. [에러 내용] ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 루트가 외부에서 접속할 수 없어서 그렇다는 글들도 많았는데 나의 경우 mysql 설치 버전 때문이다. 공식 문서 https://docs.nestjs.com/techniques/database를 살펴보면 $ npm install --save @nestjs/typeorm typeorm mysql2 그대로 따라하면 된다.

웹서버 nignx 적용 이전 글: https://nibble2.tistory.com/78 Vue와 Nest.js를 사용하여 redis, nginx, docker로 crud 만들기 - 4 redis 적용한 이전 글: https://nibble2.tistory.com/77 Vue와 Nest.js를 사용하여 redis, nginx, docker로 crud 만들기 - 3 이전글: https://nibble2.tistory.com/76 Vue와 Nest.js를 사용하여 redis, nginx, docker로 crud 만들기 - 2 전편 nibble2.tistory.com 기본적인 front와 backend가 다 구성됐다. 마지막 단계인 nginx를 이용하여 로드밸런싱을 해줘야한다. 이거는 내가 구현한 거라 코드를..

redis 적용한 이전 글: https://nibble2.tistory.com/77 Vue와 Nest.js를 사용하여 redis, nginx, docker로 crud 만들기 - 3 이전글: https://nibble2.tistory.com/76 Vue와 Nest.js를 사용하여 redis, nginx, docker로 crud 만들기 - 2 전편 https://nibble2.tistory.com/75 Vue와 Nest.js를 사용하여 redis, nginx, docker로 crud 만들기 - 1 이번에 redis, nginx, dock nibble2.tistory.com 이번에는 프론트 nginx 구현에 관한 이야기다. 앞에서도 말했지만 이 토이프로젝트에서 Nginx의 역할은 두가지다 1. 프론트에서 정적..
- Total
- Today
- Yesterday
- merge into
- jdk1.7 다운
- 인스턴스
- 파이썬
- 자바
- npm이란
- ORACLE 단일테이블
- 백준알고리즘
- 알고리즘
- java1.7 다운
- 단일쿼리문
- merge into using
- jdk 이전버전 다운
- 초보개발자
- 신입사원개발자
- 개발자
- 신입개발자퇴사
- C++
- Java
- ORACLE MERGE INTO USING DUAL
- 신입사원
- merge into 단일테이블
- ORACLE MERGE INTO 같은테이블
- 개발자퇴사
- package.json
- ORACLE MERGE INTO 동일테이블
- merge into 같은 테이블
- npm init
- 백준
- merge into using dual
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |