본문 바로가기

전체 글143

2022-12-25 일주일 회고록 하루 늦은 회고록 어제 크리스마스 이브라 쉰다고 아무것도 안하고 집에 누워있다가 회고록 쓰는 걸 까먹었다...ㅎㅎㅎ 그래서 오늘 회고록을 쓰지만..사실 쓸게 없다. 개인프로젝트 끝나고 거의 1주일을 쉬었기 때문이다. 뭐랄까...그냥 좀 나태해진듯...아.. 이번주 일주일 사실 저번주부터 부트캠프에서 프론트분들이랑 협업 프로젝트를 시작했다. 비율은 프론트 2명 백엔드 5명... 사실 프론트 분이 1명정도 더 있으면 한다. 그 이유는 뒤에서 차차 말해주겠다. 원래는 백엔드가 3명이었느데 점점 늘어나더니 5명이 되어서... 음 부트캠프 분들 뭔가 중간중간에 인원을 추가해주시는데 조금은 실망감이있다. 처음하는 협업이기에 초반에 변동이 적어야 잘 흘러갈수 있다고 생각하는데.. 프론트가 1분 더 필요한 이유 사실 .. 2023. 12. 25.
API호출 RestTemplate, WebClient, Feign?? 개인프로젝트하면서 API호출이 필요해서 Open Feign을 사용했다. 어떠한 이유에서라기 보다 최근에 나온 기술이라고도 하고 생각보다 사용이 쉬워서 Open Feign을 사용했다. 그렇다면 RestTemplate, WebClient,Feign 차이는 뭘까...?? RestTemplate Spring Framework 에서 제공하는 동기식 클라이언트 라이브러리다. 동기식 라이브러리라 단순한 요청처리에는 효과적이다. 다만 오랫동안 인기있는 라이브러리였지만 대량의 요청이나 비동기적인 처리가 필요한 경우에는 성능이슈가 발생하여 최근에 deprecated되어 WebClient를 권장하는 추세이다. WebClient Spring Framework 5부터 도입된 비동기식 Http클라이언트이다. 비동기 및 리액티브 .. 2023. 12. 21.
2022-12-17 일주일 회고록 나하 개인프로젝트 끝나자마자 협업프로젝트... 아 이제 좀 숨쉬는 가 했더니...바로 협업프로젝트... 부트캠프 모르는 분들이랑 온라인으로 약 한달간 협업해야한다... 그래도 좋은 기회인게 프론트 분들이랑도 협업할 기회를 가져서 실무 비스무리한 경험을 가질수 있다는 점이 좋은것같다. 근데 나 지금 시험 곧 끝나고 개인프로젝트도 곧 끝나서 아직 회복이 덜되었느데 바로 협업이라니... 배포..? 뭐 배운 기간을 핑계로 할 수 없지만 개발공부한지 약 10개월정도 됬는데 아직 배포 관련되어서는 공부를 안했다. 일단 다른거 공부하느라 시간도 없었고 중간에는 코테때문에 진짜 거기에 시간 다쏟다가 요즘들어서 감잡으니까 시간을 덜 쏟는데...이제는 배포를 공부할시간..왜냐면 협업에서 배포한다고 했거든,,,부트캠프 멘토.. 2023. 12. 18.
[개인프로젝트] LazyInitializationException 영속성 컨텍스트 와 프록시 오늘만 에러 3개쓰는 중...하하하하하하 나 시험공부해야하는데 왜 에러나느지 해결안되면 아무것도 못하는 사람인지라...ㅎㅎ 문제상황 엔티티를 수정하면서 lazy loading해도 되겠다고 생각한 것들을 수정하고 있었다. 하면서 원래 작성했던 테스트를 돌려봤는데.. 어랏...?? 안되..??어랏...?? org.hibernate.LazyInitializationException: could not initialize proxy [com.project.user.User#1] - no Session 예?? 없다구요??왜요..?? 원인 나는 이 부분을 분명 공부했었다.. 그저 나의 기억력이 안좋을 뿐.. 문제는 영속성컨텍스트의 생명주기와 프록시에 대한 이해다. WalkerReserveServiceInfo ser.. 2023. 12. 17.
[개인프로젝트] CascadeType 미설정 오류 나는야 바보...하하하하하 앞서 블로그내용에서 WalkerReserveServiceInfo, PayHistory 를 연관관계를 변경하면서 지금까지 작성했던 모든 테스트를 돌려봤는데 여디선가 뭔가 에러가... 그 에러는 사실 너무 간단한거라서.. 패스.. 대충 얘기하자면 PayHistory부터 저장하고 WalkerReserveServiceInfo에 저장했어야했는데 전의 코드가 반영되어있던 터라 WalkerReserveServiceInfo의 PayHistory필드에 null이 들어간 오류였다.. 이건 너무 심플해서 패스.. 문제상황 일단 나는 예약요청이 들어왔는데 10분안에 예약수행자가 수락/거절 을 하지않으면 자동으로 거절되는 기능을 구현했다. 스프링 배치를 이용해서 그래서 WalkerReserveServ.. 2023. 12. 17.
[개인프로젝트] JPA OneToOne N+1 문제 쿼리 리팩토링하다가 정산 배치관련해서 쿼리 보다가 이게 뭐지..?하는 쿼리들이 많았다. 나는 분명 fetch join했는데 N+1문제가 터졌다..이게 무슨일이지..?? 초반에는 그냥 넘겼다. 일단 프로젝트 완료기간이 5일남았기에 남은 기능을 완료시키기 위해 ... 근데 이제는 시간이 어느정도 있어 한번 쿼리좀 보자 이 느낌으로 고치고 있는데 ...역시 N+1이 문제가 있었구만 문제상황 정산하기 위해서 예약 table과 pay table을 fetch join하는 query를 날렸다. return new JpaPagingItemReaderBuilder() .name("adjustReader") .entityManagerFactory(entityManagerFactory) .pageSize(chunkSize).. 2023. 12. 17.
728x90