일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데비안
- 페이징
- 서버설정
- 네트워크 설정
- 자료구조와함께배우는알고리즘입문
- resttemplate
- 자바편
- 스프링 시큐리티
- 선형대수
- 코드로배우는스프링웹프로젝트
- /etc/network/interfaces
- 목록처리
- 코드로배우는스프링부트웹프로젝트
- 처음 만나는 AI 수학 with Python
- ㅒ
- d
- Kernighan의 C언어 프로그래밍
- network configuration
- 알파회계
- 티스토리 쿠키 삭제
- 친절한SQL튜닝
- 처음 만나는 AI수학 with Python
- 구멍가게코딩단
- 스프링부트핵심가이드
- iterator
- baeldung
- 이터레이터
- GIT
- 자료구조와 함께 배우는 알고리즘 입문
- 리눅스
- Today
- Total
목록Framework (105)
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';..
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..
1. CRUD 제너레이터로 CRUD 파일 생성아래 방법을 사용하는 이유는 공식적으로 권장하는 방식을 이해하고 이를 참고하여 auth 기능을 만들어 내기 위함이다.굳이 참고할 필요 없으면 바로 2번 auth기능 구현으로 건너 뛰어도 된다. https://docs.nestjs.com/recipes/crud-generator Documentation | NestJS - A progressive Node.js frameworkNest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines eleme..
1. 들어가며프론트 앱에서 접근할 api 서버가 필요했다. 스프링 부트로 만든 앱이 있지만 이번에는 사용하지 않기로 했다.nestjs를 사용해보기로 했다. JS/TS 언어 자체와 그 쓰임에 대해 좀 더 깊게 공부하고 활용해보기 위해서다. 공식 문서를 읽어보니 스프링과 유사하면서도 일면 다르다. nestjs도 스프링처럼 MVC를 사용한다. 스프링에서 애노테이션을 사용하는 것처럼 nestjs에서는 데코레이터를 사용한다. 그리고 무엇보다도 의존성 주입을 사용한다. 생각보다 다른 점도 꽤 있다. 스프링에서는 빌드 시 자동적으로 컴포넌트(@Component)를 인식하고 추가하는 데 반해, nestjs에서는 모듈에 명시적으로 등록을 해줘야만 인식한다. 애노테이션과 데코레이터도 미묘하게 다르다. @Controll..