전체 글
TestContainer
문제 인식 test환경을 구성하다 local환경에서 db를 MySql을 사용해서 embedded 라이브러리인 wix-embedded-mysql을 사용하려 했지만, 에러 코드를 발생 하기도 했고, 자체 깃헙에서 deprecated된 상태로 TestContainers를 사용하라 명시되어 있었습니다. 따라서 TestContainers를 간단하게 사용해봤던 내용에 대해 공유하고자 합니다 *사용해 보면서 추가적인 업데이트가 있을 예정입니다. TestContainer가 뭐야? TestContainer는 Docker 컨테이너를 사용하여 local 및 test의 의존성을 간편하게 설정하고, mock객체나 In Memory서비스 없이도 동일한 서비스에 의존하는 테스트를 만들 수 있다. WHY? 기본적으로 테스트는 환경,..
[디자인 패턴] - 컴포지트 패턴
컴포지트 패턴이란? 부분-전체 계층 구조로 되어있는 트리구조를 통해 개별 객체와 복합 객체를 똑같은 방법으로 다룰 수 있다. Why? 어떤 문제가 있길래? 다 알고 싶어! 개별 객체 (영수증)과 나머지 상자 내부에서도 어떤 것이 있는지 알고 싶고, 동일한 동작을 원할 때 위 그림을 예시로 해보겠습니다. 배달받은 상자에는 여러 세부 상자와 영수증이 들어있고, 세부 상자들은 또 다른 상자들로 이루어져 있습니다. 이럴 때 부속품들이 많을 때 각각의 객체와 공통된 상자 박스들도 동일한 결과를 얻고 싶다 가정해 보겠습니다. 상황 박스를 받았다! 버즈박스와 충전기 박스, 핸드폰, 모니터가 존재했다. 버즈 박스 : 크래들과 이어버드가 존재 충전기 박스 : 충전기 존재 핸드폰과 모니터 존재 여기서 각 부품들은 동일한 ..
[디자인 패턴] - 반복자 패턴
반복자 패턴이란? 여러 객체가 모여있는 컬렉션의 구현 방법을 노출시키지 않고 동일한 반복을 하게 한다! Why? 어떤 문제가 있길래? 컬렉션이든 배열이든 값에 접근하는 방식이 다르다. 아래와 같이 저녁메뉴와 아침메뉴에 대한 클래스가 있고 각각 다른 형식으로 객체들의 집합을 정의했습니다. public class DinerMenu { static final int MAX_ITEMS = 6; int numberOfItems = 0; MenuItem[] menuItems; public DinerMenu() { menuItems = new MenuItem[MAX_ITEMS]; addItem("저녁 A 세트", "저녁 세트 구성", false, 9.99); addItem("저녁 B 세트", "저녁 채식주의 구성",..