활동 내용
- 활동 기간: 23/02/09 ~ 23/03/06
- 주 2회 총 8회차 진행
- 1~4회차 - 제시한 React 키워드를 클래스 전에 학습해오고 관련 미션을 수행
- 5~8회차 - 팀 프로젝트 진행
활동 자료
팀 프로젝트에서의 역할, 기여한 부분, 성과
팀장을 맡았고, 이전에 팀 프로젝트 경험이 있어서 활발한 소통이 이루어지고 협업을 진행하는데 많은 도움을 준 것 같다.
소통을 중요시하게 생각해서 톡방에 자주 진행 상황을 여쭤 보았고, 구현한게 있으면 PR을 올려달라고 했다. 이렇게 계속 팀원들 간 코드를 업데이트를 했고, 그 덕에 프로젝트 진행하면서 충돌과 같은 문제가 발생한 일이 별로 없었던 것 같다.
그리고 막히는 점, 궁금한 점을 계속해서 물어보았다. 그래서 zoom으로 화면 공유하면서 같이 해결해 나갔다.
개발은 주로 글쓰기 페이지를 담당했고, 팀원들이 도움을 요청한 부분도 도와드렸다.
팀원들이 나를 바라본 이미지 및 장점
계속해서 진행 상황을 물어보고 요구사항도 부탁드려서 좀 귀찮게 하지 않았을까? 라는 생각이 들었다. 그리고 팀원이 막히는걸 물어보셨을 때 zoom으로 호출시켰었는데, 너무 굳이 일을 벌이는건가? 라는 걱정도 들었는데, 오히려 후에는 먼저 zoom 되냐고 여쭤보시고, 화면 공유를 통해 바로 해결할 수 있었어서 잘 했던 것 같다.
마지막 소감 시간 때 다들 정말 좋은 시간이었다고 말씀하신 것과 팀원들이 나에게 감사했다고 말씀해주신 것을 보면 그래도 좋은 팀장이었던 것 같다!
배운 점, 느낀 점, 깨달은 점
사실 이 클래스를 신청하기 전에는 매우 걱정이 많았다. 나는 React를 약 1년 반 전인 1학년 여름방학 때 처음 발을 담갔었는데 그 때 너무나 큰 역경을 겪었기 때문이다. 그 때는 개발이라는 것을 입문한지 두 달정도 됐을 때였다. 아무리 강의를 반복해서 듣고 구글링을 해도 state가 도대체 뭐고 왜 React를 써야 하는지 정말 이해가 안됐었다. 심지어 웹 프론트엔드의 괴리감을 느끼고 자신감이 매우 떨어져 그 이후로는 방황을 했다.
그러다 작년 종강하고부터 다시 정신차리고 웹 프론트엔드를 제대로 공부하자 싶어 JS 문법을 깊게 공부하기 시작했고, 그러다 우연히 이 클래스를 발견했다. 그런데 앞서 말했듯이 신청하기 전에는 매우 걱정이 많았다. 아무리 React ‘입문’ 클래스라 해도 1학년 때 데인게 너무 컸고 무서웠기 때문이다. 그래서 JSCODE 상담 채널에 과연 내가 참여할 수준이 되는지 확실히 알고 싶어 나의 상황 설명하고 궁금한 점들을 여쭤봤는데 되게 긍정적으로 친절히 답장해주셔서 용기를 갖고 신청하게 되었다.
그렇게 1달 수료를 완료하고, 나는 React에 자신감을 갖게 되었고 앞으로 어떻게 공부해나가야 할지 도움도 얻었다.
원래의 나는 약간의 완벽주의 성향으로 하나의 강의나 책을 정하면 그것을 챕터 순서대로 공부하며 완벽히 이해할 때까지 넘어가지 않은 성향이 있었고 넘어가더라도 찝찝해 했다.
그런데 이 클래스를 통해 단기간 동안 제시된 키워드를 공부하고 미션을 수행하는 과정에서, 개념으로만 이해하기에는 어려웠던 것을 어떻게 응용해야할 지 알 수 있었다. 그 덕에 팀 프로젝트도 원활히 수행할 수 있었던 것 같다.
멘토님도 이 완벽주의 성향을 내려놓는 학습법에 대해 말씀해 주셨는데, 그 말씀과 이번 클래스 활동을 통해 꽤 많은 도움을 받은 것 같다.
그리고 남의 코드를 보는 게 많은 도움이 된다는 것을 알게되었다. 프로젝트 할 때 팀원들의 코드를 보면서 ‘아 이건 이렇게 구현할 수 있겠구나’ 생각이 들며 내 코드에도 적용할 수 있었다.
프로젝트를 몇 번 진행해봤지만, 체계적으로 진행한 경험은 없었다. 이번 프로젝트를 통해 Git flow나, Git 컨벤션, 디렉터리 구조 등 지켜야할 규칙을 사전에 정하고, 어떻게 쓰는건지 궁금했던 PR도 해보면서 팀 협업 경험치를 쌓을 수 있었다.
마지막으로, 외부적으로 팀장을 맡은 건 처음이어서 좀 걱정이 많았는데 우리 팀원들이 되게 열정적으로 잘 참여해줘서 너무 감사하다. 덕분에 팀 프로젝트도 즐겁게 할 수 있었고 끝까지 잘 마무리하며 진행할 수 있었던 것 같다!
힘들었던 점 → 극복 및 대처한 방법
데이터 저장 및 처리(DB) 부분을 원래라면 백엔드가 구현해야하는데, 우리 프로젝트는 프론트로만 이루어져 있어서 초반에 이 부분에서 어떻게 구현해야할 지 꽤나 어려움을 겪었었다. 구글링을 해보면 api 통신, json, DB 등.. 내가 아직 자세히는 모르는 용어들 천지라 뭐부터 검색해서 공부해야하지 막막했었다. 그러다가 결국 멘토님께 여쭤봤는데 useContext로 해결할 수 있는 문제였다.
useContext를 개념으로만 알았는데, 직접 써보면서 언제 써야할 지 알게되었고, 덕분에 다른 기능쪽을 구현할때도 useContext를 유용히 써먹을 수 있었다.
또, 프로젝트가 어느정도 완성이 되어가고 내가 글 수정하는 기능을 추가적으로 구현하기로 했는데 잘 안됐다. 계속 논리적으로 어떻게 구현해야할 지 떠오르지 않아서 결국 팀원들 중 한분께 부탁을 했고, PR 올리실 때 구현하신 코드를 꼼꼼히 보고 궁금한 점을 물어봐서 어떻게 구현하는 지 알 수 있게 되었다. 그 과정에서 팀원들 코드도 보며 전반적인 코드 흐름을 파악하는 것의 중요성과 코드 리뷰의 중요성을 느꼈다.
아쉬웠던 점, 반성하고 싶은 점 → 앞으로 더 나아지기 위한 각오 및 다짐
4회차 미션 키워드인 useReducer, useMemo, useRef를 사용하지 못한게 아쉽다. 사실 4회차 미션은 클래스 시간에 해당 키워드들이 이해가 되지 않은 상태여서 수행하지 못했다. 필수 제출이 아니고, 당장 프로젝트를 준비해야 한다는 생각에 수행하지 못했다. 그래도 프로젝트 진행하면서 시간을 내서 해보려고 했는데.. 그러지 못했다.
그래도 useContext는 멘토님께 프로젝트 관련 질문을 했을 때 그것에 대한 해결책이었어서 직접 적용해보면서 언제 어떻게 사용해야 하는 지 어느 정도 알게 되었다.
이로써 직접 구현해보며 적용하는 연습이 중요함을 느꼈다. 이제 활동이 마무리 됐으니 앞서 말한 키워드들과 더불어 실무에서 자주 쓰이는 키워드들을 학습하고 직접 적용해보는 연습을 해볼 생각이다.
그리고 기본적인 개발 규칙은 정했지만, 파일 명이나, 컴포넌트를 어떤 방식으로 선언할 것인지 등 팀원마다 다르게 작성하는 부분도 있어서 코드를 합칠 때 통일되지 않은 감이 있었다. 리펙토링을 통해 수정을 했지만 다음에 프로젝트를 한다면 초반에 더 시간을 많이 투자해서 정해야할 건 다 정하고 시작해야겠음을 느꼈다.
'회고 & 생각' 카테고리의 다른 글
글또 10기 시작, 그리고 함께 안고 갈 목표 (4) | 2024.10.13 |
---|---|
글또 9기 시작 (0) | 2023.12.10 |
글또 8기를 시작하며 (0) | 2023.02.12 |