-
Notifications
You must be signed in to change notification settings - Fork 46
[7팀 이현지] Chapter 3-3 기능 중심 아키텍처와 프로젝트 폴더 구조 #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Leehyunji0715
wants to merge
27
commits into
hanghae-plus:main
Choose a base branch
from
Leehyunji0715:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- QueryClient 설정 및 React Query DevTools 추가 - UserDTO에 fullName 속성 추가 (optional) - 메인 애플리케이션에서 QueryClientProvider 통합
- Feature-Sliced Design 패턴 적용 - entities, features 레이어 구조 구성 - 댓글 시스템 TanStack Query로 마이그레이션 - Optimistic Updates 패턴 구현 - UI 컴포넌트 세분화 (SearchInput, TagSelector, SortControls 등) - 무한 루프 이슈 해결 (useEffect dependency 최적화) - 컴포넌트 단일 책임 원칙 적용
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
과제 체크포인트
기본과제
목표 : 전역상태관리를 이용한 적절한 분리와 계층에 대한 이해를 통한 FSD 폴더 구조 적용하기
체크포인트
심화과제
목표: 서버상태관리 도구인 TanstackQuery를 이용하여 비동기코드를 선언적인 함수형 프로그래밍으로 작성하기
체크포인트
최종과제
제가 볼땐 괜찮아 보이는데..!!과제 셀프회고
이번 과제를 통해 이전에 비해 새롭게 알게 된 점이 있다면 적어주세요.
본인이 과제를 하면서 가장 애쓰려고 노력했던 부분은 무엇인가요?
아직은 막연하다거나 더 고민이 필요한 부분을 적어주세요.
이번에 배운 내용 중을 통해 앞으로 개발에 어떻게 적용해보고 싶은지 적어주세요.
개인적으로 DDD를 선호한다!! 연관있는 코드끼리 묶는다는게 나에게는 개인적으로 더 매력적으로 다가왔다.
FSD를 회사 프로젝트에서 써봤는데, 각 레이어 폴더에 도메인 별로 구분되어 보이는데, 어디엔 있고, 어디엔 없고... 이러한 구조가 개인적으로 꽤나 피곤하다고 생각했다. 그러나 도메인 기준으로 하면, 한눈에 어떤 도메인들이 있는지, 그리고 해당 도메일 폴더 안에 관련한 코드가 모두 모여있기 때문에 한눈에 더 파악하기 쉽다고 생각했다.
그렇다면, DDD와 FSD를 합치면 더 좋지 않을까? 라고 생각했다.
연관된 코드를 묶는 DDD, 그리고 FSD의 강점인 Layer 흐름을 강제한다는 점이 어떤 규모의 프로젝트에서도 잘 먹히지 않을까? 생각했다.
=> Gemini에게 물어보니, 위 방식은 하이브리드 방식이며, 많은 엔터프라이즈에서 채택하는 방식이라고 한다. (진짠가?)

=> 하지만 추후 공부를 하면서
DDD + FSD구조를 바로 도입하기보다는 어느정도 어플리케이션이 자리 잡혔을때 점차적으로 도입 하는게 좋겠구나 싶었다. 실무 관점에서 맨 처음에는 비즈니스 도메인도, 그 어떤 것도 확실하게 정해진게 아니기 때문이다.=> 그래서 (테오의 발제자료처럼) 일단 기능 기반으로 하고 그 다음에 점차 분리 및 적용하는게 좋을 듯 하다!
챕터 셀프회고
클린코드: 읽기 좋고 유지보수하기 좋은 코드 만들기
결합도 낮추기: 디자인 패턴, 순수함수, 컴포넌트 분리, 전역상태 관리
응집도 높이기: 서버상태관리, 폴더 구조
리뷰 받고 싶은 내용이나 궁금한 것에 대한 질문