주차별 회고는 4F 방식으로 기록하고자 한다.
- 사실(Fact) : 한 주에 어떤 내용을 학습했고 어떤 학습 방법으로 개념을 이해하고 과제를 해결했는지 작성
- 감정(Feeling) : 한 주의 코스 과정을 학습하면서 느꼈던 감정을 솔직하게 기록
- 발견(Finding) : 학습하면서 무엇을 깨달았고, 시도해본 학습 방법에 대해서 개선이 필요한 부분을 발견했다면 발견 항목에 기록
- 다음주를 위한 행동(Future Action) : 위의 회고 항목을 통해서 당장 다음주에 적용해 볼 학습 방법이나 조금 더 학습이 필요한 내용, 커뮤니케이션 방식 등을 기록
작성일자: 2022/04/15
7주차 학습 내용
[React] 상태 관리
[CLI] 심화
[데이터베이스] 관계형 데이터베이스
[Toy 알고리즘] 8-12
React 상태관리 + Redux + 비동기 액션
CLI 사용권한, 환경변수 + nodejs dotenv
Sprint - Cmarket Hook / Cmarket Redux (장바구니 담기 구현 Hook버전, Redux 버전)
Sprint - Learn SQL / MySQL / Schema & Query Design
Toy 알고리즘 세 곱의 최댓값, 거듭제곱 O(logN), 이진탐색(binary search), 가능한 모든 부분집합, treeBFS
체감 난이도 : 1 2 3
사실 (Fact)
상태관리를 도와주는 Redux
그동안 React 실습을 하면서 느낀 의문점들을 해결해주는 존재를 알게됐다. 상태 관리 라이브러리인 Redux에 대해서 배웠다. 관리해야할 상태가 많아질 수록 이걸 다 자식 컴포넌트로 props를 보내줘야하는 건가, 너무 비효율적이고 복잡하지 않나, 다른 방법이 분명 더 있을 것 같은데 이게 맞나, 하는 생각이 들었는데. 역시나 선배 개발자들은 이미 비슷한 고민을 공유하고 있었고 이를 개선할 수 있는 앱을 만들어뒀다. 사용법은 낯설었지만 Redux가 만들어진 이유와 목적에 초점을 맞추고 학습하다보니 개념 자체는 어렵게 다가오지 않았다.
리액트의 핵심 원칙 중 하나인 불변성을 지키기 위한 문법도 정리했다. 그동안 object spread만 사용했는데, Object.assign 방법도 있다는 것을 알게됐다. 둘의 차이점을 노션에 정리해두었고, 나중에 따로 블로그에도 옮기려고 한다.
환경변수 파일 관리
PC에 저장된 환경변수를 확인하고, 불러오고, Node.js에서 환경변수를 영구적용하는 방법을 배웠다. 인증되지 않은 사용자에게 노출되면 안 되는 데이터를 환경변수를 통해 관리할 수 있다. 간단한 실습과 DBMS연동 실습에서 이를 간단하게 체험해보는 식으로 학습했다.
DB(MS) + SQL
데이터베이스는 처음 접해보는 내용은 아니었지만, 남에게 설명해줄 수 있을 정도로 숙달된 상태는 아니었다. 중간중간 비어있는 개념들을 채우고 머릿속 헷갈리는 내용을 차근히 정리해가는 방식으로 공부했다. 데이터베이스는 남에게 가르쳐줄 수 있을 정도로 익혀야하는 기본 지식이기 때문에 정리해놓은 내용을 주기적으로 복습할 것이다. SQL query문은 w3school 사이트와 MySQL로 혼자 기본적인 실습을 해보고 Sprint과제에서 다뤄보는 식으로 연습했다. SQL query문은 직접 쿼리문을 짜지 않아도 되게끔 도와주는 라이브러리들이 있어서 대충 공부했었던 전력이 있는데, 이 기회에 기초를 다시 제대로 쌓을 수 있었다.
느낌 (Feeling)
좋다!
봄이라서 자꾸 나가서 놀고싶어서 몸이 근질거리긴 한다... 나가서 놀기엔 양심의 가책을 느끼고, 그냥 집에서 조금만 쉬어볼까하고 침대에 누우면 금새 지루해진다. 나름 7주간 몰입해서 공부하긴 했던 모양인지, 공부를 안 하면 허전하고 심심한 기분이 드는 것 같다. 좀 미친 것 같다...ㅎ 분명 부캠을 시작하기 전까지만 해도 번아웃이 와서 자신도 없고 그랬는데... 부캠을 시작하길 잘했다. 확실히 공부해야할 방향성은 제시해주면서 학습의 자유도는 높은게 내 성향과 잘 맞는다. 내 실력이 절대적으로 우수하냐고 묻는다면 그렇다고 말할 수는 없다. 다만 중요한 건 시작하기 전보다는 늘었다는 것, 그리고 개발이 다시 재미있게 느껴진다는 것. 독학하겠다고 혼자서 이것 저것 건드릴 때는 금방 흐지부지되기 십상이었다. 그동안 허비된 시간이 얼마인지... 역시 사람은 함께할 사람이 필요하고, 어느정도 강제성이 있어야 능률이 오른다...
발견점 (Finding)
나만의 프로젝트를 시작해봐야할 것 같다
Sprint 과제가 끝나고 전체적으로 다시 코드를 뜯어보며 공부하는 방법은 확실히 실력향상에 도움이 되는 방법이었다. 이제는 코드분석에서 더 나아가, 틀이 주어지지 않은 상태에서도 코드를 작성할 수 있게 연습해야할 시기인 것 같다. 누군가가 그려둔 스케치 위에 색칠을 해봤으니, 이제는 흰색 도화지에 내가 직접 스케치를 그릴 수 있어야 한다. Sprint 과제보다 구조가 더 간단하더라도 A to Z 코드를 짜보는 건 좋은 경험이 될 것이다. 정체되지 않고 성장하는 사람이 되자.
다음주를 위한 행동 (Future Action)
간단한 동작을 하는 웹 앱을 만들고 Node.js와 mysql을 직접 연동해보자. 그리고 Toy 문제 풀이에 사용된 알고리즘 이론을 정리하고, Nodejs로 짰던 코드들을 파이썬과 C++로도 작성해보려고 한다. 이전에 코테 언어로 C++을 선택하고 준비하려고 한 적이 있으나, 시간이 좀 많이.. 지난 상태고 개념이 많이 잊혀진 상태라서 다시 선택하는 시간이 필요할 것 같다. 같은 문제를 여러 언어로 작성하다보면 나와 맞는 것을 찾을 수 있을 것이다.
'Codestates BEB 4기' 카테고리의 다른 글
[코드스테이츠 블록체인 부트캠프 4기] 6주차 회고 (0) | 2022.04.15 |
---|---|
[코드스테이츠 블록체인 부트캠프 4기] 5주차 회고 (0) | 2022.04.15 |
[코드스테이츠 블록체인 부트캠프 4기] 4주차 회고 (0) | 2022.04.15 |
[코드스테이츠 블록체인 부트캠프 4기] 2-3주차 회고 (0) | 2022.04.15 |
[코드스테이츠 블록체인 부트캠프 4기] 1주차 회고 (0) | 2022.04.15 |