오늘 한 일 :
1) 웹팩 공부
2) 항해 99 수료
3) 항해사람들과의 수다
4) 스파르타코딩 구현과제
1)웹팩 공부 :
오늘에서야 웹팩을 본격적으로 공부하기 위한 기초단계가 끝난 느낌이다. 내일부터 모레까지는 스파르타코딩의 구현과제를 하겠지만, 월요일부터는 다시 본격적인 공부를 할 차례다
2)항해 99수료 :
드디어. 99일간의 항해가 끝나고 수료식을 했다. 이 시간이 어떻게 지나갔는지도 모르겠다. 정말 항해 99에서 느꼈던것도 많고, 할 말도 많지만 이건 아예 따로 항해 99에 대한 리뷰로 남겨놓는 것이 좋을 것 같다는 생각이 든다.
3)항해사람들과의 수다 :
항해가 끝나고 사람들과 오랜만에 두런두런 모여서 대화를 나누는 시간을 가졌다. 각자의 고민과, 지금까지 보내왔던 시간에 대한 이야기를 나누었다.
4) 스파르타코딩 구현과제 :
우선 스파르타 코딩에 지원을 했고, 구현과제를 받았다. 구현과제는 스파르타코딩의 강의페이지와 영상시청 페이지를 구현하는 것이었다. 나는 실전 프로젝트를 회고해보면서 이번에는 도전해보고 싶은 것이 있었다. 조금 더 깔끔한 방식으로 컴포넌트를 구성하는 것이다. 재사용 가능한 컴포넌트를 만들고, 폴더의 구조를 깔끔하게 구현하고 싶은데, 이것을 위해서는 디자인패턴의 도움을 받을 필요가 있었다. 그
래서 오늘은 디자인 패턴에 대해서 계속 찾아봤다. 물론 구현과제에서도 solid원칙을 적용하라는 요구사항을 받았다. solid 원칙 중에서, 단일책임원칙과 인터페이스의 분리 원칙을 적용하라고 했는데, 이 말을 내가 정확하게 이해했는지는 모르겠지만. 검색하고 찾아본 결과 리액트에 적용해 간단하게 말하자면, 하나의 컴포넌트에서는 하나의 의미만 갖도록 하라는 것이라고 이해했다. 음 디자인 패턴을 효율적으로 잘 구현하면, 어쩌면 solid 원칙도 녹여낸 것이라고 할 수 있을까? 아직 내가 디자인 패턴이나, 객체지향의 원칙이나 둘다 이해도가 낮아서 어떻게 해야할지는 잘모르겠다는 생각이다.
리액트의 디자인 패턴을 찾아봤을 때는 크게 두가지 디자인 패턴이 잇었다. atomic pattern과 Presentational and Container Component Pattern 이다. 아토믹 패턴이 좋아보였지만, 계속 찾아볼 수록 단점들이 눈에 들어왔다. 어떤 점에서는 직관적으로 느껴지긴 했으나, 각각의 단계를 실제로 어떻게 적용할지가 너무 애매하게 느껴졌다. 그 기준이 애매하게 다가왔던 것이다.
반면 Presentational and Container Component Pattern는 비교적 깔끔했다. ui에 보여질 것과 기능과 관련된 로직. 이렇게 두가지로 구분하면 되는 것이었다. 그래서 우선은 조금 더 쉬워보이는 Presentational and Container Component Pattern을 적용해보기로 했다. 그래도 폴더 구조를 어떻게 잡아야할지 감이 안와서 검색에 검색을 거치다가 결국 좋은 예제가 담겨있는 글을 찾았다.
https://vallista.kr/2020/03/29/Component-%EB%B6%84%EB%A6%AC%EC%9D%98-%EB%AF%B8%ED%95%99
컴포넌트 분리의 미학
개발을 하다보면 정답이 없는 오묘한 문제가 발생합니다. 이 문제는 잘 잡지 않으면 유지보수에 큰 영향을 주지만 정답은 없습니다. 항상 탐험해야하는 문제에 해당하죠. 이 문제는 바로 SoC(Separ
vallista.kr
이 글을 참고하면서, 이번에는 폴더 구조를 나름 깔끔하게 구성하면서 개발을 해나가볼 생각이다.
그저 목표이지만 이번 구현 과제에서 디자인 패턴, 웹팩, 리덕스 사가까지 구현할 수 있다면 내 입장에선 많은것을 배울 수 있는 시간이었다고 말할 수 있을 것 같다.
'TIL(Today i learned)' 카테고리의 다른 글
[20210914_TIL] 프론트엔드 개발자로서 나의 비전 (0) | 2021.09.15 |
---|---|
[20210913_TIL] (0) | 2021.09.14 |
[20210909_TIL] (0) | 2021.09.10 |
[20210907_TIL] (0) | 2021.09.08 |
[20210906_TIL] (0) | 2021.09.07 |