공부 기록/내배캠Java_5기

[내배캠][TIL] 43일 차 - 화요일, 팀원과 자주 대화하기

노루동산 2024. 6. 18. 22:59
반응형

 

 

⏱️ 오늘의 일정 ⏱️

9:00 ~ 10:00 - 알고리즘 코드 카타
10:00 ~ 11:00 - 팀 회의
11:00 ~ 12:00 - 개인 공부 (도커)

12:00 ~ 13:00 - 점심시간
13:00 ~ 15:00 - 개인 공부 (도커)
15:00 ~ 17:00 - 개인 공부 (modelMapper)
17:00 ~ 18:00 - 팀 회의

18:00 ~ 19:00 - 저녁 시간
19:00 ~ 21:00 - 팀 회의
21:00 ~ 22:00 - TIL 작성

 

 

 

도커 알고 쓰자

나는 이전 팀에서 도커를 사용해 봤지만 솔직히 잘 알고 사용하는 건 아니었다.

그런데 이번 팀에서 도입을 하려니 내가 설명해야 하는 상황에 놓여 좀 공부를 했다.

https://www.youtube.com/watch?v=eRfHp16qJq8

 

이 영상이 이해가 제일 잘 됐다!

 

도커란 서버 하나에 컨테이너라는 가상 환경을 올려서 서버가 여러 개 인 것처럼 사용하는 것.

그리고 이 컨테이너들은 전부 분리되어 있기 때문에 다른 서버의 환경에 영향을 받지 않는 것.

이 정도로 이해하였다.

 

그리고 도커 커맨드를 직접 사용하지 않아도 작성한 yml 파일을 읽어 대신 실행 해주는 도커 컴포즈.

솔직히 도커에 대해 아직 자세히는 모르겠지만 지금 쓰고 있는 게 무엇인지 정도는 알게 된 것 같다.

 

 

modelMapper

entity를 dto로, dto를 entity로 변환할 때 mapper 클래스를 만들거나 dto, entity 내에 메서드, 생성자를 파곤 한다.

근데 modelMapper라는 라이브러리를 사용하면 이 변환 작업에 필요한 부가 기능을 만들지 않아도 된다.

 

아직 실제 적용은 해보지 않았지만 사용 방법을 조금 정리했다.

 

https://modelmapper.org/

 

ModelMapper - Simple, Intelligent, Object Mapping.

Why ModelMapper? The goal of ModelMapper is to make object mapping easy, by automatically determining how one object model maps to another, based on conventions, in the same way that a human would - while providing a simple, refactoring-safe API for handli

modelmapper.org

 

의존성 추가

implementation 'org.modelmapper:modelmapper:3.1.0'

 

config (bean 등록)

@Configuration
public class ModelMapperConfig {
    @Bean
    public ModelMapper modelMapper(){
        return new ModelMapper();
    }
}

 

사용 방법

Dto dto = mapper.map(entity, Entity.class);

 

이렇게 매핑하고 싶은 클래스의 객체에 현재 클래스의 객체와 클래스 정보를 넣어준다.

modelMapper는 정확히 말하면 서로 다른 두 클래스를 매핑해 주는 것이기 때문에 dto에서 entity든 entity에서 dto든 변환이 가능하다.

 

매핑을 하기 위해서는 두 클래스에서 매핑 시킬 필드 이름을 동일하게 설정해줘야 한다.

 

TypeMap 변환 이라는 것도 있고...

근데 이제 정확한 것은 직접 적용을 해보고 정리해야겠다.

반응형