본문 바로가기

bean6

객체 간 매핑을 위한 MapStruct 사용 방법 기존 프로젝트에서 Dto Entity를 매핑할 때 model mapper 라이브러리를 사용했었다. 편하게 사용할 수 있었지만 내부적으로 리플렉션을 이용하기 때문에, 성능 상 문제가 있다. 이번에는 많이들 추천하는 Map Struct를 사용해봤다. 적용하면서 자잘한 문제들이 있었는데, 내가 겪은 문제점들에 대한 해결 방법들을 정리해보겠다. https://mapstruct.org/documentation/dev/reference/html/ MapStruct 1.5.2.Final Reference Guide If set to true, MapStruct in which MapStruct logs its major decisions. Note, at the moment of writing in Maven, al.. 2022. 8. 29.
Spring Security [1] - JWT를 이용한 REST API 인증과 인가 기존 인증은 JWT를 이용한 필터로, 인가는 인터셉터로 애노테이션을 정의해 손수 구현했었다. 이번에 리팩터링을 하면서, 스프링이 제공하는 보안 관련 프레임워크인 서큐리티를 사용해보자는 결정을 내려 도입하게 되었다. 어렵다고는 얼핏 들었지만, 이렇게 오래 걸릴 줄 몰랐다. 여러 블로그들을 참조하고, 잘 읽히지도 않는 공식문서들을 보아도 도무지 이해가 가지 않았다. 일단 머릿속에 그려져야 감이 잡히는데, 이건 뭐 필터도 여러 개이며 구현체도 왜 이렇게 많은지 그에 맞는 책임과 역할이 도저히 감이 오지 않는다. 전부 추상화 되어 있어 커스텀해서 사용하기는 편하게 되었다는데, 전반적으로 모든 내용을 이해하기엔 쉽지 않기도 하고 따로 공부가 필요한 프레임워크라고 생각한다. 거진 1주 반이 넘어서야 내가 구현하고자.. 2022. 8. 18.
「컨트롤러 단위 테스트」 https://github.com/GroovyArea/MyChickenBreastShop GitHub - GroovyArea/MyChickenBreastShop: ChikenBreastShop API with Spring boot ChikenBreastShop API with Spring boot. Contribute to GroovyArea/MyChickenBreastShop development by creating an account on GitHub. github.com 저번 주에 처음으로 단위 테스트를 공부하고 적용시키며 Spring REST Docs를 이용해 적용시켰다. 처음 단위 테스트를 작성하다 보니 미흡한 부분이 좀 있었다. 그 부분을 수정해가며 다른 컨트롤러의 단위 테스트를 추가로 작성.. 2022. 6. 23.
2022.05.22 「Shopping Cart API [Ver.2]」 어제부터 장바구니 API 구현에 대해 고민을 정말 많이 했다. 당연히 DB를 이용하다 쿠키로 구현해보려는 시도가 처음이라 더 개념이 낯설었다. 추가 및 조회는 끝났는데, 오늘 아침 다시 보니 추가에서 이상한 로직이 있었고, 중복되는 코드가 있어서 수정을 하고 장바구니 수정 및 삭제 API를 작성해보았다. API를 설계하면서 문제점들과 확실히 알게 된 점을 정리해보겠다~ 장바구니 조회 장바구니를 조회한다는 것은 곧 장바구니에 들어있는 상품 목록의 데이터를 얻겠다는 것. 그 상품 목록의 객체를 설계했다. public class CartItemDTO { private final Integer productNo; private Integer productStock; private final String prod.. 2022. 5. 22.
2022.03.17의 기록 ▶ 오늘 계획 => 공부 관련 1) 수업 내용 복습 2) MVC 강의 결제 3) 스프링 강의 50% 달성 및 Spring AOC까지만 볼 수 있음 보기 ▶ 문제 정리 1. Validation 추상화 진행 시 에너테이션 작성 불가 ▶ 개인 공부 IoC 컨테이너 6부: Environment 1부. 프로파일 프로파일과 프로퍼티를 다루는 인터페이스. ApplicationContext extends EnvironmentCapable ● getEnvironment() 프로파일 ● 빈들의 그룹 ● Environment의 역할은 활성화할 프로파일 확인 및 설정 프로파일 유즈케이스 ● 테스트 환경에서는 A라는 빈을 사용하고, 배포 환경에서는 B라는 빈을 쓰고 싶다. ● 이 빈은 모니터링 용도니까 테스트할 때는 필요가 없.. 2022. 3. 17.
2022.03.07 의 기록 ▶ 하루 => 공부 관련 1) 스프링 개구리책 CH6 2) MVC 객체지향 리팩토링 3) 금일 배운 내용 복습 => 파이널 프로젝트 관련 1) DB 재확인 ▶ 개인 공부 5장 객체 지향 설계 5원칙 객체 지향 설계 5원칙 객체 지향의 개념과 4대 특성 좋은 도구을 알게됨. 좋은 도구가 있어도 올바르게 사용하는 방법을 알아야 좋은 요리가 나옴. 객체 지향 설계 (Object Oriented Design) 5원칙 SOLID (객체 지향을 올바르게 사용하는 방법) SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open Closed Princinple) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 I.. 2022. 3. 7.
반응형