January 24, 2022
<aside>
👨🏻💻 팀이 모여서 토론이 필요한 팀 별 과제입니다.
기업과제(d)를 시작하기 전에 아래 주제에 대한 토론을 하시고, 과제가 끝난 후 다시 모여 노션에 정리해주세요.
줌, google meets 등으로 온라인 만남이 필수로 요구됩니다.
</aside>
-
주제: CRA Project Structure
- CRA로 만든 프로젝트의 폴더구조는 참 다양합니다. 어떤 폴더구조로 프로젝트를 진행하셨나요? 왜 그렇게 나누었는지, 그리고 해당 구조의 장점과 단점은 무엇인가요?
- 정민형 :
공식적인 단어를 선택하기 위해서 아래 참조링크의 ‘리액트 공식 문서 추천 구조'를 참조하였습니다.
저는 프로젝트를 진행할때 ‘파일의 기능이나 라우트에 의한 분류’ 방법을 사용해서 파일 구조를 정하였습니다.
-
김선명 :
- 프로젝트의 아키텍쳐 구조를 정하는 목적은 개발팀이 장기적으로 생산성을 올릴 수 있게 하기 위해서입니다.
- 참조
- 많이 사용되는 폴더구조나 개념에 대해서 설명된 링크입니다.
- https://blog.openreplay.com/react-architecture-patterns-for-your-projects
- 온보딩 기간동안 View나 Model을 재활용 할 일은 없어 보이기 때문에 Controller에 신경을 쓰는게 효율적으로 생각됩니다.
-
이현명 : 사용하는 기능별로 컴포넌트 분리
출처
<aside>
💡 src
/components
/App
/index.js
/test.js
/List
/index.js
/test.js
</aside>
-
민무길 :
View 와 Controller는 분리되어야 한다고 생각합니다. View는 Components폴더에, Controller는 Containers폴더로 분류하는것이 적당하다고 생각합니다.
<aside>
💡 src
App.js
/Containers
/CalculatorContainer.js
/Components
/CaculatorComponents.js
/utils
/api.js
...
</aside>
-
주제: CSS 작성 방법
- React에서 많이 사용하는 CSS 작성 방법은 Styled Component, SASS, CSS Modules 등이 있습니다. 어떤 방식을 선택하셨나요? 선택한 방법의 편리한 점은 무엇이었나요?
-
정민형 :
-
Styled Component :
- CSS의 컴포넌트화로 스타일시트의 파일을 유지보수 할 필요가 없다. CSS 모델을 문서 레벨이 아닌 컴포넌트 레벨로 추상화한다. (모듈성)
- JavaScript와 CSS 사이의 상수와 함수를 쉽게 공유 할 수 있다. 예를 들어, React에서는 props를 활용한 조건부 스타일링이 가능하다.
- 현재 사용중인 스타일만 DOM에 포함한다. 컴포넌트 간 CSS 충돌이 없다.
-
Tailwind CSS :
- 랩핑 태그의 클래스명을 사용할 일이 거의 없으므로
container, wrapper, inner-wrapper와 같은 클래스명을 고민하지 않아도 된다.
- 모든 곳에서 동일한 색상이나 사이즈, 간격 등의 유틸리티 클래스를 사용하므로 일관된 스타일로 구현하기가 수월하다.
- emotion이나 styled-components 와 같은 CSS-in-JS 라이브러리와 함께 사용할 수 있다.
-
김선명 :
- Git 별 개수로 판단해보았습니다.
- SC 35k sass 13k cssmodules 15k tailwindcss 52k
- tailwind 는 예시에도 없고 저는 써봤기때문에 styled component를 선택했습니다.
- 장점
- css 파일을 밖에 두지 않고, 컴포넌트 내부에 넣기 때문에, css가 전역으로 중첩되지 않도록 만들어주는 장점이 있습니다.
-
이현명 :

- 민무길 :
- Styled-Compoent
- Tailwind
-
주제: Commit Message
- 팀별로 Commit Message 템플릿 정하셨나요? 어떻게 정하셨는지, 왜 그렇게 하셨는지 알려주세요.
-
정민형 :
- 교육자료에서 제공해주신 'Udacity Git Commit Message Style Guide’를 사용해보는 게 어떨까 합니다.
- 특히 커밋메세지를 영어로 작성하기 보다는 네이버, 토스와 같이 타입(feat, fix, docs, ...)를 제외한 나머지를 한글로 작성해서 가독성을 높이면 좋을 것 같다는 생각을 했습니다.
-
김선명 :
- Udacity style 을 추천합니다.
- 원래 쓰던건데 아직 이것도 못외움
-
이현명 :
commit message
- 제목과 본문을 한 줄 띄워 분리하기
- 제목은 영문 기준 50자 이내로
- 제목 첫글자를 대문자로
- 제목 끝에 . 금지
- 제목은 명령조로
- 본문은 영문 기준 72자마다 줄 바꾸기
- 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기
커밋메세지
```jsx
# <타입> : <제목> 형식으로 작성하며 제목은 최대 50글자 정도로만 입력
# 제목을 아랫줄에 작성, 제목 끝에 마침표 금지, 무엇을 했는지 명확하게 작성
################
# 본문(추가 설명)을 아랫줄에 작성
################
# 꼬릿말(footer)을 아랫줄에 작성 (관련된 이슈 번호 등 추가)
################
# feature : 새로운 기능 추가
# fix : 버그 수정
# docs : 문서 수정
# test : 테스트 코드 추가
# refactor : 코드 리팩토링
# style : 코드 의미에 영향을 주지 않는 변경사항
# chore : 빌드 부분 혹은 패키지 매니저 수정사항
################
1. 민무길 :