Lombok,Gradle,Jackson에 대하여
·
Spring
Java 개발자를 위한 Lombok, Gradle, Jackson 소개1. Lombok: 코드 간소화를 위한 강력한 어노테이션Lombok은 반복적인 코드 작성을 줄이기 위한 라이브러리입니다. 주로 @Getter, @Setter, @ToString, @EqualsAndHashCode 같은 어노테이션을 제공해 불필요한 코드 중복을 제거합니다.주요 어노테이션@Getter / @Setter: 필드의 getter, setter 메서드를 자동으로 생성@ToString: 객체의 필드를 포함한 toString 메서드 자동 생성@EqualsAndHashCode: equals 및 hashCode 메서드 자동 생성@Builder: 빌더 패턴을 자동으로 생성해 객체 생성 시 가독성을 높임@Data: 모든 메서드와 기본 생성자..
DIP란 무엇인가?
·
Spring
DIP는 Dependency Inversion Principle의 약자로, 객체 지향 설계 원칙 중 하나입니다. 이 원칙은 의존성 역전 원칙이라고도 하며, SOLID 원칙 중 마지막에 해당합니다. DIP의 핵심은 상위 모듈(추상화된 모듈)이 하위 모듈(구체화된 모듈)에 의존하지 않도록 하여, 모듈 간의 결합도를 낮추고 코드의 유연성을 높이는 것입니다.DIP의 기본 개념DIP는 다음 두 가지 규칙으로 정의됩니다:상위 모듈은 하위 모듈에 의존해서는 안 된다. 둘 다 추상화에 의존해야 한다.추상화는 구체적인 사항에 의존하지 않는다. 구체적인 사항이 추상화에 의존해야 한다.이 원칙에 따라 구체적인 구현이 아닌 추상화(인터페이스나 추상 클래스)에 의존하게 만들어야 합니다. 이렇게 하면, 구현을 바꾸더라도 상위 모..
JWT 토큰 방식에 대한 단점과 보완점
·
Spring
세션 방식 vs JWT 방식: 인증 시스템의 이해현대의 웹 애플리케이션에서는 사용자 인증을 위해 세션 방식과 JWT(JSON Web Token) 방식을 주로 사용합니다. 두 방식은 각기 다른 장단점을 가지고 있으며, 애플리케이션의 요구 사항에 따라 선택해야 합니다. 이번 포스트에서는 각 방식의 차이점, JWT의 단점 및 이를 보완하는 방법 중 하나인 "Refresh Token Rotation"에 대해 알아보겠습니다.1. 세션 방식(Session-Based Authentication)세션 방식은 서버에 사용자 정보를 저장하고 이를 바탕으로 인증을 유지하는 전통적인 방식입니다. 사용자가 로그인할 때 서버는 고유한 세션 ID를 생성하여 클라이언트에게 전달하고, 서버에 해당 세션 ID와 사용자 정보를 저장합니다..