[넘블] 1주차 개발일지

savannah030·2022년 4월 15일
0

넘블

목록 보기
1/4
post-thumbnail

4/15(금)

팀회의

7시에 팀회의를 했다. 팀 주제를 정하는 시간을 가졌다.
백엔드팀 상의 결과 내가 스프링부트를 초기화하기로 했다.
https://start.spring.io/에서 Spring initializr 다운받아서 프로젝트를 만들려고 했는데, 빌드가 되지 않았다.
처음부터 막혀서 식은땀 났는데(😂ㅋㅋㅋ), 그냥 intellij에서 직접 Spring initializr을 추가하는 방식으로 진행했더니 됐다

  1. Project > New Module > Spring Initializr 선택
  2. SDK, Gradle 설정도 잊지말기 !!

공부할 것

  • Git Flow
  • 로그인 방식 어떻게? Jwt 토큰?

4/16(토)

효과적인 소통을 위해선 어떻게?

  • 개발방법론, 이슈관리, 칸반보드

백엔드 생각할 것

  • ERD 설계법, 테스트 커버리지

기능 생각할 것

메인 페이지

  • 무한스크롤 어떻게?
  • 콘텐츠 로직

회원가입

  • 마이 > 로그인 > 회원가입
  • 이메일(unique), 비밀번호, 비밀번호 확인, 닉네임(unique)
  • @Valid이용? 아니면 프론트에서 검증하는 방법은?

영상 등록

  • 임베드(유튜브)
  • 직접 영상 업로드 방법???????? 프론트에서 하는지???
  • '영상'을 DB에 어떻게 저장하지?? AWS s3??
  • 썸네일 용량 낮추기&비율 16:9

영상 수정/삭제

  • 수정하기: 이전에 입력했던 정보가 나타나야함 이것도 어떻게 효율적으로 관리??

영상 재생

  • 어떻게 해야 효율적으로? 트래픽 어떻게 관리?? 왜??

관심영상 페이지

  • ‘정말로 관심 영상에서 삭제하겠습니까?’라는 팝업창

프로필

  • 사진

관리자 페이지(데스크탑)

기타

  • 하단 네비게이션 바(footer에?)
  • 프론트 버튼 클릭과 백엔드 컨트롤러 어떻게 연결할건지

4/17(일)

git flow 설치

  • git flow란?
  • feature - develop - release - hotfixes - master 단계로 branch를 나눠서 코드를 관리하는 툴

엔티티 설계

양방향 연관관계

@ManyToOne@JoinColumn(name='idx')는 한세트 (연관관계의 주인인 엔티티에)
@OneToManymappedBy 속성은 한세트 (연관관계의 주인이 아닌 엔티티에)
분명 공부했는데도, 엔티티가 복잡해지니까(내기준) 맞게 적었나 자꾸 확인하게 된다..

좋아요를 누르면 Likes 엔티티에 User,Video 객체 저장하고
User 객체의 List<Likes> likeVideosLikes 객체 저장할 생각이다.
이렇게 되면 사용자가 좋아하는 비디오 정보 갖고 올 때 조인문 대신 List<Likes> likeVideos을 쓰면 되기 때문에 불필요한 쿼리문을 날릴 필요가 없을 것이다.

Intellij의 ERD 툴

엔티티에서 버튼 누르고 Show Entity Relationship Diagram 누르면 ERD 알아서 그려서 보여준다

모든 엔티티가 BaseEntity를 상속받도록 설계했기 때문에 원래 그림은 좀 더 지저분하지만

여기서 3번째 누르면 superclass 뺀 ERD를 그려준다(꿀팁!)



Workbench의 ERD 툴

  • Database > Reverse Engineer 에서 촥촥 진행하면 ERD 만들어진다.
  • sql문은 아까 Show Entity Relationship Diagram가 있던 메뉴 아래의 Show DDL에서 뽑아서 쓰면 된다.
  • DB별로 sql문을 만들어주는데, 이번 프로젝트에서는 mysql을 쓸거라서 mysql을 선택했다

    단, 여기서 주의할 것은 연관관계가 복잡하게 얽혀 있는 경우 테이블 생성 순서를 잘 정해야 까마귀발이 잘 그려진다.
    (용어 정확히 뭔지 몰라서 찾아봤더니 까마귀발이라고 한다ㅋㅋ 귀엽당)
    예를 들어 interest - user_interest - user 처럼 다대다 관계인 경우, interest, user 테이블을 먼저 만들고 user_interest 테이블을 만들어야 외래키 매핑이 잘되면서 까마귀발도 잘 그려진다.

엔티티 설계 왜 이렇게 했는지 더 자세한 설명을 보려면 여기로..

profile
백견이불여일타

0개의 댓글