Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 지연환가료
- 미국영어연음
- 40HQ컨테이너40GP컨테이너차이
- 자켓실측
- 40HQ컨테이너
- 요척합의
- 웹API
- 영어시간읽기
- 우레탄지퍼
- 미니마카
- 봉제용어
- 엑셀드래그단축키
- AATCC
- 슈퍼코딩
- 필터링후복사붙여넣기
- Armhole Drop
- TACKING
- 핸드캐리쿠리어차이점
- 비슬론지퍼
- 고급영어단어
- 비리짐
- 엑셀필터복사붙여넣기
- 헤이큐
- MERN스택
- WHATTIMEOFTHEDAY
- 나일론지퍼
- 와끼
- 엑셀자동서식
- 클린코드
- 암홀트롭
Archives
- Today
- Total
CASSIE'S BLOG
[슈퍼코딩] 1차 피드백 본문
FE 1차 Project 해설 강의 자료
<aside> 💡 OVERVIEW
</aside>
클론 프로젝트 해설
- 프로젝트 의도
- 피드백
- 다음 프로젝트 전 준비사항
<aside> 💡 LECTURE
</aside>
프로젝트 의도
- 우리가 실제 서비스에서 사용하는 동작을 동일하게 구현할 수 있는가
- 간단한 동작들처럼 보이지만, 실제 구현은 간단하지 않은 경우도 많다.
- 어떤 기능을 보고 이 기능을 구현하는데 얼마나 걸릴지 일정을 올바르게 산출할 수 있는가
- 실제 현업에서는 없는 서비스를 새로 만들어야 하는데 그 일정을 미리 예측해서 동료에게 전달해야 한다.
피드백
코드베이스 관련
- Git 브랜치 전략에 맞게 커밋, 푸시, PR을 작성하고 리뷰를 통해 코드를 병합했는가?
- 디렉토리 구조를 MECE하게 잘 구분하였는가?
- Contexts
- Hooks
- Components
리액트 관련
- 리액트 컴포넌트를 재사용성이 가능하게 잘 쪼개서 만들었는가?
- 상태를 디버깅 하기 수월하게 데이터 구조를 설계했는가?
- 불필요한 리렌더링이 여러 차례 일어나지 않도록 최적화를 진행했는가?
- 여러 곳에서 사용하는 커스텀 훅을 응집성 있게 잘 만들어서 사용했는가?
- 비동기 통신을 사용한 경우 async/await 또는 Promise를 적절하게 잘 사용하였는가? 예외 처리도 빠짐없이 잘 해주었는가?
다음 프로젝트 전 준비 사항
- 요구사항 정의 (1) API 데이터 설계 (2) 에픽 – 스토리 – 태스크 (3) 일정 관리
- 비동기 통신(API call) 관련 미흡한 부분 추가 학습 (1) 로딩 (2) 에러 핸들링 (3) 관련한 API call 라이브러리도 살펴보기(e.g. react-query, swr)
<aside> 💡 LECTURE
</aside>
클론 프로젝트 고생하셨습니다!
✅MECE하게
"MECE"는 "Mutually Exclusive, Collectively Exhaustive"의 약어로, 한국어로 번역하면 "상호 배타적이면서 전체를 아우르는" 정도가 됩니다. 이는 구조나 분류를 설계할 때 사용되는 원칙 중 하나입니다.
디렉토리 구조를 MECE하게 구분한다는 것은 각 디렉토리가 서로 중복되지 않고, 전체적으로는 모든 요소를 포괄한다는 것을 의미합니다. 예를 들어, 소프트웨어 프로젝트의 폴더 구조를 설계할 때, 각 폴더가 특정한 역할이나 기능을 수행하며 중복되지 않도록 하는 것이 중요합니다.
예를 들어, 웹 개발 프로젝트에서 아래와 같은 폴더 구조가 MECE하게 설계되었다고 할 수 있습니다:
/project
/src
/controllers
/models
/views
/public
/css
/js
/images
/config
/database
/routes
/tests
이 구조에서 각 디렉토리는 다음과 같은 역할을 수행하며 중복되지 않습니다:
- /src: 소스 코드 관리, MVC 아키텍처를 따름.
- /controllers: 컨트롤러 관련 파일들.
- /models: 모델 관련 파일들.
- /views: 뷰 관련 파일들.
- /public: 웹 페이지에 공개되는 정적 파일들.
- /css: CSS 파일들.
- /js: JavaScript 파일들.
- /images: 이미지 파일들.
- /config: 설정 파일들.
- /database: 데이터베이스 설정 파일들.
- /routes: 라우팅 설정 파일들.
- /tests: 테스트 관련 파일들.
이렇게 구성함으로써 각 디렉토리가 명확한 역할을 수행하며, 전체적으로는 모든 요소를 포괄하고 있습니다. 이는 프로젝트를 유지보수하거나 새로운 개발자가 참여할 때에도 구조를 이해하고 적용하기 쉽게 만듭니다.
반응형
'PROGRAMMING > 프로젝트' 카테고리의 다른 글
Spring Boot Project 기획안 (0) | 2023.11.28 |
---|---|
REACT FIREBASE AUTH & CRUD (0) | 2023.11.28 |
i18n 영어버전 한글버전 포토폴리오 사이트 나누기 (0) | 2023.11.17 |
토글디자인 프로젝트 사이트에 추가해서 배경색 바꾸는 기능 (0) | 2023.11.16 |
보안문제로 비공개 쇼핑몰 PART2 - Shopping API with Stripe & JWT (0) | 2023.11.08 |