inflearn logo
강의

Course

Instructor

Introduction to Elasticsearch for Real-World Use (Search Optimization Edition)

[Practice] Defining Documents to Match Indexes in Spring Boot

60강 ProductDoument 코드 관련 질문 있습니다!

Resolved

65

ddunddun

1 asked

0

안녕하세요, 강사님!

바쁘신 와중에 질문드려 죄송합니다...

단순한 질문 같지만 ProductDocument 코드에 대해 궁금한 것이 있어 질문드립니다.

Elasticsearch 관련 Document 코드에 @AllArgsConstructor@Data같은 롬복(lombok) 애노테이션을 사용해도 문제가 없을까요...?

추가로 실제 실무에서 Document에 롬복을 사용하는지 강사님 코드대로 직접 생성자, getter & setter를 작성하는지 알고 싶습니다!

spring-boot elasticsearch devops elk infrastructure

Answer 2

1

jscode

안녕하세요! 질문 잘 해주셨어요 ! 전혀 죄송하지 않으셔도 되요 :)

질문해주신 내용에 답변 드려볼게요~~

 

"롬복(lombok) 애노테이션을 사용해도 문제가 없을까요…?"

-> 네! 롬복 애노테이션을 사용해도 전혀 문제없어요 !

 

"실제 실무에서 Document에 롬복을 사용하는지 강사님 코드대로 직접 생성자,
getter & setter를 작성하는지 알고 싶습니다!"

-> 실무에서는 대부분 롬복을 사용해요 ! 코드가 훨씬 간결해지고 유지보수가 편해지기 때문이죠 !

강의에서는 조금 더 직관적으로 눈으로 코드를 확인할 수 있게

일부러 롬복을 쓰지 않고 코드를 작성했습니다:)

 

추가로 더 궁금하신 점이나 다른 질문 있으시면 편하게 질문 남겨주세요~

1

ddunddun

넵! 덕분에 궁금했던 내용이 해결되었습니다.

감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 뚠뚠맨님.

ProductDocument 코드에서 Lombok 애노테이션을 사용하는 것에 대한 궁금증이 있으시군요. 좋은 질문 감사합니다.

Lombok 애노테이션 사용

  1. @AllArgsConstructor 및 @Data 사용:

    • @AllArgsConstructor: 모든 필드를 인자로 받아 초기화하는 생성자를 자동으로 생성합니다. 객체 생성이 편리해지는 장점이 있지만, 모든 필드를 포함하므로 객체의 불변성을 제대로 관리하고자 할 때는 주의가 필요할 수 있습니다.
    • @Data: 대부분의 Getter, Setter, toString 등의 메서드를 자동으로 만듭니다. 개발 생산성을 높여주지만, 데이터 클래스의 내부 구조가 변경될 때 예상치 못한 효과가 있을 수 있으므로 주의가 필요합니다.
  2. 실무 사용 사례:

    • 실무에서는 상황에 따라 다릅니다. Lombok을 사용하여 코드를 간결하게 만드는 경우도 많지만, 코드 유지보수 측면에서 모든 메서드와 생성자를 명시적으로 작성하는 것이 선호되기도 합니다. 명시적으로 작성하면 코드의 직관성이 높아져, 협업 시 이해하기 쉬운 장점이 있습니다.
    • 도메인 모델: 보통 중요한 비즈니스 로직을 포함하는 도메인 모델에는 Lombok보다는 명시적인 코드를 작성하여 관리하는 편입니다. 하지만 단순한 데이터 전송 객체(DTO) 등에서는 Lombok의 사용이 일반적입니다.

추천: 장점과 단점을 고려하여, 팀의 코드 작성 및 유지보수 정책에 따라서 결정하시면 됩니다. 초기에 Lombok을 사용하고 필요에 따라 명시적으로 수정해 나가는 방식도 가능합니다.

추가 정보를 원하시거나 유사한 사례를 확인하고자 하신다면 다음 링크를 참조해 주세요:
- Lombok 사용의 장단점과 주의사항

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

멀티 필드 실무 질문드립니다.

0

43

1

페이지네이션 질문드립니다.

0

41

3

insert , upsert 질문드립니다.

0

46

2

안녕하세요 질문 있습니다.

0

85

2

검색어 애널라이저 질문

0

77

2

스프링부트에 엘라스틱서치 연결하기

0

124

2

analyser를 인덱스 삭제후에 설정하던데 인덱스 생성후에도 analyser 수정이 가능한가요?

0

68

2

정말 사소한 질문이지만 ... 궁금해서 물어봅니다.

0

97

1

도큐먼트 upsert API 관련 강의 자료 오류 제보 드립니다.

0

81

2

안녕하세요 선생님 '실전에서 바로 써먹는 Kafka 입문' 강의 질문 있습니다.

0

114

1

spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.

0

82

2

58 강에서 동의어처리가 안 됩니다

0

143

4

opensearch nori 플러그인 지원

0

307

2

스프링부트에서 엘라스틱 인덱스 설정(동의어 필터 적용 에러)

0

160

2

docker compose.yml 주석 중에 이해 안되는 부분이 있어요

0

102

1

Elastic Cloud 에서 "Logs and metrics" 기능 관련 질문 있습니다.

0

108

1

must_not 쿼리는 term 쿼리만 사용 가능한가요 ?

0

102

2

nori 관련 질문드립니다.

0

79

2

(질문아님)Windows에서 Elasticsearch 하는 법

0

114

2

안녕하세요 선생님 Elastic Cloud 비용 관련해서 질문 드립니다.

0

246

2

Elasticsearch 설치하기 강의에서 질문 있습니다.

0

205

2

강의 질문입니다.

0

99

1

Elasticsearch 지난 2021년 1월 Elastic 은 소프트웨어 라이선스 전력 변경 - 관련 질문

0

60

1

[보충 강의] 비용 나가지 않게 Elastic Cloud 리소스 정리하기 - 영상 누락

0

84

2