2021.12.27~2022.01.02
이번 주 회고
새해가 밝았다. 집에 티비도 없고 집 밖을 나가지 않으니 새해라는 것도 실감이 안난다.
벌서 프로젝트 시작한 지 2주가 지났다. 너무 시간이 빠르게 가는 것 같다.
이번주는 저번 주에 대략적인 기능은 어느 정도 완성한 상태였기 때문에 이번주는 회의를 하면서 더 나은 구성으로 기능을 수정해나갔다.
멘토링 피드백 이후 이번 주 내내 테스트 코드 짜는 연습을 하고 있는데 쉽지 않다.
MVC로 나누어서 unit test를 작성해보았는데 한 번에 통과되는게 없다. 테스트 종류도 mvctest, DataJpaTest, springboot test 등등 너무 많다. 테스트 코드 작성은 기능 구현 마지막 주 동안 리팩토링하면서 완성해봐야겠다.
이번 주는 거리 기준으로 식당 조회하는 쿼리문 작성하는 데 다 보낸 것 같다. 사용자 위치 기준으로 반경 몇 km이내 식당을 조회하는 API를 작성했다.
querydsl로 시도했으나 실패하고 native query 로 변경해서 성공했다. 이후 페이징 처리 하는데 계속 오류가나서 너무 힘들었다. sort는 query문에 적용했기 때문에 Pageable 구현체인 PageRequest.of(page, size)를 사용했는데 게속 오류가 났다. 이유는 pageable import가 잘 되지 않아서 였다. reposiroty에서는 Pageable을 사용해야 한다.
이걸로도 몇 시간 삽질했다.
query문을 작성하면서 query dsl을 제대로 배워야겠다는 생각을 했다. query문은 컴파일 시점에 오류를 확인할 수 없어 매번 서버를 띄워서 확인하는 것이 매우 불편했다. 또 querydsl을 공부하려면 db 기초지식과 sql을 알아야겠다는 걸 깨달았다. 멘토님께 질문하니 꼭 알아야하는 db 선수지식을 알려주셔서 그 부분 먼저 공부해봐야 할 것 같다. JPA가 쉬운 것 처럼 느껴졌었는데 sql을 잘 모르고 사용하니 응용이 되지 않아 힘들었다.
불편함을 느꼈으니 더 나은 기술을 배우는 이유를 확실하게 알 수 있을 것 같다.
내일부터는 기능 구현 마지막 주이다. 8일이면 배포까지 완성해야한다. 추가하기로한 기능API작성하고 아키텍처까지 적용해야한다. 아키텍처 부분이 선택사항이 너무 많아서 각 기술의 장단점을 파악해서 우리 프로젝트에 가장 적합한 것들로 조합해야하니 쉽지 않다.
😂오늘의 삽질
유저 위치 수정하는 부분인데 계속 500 에러가 떴다.
request가 잘 오는 것은 확인했는데 userservice로 넘어가지를 못했다.
잘 되던게 안되서 이전에 커밋내역을 다 뒤졌는데 다른 점을 찾지 못했다.
몇 시간 뒤에 발견한이유는 Post요청을 보내고 있어서 였다. PutMapping으로 변경해주니 바로 된다...
생성자도 바꿔보고 DI 방법도 바꿔보고 다 했는데 저 부분을 놓치고 못봐서 몇 시간을 삽질했다. 에휴...
'개발 > 끄적이기' 카테고리의 다른 글
항해99 10주차 WIL (0) | 2022.01.10 |
---|---|
2022.01.04 TIL (0) | 2022.01.05 |
2021.12.29 (수) TIL (0) | 2021.12.30 |
2021.12.25 TIL (0) | 2021.12.27 |
2021.12.24 TIL- 프로젝트 1차 그룹멘토링 (0) | 2021.12.25 |