새로 개발한다면 구현 순서
안녕하세요!
강의를 다 보고 이 프로젝트를 제 손으로 다시 작성해보려고 합니다.
코드를 눈으로 쭉 봤지만 SQL, 데이터베이스 구조 등은 정확히 들여다보지는 않았기 때문에...
무엇보다도 코드를 느끼려면 다시 작성해보고 테스트도 보고 그러는게 좋을 것 같아서요.
완전 같게 작성하기 보다는 강의에서 해주셨던 부분들 개선해보거나 바꿔보거나 하려고요
저는 python 개발자이기 때문에 Spring 대신 FastAPI, JPA 대신 sqlalchemy 를 사용하려 합니다.
작성하려고 보니 어떤 순서로 작성하는 것이 좋을까 질문 드려도 되나 싶어서 질문 올려봅니다.
일단 제 생각에는 v1/products 부터 시작 하려고 하는데
우선은 프로젝트 구조부터 간단히 잡고 그 다음은
도메인 클래스, 엔티티, productService, controller 순서로 구현/테스트 코드 작성
v1/products 가 완성되면 서버 실행해서 동작 확인
그 다음은 뭐 v1/products/{productId} 이런 순서로 작성해보려고 하는데요
재민님은 혹시 이 프로젝트 만들때 어떤 순서로 구현하셨는지?
혹시 테스트부터 시작 하시는지?
처음 시작할 때 의 팁 있으시면 공유 부탁 드립니다
좋은 강의 감사합니다!
Answer 1
0
안녕하세요 질문 감사드립니다! 다시 작성하신다니 아주 멋진 훈련입니다! 👍
사실 저의 경우는 이 프로젝트는 강의 예제 목적이다보니 엄청 규칙을 잡고 구현하진 않았습닌다만
실제로 실무라고 생각하고 구현해본다면 개념 클래스들과 개념 컴포넌트(Reader, Appender ... etc) 들의 구조를 먼저 잡고 세부 구현을 채워나가는 것을 선호합니다
추가로 그 구조를 잡을때 테스트 먼저 시작하는 것을 보통 선호합니다 😃
다만! 한가지 규칙과 패턴으로 구현하지 않는게 좋은 훈련 같습니다 (실제로 실무에서 저도 그렇게하구요!)
요구사항 케이스마다 데이터베이스 먼저 구조를 잡는게 중요할 때가 있는 것 같구요!
또 외부 연동 먼저 구축해놓고 시작하는게 유리한 경우가 있는 것 같구요 (ex] 결제 등등)
개인적으로 아주 좋은 학습법이라 생각합니다, 많이 생각하시고 많이 고민하시면서 구현하시면 좋을 것 같습니다!
모쪼록 답이 되었길 바랍니다! 감사합니다!
다양한 관점의 코드 경험을 위해 개선하지 않은 코드
1
47
1
histories() 응답에 PointHistory.id를 포함한 이유가 궁금합니다/
1
44
2
SettlementTargetRepository Jquery 질문
1
48
2
부가 기능을 이벤트 핸들러로 분리하는 기준이 있을까요?
1
60
2
엔티티의 pk 를 0으로 초기화하시는 이유가 있을까요??
1
67
2
제미니님 안녕하세요!
1
73
2
개념 간 격벽 분리와 목록 조회 시 발생하는 참조 구조
1
80
2
프로덕트와 프로덕트카테고리 사이의 삭제 정책
1
75
2
의존 방향에 대한 고민
1
122
2
어드민(Back-office)에서 예약 변경 시, '할인 조건 재검증(쿠폰 회수)' vs '기존 혜택 유지' 중 어떤 정책이 일반적인가요?
1
95
2
OrderKeyGenerator 인스턴스화 generate() 질문
1
83
1
외부 API 통합 시 데이터 제어 범위 설계 질문
1
96
1
PG 결제 승인 로직
1
128
2
QnA에서 Join 필드 표현법
1
88
1
결제서비스 콜백 동시성문제 가능성
1
106
2
굿
1
107
1
도메인/엔티티 분리 상황에서 쓰기 작업 하는 방법
1
135
2
도메인 객체와 엔티티 객체 사용
1
137
2
CouponService 의존성 의문
1
96
2
상품 목록 조회 고도화 질문
1
111
2
표현 계층에서의 접근 지점이 다양해지는것과 이를 해결하기 위한 파사드의 도입에 대해 제미니님의 생각이 궁금합니다.
1
123
2
제품상세 코드 느끼기
1
144
2
격벽의 순환 참조(?)
1
113
2
결제 관련 서킷 브레이커 전략, 데이터 정합성 및 타임아웃 설정 질문
2
174
2

