본문 바로가기

네스트4

Nest.js : Nestia에서 SDK 배포하는 법 Nestia는 라이브러리 자체에서 SDK 배포를 지원한다. 여기서 말하는 SDK란, Nestia 서버에서 존재하는 Input, Output Dto들을 SDK형태로 만들어서 프론트가 해당 타입들을 사용할 수 있도록 도와주는 SDK를 말한다. Nestia에서 생성된 SDK는 패키지 내에서 Fetch까지 자동으로 지원해 준다. 먼저 npm에 배포를 하기 위해서는 npm에 회원가입을 해야한다. https://www.npmjs.com/ npm Bring the best of open source to you, your team, and your company Relied upon by more than 17 million developers worldwide, npm is committed to making Ja.. 2023. 8. 13.
#1. Nestia : 네스티아를 배워보자 - 초기 설정 우선, 본 포스팅에 앞서 네스티아란 nest.js(node.js)쪽에서 되게 유명하신 삼촌님이라는 분이 계신데 그 분이 만드신 라이브러리이다. 내가 네스티아를 배우려고 하는 이유를 말해보자면, 아래와 같은 장점들이 있어서이다. (아직 사용해보지는 않았지만 그렇다고한다) 1. 프론트엔드와 백엔드의 언어가 같다는 이점을 극한으로 활용해서 서버 개발자가 SDK를 배포하고, 클라이언트 개발자가 해당 SDK를 활용하여 타입을 중복으로 정의하는 일이 없도록 할 수 있다. 2. Swagger 문서를 자동으로 만들어준다. 3. Class-validator, Class-transformer를 사용하는 것 보다 훨씬 빠른 속도를 자랑하는 Typia 라이브러리를 사용한다. 아직 내가 본격적으로 해본 게 아니라서 위의 세 가.. 2023. 7. 2.
Nest.js : Ports and Adapters Architecture 구현하기 (2) Ports and Adapters 방식을 사용하다보니 문득 문제가 생겼다. 그것은 바로 CustomRepository를 사용하면, Nest가 Repository를 모듈에 주입하지 못한다는 문제점이다. 보통 CustomRepository를 사용하면 다음과 같이 코드를 짤 수 있다. // 물론, 여기서 CutomeTypeOrmModule은 직접 만든 것이다. @Module({ imports: [CustomTypeOrmModule.forCustomRepository([UserRepository]), ], providiers: [ { provider: USER_REPOSITORY_OUTBOUND_PORT, useClass: UserRepository, } ], }) export class CatModule {}.. 2023. 2. 16.
Nest.js : Session 로그인을 위한 Redis 연동, 그리고 Ports and Adapters Architecture에 적용하기 처음으로 nest.js에 Redis라는 것을 사용해보기 위해 이리저리 구글링을 해보았다. 캐시용으로 말고, 세션용으로! 진짜 굉장히 삽질 많이했다. 그냥 쓰라고하면 쓰겠는데, Ports and Adapters 아키텍쳐에 맞게 무언가 만들려고 하니까... 머리가 더욱 복잡했다. 결국 최적의 방법은 찾지 못한듯 하다 ㅠㅠ 나는 CacheModule의 인터셉터와 데코레이터를 사용하지 않고, cacheManager 만을 이용해서 redis를 이용한 세션 로그인을 구현하고 싶었다. (그리고 저걸로 해도 아마 안될 것이다. 딥하게 건드리지 않는 이상) 그래서 생각한 첫 번째 방법이 RedisModule과 RedisService를 만들어서 필요한 모듈마다 import하는 것이다. // redis.module.ts i.. 2023. 2. 16.