나 이버들.. 26세, 좀 더 쌈뽕한 개발자가 되기 위해서 오프라인 스터디인 '항해 플러스 2기'의 참여자가 되었다.
참여하게 된 계기는 간단하다. 크게 두 가지로 나타낼 수 있었는데
일단 첫번째 계기의 이유는 나의 첫 직장에서 겪었던 경험이 가장 크게 작용했다.
이전 포스트에서 작성했을지는 모르겠지만, 사수가 없는 (프론트엔드 개발자는 필자 하나였음) 환경에서 프론트개발을 주도하다 많이 부족한 실력 + 빠른 스프린트를 수행하기에는 나의 기능 개발에 있어 확신을 가질 시간과 마음가짐이 부족의 이유로 꽤 많이 혼자서 속을 썩여왔으며 결국 퇴사를 결정했던 경험이 있다.
즉, 적어도 내가 주도하는 기능 개발 및 코드 작성에 자신과 확신이 있으며, 어떻게 해결해가는 방법이 가장 nice 한지 알게 되면 이전과 같은 환경에서도 좋은 결과만 낳아갈 수 있지 않을까라는 생각에 참여를 하게 된 것이다.
두번째 계기는 최근에도 해커톤 대회 기술 튜터로 근무하면서 다른 튜터분들과 많이 친해졌고, 앞으로도 기술적으로도 서로 많은 도움을 줄 수 있는 관계로 성장했다는 것을 새삼 느끼게 되었다.
사실 사람 만나는 걸 좋아하는 나로선, 개발과 동떨어지더라도 이런 환경이 굉장히 좋다. 그런데 나와 같은 고민을 하는 사람들과 같이 친해질 수 있는 환경이면 더할 나위 없지 않을까 라는 생각에 이번 오프라인 스터디에서도 좋은 사람들을 만날 수 있을 것이라 생각하여 참여하게 된 이유도 존재한다.
이전에도 컴포넌트 최적화를 시도하려면, 언제 어떠한 때에 시도해야 되는지 항상 고민이 많았었는데 이번 주차 과제를 경험해 보면서 뭔가 도움이 될 것 같아서 기대가 되었다.
과제 주제인 useCallback
, useMemo
, memo
등을 통해서 메모이제이션 최적화를 시도하여 return 값이나, 콜백 함수 등의 리렌더링을 막아볼 수 있는 경험을 가질 수 있었다.
react에서 제공하는 메모이제이션 관련 hook들을 사용하여 최적화를 꾀하였다. 더불어 이러한 hook 들을 사용하지 않아도 순수 컴포넌트를 수정할 수 있는 경험도 하게 된게 되게 시기 하긴 했다.
일단 내 고민은 언제 메모이제이션을 시도해야될 지 항상 고민하는 요 리소스가 너무 싫어서 좋은 방법들을 찾고 있었는데, 차라리 다 메모이제이션을 시도해보는 것을 기본 컨벤션으로 지정해도 괜찮지 않나 라는 이야기를 들었다.
근데 말이 되는게, 엄청 복잡한 구조로 방대한 양만 아니라면 충분히 가능할 것 같다! 요즘 디바이스나 브라우저의 기능이 기본적으로 좋아져서 충분히 버틸 수 있고, 크게 차이가 나지 않는다는 이야기를 들어보니 나름 납득이 간다.
많이 부족해도 한번 계속해서 알아보고 시도해보려는 도전적인 부분이 아주 맘에 든다. 칭찬 스티커 1개~
그렇지만 아쉽게도 중간중간에 헷갈리는 부분들이 있어서 기본기를 한번 더 되돌아봐야되겠다는 생각이 든다.
공식문서 정독!