-
Notifications
You must be signed in to change notification settings - Fork 4
3주차 회의록
J077_문혜현 edited this page Nov 14, 2021
·
8 revisions
- 참여자
- J077_문혜현, J107_송명회, J218_홍승용, J219_홍종우
- 시간
- 오전 10:00 ~ 오전 12:00 / 오후 02:30 ~ 오후 07:00
- 폴리곤 FE에서 LFU캐싱으로 성능 향상
- mongodb 를 cloud로 사용하지 않고 직접 구축해서 사용 시 성능 향상
- Map 폴리곤 그리기의 경우 지역 range 상태 관리 및 fetch 요청 최소화 되도록 position 복합 상태관리로 변경
- Map Shaper 를 통해 좌표 코드 용량을 줄였으나 여전히 대용량(20MB 이상)
- 배포 : 카카오 Map API production 환경 사용 가능한 설정 확인 필요
- Sidebar animation 적용 관련 오류 해소 필요
- mongodb는 한국어에 대한 형태소 분석이 안되기 때문에, 띄어쓰기를 기준으로 검색을 형태소를 나눈다.
- 따라서, '경기도 성남시 분당구 판교동'같은 경우, '경기'나 '분당'으로는 검색이 안된다. 몽고 한국어 참고
- 결론: 일단 regex로 구현후, ES로 바꿔보자
- 참여자
- J077_문혜현, J107_송명회, J218_홍승용, J219_홍종우
- 시간
- 오전 10:00 ~ 오전 11:00 / 오후 03:30 ~ 오후 06:30
-
304가 express에서 뜨는 이슈 https://huns.me/development/2306
-
후기 mongoDB 설계 종우님이 맡으심
-
docker 무중단 배포 승용님이 맡으심
-
map 100% height으로 하면 component 100%로 화면을 넘어섬
-
폴리곤 색상
- color-hash 패키지 이용 (주소 => #컬러)
- 폴리곤에 이벤트 등록해서 마우스 올리면 투명도 바뀌도록
- 후기 컬렉션 설계
-
후기 Document를 어디에 저장할까?
- SimpleMap 각 동(3번째 지역) 아래에 embedding?
- embedding한다면 document 커지고 업데이트도 잦아서 적당하지 않을듯
- 후기 컬렉션에서 SimpleMap으로 지역을 링크?
- 아니면 아예 Map으로 링크? Fullscan은 아니라서 자동검색처럼 성능이 나쁘지는 않을듯
- 링크를 꼭 걸어야 하는가?
- vs. 후기에 주소를 직접 저장
- 링크 안걸면 쿼리 두번 날려서 중심좌표까지 받아오는 경우가 생길 수 있음
- 링크를 걸어도 행정구역 업데이트까지 한 번에 해결되지는 않는다
- Review collection
- 주소(행정동명), 중심좌표 저장
- 행정구역 업데이트되면 통계청 API에 중심좌표 -> 주소 변환 요청
-
Review Collection + Rate Collection
- Review: 개별 리뷰
- Rate: 지역별 누적 평점 정보
-
Review에서 createdAt index를 넣어야 할까?
- update 할 때 빠르게하기 위해서는 index를 넣어야 한다
-
-
사이드바 렌더링 관련
- 폴리곤을 클릭 했을 때 vs Marker를 클릭 했을 때
- 사이드바 렌더링 시, 총점, 카테고리 별 평점, 주소 데이터를 넘겨줘야 하기 때문에 해당 데이터를 갖고 있는 쪽에서 전달해주면 됨(현재는 마커)
- 만약 폴리곤 클릭할 때도 사이드바를 띄우려면 (폴리곤 - 마커) 매핑이 필요하므로 상태관리가 필요할 것이라 생각됨.
- 사용자 UX를 위해 폴리곤을 클릭 했을 때, 사이드바가 렌더링 되는 것이 더 좋을 것으로 보임
- 폴리곤 클릭 시 렌더링 한다면 다른 폴리곤 클릭 시에는 사이드바 상태 변경(리렌더링), 같은 폴리곤 클릭 시에는 변경 없고, 기타 폴리곤 형성되지 않은 맵 클릭 시에는 사이드바 unmount 되도록 설정 필요
- 폴리곤을 클릭 했을 때 vs Marker를 클릭 했을 때
-
Collection Schema 일부 변경
- MapInfo 부분은 변경하지 않고 Backend API로 전달할 때만 count, total 정보를 밖으로 빼고 category 데이터를 반환하도록 설정
- Bar Rate 부분에서 Map 고차함수를 사용하여 category 별 평점 정보를 렌더링하기 때문임
- Review 부분은 total(avg)는 키 제거
- 해당 연산은 Frontend에서 연산하도록 변경
- MapInfo 부분은 변경하지 않고 Backend API로 전달할 때만 count, total 정보를 밖으로 빼고 category 데이터를 반환하도록 설정
-
금일 진행 사항
- 로그인 JWT 인증, 프로필 페이지 UI 구현
- 후기 작성 및 후기 가져오기 Backend API 구현
- Swagger 설정(시간 되면..)
-
모달창 라우터
- 모달창은 페이지를 추가하는 라우터 하기로 하자
- 모달창 상태를 상위 컴포넌트에서 props로 주는 방식은 안 괜찮은가?
-
반응형 웹
- 핸드폰 사이즈로 바꾸면 오류가 남
- 후기 작성
- Frontend 내 UI 및 Backend 기능 구현 완료
- 일부 Refactoring도 진행했으나, 해당 방식에 대한 논의 추가 필요
- 로그인 관련
- Browser에서 github oauth API를 전달할 수 없는 이슈 발생하여 Server에서 전달하도록 설정함
- CORS 이슈가 발생해서 해당 이슈 해소중
- 리팩토링
- type, interface는 구분해서 파일로 빼놓자
- [BE] controller -> 라우트 핸들러는 함수로 분리하고 service는 (req, res)에 의존하지 않는 순수 비즈니스로직만 포함하도록
- 몽고 DB 관련 주의점
- mongoose는 쿼리를 await infront나 then이 호출되지 않으면 동작하지 않는다.
- https://stackoverflow.com/questions/65276147/db-not-updated-without-await-infront-of-the-method
- 일요일 낮 12시까지 merge하자(리뷰 남겨주세요~)
- API 명세를 명확히 정하고, error 메시지 명세에 대해서도 논의해보자
- controller, service 어디까지 구분하는게 좋을까?
- CORS 관련해서 공부하고 질문할 거리 만들어올 것(혜현)