- 23.12.04) TIL2023-12-04 20:03:28이번 심화과제에서 지난번에 만든 프로젝트를 이용해서 테스트 코드를 만들었다. 1. 테스트 소프트웨어 개발 과정에서 코드의 정확성, 안정성, 및 기능을 확인하고 검증하기 위해 수행되는 활동을 말한다. 2. 단위 테스트(Unit Testing) 1) 대상: 소프트웨어의 가장 작은 단위인 함수, 메소드, 또는 모듈 등의 개별적인 부분을 테스트합니다. 2) 목적: 코드의 각 부분이 의도한 대로 동작하는지 확인하고, 변경사항이나 리팩토링으로 인해 예기치 않은 부작용이 없는지 확인합니다. 3) 장점 빠른 실행 속도: 단위 테스트는 작은 단위의 코드를 테스트하므로 실행 속도가 빠릅니다. 이는 개발자가 빠르게 피드백을 받아 수정할 수 있게 해줍니다. 코드의 안정성: 단위 테스트는 코드의 각 부분이 의도한 대로 동작하는..
- 23.12.01) TIL2023-12-01 21:00:03스프링 심화과제로 테스트 코드를 작성하게 되었다. 테스트 코드의 효용성은 알겠지만, 강의를 들어도 아직까지는 너무 복잡하게 보인다. 일단 오늘은 그나마 쉬운 엔터티와 dto쪽 테스트 코드를 만들었다. 기존에 만들었던 todo 프로젝트를 이용해서 진행했는데, 팀 프로젝트하면서 배운 걸 기반으로 코드를 전체적으로 수정한 뒤에 테스트 코드를 만들었다. 1. TodoEntity Test @ExtendWith(MockitoExtension.class) class TodoTest { @Test @DisplayName("Todo 엔터티 생성 - 성공") void createTodoEntity() { // Given TodoRequestDto todoRequestDto = new TodoRequestDto(); tod..
- 23.11.28) TIL2023-11-28 20:44:041. @Scheduled - 스프링에서 제공하는 어노테이션으로 주기적인 작업에 사용된다. - 예를 들면, 모바일 게임에서 12시가 되면 일일보상이 업데이트 되거나, 온라인 쇼핑몰에서 특정 기간부터 할인을 한다든가 하는 그러한 설정들이 가능하다. import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class MyScheduledTask { @Scheduled(fixedRate = 60000) // 1분마다 실행 public void myTask() { // 주기적으로 실행될 코드 } } - @Scheduled 어노테이션을 사용하기 위..
- 23.11.22) TIL - 뉴스피드 프로젝트 1일차2023-11-22 20:29:07사실 어제부터 시작했지만 일이 있어서 참가하지 못했고, 오늘부터 본격적으로 진행했다. 이번 프로젝트에서 내가 맡은 역할은 게시물과 관련된 API를 구현하는 것이다. 이번 프로젝트에서는 혼자 프로젝트를 만들 때와는 다르게 API와 도메인 크게 이렇게 2개의 패키지를 나누어 작업을 진행했다. 이렇게 분리하는 이유는 도메인에서는 DTO 값을 전달하지 않아 의존성을 최대한 줄이고, API에서만 DTO를 전달하는 방식을 사용하여 코드의 유지 보수성을 높일 수 있기 때문이다. 이로 인해 기존에 서비스가 레퍼지토리를 주입하고, 컨트롤러가 서비스를 주입했던 방식과는 다르게 도메인에 있는 레퍼지토리가 서비스에게 주입되고, 도메인에 있는 서비스가 API에 있는 서비스에게 주입되며, 마지막으로 해당 서비스가 컨트롤러에 주입..