불여우 개발자

Spring AOP(Aspect Oriented Programming)

1. AOP란? AOP는 특정 관점에서 애플리케이션의 코드를 모듈화하는 방법으로, 컴퓨터 프로그래밍의 한 패러다임입니다. 이를 통해 코드의 중복을 줄이고, 각 모듈의 독립성을 높일 수 있습니다. 예를 들어, 로깅이나 트랜잭션 관리와 같은 공통적인 기능은 여러 클래스와 메소드에 걸쳐 사용될 수 있습니다. 이러한 기능을 Aspect로 정의하고 프로그램 ...

자바 스프링에서 사용자 정의 예외처리하기

스프링 부트에서는 @RestControllerAdvice와 같은 예외처리를 손쉽게 관리할 수 있는 다양한 도구를 제공합니다. 이 글에서는 사용자 정의 예외처리와 공통 포멧으로 표준적인 HTTP 응답을 동시에 관리하는 방법을 살펴보겠습니다. 공통 응답 포멧을 위한 Dto ComResultDto 이 클래스는 기본적인 응답의 형태를 정의합니다. 응답에...

팩토리 패턴

팩토리 패턴은 객체지향 디자인 패턴 중 하나로, 객체 생성 로직을 직접 사용하는 것보다 인터페이스나 추상 클래스를 통해 감싸서 객체 생성을 위임하는 패턴입니다. 이를 통해 코드는 구체적인 클래스가 아닌 인터페이스에 의존하게 되어, 확장성과 유지 보수성이 향상됩니다. 종류 Simple Factory: 단순히 객체를 생성하고 반환하는 클래스를 포...

싱글톤 패턴

싱글톤 패턴은 객체지향 프로그래밍 패턴 중 하나로, 클래스의 인스턴스가 하나만 생성되도록 보장하고, 그 인스턴스에 접근할 수 있는 전역적인 접근점을 제공합니다. 장점 메모리 효율: 인스턴스를 한 번만 생성하므로 메모리 사용을 최소화할 수 있습니다. 공유 리소스: 데이터베이스 연결이나 네트워크 소켓과 같은 공유 리소스에 대한 동일한 인스턴스...

Java serialVersionUID

serialVersionUID는 자바의 직렬화 프레임워크에서 중요한 역할을 합니다. 이 글에서는 이 필드의 의미, 사용 목적, 그리고 실제 사용 예시에 대해 알아보겠습니다. 직렬화란? 직렬화는 객체를 데이터 스트림으로 변환하는 과정을 말합니다. 이렇게 변환된 스트림은 파일에 저장하거나 네트워크를 통해 다른 곳으로 전송할 수 있습니다. 이후 역직렬화...