인프런 워밍업 스터디 클럽 3기 백엔드 Day 18미션
·
인프런 워밍업 클럽 3기
❓ Mission 1✔ @Mock, @MockBean, @Spy, @SpyBean, @InjectMocks 의 차이를 한번 정리해 봅시다.1️⃣ @Mock특징Mockito의 가짜 객체를 생성하는데 사용한다.@ExtendWith(MockitoExtension.class)를 사용해서 테스트를 시작하기전에 @Mock을 감지한다.Spring Context와 무관하게 동작한다.2️⃣ @MockBean특징@SpringTest @WebMvcTest에 사용한다.스프링빈을 Mock 객체로 대체한다.실제로 사용할 빈은 @AutoWired를 사용하고 @AutoWired가 동작할때 Mock객체를 사용할수 있게 한다.3️⃣ @InjectMocks특징@Mock 또는 @Spy어노테이션이 붙혀진 객체들을 주입 해준다.4️⃣ @Spy..
ㅣ[Java] 프로그래머스 Lv.1 과일장수
·
스터디
| 📢 문제 설명과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다.한 상자에 사과를 m개씩 담아 포장합니다.상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다.과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다)예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만들어 판매하여 최대 ..
ㅣ[Java] 프로그래머스 Lv.1 가장 가까운 같은 글
·
스터디
| 📢 문제 설명문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다.b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다.n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다.a는 자신보다 두 칸, 네 칸 앞에 a가 있습니다..
인프런 워밍업 스터디 클럽 3기 백엔드 Day 16미션
·
인프런 워밍업 클럽 3기
❓ Mission✔ Layered Architecture 구조의 레이어별 테스트 작성법을 알아보았습니다.레이어별로 ✔️ 1) 어떤 특징이 있고, ✔️ 2) 어떻게 테스트를 하면 좋을지, 자기만의 언어로 다시 한번 정리해 볼까요?1️⃣ Presentation Layer특징외부 세계의 요청을 가장 먼저 받는 계층컨트롤러를 통하여 요청 데이터를 검증(@Valid)하고 Business Layer 전달테스트 방법@MockMvc를 활용하여 테스트2️⃣ Business Layer특징비즈니스 로직을 처리하는 역할서비스 계층에서 데이터 가공 및 트랜잭션 관리테스트 방법@SpringBootTest를 활용하여 테스트@ExtendWith(MockitoExtension.class)를 활용하여 테스트3️⃣ Persistence ..
ㅣ[Java] 프로그래머스 Lv.1 삼총사
·
스터디
| 📢 문제 설명한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다.한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완..
인프런 워밍업 스터디 클럽 3기 백엔드 Day 4 미션
·
인프런 워밍업 클럽 3기
❓ Mission 1.코드와 설명을 보고, [섹션 3. 논리 의 사고 흐름]에서 이야기 하는 내용을 중심으로 읽기좋은 코드로 리팩토링 해보기✔️ 사용자가 생성한 '주문'이 유효한지를 검증하는 메서드. ✔️ Order는 주문 객체이고, 필요하다면 Order에 추가적인 메서드를 만들어도 된다. (Order 내부의 구현을 구체적으로 할 필요는 없다.) ✔️ 필요하다면 메서드를 추출할 수 있다.public boolean validateOrder(Order order) { if (order.getItems().size() == 0) { log.info("주문 항목이 없습니다."); return false; } else { if (order.getTotalPrice(..