프로젝트를 진행하다가 @Data의 위험성을 느껴 공부한 내용을 정리하고자 합니다. @Data 어노테이션이란❓@Data는 Lombok 라이브러리에서 제공하는 어노테이션으로, Java 클래스에 대해 다양한 메서드를 자동으로 생성해 주는 기능을 제공합니다. @Data 어노테이션을 사용하면, 다음과 같은 메서드들이 자동으로 생성됩니다.1. Getter 메서드클래스의 모든 필드에 대해 get 접두사가 붙은 메서드를 생성합니다.예를 들어, private String name;이라는 필드가 있으면, getName() 메서드가 생성됩니다.2. Setter 메서드클래스의 모든 필드에 대해 set 접두사가 붙은 메서드를 생성합니다.예를 들어, private String name;이라는 필드가 있으면, setName(Str..
객체를 객체를 생성하는 방법은 여러 가지가 있습니다. 각 방식은 특정 상황에서 유리하게 작용하며, 코드의 가독성, 유지보수성, 불변성 등에 영향을 미칩니다. 이번 포스팅에서는 자바에서 객체를 생성하는 주요 방식인 생성자, @Setter, 그리고 @Builder 패턴에 대해 알아보고, @Builder 어노테이션을 사용해야 하는 이유에 대해서 알아보고자 합니다. 생성자(Constructor) public class Person { private String name; private int age; private String email; // Constructor public Person(String name, int age, String email) { this.na..
이번 포스팅은 Redis 데이터 타입을 공부하고 지식을 정리하고자 쓴 글입니다. Redis는 메모리 기반의 데이터 저장소로, 뛰어난 성능과 유연성을 제공합니다. Redis의 가장 큰 장점 중 하나는 다양한 데이터 타입을 지원한다는 점입니다. Redis에서 대부분의 명령어는 키를 바탕으로 동작하며, 값의 데이터 타입에 따라 서로 다른 명령어를 사용합니다. 이로 인해 데이터를 보다 효율적으로 관리하고 사용할 수 있습니다. 인메모리 저장소와 Redis에 대한 자세한 내용은 다음 포스팅에서 확인 가능합니다.▼ [Redis] 인메모리 저장소와 redis란 무엇일까❓전통적으로 데이터는 관계형 데이터베이스(RDBMS) 시스템, 예를 들어 MySQL, MariaDB, Oracle과 같은 플랫폼을 통해 관리되었습니다...
이번 포스팅은 gitignore에 대해 공부한 지식을 정리하는 글입니다. MSA 프로젝트 아키텍처 MSA 과제를 시작했습니다. 프로젝트 아키텍처는 위 그림과 같으며, 현재 Gateway와 Product(19093, 19094)를 Eureka 서버에 연결한 상태입니다. Auth App을 연결하기 전에, 이전에 근무하던 회사의 사수가 'Commit은 수시로 하는 것이 아니라 의미 있는 단위로 해야 한다'라고 했던 말이 떠올랐습니다. 그래서 Auth App을 연결하기 전에, 현재까지 진행한 작업을 의미 있는 단위로 Commit을 했습니다. 현재 프로젝트 구조는 위와 같이 MSA_exam_1라는 폴더 아래에 형성되어 있습니다. 근데 auth App을 연결하고 Commit을 보니깐 폴더 형식이 아닌 각각의 파일을..