Spring Boot(4)
-
Nest.js 공부하기 (2)
Custom Pipe 만들기커스텀 파이프를 만들기 위해서는 PipeTransForm을 반드시 implements 해야 하고 transform 메서드를 오버라이드 해서 구현해야 한다.자바를 사용한 개발자라면 익숙한 방식 일 것 같다.import { ArgumentMetadata, PipeTransform } from '@nestjs/common';export class BoardStatusValidationPipe implements PipeTransform { transform(value: any, metadata: ArgumentMetadata) { throw new Error('Method not implemented.'); }}기본적으로 PipeTransform을 implem..
2024.11.27 -
Nest.js 공부하기 (1)
Nest.js란위 이미지는 구글 트렌드에서 나오는 Nest.js의 최근 5년간의 관심 변화량이다.Nest.js는 Node.js의 서버 애플리케이션 프레임워크로, TypeScript를 기본적으로 사용하고, 모듈러 아키텍처와 의존성 주입(DI)을 통해 유지보수성과 확장성이 높은 애플리케이션을 만들 수 있도록 설계되었고Angular에서 영감을 받아 비슷한 구조와 패턴을 따른다고 한다.Node로 백엔드 개발을 할 때 많은 선택을 받았다는 것을 알고 있었고 사용 해보고 있다.Angular에서 많은 철학적 영향을 받았다고 하는데 나는 Nest.js를 전혀 모르는 상태에서 코드를 보았을 때 Spring boot와 유사한 느낌을 많이 받았다.Javascript는 너무 자유롭고 Standard를 찾기 어렵다는 생각이 많..
2024.11.04 -
SpringBoot + Next.js 프로젝트 회고
이 글에서는 전 회사에서 Next.js + SpringBoot + JPA 로 진행하는 프로젝트를 개발해 가면서 몰랐던 새로 알게되는 전반적인 내용들을 기록하려 한다. 회사에서 진행하는 프로젝트이다 보니 예제코드는 example로 변경해서 기록되어 있기에 정확하지 않을 수 있다. 잘못된 설명이나 오타에 대한 피드백 감사합니다. 쿠키 발급이 안되는 문제 시나리오 기존에는 accessToken과 refreshToken을 localStorage에 보관했었다. 알고보니 token을 localStorage 같은 곳에 보관하면 확장프로그램이나 기타 XSS공격과 같은 심각한 보안문제가 발생한다고 한다. 결과적으로 refreshToken은 HTTP 세션에 보관하고 accessToken은 redux 같은 메모리에만 보관하..
2024.01.11 -
스프링 AOP 공부하기
스프링 AOP란? AOP ( Aspect-oriented-programming )은 OOP를 보완하는 수단이며 대칭하는 개념이 아니다, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법 위 그림을 살펴보자 각 클래스에 비슷한 기능을 하는 요소들을 Aspect로 묶어서 어디에서 동작해야하는지를 표기해주는 것이다. AOP 용어 AOP를 공부하다보면 용어때문에 헷갈리는 경우가 많다, 모든 AOP용어를 완벽하게 이해해야 하지는 않다. 큰 흐름과 의미만 알고있으면 된다. Aspect : 묶인, 모여있는 모듈화 되어있는 기능이다. Advice: 해야할 일들, 기능이다. Pointcut: 어디에 적용해야 하는지의 정보, 예를들어 클래스A에 register 라는 메서드를 호출할 때 에만 특정 어드바이스를 적용하..
2023.11.28