Websocket
WebSocket 관련 글 Websocket 👈🏻 Websocket + 부가기능 Websocket (채팅 기록 json 파일 저장하기) Sse Websocket + jwt Websocket test Jmh - 채팅 파일 refactoring 기존에 작성했던 WebSocket 그동안 채팅 기능을 구현하기 위해 여러...
WebSocket 관련 글 Websocket 👈🏻 Websocket + 부가기능 Websocket (채팅 기록 json 파일 저장하기) Sse Websocket + jwt Websocket test Jmh - 채팅 파일 refactoring 기존에 작성했던 WebSocket 그동안 채팅 기능을 구현하기 위해 여러...
Negative Test Mock Test 코드 작성을 다 끝낸 후에 예외에 관한 test도 해봐야한다고 들었다. CommentService.java @Override public CommentResponseDto postComment(CommentRequestDto commentDto) { Registry registry = regist...
Custom Exception Custom Exception을 만들기 전에는 기존에 작성했던 것처럼 표준 예외에 메시지만 담아서 사용하면 충분하지 않을까라는 생각이 들었다. 실제로 자바에서는 이미 다양한 예외를 제공하고 있고 메시지를 잘 작성하면 상황 설명도 가능해 보였기 때문이다. 원 글은 해당 블로그에서 보면 되고 나는 각각의 장단점에 대해서...
Mock Test UserServiceTest 가짜 객체는 동작을 하지 않는다. (passwordEncoder의 encode가 null) 처음에 test 코드를 작성했을 때 회원가입 로직에서 인코딩 된 pw와 인코딩 되지 않은 pw를 비교하여 검증을 하려고 했다. 하지만 encode된 pw가 제대로 값을 띄우지 못하고 계속 null이 떴고 그 ...
Mock 이란? Mock은 진짜 객체와 비슷하게 동작하지만 개발자가 직접 그 객체의 행동을 관리하는 객체이다. 객체를 테스트할 때 사용한다. Mocking Mocking은 Unit Test에서 주로 등장하며 테스트 대상 객체가 의존하고 있는 다른 객체들을 가짜 객체로 만드는 것이다. 테스트 대상은 다른 객체나 함수 간의 의존성을 가질 수 ...
JPA의 N+1 문제 1 : N 매핑을 하면서 나타날 수 있는 N+1 문제에 대해 알아본다. N+1 문제란? N+1 문제란 엔티티 하나를 조회했을 때 연관된 엔티티 조회 쿼리가 추가로 N번 발생하는 문제다. ex) 게시글을 조회한다고 가정 Post (1) ---- (N) Comment 게시글 목록을 조회하는 쿼리가 실행된다. ...
Postman FetchType.Lazy로 인한 오류를 해결하면서 응답받는 값을 체크하기 위해 Postman을 사용했다. 그런데 하나 문제가 있었고 이를 기록했다. 로그인 문제 체크해야할 부분은 Comment이기 때문에 “/Comment” GET Method를 테스트를 진행했다. js에서 registryId(게시글 id)값을 주면 regis...
query did not return a unique result: 해당 오류는 Repository에서 Return 값을 Class로 받아 담을 수가 없어서 에러가 발생한 것이다. Repository의 Return 타입을 Class에서 List<Class> 로 받아주면 해결된다. // Commnet findAllByRegistry_Id...
연관관계 매핑 정리(코드 + MySQL) 이 전에 연관관계 이론에 대해서 정리하고 연관관계를 코드에 적용한 후 refactoring을 진행했다. 그리고 그 과정에서 궁금했던 점도 해결했다. 이번엔 마지막으로 한번 더 정리하는 겸으로 글을 작성했고 db에서 fk를 설정하는 방법에 대해 정리했다. 관련 글 연관관계 연관관계 적용 연...
findById() vs getReferenceById() findById()는 EAGER방식의 조회기법이라면 getReferenceById(ID)는 LAZY방식으로 조회된다. getReferenceById(ID)는 실제 테이블을 조회하는 대신 프록시 객체만 가져온다. 프록시 객체만 있는 경우 ID 값을 제외한 나머지 값을 사용하기 전까지는 실제...