2023년 6월 회고-[프론트엔드 데브코스 ]

정동환·2023년 7월 5일
3
post-thumbnail

데브코스에 참가한지 한달이 지났다. 한달동안 어떤 것을 했는지 점검하며 돌아보는 시간을 가져본다

환경

데브코스에 지원한 동기는 다음과 같았다.
1. 좋은 커리큘럼
2. 코딩 테스트와 면접을 통과하고 선발된 좋은 교육생들과의 만남
3. 퀄리티 높은 강사님들 + 멘토님들
4. 코드리뷰와 같이 서로의 지식 공유를 통해 빠르게 성장할 수 있는 환경
5. 이전 프로젝트 팀원의 추천
실제 경험은 어땠는지 위에서부터 하나씩 설명하고자 한다.

1. 좋은 커리큘럼

자료구조와 알고리즘

  • 1, 2주차에는 자료구조와 알고리즘에 대해 공부했다.
  • Javascript를 이용해 자료구조를 구현하고 알고리즘 문제를 풀었는데 C++로 그동안 알고리즘을 공부했기 때문에 STL의 소중함을 느꼈던 시간이었다.

Javascript

  • 3, 4주차에는 Vanilla Javascript에 대해 공부했다
  • 강의 에서 제공한 사전퀴즈들을 풀어봣는데 아직 렉시컬 스코프클로저 에 대한 이해가 부족한 것을 느꼈다.
  • 트라이 자동완성 기능과 노션 클로닝의 게시글 자동저장기능을 구현할때 클로저를 이용해 쓰로틀디바운스를 적용하며 클로저에 대한 이해를 길렀다.

2. 교육생분들

  • 교육생분들 너무 열정적이어서 좋았다.
  • 교육생들이 모여있는 디스코드가 있는데 가끔 들어가보면 새벽 3,4시까지 계시는 분들이 계셔서 대단한 것 같다.
  • 외향적인 분들이 몇분 계셔서 슈퍼 내향인인 나도 조금은 대화를 해볼 수 있었다. 다행이다
  • 우리 팀은 6명이었는데 2분이 다른 좋은 곳으로 가셔서 4명이 되었다... ㅠ 소수 정예가 되었으니 더 으쌰으쌰 뭉쳐야겠다.
  • 6월 27, 28일에 전체 교육생이 오프라인으로 만났는데 확실히 오프라인으로 한번 보니 조금 더 친해진 거 같다!

3. 강사님들 + 멘토님들

  • 커리큘럼에서 진행하는 강의는 이선협강사님과 로토(김태희)강사님이 진행해주셨다.
  • 특히 로토님의 강의는 라이브 코딩이 많은데 그래서 더 재밌게 본 것 같다!
  • 팀마다 멘토님이 한명씩 배치되는데 우리팀은 김요한 멘토님이 배정되었다. 멘토님이 I인데도 커피챗을 위해 주제를 정해오시고 대화도 이끌어 가려고 노력해주셔서 너무 좋았다.
  • 특강 및 세션으로는 진유림님, 마광휘님, 이선협 강사님, 로토 강사님, 김동영 멘토님 등등이 계셨는데 강의의 질이 기대보다 너무 높아서 만족스러웠다.

4. 코드리뷰 + 서로의 지식공유

  • 소프티어 이후로 코드리뷰를 많이 좋아하게 됐는데 첫 과제때 그 때처럼 코드리뷰를 했더니 다음 과제부터는 팀원들도 꼼꼼히 코드리뷰 해주셔서 너무 좋았다. 우리 팀의 코드리뷰 문화를 만든 기분? ㅎㅎ
  • 우리팀은 평균 인당 코드리뷰 댓글 수가 45~60개정도 되는데 다른 팀들보다 적극적으로 의사소통하고 참여하는거 같아서 약간 뿌듯하다.

5. 이전 팀원의 추천 + 소피아 매니저님

지인의 추천

은아 말로는 데브코스를 진행하며 실력이 많이 늘었다고 햇는데 확실히 점점 실력이 늘고 있는게 느껴진다.

  • 소프티어에서도 Vanilla TS를 이용해 SPA 프로젝트를 진행했다. 은아가 주말동안 라우터를 구현해와서 대단하다고 느꼈는데 아마 데브코스에서 진행한 노션 클로닝 과제가 도움이 되지 않았을까하는 생각이 들었다.

소피아 매니저님이 너무 친절하시다... ㅠㅠ

  • 우리 팀에서 2명이 개인사정으로 떠나게 되어 6명에서 4명으로 줄어들었는데 오프라인 모임때 우리 팀 테이블에 와서 위로해주셨다.
  • 디스코드에서 가끔 대화할 기회가 있을때마다 듣고 싶은 특강이나 건의사항, 그리고 혹시 힘든게 없냐고 물어보셔서 케어받는 느낌이 들어서 너무 좋다.
  • 테스팅이나 UI/UX에 대한 특강을 듣고 싶다고 했는데 우연인지 반영됐는지 모르겠지만 프론트엔드 테스트 특강이 생겼다!

과제

1. 트리순회, 트라이를 이용한 자동완성 기능 구현

  • 데브코스에서 처음으로 진행한 과제였다.
  • 기능 구현은 대부분 강의에 나와있기 때문에 구조에 대한 고민을 많이 했다.
  • 처음에 트리 클래스 내부에 구현했던 트리 순회 기능을 별도의 클래스로 분리했다.
  • 트리 클래스의 생성자에서 트리순회 클래스를 주입받도록, 즉 의존성을 외부에서 주입하도록 설계했다.
  • 또한 Jest를 이용한 테스트 코드를 만들어보았다.

2. Vanilla JS를 이용해 컴포넌트 방식으로 TODOLIST 만들기

  • 이전 프로젝트에서 만들었던 부모 Component 클래스를 가져와 진행했다. 이 Component 클래스는 황준일 멘토님의 게시글을 보고 만들었다.
  • React의 state, props와 유사하게 설계했다.
  • Validation을 가독성 좋게 하기 위해서 고민했다.
    • Array의 some과 같은 고차함수, switch case, 객체 등등 고민하다가 Array의 some을 이용해서 Validation을 구현했다.
  • 기본 요구사항 이외에 다크모드를 구현했다. 컨셉을 잡고 구현했는데 팀원들이 재밌어해서 뿌듯했다.
  • MerMaid Editor를 이용해 Class Diagram을 그려서 리뷰어들이 class 구조를 이해하기 쉽도록 문서화했다
  • Github Page, Netlify로 배포한 경험만 있었는데 처음으로 Vercel을 이용해서 배포했다.

3. Vanilla JS를 이용한 Notion 클로닝 프로젝트

  • 아직 진행중인 과제이다
  • 현재 기본 기능은 모두 구현했고 UI / UX 와 texteditable 속성을 이용해 더욱 리치한 Editor에 대해 고민을 하고 있다.
  • FLUX 패턴을 이용해서 설계했고 확실히 Store를 먼저 설계하고 나니 기능 개발 및 확장에 수월한 것 같다.
  • 이전에는 Redux는 Action, Reducer등을 모두 만들어야 하기 때문에 보일러 플레이트가 많아서 무조건 안 좋다고 생각했다
  • 하지만 이런 보일러 플레이트를 만들면서 자연스럽게 프로젝트를 설계할 수 있어서 안 좋은 점만 있는건 아닌 것 같다.

7월 목표

오픈소스

7월부터 오픈소스에 기여하는 활동에 참여하게 됐다!
데브코스 활동은 아니지만 처음 오픈소스에 기여하는 것이라 기대가 된다.

미니 프로젝트

미니 프로젝트를 너무 안한 나머지 FireBase 실시간 데이터베이스가 만료가 되어버렸다 ㅎㅎ... 비상!!!
다시 데이터베이스를 만들고 프로젝트를 빠르게 마무리 지어야겠다.

개인 공부

1. Next.js 강의를 사놨는데 미뤄두었다. 미니 프로젝트를 빠르게 마무리하고 시작하려고 한다.
2. 동안 발목을 잡았던 영어공부를 시작하려고 한다. 10년 넘게 천적이었던 녀석을 이번에야말로 극복...해야겠다.
3. 리팩토링 2판 책을 데브코스에서 지원받았다. 한달동안 완독하려고 한다.

마치며

지금까지 데브코스에서 제공한 환경은 모두 만족스러웠다.
하지만 내가 더 적극적으로 나서지 못해서 더 많은 것을 얻지 못한게 아쉽다. 딥다이브 발표, 학습 자료 공유와 같이 지식 공유하는 활동에 조금 더 적극적으로 참여하려고 노력하고자 한다.

7월 중순이 지나면 SPA 프레임워크, 라이브러리를 공부하게 될텐데 지금 Vanilla를 다루는 기간을 소중히 여기고 열심히 해야겠다

profile
Software developer

5개의 댓글

comment-user-thumbnail
2023년 7월 5일

7월달도 화이팅!!

답글 달기
comment-user-thumbnail
2023년 7월 5일

화이팅 입니다 🔥

답글 달기
comment-user-thumbnail
2023년 7월 5일

7월도 아자아자 화이팅!!!! 🙋🏻‍♂️

답글 달기
comment-user-thumbnail
2023년 7월 6일

남은 기간 우리 요한팀 더 으쌰으쌰합시다~~🔥

답글 달기
comment-user-thumbnail
2023년 7월 6일

화이이이이이팅 >.<

답글 달기