thumbnail
프론트엔드 데브코스 지원과 6월 회고
REMEMBRANCE
2023.06.30



데브코스 프론트엔드 과정을 시작한지 1개월이 되었다. 시간이 참 빨리간다는 생각이 많이 들고 점점 바빠지고 있어서 한달마다 생각을 정리하고 돌아보며 회고를 하려고 한다.

데브코스 지원

국비지원 교육 추천 코딩 부트캠프 추천

데브코스는 서류지원(자기소개서) -> 코딩테스트 -> 최종면접 과정을 통해서 교육생들을 선발한다.

프론트엔드 개발자가 되기위해 정보를 찾아보면서 데브코스에 대해 알게 되었고 기본기를 중요시하고 일방적으로 강의만 주고 공부해라가 아닌 팀을 만들어주고 같이 성장할 수 있게 환경을 만들어주어서 팀원들과의 지속적인 소통으로 서로 질문도하고 코드리뷰등 피드백을 주고 받을 수 있었다. 그리고 현업에서 일하고 계신 멘토님과 커피챗을 통해 현업에 대한 이야기와 코드리뷰등 배울것이 많다고 생각해서 지원하게 되었다.


1.서류지원

자기소개서에는 데브코스 지원동기, 개발자가 되고 싶은 이유, 그동안 어떤 노력을 했는지 등을 적게 되어있다. 자기소개서를 잘 작성한지는 잘 모르겠지만 그동안 독학을 통해 배운것, 경험, 생각에 대해 솔직히 작성했고 의지를 보여주려고 노력하면서 작성했다.


2.코딩테스트

데브코스 프론트엔드 선발과정에서 코딩테스트는 오직 JavaScript만 사용 가능하다. 그래서 서류지원이 통과되서 코딩테스트 보는 날까지 남은 시간동안 프로그래머스와 백준에서 JavaScript로만 알고리즘을 많이 풀었다. 1~2주 정도 알고리즘 문제만 많이 풀었는데 이 과정에서 알고리즘에 대한 두려움이 조금은 없어진거 같다. 모든 알고리즘을 다 공부할 수 없기에 코딩테스트에 나올것 같은 알고리즘 DFS, BFS등을 중심으로 문제를 풀었고 덕분에 코딩테스트 에서 세 문제를 다 풀 수 있었다.


3.최종면접

줌으로 최종면접이 진행되었다. 정말 많이 떨려서 질문에 제대로 답하지 못했지만 데브코스는 잘하는 개발자가 아닌 배울 의지, 성장하고자 하는 의지를 가진 지원자를 뽑을 것이 라는 생각에 최대한 열심히 대답하려고 노력했다.


6월 회고

1주차

1주차는 프론트엔드 기본지식 (브라우저의 동작원리) + JavaScript 기본, 핵심문법에 대한 학습을 하였다. 첫 번째 강의에서 프론트엔드 개발자가 가져야할 핵심역량에 대해 많은 생각이 들었다. 그동안 프론트엔드라는 이름에 CS지식이나 알고리즘등을 등한시 하지 않았나? 프론트엔드 개발자도 개발자다. 프론트엔드에 집중하는 것일뿐 동일한 개발자이며 꼭 프론트엔드만 생각하는 것이 아닌 개발자로서의 커리어를 어떻게 이어가야 할지 고민해 볼 수 있었다.

또한 추가적으로 블로그 운영, TIL에 대한 생각이 많았었다. 그동안 블로그에 올렸었던 내용들은 내 생각이나 의견보다는 구글에 검색하면 쉽게 찾을 수 있는 내용이었다. 앞으로는 TIL등 학습 기록은 노션에 핵심만 짧게 기록하고 회고나 조금 더 깊게 공부하고 싶은 내용들을 정리해서 포스팅 하려고한다.

2주차

2주차에서는 자료구조 알고리즘과 JavaScript로 알고리즘 문제를 풀어보는 실습이 있었다. 실습문제는 프로그래머스에 있는 문제들로 구성되어 있는데 데브코스에 오기전 연습으로 풀어봤었던 문제였다. 그런데 다시 풀어보려하니 풀었었던 문제인데 잘 풀리지 않았다. 알고리즘, 코딩테스트 문제는 꾸준히 풀면서 감을 잃지 않아야 할 것 같다.


2주차 과제_1

  • 강의를 통해 학습한 Singly Linked List 에서 리스트의 크기를 구하는 size 메서드 만들가.
  • Singly Linked List에서 예외가 발생해도 동작하도록 예외처리 하기

Singly Linked List 전체코드 보기

2주차 과제_2

  • Singly Linked List를 참고하여 Doubly Linked List 구현하기

Doubly Linked List 전체코드 보기

2주차 과제_3

  • Singly Linked List 클래스를 참고하여 Circular Linked List 구현하기

Circular Linked List 전체코드 보기

선택과제

  • 이진탐색트리의 요소를 제거하는 메서드 구현하기

이진탐색트리 전체코드 보기


2주차 과제 코드리뷰

2주차 과제를 팀원들과 서로 코드리뷰를 하고 멘토님에게 코드리뷰를 받았다. 다른 팀원들의 코드를 보기전에는 다들 코드가 거의 같지 않을까? 라는 생각을 했지만 다른점들이 꽤 있었다. 또한 코드리뷰를 어떻게 해야할까? 라는 생각을 했었다. 지적하는 느낌보다는 이렇게 하면 어떨까요? 처럼 질문식으로 많이 했었고 모르는 부분을 많이 물어봤었다.

PR링크


3주차

3주차에는 HTML과 CSS, DOM 조작 실습을 하였다. 간단한 에디터를 만들어 보았다. 간단한 에디터

그리고 명령형, 선언형 프로그래밍과 추상화, 컴포넌트 방식으로 생각하며 간단한 TodoApp을 만들어 보았다. 지금까지 필자는 명령형으로 코드를 많이 작성했었다. 명령형과 선언형으로 각각 코드를 작성해 보고 비교해보니 선언형이 읽기 좋고 수정하거나 기능을 추가할때 수월할 것 같다는 생각이 들었다. 하지만 코드를 추상화 하는것이 아직은 조금 어렵다는 생각이 들었고 어떻게 추상화 해야 읽기 편하고 재사용성이 좋은 코드가 될지 고민이 되었다.


3주차 과제

3주차 과제는 강의를 통해 만들어 본 TodoApp에 기능을 추가하는 것이었다. 공통적인 요구사항에는 state를 갖는 컴포넌트는 state에 대한 validation 추가하기 등이 있었고 TodoList 컴포넌트에서는 isCompleted라는 값을 추가하여 TodoList의 Todo를 클릭하면 해당 값이 토글 되도록 만들기, todo를 삭제하는 remove 버튼 만들기 등이 있었다. TodoCount 컴포넌트를 만들어서 TodoCount에서 TodoList에 직접 접근하지 않고 TodoList에서 완료된 todo의 개수/ 전체 개수를 표시해주는 요구사항이 있었다.


3주차 과제 코드리뷰

이번 코드리뷰에서 받은 피드백은 저번 과제보다 훨씬 많았고 코드리뷰를 하기위해 다른 팀원들의 코드를 보면서 저번 과제보다 다들 코드가 많이 깔끔해져서 놀랐다. 짧은 기간동안 다들 성장한것 같아서 동기부여가 되었다.

PR링크

4주차

4주차는 비동기 다루기, fetch API, history API를 학습하고 TodoApp에 적용해보았다. 1주차에 블로그에 TIL을 작성하고 데브코스 슬랙에 링크를 공유하다가 오류를 발견했었는데 https://imb96.github.io/DevCourse_2/ 이런식으로 포스팅글을 공유하면 뒤로가기 버튼을 누르게되면 작동을 하지 않는 일이 발생했다. 그래서 뒤로가기 버튼 onCLick 이벤트 로직을 변경했다.

const goBackPage = () => window.history.back()
// 이렇게 바꿔서 해결했다.
const goBackPage = () => window.location.href = "../"

history API를 직접 블로그에서 사용하게 되면서 history API를 더 알아보고 싶어서 블로그에 포스팅할 예정이다.

5주차

5주차는 자동 저장 편집기 만들기 실습과 Notion 클로닝 프로젝트가 시작되었고 현재 진행중이다.


미니프로젝트 스터디

데브코스 안에서 미니프로젝트 스터디를 들어가게 되었다. 서로 자신의 프로젝트를 공유하고 어떤 기능을 추가했으면 좋겠는지 왜 이렇게 했는지 의견을 나누거나 코드리뷰를 해주는 스터디다. 나는 아직 개인프로젝트가 없기에 이 블로그에 기능을 추가하거나 고쳐보는 방향으로 참가하게 되었고 매주 금요일 마다 프로젝트 변경사항을 발표하기로 하였다.

Thank You for Visiting My Blog, Have a Good Day 😁
© 2022 Developer Minjae, Powered By Gatsby.