Delivery

Delivery

테스트코드의 MockMvc utf-8 성능측정

안녕하세요, 이번 글은 저희가 CommonResult라는 공통포멧을 만들어서 Response로 반환하여 사용하는데, CommonResult의 필드에는 int(상태코드), String(메시지), T(데이터) 이렇게 사용을 하기로 팀원이 제안을 하였습니다. 그래서 Response로 CommonResult를 하는데 문제점이 json을 반환하기때문에 테스트코드에서는 jsonPath을 통해서 값을 확인하는데 바로 한글이 깨지는 문제가 생겼습니다. 이러한 한글깨짐 문제를 해결하는 방법은 2가지였습니다. @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(wac) .addFilters(new CharacterEncodingFi..

Delivery

Mybatis ${}, #{} 차이

이글은 프로젝트에서 mybatis를 사용하는데 ${} 과 #{}차이점에 대해서 적었습니다 Statement와 Prepared Statement jdbc를사용할때 db connection에서 statement를 얻게되어서 이것을 통해 sql문을 실행시킨다 SQL문을 실행할 수 있는 객체 가장 큰 차이점은 캐시 사용 여부 SQL에서도 실행단계가있습니다. 1) 쿼리 문장 분석 2) 컴파일 3) 실행 📕Statement 쿼리문을 수행할 때마다 SQL 실행단계 1~3 단계를 거침 SQL 문을 수행하는 과정에서 매번 컴파일을 하기 때문에 성능상 이슈 발생 실행되는 SQL문을 확인 가능 📘Prepared Statement 컴파일이 미리 되어있기 때문에 Statement에 비해 좋은 성능 특수문자를 자동으로 파싱해주기..

Delivery

피드백 반영 리펙토링 후기

1. 주석처리된건 필요한게 아니라면 commit시에는 삭제하도록하자. 2. Rest ful한 설계를 위해서 signup은 예외적인줄 알았지만 users라는 Post요청으로는 회원가입말고는 없기때문에 POST : /users 로 수정 3. @AllArgsConstructor 모든 필드가 사용된다면 어노테이션을 통해 코드를 줄이자 리펙토링시에 잘 확인하자 추가적으로 롬복이 제공하는 어노테이션을 잘 확인하도록 하자 https://dingue.tistory.com/14 4. @NoArgsConstructor 를 왜 사용했는가? 사용하면서 json에서 이제 post요청시에 dto를 json에서 자바코드로 역직렬화 시에 오류가 생겨서 사용했습니다. 해결하는 방법이 우연히 Noargs가 습관적으로 사용해서 해결이되었..

Delivery

코드리팩토링 - (CheckStyle, AccessLevel, Builder, final)

빌더패턴 글을 쓰기위해 다른분들의 글을 읽으면서 AccessLevel 이라는 키워드를 발견하게되었고 이와 빌더와의 관계를 공부하며 또한 빌더패턴을 사용했지만 정확하게 사용한방법을 알아본 결과를 코드로 리펙토링하게되었습니다. 추가적으로 팀원과의 협업작업중이므로 Checkstyle도 다운받아서 고치게되었습니다. 체크스타일이란? 체크스타일은 코드를 작성할 때 일반적으로 지켜야 하는 코딩 표준을 잘 준수할 수 있도록 지원하는 유틸입니다. 대표적인 예로 카멜케이스 규칙을 들수 있습니다. 자바 코드를 작성할 때 변수명은 카멜케이스를 지키는 것을 원칙으로 하지만 실제로 이 규칙을 어겨도 컴파일 오류가 발생하지는 않습니다. 이 클립스와 같은 개발 툴에서 이 규칙을 잘 지키고 있는지 별도의 알림을 주지 않으며 이것을 확..

Delivery

Home-Delivery 개념 모델링

home-delivery 프로젝트를 시작하게되었다. 이전까지는 프로토타이핑과 기능정의를 했다. 개념모델링을하던중 고민사항을 글에 적었습니다. home-delivery는 배달클론코딩 프로젝트입니다. 그래서 많은 앱들을 관찰을 하였습니다. 그러던중 배달의민족앱은 장바구니에 담아야 주문을 할수있도록 기능이 설계되어있습니다. 장바구니 기능이 존재하는 다른 이커머스 앱이나 웹을보면은 장바구니에 담지않고 바로 구입을 가능하도록 설계되어있습니다. 그래서 고민이있었습니다. 장바구니를 관계를 두어야하는지 아니면 개체로 생각하고 모델링해야하는지 고민했습니다. 직접 관계로 생각하고 해보니 모델링이 관계와 관계끼리 연결이되는 문제가 생겼습니다. 그로그인해 장바구니를 하나의 개체로 생각하였고, 설계한결과 더 깔끔한 모델링이 되..

cwangg897
'Delivery' 카테고리의 글 목록 (2 Page)