KhsFirefox
취소

Spring AOP(Aspect Oriented Programming)

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

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

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

RestDocs + Swagger UI로 API 문서화하기

이 포스트는 Spring RestDocs를 사용하여 프로젝트의 API 문서화를 진행하는 방법에 대해 설명합니다. 여러 API 문서화 도구 중에서도 Spring RestDocs는 그 자체의 강점을 가지고 있습니다. 하지만, 초기 설정이 복잡하고 UI가 미흡한 단점이 있습니다. 이러한 단점을 극복하고자 이 포스트에서는 RestDocs를 restdocs-a...

AWS Media Lab 세미나 후기

세미나 후 만들어본 프로그램: StreamSnatcher Python 3.9 GUI:PyQt5 서론 실습 소개 페이지 워크샵 실습 페이지 이 글에서는 이번에 다녀온 AWS Media Lab 세미나에 대한 기록을 남겨볼까 합니다. 세미나 후기글이라 일기에 가깝겠지만요. 😂 클라우드 플랫...

Spring Security에서 CORS 설정하기

Spring Boot와 Spring Security를 사용하여 CORS (Cross-Origin Resource Sharing)를 설정하는 방법을 알아보겠습니다. 목차 CORS란? Spring Security와 CORS CORS 설정 방법 1. CORS란? CORS는 Cross-Origin Resource Sharing의 약자입니...

SOLID : 객체 지향 프로그래밍 5대 원칙

SOLID 원칙이란? 객체 지향 프로그래밍(OOP)에서는 코드의 유지 보수성, 재사용성, 그리고 확장성을 향상시키기 위한 핵심 원칙들이 있습니다. SOLID는 이 원칙들을 나타내는 약어로써, 아래와 같이 5가지 원칙을 포함하고 있습니다. 1. S - Single Responsibility Principle (SRP) 클래스는 단 하나의 책임만을 ...

팩토리 패턴

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

싱글톤 패턴

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

JVM 튜닝

JVM 튜닝은 애플리케이션의 성능을 최적화하는 중요한 단계입니다. 애플리케이션의 실행 속도를 높이고, 메모리 사용을 최적화하며, 가비지 컬렉션의 효율성을 높이기 위해 다양한 옵션들을 조절할 수 있습니다. 이 글은 꾸준히 업데이트할 예정입니다. 😆 글 수정 내역 날짜 내용 ...

Java serialVersionUID

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