# 빌드 설정 - CRA - 장점: CRA가 오래돼서 비교적 대중화되어있음. - 단점: vite에 비해 느림. - vite - 장점: 경험이 있다. 속도에 이점이 있음. - 단점: CRA에 비해 대중화되어있지 않음. ## 결론 - vite를 사용하기로 결정. # 패키지 설정 - npm - 장점: 경험이 있다. 대중화되어 커뮤니티가 활성화. 지원하는 기능이 많음. - 단점: pnpm에 비해 느림. - pnpm - 장점: npm에 비해 빠름. - 단점: npm에 비해 대중화되어있지 않음. ## 결론 - npm을 사용하기로 결정. # 스타일링 - scss - 장점 - 강의가 있다. - 재사용면에서 유리. - 별도의 파일로 관리가 가능. - 한번 의견을 통합하면 그 이후 수월할 수 있음. - 단점 - 파일 분리에 대한 분기점 의견 통합이 별도로 필요. - 커뮤니티 활성화가 비교적 떨어짐. - styled-component - 장점 - css의 본질에 변화가 없음. - 다른 스타일링은 경험이 있기 떄문에 학습을 위해 하는 것이 좋을수 있음. - 단점: 컴포넌트 분리에 용이하지 않다. 인라인 가독성이 낮아짐. - tailwind - 장점: 컴포넌트 분리에 용이. - 단점: 중복 문제가 발생. ## 결론 - styled-component를 사용하기로 결정. # 상태 관리 - redux toolkit - 장점 - 비교적 보일러 플레이트가 낮음. - 짜여진 틀이 있다는 것이 오류를 발견할 수 있는 이점. - 단점: 오류가 발생했을 떄 해결이 어려울 수 있다는 단점. - recoil - 장점: 사용하기 쉬움. - 단점: redux가 학습과 취업에 유리. - Context API - 장점: 프로젝트 규모가 작기 떄문에 redux와 같은 무거운 설치가 필요없음. - 단점: redux가 학습과 취업에 유리. ## 결론 - redux toolkit을 사용하기로 결정. # 네트워크 - axios - 장점 - 서버리스 환경에서 사용하기 좋음. - 이미 경험이 있음. - 단점: fetch에 비해 무거움. ## 결론 - axios를 사용하기로 결정. # 배포 - Vecel - 장점: 이미 경험이 있음. - 단점: netlify에 비해 대중화되어있지 않음. ## 결론 - Vecel을 사용하기로 결정. # 깃 관리 - Git Flow - 장점: 충돌에 대한 방안을 마련할 수 있음. - 단점: 너무 복잡한 규칙때문에 처음 깃관리를 하는 사람들에게는 어려울 수 있음. - Github Flow - 장점: 간단한 규칙이기 때문에 처음 깃관리를 하는 사람들에게도 쉬움. - 단점: 충돌에 대한 방안을 마련할 수 없음. ## 결론 - Git Flow를 사용하기로 결정.