> Backend
-
TIL-2024.05.09 - Spring - 000. Spring> Backend/Spring 2024. 5. 10. 07:02
질문1. Spring 기초에 대해 알려줘2. Spring 핵심 개념 Spring1. Spring 프레임 워크란? - Spring은 엔터프라이즈 애플리케이션 개발을 위한 종합적인 프레임워크- Spring의 주요 목표는 개발자가 보다 쉽게 자바 애플리케이션을 개발하고, 유지보수하며, 배포할 수 있도록 돕는 것2. 핵심 개념- IOC (Inversion of Control - 제어의 역전)객체의 생성과 관리를 개발자가 아닌 프레임워크가 담당하는 것을 의미합니다. 이는 애플리케이션의 유연성과 확장성을 높이는 데 도움을 줘, Spring에서 IoC는 주로 Dependency Injection (DI)를 통해 구현의존성 주입(Dependency Injection)**은 객체가 자신이 의존하는 객체를 직접 생성하는 ..
-
230105목_공부일지> Backend/NestJS 2023. 1. 5. 17:36
1. 파이프와 유효성 검사: 요청이 제대로 전달되었는가 (p 113~) => 정의: 요청이 라우터 핸들러로 전달되기 전에 요청 객체를 변환할 수 있는 기회를 제공 => 미들웨어와 유사하나, 미들웨어는 app의 모든 컨텍스트에서 사용하도록 할 수 없음. => 목적: 변환(입력 데이터를 원하는 형시으로 변환) && 유효성 검사 (입력 데이터가 사용자가 정한 기준에 유효하지 않은 경우 예외) => 사용방법: @Param decorator의 두번째 인수로 파이프를 넘겨 현재 실행 콘텍스트 (ExecutionContext에 바인딩) findOne(@Param('id', new ParseIntPipe({errorHttpStatusCode: HttpStatus.NOT_ACCEPTABLE})) id: ..
-
230102월_공부일지> Backend/NestJS 2023. 1. 2. 09:21
1. NestJS에서 제공하는 Config 패키지 => 이전까지는 dotenv패키지를 직접 사용했는데, 이젠, nestJS에서 제공되는 패키지를 사용할 예정 => cmd: npm i --save @nestjs/config => //dotenvimport {ConfigModule} from "@nestjs/config";import emailConfig from "./config/emailConfig";import { validationSchema } from './config/validationSchema';@Module({ // Nest에서 제공되는 Config 패키지 // forRoot 매서드는 Dynamic Module을 리턴하는 정적 메서드 imports: [Users..
-
20221229목_공부일지> Backend/NestJS 2022. 12. 30. 08:06
1. 모듈 : 여러 컴포넌트를 조합해 좀 더 큰 작업을 수행할 수 있게 하는 단위. -> NestJS에서는 하나의 루트 모듈이 존재하고, 이 루트 모듈(AppModule)를 다른 모듈로 쪼개서 구성 -> 이유: 각기 맡은 바 책임을 나누고 응집도를 높임 => MSA -> @Module Decorator 사용 -> params 설명: imports : 해당 모듈에서 사용하기 위한 provider를 가지고 있는 다른 모듈 가져옴 , -> params 설명: exports : 해당 모듈을 어디에서나 가져다 쓸수 있게 선언 2. 전역 모듈 (Static Module): 공통 기능이나 DB 연결과 같은 전역으로 쓸수 있어야 할 경우 전역 모듈로 선언 -> @Global decorat..
-
221228수_공부일지> Backend/NestJS 2022. 12. 29. 02:06
1) 금일 진행 내용 1.이메일 인증// Description:: 이메일 인증// CMD:: curl -X POST http://localhost:3000/users/email-verify -H "Content-Type: application/json" -d '{"name": "name_example", "email":"email@example.com","password":"1234"}'@Post('/email-verify')async verifyEmail(@Query() dto: VerifyEmailDto): Promise{ const { signupVerifyToken } = dto; console.log('dto check:: ', JSON.stringify(dto)) return aw..
-
20221227화_공부 일지> Backend/NestJS 2022. 12. 28. 02:53
1. 유저 서비스 인터페이스 1) 기존에 생성되어 있던 create-user-dto에 생성과 관련된 dto 정의export class CreateUserDto { readonly name: string; readonly email: string; readonly password: string;}2)curl -X POST http://localhost:3000/users -H "Content-Type: application/json" -d '{"name": "name_example", "email":"email@example.com","password":"1234"}'유저를 생성했습니다. {"name":"name_example","email":"email@example.com","p..
-
20221222Thu_공부 일지> Backend/NestJS 2022. 12. 23. 02:21
1. Controller: 들어오는 요청을 받고, 처리된 결과를 응답으로 돌려주는 인터페이스 역할을 한다. 2. Header: => @Header decorator를 사용하여 커스텀 헤더 추가할 수 있다. //커스텀 Header: @Header데커레이터를 사용 (혹은, res.header()로 직접 설정 가능)@Header('key', "value")@Get('header/:id')findOne_Header(@Param('id') id: string) { if(+id 3. Redirection: => 종종 서버가 요청을 처리한 후, 요청을 보낸 클라이언트를 다른 페이지로 이동하고 싶을 경우, redirection 사용. => @Redirection decorator의 첫번째 인수는 ..
-
20221221Wed_공부 일지> Backend/NestJS 2022. 12. 22. 00:50
1. Decorator -> 다섯가지 종류: Method / Accessor / Property / Class / Param (pg.35~42) 2. Controller -> 정의: 들어오는 request를 받고, 처리된 response를 돌려주는 인터페이스 역할. -> 진행 방법: nest new project-name --skip-git => nest g resource name @Get('/hello')// 경로중에 / 는 생략할 수 있다.getHello(): string { return this.appService.getHello();} //와일드카드: 아래와 같이 와일드 카드를 사용해서 라우팅 패스를 작성할 수 있다.@Get('/ho*')getHello2(): string { re..