일단 따라 만들어 봅시다
자바스크립트 문법에 어느 정도 익숙해졌다면 어떤 기능이든 직접 구현해보는 게 실력을 가장 빠르게 업그레이드하는 방법인 것 같다. 그치만 스스로의 실력을 가늠하기 어려운 프로그래밍 초보 단계에서 구현 가능한 수준의 아이디어를 떠올리기란 쉽지 않다. 나는 그래서 일단 이미 있는 앱들을 클론코딩 해보거나 튜토리얼 영상을 따라 해 보고 그걸 내 프로젝트 아이디어에 접목시키는 방법으로 몇 가지 소소한 프로젝트를 시도해봤었다. 그냥 무작정 리트코드만 풀었을 때보다 직접적으로 결과물이 보이기 때문에 더 동기부여도 되고 지루하지 않게 자바스크립트에 빠르게 익숙해질 수 있었다. 아래의 리스트들은 그간 시도해본 소소한 프로젝트들의 목록이다.
드림코딩 반응형 네비게이션 바 / 유튜브 클론코딩
HTML과 CSS의 경우 프로그래밍 언어가 아닌 마크업, 스타일시트 언어기 때문에 크게 어렵지 않게 배울 수 있다고들 하지만 나는 처음에 CSS Selector 문법이 너무 헷갈리고 HTML의 끝도 없이 많은 속성 값들 때문에 도대체 이걸 다 어떻게 외워야 하나 막막했었다. 특히 CSS flexbox 개념은 강의를 들으면서도 조금 아리송했었는데 유튜브 드림코딩 채널의 반응형 내비게이션 바, 유튜브 클론코딩 튜토리얼을 따라 해 보고 나니 HTML 마크업을 효율적으로 구성하는 방법, 자주 쓰이는 CSS 요소들은 무엇인지 금방 감을 잡을 수 있었다.
드림코딩 쇼핑몰 미니게임 만들기
드림코딩 채널의 자바스크립트 기초 이론 강의를 다 끝낸다음에 이론을 총 정리하기 위해 미니게임을 만드는 프로젝트를 했었다. 자바스크립트를 통해 JSON 데이터를 받아와 아이템 리스트를 동적으로 표시해주고, 색깔과 옷 종류에 따라 필터링 할 수 있는 간단한 미니게임이었는데 이 프로젝트 덕분에 이론 부분에서 배웠던 오브젝트 데이터 다루기, 배열 관련 API와 콜백함수의 개념을 확실하게 다질 수 있었다. (스승의 날에 갈비라도 한 박스 보내드려야 할 것 같은 나의 랜선 코딩쌤 엘리님...적게 일하고 많이 버셨으면...)
주소록 어플리케이션 만들기
드림코딩 미니게임 프로젝트의 로직을 좀 응용해서 백엔드 없이 동작하는 간단한 싱글 페이지 주소록 앱을 만들었다. 아직 백엔드랑 프론트엔드를 연동하는 것까지는 할 줄을 몰라서 Json 더미 데이터를 만들고 이걸 서버에서 받아오는 것처럼 동작하도록 구현했다. 사실 이건 부트캠프 어드미션 과제 제출용으로 만든 거였는데 정말 기본적인 기능인 입력, 수정, 삭제, 필터링 기능을 구현하는데도 꼬박 5일 정도 걸렸다ㅜㅜ 다 만들고 테스팅하면서 튀어나오는 버그를 하루 종일 때려잡다 수명이 깎이는 기분이었는데 그래도 혼자서 처음부터 끝까지 무언가를 만들고 나니 엄청 뿌듯했다.
노마드코더 리액트 날씨 앱 클론코딩
이 프로젝트를 하면서 처음으로 리액트 네이티브로 앱 기반의 프로젝트를 빌드하는 법에 대해 살짝 경험해볼 수 있었다. Openweather의 API를 이용해 현재 내가 있는 지역의 날씨 정보를 받아오고, 날씨에 따라 다른 UI가 표시되도록 하는 간단한 앱을 구현하는 프로젝트였는데, 맨날 바닐라 자바스크립트로만 코딩해보다가 처음으로 프레임워크를 경험해보니 신기했다. 나중엔 중급 레벨인 노마드코더 트위터 클론코딩도 해보려고 한다.
100 Project Challenge by Florin Pop
유튜브 알고리즘을 타고 다니다 우연히 Florin Pop이라는 자바스크립트로 할 수 있는 프로젝트 아이디어를 소개하는 유튜버를 찾았다. 특히 이 유튜버가 했었다는 100 Project Challenge가 흥미로웠는데, 블로그에 하루에 새로운 프로젝트를 업데이트 하는 과정을 포스팅하는 챌린지로 코딩 초보자들이 시도해볼 만한 미니 프로젝트 아이디어들이 많다. 나는 랜덤으로 레시피를 추천해주는 Random Meal Generator를 따라 만들어보았는데, 스타일링에 크게 신경 쓰지 않고 API를 활용해 쉽게 구현해볼 수 있는 아이템이라 재밌었다. 블로그 말고 깃허브에는 코딩 수준에 따라 시도해볼 만한 미니 프로젝트 아이디어를 소개해두었는데, 시간 날 때마다 하나씩 해보고 이걸 모아두는 포트폴리오 사이트를 만들어볼까 생각 중이다.
퇴사하고 뭐 별거한 것도 없는데 왜 이렇게 시간이 빨리 갔나 했더니 은근 사부작사부작 뭔가를 만들어오고 있었구만..? 문득 정신 차려보니 내일 드디어 코딩캠프를 시작하는 날이다. 주 6일 하루 열두시간 12주라는 미친 일정을 내가 잘 따라갈 수 있을까 좀 무섭지만 멘탈 잘 부여잡아 낙오하지 않고 부디 코딩캠프를 잘 마칠 수 있길 ㅠㅠ