데브코스 교육의 반틈이 지났다. 시간이 빠르기도 하고 걱정도 많아지는 걸 느끼며 어떻게 해야 남은 시간을 알차게 보낼지도 고민이 많아지는 것 같다.
데브코스에 들어가기 전에 계획했던 목표를 다시 돌아보며 내가 부족한 부분이 무었이고 무었을 더 개선해 나가야하는지 되돌아 보기로 했다.
데브코스 이전 많은 취업 원서를 넣고 코딩 테스트에서 탈락했었다. 코딩 테스트의 중요성을 깨닫고 백준 문제를 풀기 시작했으며 데브코스 수료하면 플래티넘 티어를 꼭 달성하자고 목표를 설정했다.
하지만 처음에 데브코스를 따라가면서 알고리즘 공부에 많이 소홀했다. 그래서 3개월 남은 현재 다시 백준 문제를 잡기 시작했다. 하루에 한 문제는 아니더라도 짬나는 시간이라면 문제를 보고 풀어보며 꾸준함을 목표로 다시 플래티넘을 도전하고 있다.
반드시 수료후에 코딩 테스트로 다시 발목을 잡는 일이 절대로 없도록 할 예정이다.
제일 기대했던 React 강의가 시작되었다. 주 내용은 실제 개발에 있어 자주 사용되는 커스텀 훅, 아토믹 디자인 패턴의 기준으로 재사용성이 높은 컴포넌트들을 하나씩 구현해봤다.
기본적인 훅 사용법은 공부한 경험이 있어서 문법적으로는 어려움이 없었다. 다만 간혹 처음 보는 React.Children 같은 처음 보는 문법도 알게되어서 신기했다. 하지만 컴포넌트나 훅이 얼마나 재사용성이 있게 설계될지 생각하며 코드를 작성한 경험은 처음이였다.
아마 재사용성을 최대로 고려한다는 생각 자체가 처음이였다. 그래서 정말 신기하기도 했지만 따라가기도 힘들었다. 하지만 요즘 나의 최대 관심사 결합도, 응집도, 독립성, 재사용성 등 많은 연관이 있어서 차근차근 이해해나갈려고 노력했다.
React 강의를 통해 재사용성을 높이기 위해서 최소한의 필요한 props를 받아 나머지 스타일이나 이벤트 속성들은 외부에 주도권을 넘겨누는 ...props, chilren 방법을 알게 된게 너무 신기했다. 아 이렇게 재사용성을 극대화 할 수 있구나...
하지만 분명 단점도 내 눈에 확실히 보였다 어디까지 props를 열어줘야하고 어디까지 재사용성을 고려해야할까 이런 생각이 너무 오래걸리고 굉장히 탄탄해야한다는 사실이다. 프로젝트 특성에 맞게 어떻게 적용하면 좋을지 계속 머리 속에 맴돈다.
제일 배우고 싶었던 프레임워크 Next.js다. 교육 이전에 간단한 사용법만 인지했고 프로젝트 경험이 없어서 실무에서는 어떻게 사용되는지 디테일하게 알고 싶었다.
하지만 강의에서는 그렇게 디테일하게 다루진 않아서 아쉬움이 좀 남았다. 하지만 Next.js에 대한 욕심은 여전하기 때문에 개인 프로젝트나 꾸준히 공부와 연습을 통해 고수처럼 다루고 싶다...
아마도 2차 팀 프로젝트에서는 Next.js를 사용할 이유가 필요하다면 반드시 Next.js를 사용해보고 싶다!
자바스크립트의 깊은 이해를 목표로 했었고 나는 자바스크립트의 지식이 어느정도 있다고 착각하고 있었다.
1차 팀원들이랑 꾸준히 현재까지 자바스크립트 스터디를 진행하고 있는데 정말 디테일하게 자바크스크립트에 대해 알게 되는 중이다. 몰랐던 깊은 이해와 더불어 왜 그렇게 되는지에 대한 지식을 스터디 한 챕터씩 진행할 때마다 알게되어 이제는 자바스크립트가 좀 더 친근해졌고 자바스크립트 언어의 전체적인 부분을 이해할 수 있는 것 같다.
아직까지 완벽하진 않지만 React, Vue, Next.js 등 많은 프레임워크와 라이브러리가 있지만 결국 이는 기초적인 자바스크립트의 지식에서 더해진 것이다.
특히 React를 공부하면서 자바스크립트의 클로저, 스코프 등 이런 지식이 매우 중요하고 대부분 이런 특성을 이용한 것이라는 것을 느낀다. 수료하기 전에는 반드시 모던 딥 다이브 자바스크립트를 완독할 예정이다.
제일 자신 없는 CSS였다. 지금도 자신있다고는 말 하지 못하지만 확실한 건 이전 보다 레이아웃을 분리하는 눈도 많이 늘었고 몰랐던 CSS 속성들도 알게 되었다.
CSS는 따로 공부하지 않았지만 팀원들에게 CSS에 대해 많은 공유와 질문을 하면서 다른 사람들은 CSS를 어떤 스타일로 작성하는지 어떤 방법이 더 효율적인지 등 많은 지식을 얻었다.
더불어 Vue.js 과제를 진행하면서 처음으로 마주한 마진 상쇄에 대한 문제를 겪으며 점차 지식을 늘려가고 있다.
아직 CSS에 대해 포스팅하고 정리할 내용이 너무 많이 쌓여있지만 절대로 놓치지 않고 차근차근 해결해 나갈 예정이다. 그리고 내가 애니메이션이나 트랜지션 효과 등 부분에 많은 부족함을 느끼는데 이러한 옵션들을 실제로 적용해보면서 실력을 높여야겠다고 생각한다.
데브코스 강의가 거의 끝난 시점 현재가 제일 중요한 것 같다. 데브코스에서는 딱 방향을 잡아준 느낌이지 데브코스를 통해 완벽히 공부를 한 느낌은 아니다.
내가 부족한 부분을 더 개선해 나가며 내가 관심있는 분야는 더 어필할 방법을 찾아야겠다고 생각된다. 특히 컴포넌트 설계와 분리, 어떻게 하면 더 좋은 컴포넌트가 될지 등 컴포넌트에 굉장히 관심이 많다.
최근에는 컴포넌트 SOLID 원칙에 대해 알게되었고 이 부분에 대해서 포스팅을 디테일하게 할 예정이다.