<aside> ⭐ 학습목표
<aside> 💬 TIL
프로젝트 구조와 폴더 구조에 대해 알아보는 시간을 가졌다. 평소에 어떤 폴더 구조가 프로젝트를 위한 최적의 폴더 구조일까 궁금했었다. 공부를 하다보니 최적의 폴더 구조는 프로젝트마다 다르고, 이건 경험에 의해 얻어지는 것이 아닐까 라는 결론에 이르렀다. 이번 강의에서도 멘토님의 경험에 따라 폴더 구조를 어떻게 정의하게 되었고, 결국에는 feature를 기반으로 한 폴더 구조를 정립한 것에 대한 경험담과 조언(?)을 들을 수 있어서 의미있었다.
“모노레포”라는 개념에 대해서도 알게 되었다. 모노레포를 사용하면 하나의 Repo 안에 여러개의 프로젝트가 존재해서 중복된 코드를 줄이고, 프로젝트는 보다 효율적으로 관리할 수 있다. 모노레포를 도입한 서비스가 꽤 있다고 들은 것 같은데, 이전에는 그 개념에 대해 너무 멀게 느껴졌다면 지금은 한발짝 다가간 느낌이다. 물론 이론적인 설명보다는 경험해봐야 알 것 같다.
함께 학습한 Submodule이라는 개념은 처음 알게 되어서 그런지 익숙치 않았다. 서브모듈이란 Git 저장소 안에 다른 Git 저장소를 디렉토리로 분리해서 넣은 것으로, 서브모듈을 사용하면 특정한 Git 레포지토리를 다른 레포지토리의 하위 디렉토리로 사용할 수 있으며 이를 활용한 여러 장점이 있는것 같았다.
이번에도 역시 이력서 피드백은 많은 도움이 되었다. 자세하고, 많은 부분들을 언급해 주셔서 좋았다. 오늘도 역시 트러블 슈팅과 그러한 부분을 기반으로 하는 블로그 작성의 중요성을 많이 강조하셨다. 나도 블로그는 작성하고 있지만 트러블 슈팅과 같은 관점에서는 작성해본 적이 그리 많지 않다. 프로젝트를 하며 회고록을 위주로 작성했는데, 이는 내 경험과 생각, 프로젝트 전체 과정 위주의 일기같은 기록이었기 때문에 개인적으로는 글을 작성하며 생각도 정리하고 과정도 정리하며 도움이 되었지만 이력서나 면접에서 효과적일지는 잘 모르겠다.
개발적인 내용을 일목요연하게 볼 수 있고, 문제 발생과 해결과정을 또한 작성해보도록 노력해 봐야겠다.
Q. 누군가 질문했던 개발 컨퍼런스 정보 및 일정은, 아래 참고!
https://github.com/brave-people/Dev-Event
</aside>
📖 table of contents
👩🏻💻 example
➡︎ 평면적인 구조로, reducer는 action과 관련된 코드인데 멀리 떨어져있다.
➡︎ 현업에서 쓰이는 폴더구조
➡︎ feature별로 나눠보자.
참고로 constants 폴더는 상수값을 따로 보관하는 폴더로, 따로 만들어 사용하는 것을 권장한다.