{ 프론트 - 백엔드 } 로 나뉘어 세션을 진행하게 되었다. 나는 입과전까진 백엔드 공부만 하다 위코드에선 프론트로 전향하게 되었다.
캘린더상으론 백엔드에 비해 프론트가 세션도 적고 할일도 적다고 생각했는데, { HTML / CSS / JS } 만으로 인스타그램 { 로그인페이지, 피드 페이지 } 를 클론해서 몇가지 기능을 추가해보니 생각보다 시간이 많이 소요되고, 나름 일주일을 알차게(?) 보낼 수 있었다.
중간 중간 DB, Git, HTTP 등 기초 개념 세션이 있어서 코어 타임에는 생각보다 시간이 많지 않았고, 개인적으로 시간을 할애해야 클로닝이 가능했다. 그리고 { HTML, CSS, JS DOM Controll } 경험이 많지 않아 익숙하지 않다 보니 생각보다 작은 레이아웃, 작은 기능을 구현하는데 시간이 많이 소요되었다.
거기다 리팩터링까지 배우고 적용하다 보니 손이 많이 가더라. 특히나 리팩터링 세션 이전에 짜놓은 코드는 클래스명 컨벤션도 제대로 지키지 않았고, HTML 을 짤 때도 구조를 깊게 생각하지 않고 필요할 때마다 div를 생성하는 방식으로 구현하다 보니 클래스명도 제멋대로였고, 내가 내 코드를 읽는것도 쉽지 않았다. 리팩터링을 나중에 배운게 어떻게 보면 좋은 수업구성이었던게, “dirty code”를 가지고 지속적으로 새로운 기능을 추가 구현하고 변경하고 하면서 “아 내가 짠 코드 점점 쳐다 보기가 싫어지네”라는 생각을 조금씩 하게 되었는데, 리팩터링을 배우면서 리팩터링의 필요성을 제대로 알 수 있었고, 어떤 점을 개선해야 하는지, 어떤 생각을 하며 { HTML / CSS } 를 짜야 하는지 조금 더 강렬하게 느낄 수 있었다.
앞으론 최대한 깔끔하게 개발할 수 있도록 미리 구조를 짜두는 형태로 가고, 리팩터링에 적용되는 체크리스트들을 개발할 당시부터 생각하며 가는게 맞을것 같다. 애초에 잘 짜둔 코드여야 복잡도가 기하급수적으로 증가 하는 나중시기에 리팩터링을 쉽게 진행할 수 있을 것 같다.
예습 효과
이번주 과정은 개인적으로 프론트엔드 과정 이외에 나머지 부분들은 예습이 되어 있는 상황이었다. Git사용, HTTP, DB, JS문법 등은 미리 공부가 된 상태로 공부를 하다 보니 수업을 들을 때 이해가 쉬웠다. 그 덕에 궁금한 점에 대해 질문도 많이 할 수 있었고, 동기들이 모르는 부분이 있으면 알려 줄 수도 있었다.
앞으로의 과정도 100% 흡수하려면 과정마다 다음주에 있을 과정을 예습함으로 세션의 이해도를 높이는 방향으로 가는게 좋을 것 같다.
시간 사용
평균적으로 { 8시 ~ 10시 } 는 사무실에 있었다. 이 정도 밀도로 2달간 과정을 진행하면 확실히 성장할 수 있다고 생각한다. 특히나 동기들이랑 같이 공부하면서 혼자 하는 공부에 비해 “1.5배 경험치 이벤트🚀”를 하는 느낌이다. 오프라인이 확실히 강점이 있다.