4주 차 주간 회고
한 일
- Redux에 대해 배우기
- 과제 1 : To-do TDD로 리덕스 적용하기
- 과제 2 : 레스토랑 저장 앱 TDD로 구현하기
- 개인 포트폴리오 페이지 작업 시작
배운 점
- TDD를 아주 작은 단위부터 시작하는 법을 익혔다.
- 알고리즘과 설계의 중요성을 체감했다.
- hooks를 이용해 Redux를 사용하는 법을 배웠다.
느낀 점 & 자기 선언
이번 주는 모든 시간을 과제를 풀어나가는 데에 집중하는 한주였다. redux를 개념 정도만 약간 알고 있었지만(나름 전에 공부했다고 생각했는데 적용에 익숙해지지 않은 것은 아는게 아니다라는걸 강의를 따라가다가 다시 또 혼자 뼈 맞았다.) 강의를 듣고 이렇게 저렇게 적용해보면서 익숙해 갔고 (특히 TDD로 적용시켜 보는 게 이해하는 데에 정말 도움이 많이 됐다.) 나름 TDD와 Redux에 잘 익숙해졌다 싶을 때 두 번째 과제로 레스토랑 예약시스템 앱을 만들면서 다시 혼란에 빠졌다.
TDD로 코드를 작성한다는 것은 내가 작성하는 코드의 의도와 방향 방법을 모두 인지한 상태로 해야 한다는 것을 하나하나 진행해가면서 느꼈다. 내 상태의 구조가 상태 데이터를 받아와 컴포넌트들을 구성하기 편리한지, 변경하기 편리한지, 또 어떤 알고리즘을 통해 변경시켜야 더욱 효율적인지 고민하는 그 자체도 큰 어려움이었다. 이걸 처음부터 확실히 계획하고 시작하지 않아서 중간중간 계속해서 수정을 거쳐야 하고 그에 따르는 시간낭비와 또 수정하면서 생기는 오류들의 위험성은 엄청난 비효율로 다가왔다. 여러 번 뼈를 세게 맞고 순살이 되어가며 알고리즘과 자료구조에 대한 필요성을 알게 되어 이제는 진짜 알고리즘을 소홀히 해서는 안 되겠다는 생각을 뼈에 새겼다. ㅎㅎ 아무리 바빠도 매일 한두 문제씩은 꾸준히 풀어볼 것이다.
처음에 List와 ListContainer를 완성할 때 까지는 테스트를 모두 작성하고 코드를 모두 구현하고 다시 보면서 부족한 수정사항을 수정한다.라는 느낌으로 TDD를 진행했었는데 윤석 님의 조언을 듣고 정말 작은 단위로 TDD를 진행하기 시작했다. 작은 단위의 TDD를 진행한다는 건 정말 큰 인내심을 요한다. 하지만 큰 뭉터기로 한 번에 구현을 하는 것보다 더 내가 적는 한 줄 한 줄의 코드의 의미와 역할을 정확히 할 수 있어서 완성을 하고 보니 "이 코드를 무엇을 위해 작성했는지 설명할 수 있을 만큼 내가 이 앱의 전체를 알고 있다"라고 말할 수 있는 자신감이 생겼다. 이번 주에 배웠던 교훈들을 잊지 말고 앞으로의 과제와 프로젝트에서도 잘 적용시켜나가야겠다.
'코드숨' 카테고리의 다른 글
20201101 코드숨 6주차 회고 (0) | 2020.11.01 |
---|---|
20201024 코드숨 5주차 회고 (0) | 2020.10.25 |
20201011 코드숨 3주차 회고 (0) | 2020.10.11 |
20200927 코드숨 2주차 회고 (0) | 2020.09.27 |
20200920 코드숨 1주차 회고 (0) | 2020.09.20 |