Skip to content

두 번째 그룹 멘토링

Soap edited this page Nov 23, 2024 · 1 revision

✔️ 결론 및 To Do

  1. 프론트 권한 체크 API

    • 필요하다면 구현.
  2. 로깅 알림과 NAT 관련 설정

    • Pinpoint, Slack 알림 등 활용 방안 검토.
    • NAT Gateway의 역할과 필요성 재검토.
  3. Mock 기반 테스트 시 문제점 해결

    • 테스트 시 일부 Mock이 견고하지 않아 발생하는 문제 해결 방안 마련.
  4. 서비스/컨트롤러 테스트 모킹 관련

    • 역할 분리를 명확히 하고 테스트 방식을 정립.

✔️ 멘토링 아젠다

멘토링 24시간 전에 멘토에게 공유할 논의 사항 정리.

논의 사항 및 질문

1. 클러스터링 구현과 기준

  1. 현재 계획된 구현 방식

    • Zoom 레벨에 따라 GROUP BYCOUNT를 활용.
    • 예:
      • 서울/경기/인천 단위로 클러스터링.
      • 세부적으로 강남/강동/성동 등 세분화.
    • 성능 테스트 후 테이블 추가를 통한 캐싱 방식 비교.
  2. 질문

    • 클러스터링 기준을 지역별로 정하는 것이 좋을까, 아니면 데이터 양 기반으로 동적으로 정해야 할까?
    • 가까운 곳에 핀이 여러 개 모였을 경우, 프론트에서 시각적으로 어떻게 처리하는 것이 좋을까?

2. 페이지 플로우

  1. 지도에 장소 추가 후 검색 페이지 이동 여부.
    • 장소 추가 모달 유지 vs 페이지 전환.
  2. /create/map/:mapId로의 접근 제어 방안.
    • user가 만든 지도인지 API 검증 후 리다이렉션 처리.
    • 조작 불가 상태 유지.

3. 클라우드 아키텍처

  1. 현재:
    • Public Subnet: Nginx 서버 + 프론트 빌드 파일.
    • Private Subnet: WAS, DB, ELK.
  2. 변경 계획:
    • WAS 서버를 Private Subnet으로 이동해 확장성 고려.
    • NAT Gateway 활용 시점 검토:
      • ELK Slack 알림.
      • DB와의 연동에서 NAT Gateway의 필요성 판단.

4. 테스트 설계

  1. 컨트롤러 테스트에서 서비스를 모킹하지 않고 레포지토리를 모킹하는 문제.
    • 서비스와 컨트롤러 역할이 불명확.
  2. 서비스 테스트에서 DTO 모킹 허용 여부.
    • 테스트 대상의 의미와 범위 검토.

✔️ 진행 상황 및 참고 자료

로깅

  1. Pino 설정 및 ELK 연동.

테스트

  1. 컨테이너 단일화 문제 해결:
    • globalSetupglobalTeardown 활용.
    • TestContainersreuse 메소드 사용.
  2. 팀 내 백엔드 테스트 규칙 정립:

이미지 업로드

프론트 진행상황

  • 페이지 플로우와 권한 체크 로직 추가 검토.

✔️ 멘토링 내용

테스트 및 모킹

  • Layer별 테스트 장단점

    • 레이어별 테스트는 특정 부분 문제를 빠르게 확인할 수 있으나, 전체 시스템 안정성을 보장하기 어렵다.
    • Mocking이 이질감이 있다면 다른 접근 방식을 고려.
  • DTO 모킹

    • DTO 수정 시 실패 가능성 높은 경우만 테스트.
    • 영향 범위가 크지 않다면 수정 후 다시 테스트.

아키텍처와 NAT Gateway

  • ELK Slack 알림 등에서 NAT Gateway 활용 필요성 검토.
  • 로드밸런서와 WAS 확장을 통한 서비스 안정성 확보.

✔️ 체크리스트

주요 진행 상태

  1. 2주차 계획한 기능 구현:
    • 백엔드: 완료.
    • 프론트엔드: 80% 진행.
  2. 팀 목표의 40% 이상 구현 완료.
  3. 문제 해결 과정이 문서화.
  4. 구현 과정과 코드 근거를 설명 가능.
  5. 태스크와 역할 적절히 분배.

오늘의 길

핵심 경험

장소 검색 기능 개선
마커 클러스터링
테스트 코드
로그 모니터링 시스템
React 컴포넌트로 구글 지도 요소 관리하기
CI/CD 파이프라인
코스 아이템 순서 수정 방식 개선

개발 문서

팀 문화

기록 모음

🌤️ 데일리 스크럼
📑 회의록
🚸 멘토링 일지
🏖️ 그룹 회고
Clone this wiki locally