HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🏠
2차 팀 프로젝트: 오늘의 집
/
📄
03일차 회의록
📄

03일차 회의록

일시
Jun 20, 2022

멘토님 답변에 대한 공유

자바 버전 ✅

  • 한빈: 17
    • 최신화되가는 자바 버전에 맞춰가기 위함
  • 민성, 민재: 도입 시 프로세스가 필요
    • 단 도입할 경우 일관성을 위한 도구가 필요
    • 일부는 구버전 코드 방식으로, 일부는 신버전 방식으로 가면 안 되니까
    • 단, 위험성이 있는 기능을 사용하는 것은 피해야 할 것임
  • 현정, 훈기: 11
    • 특별히 신버전을 사용할 이유도 없고, 사용하는 기능도 적음
    • 버전 안정성도 생각해봐야

엔티티/테이블 상속구조

  • 엔티티 분리는 어떤 방식을 써도 관련 없지만 동일 상속 계층으로 구성해보시는걸 추천합니다

가능한 방식들

  • @MappedSuperClass 이용하는 방식 ✅
  • 단일 테이블 전략
    • 한 테이블에 저장하고, 구별용 컬럼(DTYPE) 사용하여 구별
    • nullable 해지는 필드 다수
  • 조인 전략
    • 조인이 빈번해짐
  • ci는 MUST개발 이후 일정에 맞춰서 추가로 고려해주세요.
  • 오래전에 현업에서도 이와 관련해서 논란이 있었으나 결국엔 조직별로 규칙을 정하고 사용하는 것 같아요. 팀원들이 인터페이스 구현방식으로 쓰기로 했다면 그렇게 사용하셔도 문제 없을 것 같습니다. 저는 서비스를 여러 구현으로 나눠쓰는 경우가 많지 않아서 서비스를 일반 클래스로 하는 편입니다.
  • PR 단위는 상황에 따라 질 수 있습니다. 팀원간 코드리뷰를 계획하고 있다면 주1회 정도만 할 수 있게 적절한 PR 범위를 잡는게 좋을 것 같습니다. 저는 기능 단위로 PR을 잡고 있습니다.

이미지 처리 관련하여

  • 민성
    • 사이트 조사해보니, 일단 S3에 올리는 식으로 이루어지고 있었음
  • 민재
    • 웹 에디터의 콜백 함수를 이용한 파일 처리
    • 서머노트
      • 기본 정책: base64 → 인코딩 후 DB에 그대로 때려박기
  • 멘토님
    • 이미지를 컨텐츠에 직접 넣을거 같진 않고, 대체할 뭔가로 바꿔서 넣을 것 같아요. 이미지 정보는 별도의 테이블에 넣을 것 같구요.
  • 이미지 파일 저장 책임
    • 프론트에서 S3에 저장하는 방식
      • 이 경우 서버는 이미지 url만 받게 됨
      • 프론트를 믿을 수 있나요? api를 아는 누군가가 그냥 아무데이터를 던진다면?
    • 이미지를

프론트 구현 여부

  • 일단은 구현 안 하는 것으로

테스트 관련하여

  • 민성
    • TC 수치를 제안했었는데, 굳이 구체적인 수치에 집착할 필요는 없다고 생각함
    • 참고사항
      • 블라디미르 코리코프, <Unit Testing>의 내용
      • 한빈: 아래에 유사한 내용이 간단히 정리되어 있어서 확인하시면 좋겠음
      • bliki: UnitTest
        Unit testing is often talked about in software development, and is a term that I've been familiar with during my whole time writing programs. Like most software development terminology, however, it's very ill-defined, and I see confusion can often occur when people think that it's more tightly defined than it actually is.
        bliki: UnitTest
        https://martinfowler.com/bliki/UnitTest.html
        bliki: UnitTest

MySQL Docker 설정 관련

  • 일단 한 번 사용을 해봐야 장단점을 알 것임
  • 개발 초기 시점에서는 H2를 사용할 것이니, 아직 정하지는 말고
  • 어느 정도 진행되고 생각해보자.

결제 시스템 개발

  • 상세 구현은 비워두고 나중에 결제 연동시에 교체만 하면 되게 일단 개발하자.

카테고리

  • 대분류, 중분류, 소분류 테이블을 만드는 식으로

CI툴의 필요성?

  • 지난 논의에서, 테스트를 개별 환경에서 실행하는데 굳이 CI 툴이 필요하냐는 의문이 있었음(민성)
  • 특정 환경에서 실행이 되고, 안 되는 개별 상황 넘어선 공통적인 환경 조성

헥사고날 아키텍처 도입✅

  • 현재 구조에서 이득을 볼 수 있는 상황인가가 의문이긴 함(민재)
    • 개념이 와닿지 않는다면 안 도입해도 괜찮다고 생각함
    • 그 경우 익숙한 레이어드 아키텍처를 사용해도 괜찮을 듯 함
    • 다들 어떤 의견을 가지고 있는가, 시간적으로 괜찮을거라 느끼는가를 알고 싶음
  • 의견 수렴: 도입하자
    • 아키텍처의 필요성에 대해서 공감하며(현정), 도입을 시도하는 중(민성)
    • 외부 서비스를 많이 사용할 수록, 유지 보수 기간이 길수록 의미 있겠지만(한빈)
      • 일단 큰 프로젝트에서 아키텍처를 도입해보는 것 자체가 학습적 효과가 있을 것이라 기대
      • 일단은 친숙한 레이어드 아키텍처로 시작하여, 중간부터 아키텍처를 변경하고 외부 기술을 도입해보면서 유용성을 체험해볼 수도 있겠음(다만 아키텍처 변경으로 인한 비용은 감안해야 할 것)
    • 유용성에는 공감하지만, 왜 도입했냐라고 누군가가 물어볼 떄 답할 말은 없을 것 같음(훈기, 현정)
    • 도메인 모델이 그렇게 커진 적이 아직 드물어서 필요성을 못 느낀 부분도 있음(민성)

TODO

  • 멘토님과 면담 일정 잡기