TIL

TIL

Today's Dev Notes(2018-12-13)

안녕하세요, Brad입니다. 오늘 수업 중에 들었던 내용들을 간략하게 정리해볼게요. Q&A Mock Test Service Layer는 비즈니스 로직을 구현하는 곳이 아닙니다. 객체들의 연결을 담당할 뿐입니다. Domain 상태값을 조절하는 부분은 Domain으로 메시지를 보내서 조절해야합니다. 그래서 Service Layer는 Thin(얇은) Layer로 되어야 한다고 하는 것입니다. Service Layer가 테스트하기 힘들었던 이유는 Repository에 데이터가 있어야하기 때문입니다. 그래서 등장한 것이 Mock Test입니다. Mock Test는 데이터베이스에 의존하지 않도록 도와줍니다. 테스트의 중요도 Domain Test가 가장 중요합니다 가장 큰 이유 중 하나는 테스트하기 쉽기 때문입니다...

TIL

Today's Dev Notes(2018-12-12)

안녕하세요, Brad입니다. 오늘은 몇 가지 질문을 해결하기 위해 시간을 좀 투자해봤는데요. 영속성에 대한 알아보려다가 그 덧에 빠지는 바람에 다른 질문들도 해결하지 못했네요. 그래도 질문이라도 정리해볼게요! @Transactional 사용시 왜 Repository에서 save를 할 필요성이 없나요? 영속성이 무엇일까요? '자동변경감지'랑 관련이 있을까요? EntityManager 가 Persistance Context를 관리하는 인터페이스이군요!! 여기엔 관리를 위한 persist, merge, remove 등 다양한 메서드가 정의되어 있습니다. test에서 테스트 데이터들을 어떻게 정리하여 보관하는 것이 좋을까요? Question 의 답변List에서 @Where(clause = "del..

TIL

Today's Dev Notes(2018-12-11)

안녕하세요, Brad입니다. 오늘은 qna-atdd 미션을 진행하다보니 시간이 정말 금방갔네요. 브라우저를 띄우지 않고 테스트를 할 수 있다는 점에서 정말 편리했습니다. 실제로 많은 테스트를 하고 띄워보니 제가 기대했던 바대로 잘 작동이 되어서 신기하기도 했구요. 그렇지만 아직 익숙하지 않아서 시간이 좀 많이 걸렸습니다. 테스트가 익숙해지고 세련되게 구현할 수 있도록 좀 더 노력해야겠습니다! 그럼 오늘도 ATDD를 진행하면서 배웠던 내용들을 간략하게 정리해볼게요. HttpStatus.FOUND`는 어느 상황에 서버로부터 전달이 되는 것일까요? HttpStatus.FOUND 는 302코드로 redirect시 전달되는 상태값입니다. 앞서 다루었는데 FOUND 가 302라는 것을 몰랐네요!! Question은..

TIL

Today's Dev Notes2(2018-12-10)

Today's Dev Notes2(2018-12-10) qna-atdd 프로젝트 코드 이해하기 HandlerMethodArgumentResolver resolve 1.해결하다 2.결의하다 3.대책을 마련하다 우선 resolve의 뜻을 찾아봤는데요. 뭔가를 해결해주는 느낌, 어떤 것들을 처리해주는 느낌이 있네요. Spring Document를 살펴보면 다음과 같은 정의를 찾을 수 있었습니다. Strategy interface for resolving method parameters into argument values in the context of a given request. 출처 : https://docs.spring.io/spring/docs/current/javadoc-api/org/springf..

TIL

Today's Dev Notes(2018-12-10)

Today's Dev Notes(2018-12-10) Q & A ATDD와 TDD의 순서 ATDD는 학습 비용이 높기 때문에 TDD를 공부하고 ATDD를 공부하는 것이 좋습니다. 실제 현업에서는 AcctanceTest를 먼저 만들어 서버와 클라이언트간 제대로 통신하는지 확인하고, 이후 그 안의 로직을 TDD 기반으로 개발을 한다고 합니다. 즉, ATDD먼저하고 TDD를 이후에 하는 것입니다(Out-In 방식) 주니어 개발자로써 ATDD까지는 기대안하지만 TDD와 Refactoring은 필수라고 합니다. ATDD가 익숙해지면 브라우저를 띄우지 않고 구현이 가능합니다! HTTP status 301와 302의 차이 브라우저는 Status Code를 기반으로 먼저 상태를 확인하고, 이후에 Body를 불러옵니다...

TIL

Today's Dev Notes(2018-12-09)

Today's Dev Notes(2018-12-09) 안녕하세요, Brad입니다. 오늘도 qna-atdd step1 미션을 진행하면서 공부한 내용을 정리해볼게요! 이 코드는 무엇을 의미하는 것일까요? User user = new User("sanjigi", "password", "name", "javajigi@slipp.net"); when(userRepository.findByUserId(user.getUserId())).thenReturn(Optional.of(user)); 분명 userRepository에 위와 같은 user가 없거든요. 그런데 어떻게 Repository에서 찾아서 테스트가 성공할 수 있었을까요? 이 when을 따라가보니 Mockito.java라는 클래스가 나타나네요. 모기랑 같은 ..

Brad Lee
'TIL' 카테고리의 글 목록 (7 Page)