💻 프로젝트

    [HongEat] 리팩토링 - Enum/toEntity(@JsonCreator, @EnumValid)

    @JsonCreater 가게의 카테고리를 Enum을 사용하여 표현해 주었다. @Getter @AllArgsConstructor public enum Category { RESTAURANT("음식점"), CAFE("카페"), BAKERY("베이커리"), PUB("주점"), BAR("바"), ETC("기타"); private String viewName; } 모든 가게의 정보가 이미 데이터베이스에 들어있거나 enum값(CAFE)을 이용하여 가게를 추가하는 게 아니라 요청 시 viewName을 사용하기 위해선 enum값을 맵핑해줘야 한다. @Getter @NoArgsConstructor public class PostStoreDto { ... @ApiModelProperty(value = "가게 종류", ex..

    [HongEat] 리팩토링 - 변경사항

    데이터베이스 변경 PostgreSQL → MySQL으로 변경했다. PostgreSQL의 대표적인 장점은 다음과 같다. 복잡한 쿼리에 탁월 NoSQL 및 다양한 형식(JSON, hstore, XML 등) 지원 다중 버전 동시성 제어 해당 프로젝트에서는 이러한 장점을 하나도 써먹지 못하고 있었다. 복잡한 쿼리가 아닌 JPA로 해결했고, 다른 형식을 저장하지도 않으며, 동시성 제어를 고민할 필요가 없었던 것이다. 단순히 '써보고 싶다'를 넘어 해당 기술을 쓰는 이유가 있어야 한다고 생각해서 바꾸게 되었다. 설치와 관리가 비교적 쉽고, 빠르고, 안정적이며 간단한 데이터베이스인 MySQL으로 변경하게 되었다. 상세정보: MySQL vs PostgresSQL Entity 수정 1. 필요 없는 어노테이션 제거 //빌..

    [HongEat] 리팩토링, 어떻게 진행했는가

    리팩토링 과정을 간략하게 여기에 적어보고 자세한 사항은 추후 포스팅에서 다루겠다. 변경사항 데이터베이스 변경 서비스 Entity 구성 변경 Dto 분할, toDto 로직 생성 Enum 관련 로직 변경 toEntity 로직, validate 어노테이션 및 에러 처리 toJson Enum value 전달