본문 바로가기

회고/노마드코더

[노마드코더 React 10주 스터디 회고] 열정 만수르 React 4기

728x90

스터디를 시작한 계기

2024년은 노마드코더와 함께 했다고 봐도 무방하다. 작년 12월에 시작했던 플러터 챌린지를 시작으로 앞으로의 목표를 대학원 진학과 취업에서 고민하다가 점차 마음이 개발자로 기울어져 올해 초에는 클린 코드 북클럽 챌린지까지 참여하게 되었다. 클린 코드 챌린지를 하면서 커리큘럼에 맞춰 꾸준히 공부하면서 공부 습관을 만들 수 있는 노마드코더 챌린지의 장점을 다시 느끼며 프론트엔드 쪽으로 공부를 꾸준히 해보고 싶다는 생각으로 react 10주 스터디 4기를 신청했다. 그리고 프론트엔드 공고를 봤을 때 사용 기술에 아직 써보지 못했거나 익숙하지 않은 기술이 대부분이 었는데 react 10주 스터디에서 해당 기술을 모두 배워볼 수 있겠다는 생각도 들었다.

 

생각보다 할 만 한 것 같은데...살려주세요

쿠파주니어라는 닉네임으로 활동했다

노마드코더에서 챌린지는 많이 해봤지만 10주 스터디는 처음이라 스터디 시작 첫 날에 엄청 떨렸던 것 같다. 스터디에서는 여러 가지 활동을 했다. 매일 스프린트를 작성하고, 사람들과 디스코드에서 모각코를 했다. 처음에 닉네임 첫글자에 '하'를 붙여서 인사를 하는 게 뭔지 몰라서 뚝딱되었던 게 아직도 기억난다.

 

 

또, 조별로 코드 리뷰를 진행했는데 내가 속한 1조에서는 재현님이 코드리뷰를 정말 열심히 해주셨다...재현님 덕분에 코드 리뷰가 뭔지 더 잘 알게 되었다. 나도 재현님이 리뷰해주시는 것을 참고하며 내가 아는 선에서는 코드 리뷰를 해보려고 노력했다. (나중에는 결국 칭찬 남발로 끝났지만ㅎㅎ)

 

아무튼 스터디를 진행하면서 얻은 게 너무 많다. 가장 좋았던 건 좋은 사람들과 네트워킹을 할 수 있었다는 것. 이런 경험을 처음해봤다. 커피챗도 처음 알았고, 펭귄님과 서로 관심사를 이야기할 때도 정말 재미있었다. (처음에 친해지고 싶어서 무리수도 많이 두었는데 … 받아주신 분들 감사합니다…)

 

코어타임 방에서 같이 과제하면서 서로 힘이 되어준 것도 너무 좋았다. 스터디원들이 열심히 하는 모습을 보면서 동기부여도 되고 중간에 과정이 힘들어서 지칠 때도 에너지를 많이 받은 것 같다. 주간회고를 작성하면 서로 응원 문구를 달아주는 것도 너무 따뜻했다… 오프라인 모각코도 만나서 떠들기만 했지만 같은 분야를 고민하는 사람들과 이야기 나눌 수 있어서 너무 즐거웠다. 최고였다!!

 

페이스 조절을 더 잘했더라면

 

매번 강의를 듣고 챌린지 과제와 졸업 과제를 풀어야 하는데 처음에는 일찍 시작해서 일찍 끝냈다가 나중에 갈수록 난이도도 어려워지고 지치면서 밤 늦게 시작해서 새벽에 끝낸 적이 많아졌다...

중간에 학교 졸업도 챙기면서 하다보니 지쳐 한 번 놓친 내용을 따라가기 벅찼다. 그래서 코드 리뷰도 처음에는 열심히 하려다가 뒤로 갈수록 마음만큼 못하게 되었고, 스프린트도 뒤로 갈수록 할 일도 적게 쓰고, 강의도 다 못 볼 때도 있었고, 스스로 부끄러운 점이 많았다.

중간에 페이스 조절을 잘 했으면 조금 더 만족스럽게 스터디를 마무리할 수 있지 않았을까? 작은 후회가 있다.

영혼 갈아넣기

그래도 졸작할 때 주어지는 기간 동안은 정말 졸작 하나에 매달려서 내가 구현하고 싶은대로 만드려고 노력했다. 내가 상상한대로 결과물을 만들어 나가는 과정은 힘들지만 즐거움도 크다. 아래는 스터디를 하는 동안 만든 졸업 작품이다.

 

졸업 작품 1

마블 캐릭터 소개 사이트를 만들어야 했다. 기술적으로 어려운 것은 없어서 내가 좋아하는 애니메이션과 반응형에 신경 써서 만들었다. 차별점을 두고 싶어서 가로 스크롤을 만들었는데, 아쉽게도 트랙패드로는 잘 작동하지 않았다.

졸업 작품 2

이때 영화 소개 사이트를 만들어야 했는데 framer-motion을 쓰는 게 조건이었다. 원래부터 three.js에 관심이 많았는데, framer-motion을 3d에도 적용할 수 있는 것을 알게 되었다. 그래서 three.js 강의를 보면서 직접 모델링한 TV를 R3F을 이용해 화면에 넣고, framer-motion 공식 문서를 보면서 애니메이션을 적용해 주었다. 원래는 영화 리스트가 TV 안에 나타나게 하고 싶었다. 3d 안에 html을 따로 넣는 라이브러리의 문서를 읽으면서 최대한 구현해보려고 노력했지만 실패해서 아쉬웠다. 그래도 구상했던 내용의 80% 정도를 구현할 수 있어서 뿌듯했다.

 

 

졸업 작품 3

이전 졸업 과제에서 3D의 뽕맛(?)을 느끼고, 이번에도 과제에 3D를 적용하고 싶었다. 졸작 주제는 베스트 샐러 책을 보여주는 사이트였다. 책을 3D로 만들어서 직접 책을 펼치는 느낌을 주면 더 재밌지 않을까? 생각했다. 그런데 3D로 구현하기에 three.js를 충분히 공부하지 못해서 그냥 얌전히 2D로 만드려고 했는데... css로도 3d를 구현할 수 있다는 사실을 알게 되었다. 그래서 필요한 내용을 공부한 다음에 css를 이용해 내가 원하는 펼쳐지는 책을 3D처럼 구현했다. 

 

 

 

졸업 작품 4

마지막 졸업 과제는 간단한 sns를 만드는 과제였다. 졸업 과제를 만들면 스터디원들이 사용해볼 걸 알고 있어서 스터디원들이 재미있게 사용해볼 수 있는 sns를 만들고 싶었다. 그래서 각자 랜덤으로 개성있는 캐릭터를 만들어서 프로필을 사용할 수 있게 하고, 작성하는 글을 직접 말하는 것처럼 표현하고 싶었다. 그리고 모든 캐릭터의 눈이 마우스 포인터를 따라다녀서 사용자가 어딜 바라보든 주목받게 만들었다. 졸작을 제출하고 스터디원들이 사용하면서 귀엽다고 해줘서 뿌듯했다. 내가 원하는대로 구현은 했지만 랜더링을 효율적으로 하는 것 같진 않아서 나중에 보완해야겠다고 생각했다.

 

주간 회의

그리고 매주 주간 회의도 참여했는데 졸작할 때마다 서로 발표하고 발표 듣는 게 너무 좋았다. 아이쓰님의 완벽한 마블 캐릭터 소개 사이트에 완벽한 발표, 대훈 교수님의 앵콜 강의, 재현님의 넘사벽 쿠팡 클론, 원장님의 아름다운 벚꽃 애니메이션이 들어간 과제 등등이 기억에 남는다.

나는 3번째와 4번째 졸업과제를 했을 때 발표를 했는데 내가 만들었던 내용을 정리하고 제대로 이해하는 시간을 가질 수 있어서 좋았다. 근데 이때 마지막 졸업 과제 발표는 발표하고 싶은 내용이 따로 있었는데 과제를 하면서 오류가 났던 코드는 정리를 안 해놓고 참고했던 링크들만 저장해뒀더니 내가 공유하고 싶었던 문제 상황과 해결 방법이 뭔지 기억이 안 나서 해당 내용을 공유하지 못해 아쉬웠다. 그래서 발표할 때 너무 부끄러웠다..! 그래도 next.js에서 server action을 사용할 때 custom parameter를 bind 함수를 이용해서 넣는 방법을 소개한 것은 스터디원분이 발표를 들은 뒤에 직접 적용해봤다는얘기를 듣고 도움이 된 것 같아서 뿌듯했다.

 

스스로를 돌아보기

 

아무튼 스터디를 진행하면서 내가 부족했던 여러 부분을 알 수 있었다. 강의를 들으면서는 공부한 내용을 노션에 틈틈이 정리하고 있었지만, 과제를 하면서 트러블 슈팅이나 해결하지 못한 내용은 충분히 정리하지 못한다는 사실을 깨달았다. 그래도 지금이라도 깨달아서 다행이라고 생각했고, 공부를 조금 더 효율적으로 해야겠다는 다짐을 했다. 

그리고 디자이너할 것도 아닌데 자꾸 디자인에 집착한다. 졸작할 때마다 스스로 컨셉짜고 기획해서 뭐 할건데? 기획자나 디자이너할 거 아니잖아? 라는 생각이 계속 들었다. 개발자를 목표로 하면서 내가 고민하고 생각하는 게 개발자로서의 역량을 키우는데 도움이 되는지, 현재의 목표에 부합하는지 따져보며 똑똑하게 공부할 필요성을 느꼈다.

저번에 재현님이 하신 말씀 중에 익숙해지는 것과 제대로 아는 것은 다르다고 말씀하셨는데 나는 이 둘을 같다고 잠시 착각했던 것 같다. 그래서 무작정 많이 같은 코드를 쳐보면 될 수도 있다고 생각했는데 이건 시간도 비효율적이고 끝내 이해하는 것도 아니여서 다시 공부 방향을 점검할 필요성도 느꼈다. 

 

마지막으로

 

다른 사람의 코드와 글을 제대로 읽고, 기술을 깊게 이해한 뒤 그것을 제대로 체득하는데에 스스로 시간 투자를 더 많이 해야겠다고 느꼈다. 그리고 이번에 react.js next.js typescript를 내가 생각한 만큼 깊게 공부하지 못하다 보니 그냥 기술을 여러 개 써본 사람이 된 것 같다. 기술을 얕게 여러 개 사용하는 줄 아는 사람이 아니라 기초를 튼튼한 사람이 되고 싶다. 하나를 깊게 공부할 줄 알면, 나머지를 깊게 공부하는 건 상대적으로 쉬워지기 때문이다.

그리고 다른 사람과 함께 공부하는 게 나와 잘 맞다는 사실도 깨달았다. 그래서 스터디가 끝나고도 디스코드 채널에서 사람들과 함께 공부하고 있다. 온라인이어도 같은 공간에서 같이 공부를 하고 있다는 느낌... 공부를 2배로 더 오래할 수 있게 도와주는 것 같다.

 

리액트 스터디에 참여하지 않았더라면 이 모든 걸 더 늦게 깨닫지 않았을까라는 생각이 든다. 그래서 스터디를 하기 더 잘했다는 생각이 들었다. 내가 처음에 목표했던 기술을 단순히 써보는 것보다 그 이상으로 많은 것을 배웠다.

 

담님이 리액트 스터디에서 공부한 걸 정리해보는 것도 좋다고 하셔서 그동안 스터디에서 배웠던 거를 지금부터라도 차근차근 글로 정리해보려고 한다. 지금은 회고글 쓰는 것도 익숙하지 않아서 글 쓰는데 시간이 오래 걸리는데 이것도 쓰다보면 나중에 빠르게 잘 쓸 수 있겠지?

 

아직은 너무 부족한 게 많아서 얼른 더 성장하고 싶다. 나도 다른 분들처럼 촥촥 모르는 것도 알려드리고 싶고, 말도 더 잘하고 싶고, 글도 재미있게 유익하게 잘 쓰고 싶다.

반응형