본문 바로가기

전체 글111

NestJS | Config (env) NestJS 에서는 환경변수를 위한 모듈을 제공한다yarn add @nestjs/config config 설치 후앱 모듈 파일에 ConfigModule을 import 해준다 코드 적용// 사용하고자 하는 서비스의 constructor 에 추가 private readonly configService: ConfigService,//=================================================verifyToken(token: string) { try { return this.jwtService.verify(token, { // 이런식으로도 사용 가능하지만 secret: this.configService.get('JWT_SECRET'), .. 2024. 8. 25.
NestJS | Pagination 페이지네이션 이전에 회사에서 외주 프로젝트를 진행할 때 뉴스 정보를 페이지 네이션으로 구현했었다. 내가 구현한 로직const [currentPage, setCurrentPage] = useState(1);const itemsPerPage = 5;const totalPages = Math.ceil(mainData.length / itemsPerPage);const currentData = mainData.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);// 첫번째 페이지로 이동// window.scrollTo(0,0) : 화면 가장 상단으로 이동const handleFirstPage = () => { window.scrollTo(0, 0); .. 2024. 8. 22.
NestJS | Session vs JWT Token , Refresh Token & Access Token 이미 정리한 적 있지만 두루뭉실하게 알고 있는 관계로제대로 이해하기 위해 다시 정리를 해보려고 한다Session세션이란?유저의 정보를 데이터 베이스에 저장하고 상태를 유지하는 도구 세션의 특징세션은 특수한 ID 값으로 구성되어 있다.세션은 서버에서 생성되며 클라이언트에서 쿠키를 통해 저장된다.클라이언트에서 요청을 보낼 때 Session ID 를 같이 보내면 현재 요청을 보내는 사용자가 누구인지 서버에서 알 수 있다.Session ID는 데이터베이스에 저장되기 때문에 요청이 있을 때 마다 매번 데이터베이스를 확인해야한다.서버에서 데이터가 저장되기 때문에 클라이언트에 사용자 정보가 노출 될 위험이 없다.데이터베이스에 Session을 저장해야하기 때문에 Horizontal Scaling이 어렵다JWT Toke.. 2024. 8. 18.
NestJS | Service Express 에서 개발을 했을 때 로직 구현을 Controller 에서 모두 구현을 했었다.NestJS 에서는 Java Spring 처럼 Service에서 로직 구현 후 컨트롤러에서 불러오는 코드를 작성한다고 한다. Controller 에 작성된 코드를 Service로 옮겨보자 posts.controller.ts / Service 로 수정 전import { Body, Controller, Delete, Get, NotFoundException, Param, Post, Put } from '@nestjs/common';import { PostsService } from './posts.service';interface PostModel { id: number; author: string; title.. 2024. 8. 14.
NestJS | Controller | 모듈 생성하기, Postman 요청 보내기 모듈 생성하기처음 NestJS 프로젝트를 생성하면 AppController 가 존재하는데 개발 할 때 모듈 단위로 개발 하기 때문에 AppController를 사용하는 경우는 드물다 그렇기 때문에 모듈 별로 기능 개발을 해야한다. 이때 개발자가 손수 코드를 작성해서 파일을 작성하느냐 ? 아니다 NestJS 는 nest cli 라는 기능을 제공하기 때문에 개발자가 일일이 만들 필요가 없다 터미널에  아래 명령어를 입력nest g resource Nest 리소스를 생성 ( generate ) 하겠다는 명령어. posts.controller.tsimport { Controller, Get } from '@nestjs/common';import { PostsService } from './posts.servic.. 2024. 8. 13.
엘소니도 Sonidiamo 커스텀 기타 스트랩 후기 친구 스트랩을 선물해주고 후기 이벤트에 당첨됐다 https://leejaem95.tistory.com/88 엘소니도 el sonido 커스텀 가죽 기타 스트랩 리뷰같이 밴드하는 친구가 기타를 치기 시작해서 열심히 하란 뜻으로 스트랩을 선물하게 됐다.적당한게 있나 싶어서 찾아 봤는데 시원찮아서 4년전에 구매한 커스텀 스트랩 회사로 결정했다.구매할leejaem95.tistory.com 덕분에 4년만의 새로운 스트랩이 생겼다 ㅎ4년전에 커스텀 했을때랑 다른 점은 스펙지가 생겼다는점.. 자수 퀄리티가 좀 더 좋아졌다는 점인듯하다이전에도 이번에 새긴 문구로 하려고 했었는데 특수문자가 안됐었는데 추가된듯 이전에도 좋았지만 새 스트랩은 더 좋은 것 같다!하얀색 스트랩이 가지고 싶었는데 아주 만족스러운 퀄리티로 만들어.. 2024. 7. 23.