일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이터레이터
- 목록처리
- 자료구조와 함께 배우는 알고리즘 입문
- d
- Kernighan의 C언어 프로그래밍
- 데비안
- ㅒ
- network configuration
- 알파회계
- 리눅스
- 구멍가게코딩단
- baeldung
- 자료구조와함께배우는알고리즘입문
- 처음 만나는 AI수학 with Python
- 페이징
- 코드로배우는스프링웹프로젝트
- 선형대수
- 친절한SQL튜닝
- 네트워크 설정
- /etc/network/interfaces
- 자바편
- 스프링 시큐리티
- 티스토리 쿠키 삭제
- 코드로배우는스프링부트웹프로젝트
- iterator
- 서버설정
- GIT
- 처음 만나는 AI 수학 with Python
- 스프링부트핵심가이드
- resttemplate
- Today
- Total
목록전체 글 (406)
bright jazz music
1. 인증기능 구현에 필요한 패키지 설치하기이미 설치한 패키지도 있을 수 있다.// JWT(JSON Web Token) 생성/검증을 위한 NestJS 모듈pnpm add @nestjs/jwt // Passport.js를 NestJS에서 사용하기 위한 어댑터/래퍼pnpm add @nestjs/passport // Node.js 인증 미들웨어 라이브러리pnpm add passport // JWT 기반 인증을 위한 Passport 전략# Authorization 헤더에서 JWT를 추출/검증pnpm add passport-jwt // username/password 기반 인증을 위한 Passport 전략 // 로그인 시점의 인증 처리pnpm add passport-local // 패스워드 해싱을 위한 라이브러..
1. 단위 테스트1.1. members.controller.specs.ts// src/members/members.controller.spec.ts// 회원 관리 컨트롤러 테스트import { Test, TestingModule } from '@nestjs/testing';import { MembersController } from './members.controller';import { MembersService } from './members.service';import { AuthProvider } from '@common/enums';describe('MembersController', () => { let controller: MembersController; let service: Mem..
1. members.controller.ts(회원 관련 컨트롤러)// src/members/members.controller.ts// 멤버 컨트롤러: HTTP 요청을 처리하고 응답을 반환하는 컨트롤러// RESTful API 엔드포인트 정의 및 요청/응답 처리import { Controller, Get, Post, Put, Delete, Body, Param, Query, HttpStatus, HttpCode, ParseUUIDPipe} from '@nestjs/common';import { MembersService } from './members.service';import { CreateMemberDto } from './dto/create-member.dto';i..
1. 먼저 스웨거를 설치한다pnpm add @nestjs/swagger swagger-ui-express// npm install @nestjs/swagger swagger-ui-express원래는 기본적인 dto와 컨트롤러, 서비스를 먼저 작성하였다. 그러나 그 과정을 기록해 놓지 않았기 때문에 현재 코드는 스웨거가 적용된 상태이다. 따라서 이해를 돕기 위해 스웨거를 먼저 설치하고 진행한다. 2. main.ts에 적용설치를 완료했으면 main.ts에 적용해준다.// src/main.ts// 애플리케이션 진입점// 스프링부트의 @SpringBootApplication가 붙어있는 파일(메인함수가 있는 파일)에 대응되는 파일// 유효성 검사 파이프 추가import { ValidationPipe } from ..
1. member.entity.ts (회원관련 엔티티 파일)/src/members 디렉토리에 entities 디렉토리를 만들고 member.entity.ts 파일을 만들어준다.아래와 같은 내용을 작성해준다. - enum을 사용한 위치에서 오류가 발생할 것이다. 그건 2번 항목에서 다룬다. /*** src/members/entities/member.entity.ts* 멤버 엔티티: 데이터베이스의 members 테이블과 매핑되는 엔티티 클래스* 회원의 기본 정보, 인증 정보, 포인트, 레벨 등을 관리* 엔티티에서는 데이터 구조와 제약에만 집중한다.* MinLength 등의 'class-validator'의 데코레이터는 dto에서 적용한다.*/import { v4 as uuidv4 } from 'uuid';..
dependencies와 devDependencies의 차이Node.js 프로젝트의 package.json에는 두 종류의 의존성이 존재한다:dependencies프로젝트 실행에 필수적인 패키지실제 운영 환경에서 필요한 패키지들이 포함됨예: express, react, nestjs# 설치 명령어npm install 패키지명# 또는npm i 패키지명devDependencies개발 과정에서만 필요한 패키지테스트, 빌드, 포맷팅 등 개발 보조 도구들이 포함됨예: jest(테스트), prettier(포맷팅), cross-env(환경변수)# 설치 명령어npm install -D 패키지명# 또는npm i -D 패키지명package.json 예시{ "dependencies": { "express": "^4.17..
dotenv 파일 종류와 우선순위NestJS에서 환경변수 관리를 위한 dotenv 파일은 다음과 같은 종류가 있다..env: 기본 설정 파일.env.local: 로컬 개발 환경 전용 설정.env.development: 개발 환경 설정.env.production: 운영 환경 설정.env.test: 테스트 환경 설정이 파일들은 정해진 우선순위에 따라 적용된다:.env.local > .env.production > .env 순으로 우선순위가 적용되며, 같은 변수가 여러 파일에 정의되어 있을 경우 우선순위가 높은 파일의 값이 사용된다..env.local 파일 관리.env.local 파일은 개발자의 로컬 환경에 특화된 설정을 담는다. 개발자마다 다른 설정이 필요할 수 있으므로 일반적으로 .gitignore에 추가..
1. main.ts에서 validation pipe 활성화// 스프링부트의 @SpringBootApplication가 붙어있는 파일(메인함수가 있는 파일)에 대응되는 파일// 유효성 검사 파이프 추가import { ValidationPipe } from '@nestjs/common';import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';async function bootstrap() { const app = await NestFactory.create(AppModule); /* app.useGlobalPipes(new ValidationPipe()); // 전역 유효성 검사 파이프 추가*/ app.us..
상황:기존에는 nest -g resource로 users 모듈을 만든 상태였다. 이렇게 하면 컨트롤러, 서비스, 모듈과 유저 생성과 업데이트를 위한 dto까지는 만들어진다. 이 상태에서도 엔티티를 만들어 테이블을 만들고 거기에 값을 넣는 방식을 테스트할 수 있다. 만약 그렇게 하려고 한다면 서비스 레이어에서 typeORM을 사용해서 데이터베이스와 통신해야 했을 것이다. 그러나 나는 서비스 레이어에서는 비즈니스 로직만을 처리하고 데이터베이스와의 통신 로직은 별도로 분리하고 싶었다. 따라서 이전에 경험했던 스프링 프로젝트에서 그러했던 것처럼 리포지토리 패턴을 적용하려고 하였다. 또한 추후 이 모듈을 템플릿으로 삼아 여러 기능을 개발하려는 계획을 가지고 있었으므로 유저 모듈을 먼저 쓸만하도록 만드는 것이 우선..
현재상황:auth관련 디렉토리를 만들고 dto, controller, service 파일을 생성했다. 현재는 dto 만 작성 완료한 상태이다. 서비스와 컨트롤러의 로직은 아직 작성하지 않았다. 난 그것들의 로직을 작성하기 전에 먼저 데이터베이스를 연결하고 테이블을 생성하고 싶었다. ORM으로는 typeorm을 사용해 보려고 했다. 본문 요약: DB 연결을 위한 설정postgreSQL과의 연결을 위한 TypeORM 패키지 설치디비 설정을 환경변수 파일(.env.local)에 적어주고 깃 이그노어 하기(이건 프로젝트 생성 시 기본적으로 돼 있을 것이다)설정을 위한 모듈 패키지(config) 설치하고 /src/에 config 디렉토리 생성/src/config디렉토리에 DB연결을 위한 설정파일(datab..