• 코드 컨벤션

    • 네이버 코딩 컨벤션 (인텔리제이에 주입)
    • 임시 변수 외에는 1글자 이름 사용 금지
    • 상수는 대문자와 언더 스코어로 구성
    • static import에만 와일드 카드 허용
  • 깃플로우 전략

    • GitHub Flow를 가져가되, dev 브랜치 추가

    ⇒ main에서 dev 브랜치 따고, 거기서 github flow를 따름

  • 커밋 컨벤션

    image.png

    • commit 전 import문 최적화 (단축키 : ctrl + alt + O)
  • 프로젝트에서 사용할 기술 스택을 정리해 와 주세요!

    • CI / CD (Github Action, Docker 예정)
    • Elastic Search (검색 속도 향상)
    • Spring Batch (재고 채우기)
    • QueryDsl (동적 쿼리)
    • Redis Redisson(동시성)
    • Junit or Jmeter (테스트)
    • Kibana(엘라스틱 서치 모니터링)
    • 인덱스(B-tree or Full-text, Covering index)
  • 이번 주 한 일

    • 팀 전체

      • HTML, CSS 뼈대 구성
      • 주제 선정 및 API 명세서, ERD, 와이어프레임 구성
      • 코드컨벤션&깃 컨벤션 작성
      • MVP 구현 (ing)
      • 데이터 크롤링 (파이썬, Colab 사용하여 데이터 1000만 건 수집 중)
      • 기술 스택 정리 및 공부
    • 조성재

      • 메인 페이지 작성
        • 대분류, 소분류 선택 후 검색 값 데이터(query형식) 전송 (검색어 query형식 변환 필요)
        • 대분류 선택에 따른 소분류 변경 확인
        • 책 정보 클릭 시 상세 정보 페이지로 정보 전송 확인
    • 한승현

      • 검색 후 검색 결과 페이지 작성
        • 상세 필터 입력 후 적용 버튼을 누르면 입력된 데이터 전송
        • 검색어 입력 후 검색버튼 누르면 검색어에 대한 결과물 출력 (limit 10)
        • 검색 결과물(책)을 누르면 상세 페이지로 이동
    • 양윤선

      • 로그인 페이지
        • 회원 가입한 데이터 받아와 이메일과 비밀번호가 일치하는지 확인.
    • 이현빈

      • 책 선택 후 넘어가는 detail 페이지 작성
        • detail페이지에서 책 정보 불러오기 성공
        • 주문하기 클릭 시 주문 요청 전송 확인(재고량 Column과 value 추가 후 재고량 감소 되는 부분 확인 필요)
  • 이외에도 기술적인 방향을 잡기 위한 질문을 정리해오시면 가장 좋습니다!

    질문 1 : 검색 결과 내에서 필터/정렬방식을 적용하여 재 검색을 할 때 데이터 비용 최소화를 위해 주어진 검색 결과를 가지고 front에서 재정렬/필터링을 하는게 맞을까요? 아니면 백에서 해당 필터와 정렬 방식으로 다시 검색결과를 보내주는게 맞을까요?

    • 각 DB들의(Redis, ElasticSearch, MySQL) 역할이 뭔지 고민해보기.

    질문 2 : 더미데이터를 만들 때 ex)자바의 정석, 자바의 종석, 자바의 방석 처럼 유사하게 만들어야 유사할 까요? 아니면 dcnkjlwqade, vbnjwe 와 같이 진짜 더미같은 데이터를 넣어도 검색 성능을 보여주는데 큰 문제가 없을까요?

    • 크롤링 방식 바꿔보기?
    • FIxture Monkey(더미데이터를 편하게 다양하게 만들 수 있다)

    질문 3 : 성능을 단계적으로 증진시켜야하는이유

    • 단계적으로 증진시켜야 DB와 기술에 대한 이해도 스토리를 말할 수 있다.
    • 기술을 적용할 때 마다 검색시간이 몇 ms 단축됐는지 등이 정리되어야 한다.