본문 바로가기

전체 글

(193)
23년 02월 28일 오늘도 채팅기능을 손봤다. 비효율적으로 나가는 쿼리가 많았는데, 정리를 좀 해주고 api도 나눠야 할 것은 나눠 주었다. 그러다가 product를 호출했는데, 다른 테이블도 같이 호출되길래 fetchType = Eager가 걸려있나 했는데, OneToOne 양방향 연관관계가 걸린 객체들이었고, OneToOne양방향 관계가 걸려있으면 LAZY가 먹히지 않는다고 한다. 강제로 OneToMany, ManyToOne의 관계를 가지게 하거나 id매핑을 시켜주거나, 단방향 매핑을 해주던가 해야 할 것 같다. 고민을 해봤는데, 굳이 product가 review를 가지고 있을 필요가 없을 것 같아 product에 있는 연관관계를 빼고 단방향 연관관계를 맺어주기로 했다. 채팅기능도 여러가지 이슈가 있기는 한데, 일단 채..
23년 02월 27일 오늘은 프론트 페이지의 페이지네이션을 좀 바꿨다. 기존의 페이지네이션은 페이지가 있는대로 숫자가 붙어 나왔는데, 5개 단위로 끊어서 나오도록 바꾸었다. 그리고 오래걸리는 채팅 기능 구현을 같이 하기로 했다. 일단 채팅을 할때 유저 정보를 받아오지 못하는 이슈가 있었는데, 알고보니 프론트 페이지에서 받기로 한 값을 백엔드에서 보내주지 못하고 있었다. 그래서 쿼리 dsl을 사용해 원하는 값을 불러오게 해주었다. 그리고 보내는 사람의 이름과 받는 사람의 이름을 저장하지 못하는 이슈도 있었는데 자바스크립트에서 받는 값을 약간 수정해주었더니 잘 저장이 되었다. 문제는 프론트 페이지에서 값을 제대로 보여주지 못하고, 작동이 실시간으로 되지 않았다. 알아보니 레디스를 사용해야 pub/sub이라는 것을 사용할 수 있다..
26주차 개발일지 프로젝트 중간발표를 마무리하는 주였다. 어찌어찌 프론트 페이지까지 대충 만들어서 발표를 하긴 했는데, 다른 조에 비해서 준비가 많이 부족했던 것 같다. 프론트 페이지가 만들어진게 백엔드 기능에 비해서 많지 않기도 했고, 백엔드에서 만들어진 api가 하나씩 나사가 빠진 기능들이라 추가로 리팩토링 해야 할 것 들이 많은것 같다. 일단 주말에 쉬면서 간단하게 프론트에서 이메일 인증을 하던것을 서버에서 하게 만들었다. 기존에 팀원이 만들어놓은 이메일 인증이 서버에서 인증하게 하면 같은 인증번호만 계속 보내는 이슈 때문에 서버에서 인증을 하지 않고 프론트로 보내서 프론트쪽에서 비교하게 했는데, 문제는 페이로드로 인증 코드가 다 노출된다. 만약 실제 서비스였으면 콘솔만 열어도 다른사람의 이메일을 사용하여 가입 할수..