🦁 멋쟁이사자처럼 프론트엔드 스쿨 9주차 회고
너무 바빠서 7주차, 8주차 회고를 건너뛰었다. 그 동안 수업에서는 알고리즘, 자료구조, 코테문제 풀이부터 Git, Nodejs, express, mongoDB 기초까지 많은 내용을 다루었다. 배우는 내용이 어려워지다보니 다른 분들도 수업을 따라가기 힘들어하시고, 각자 진행 중인 프로젝트도 있어서 스터디를 조금씩 미루고 프로젝트에 집중하였다. 오늘을 끝으로 팀 프로젝트 2개가 모두 끝났다. 사실 1개는 완성한 것은 아니다. 스터디에서 진행하는 프로젝트여서 기한이 정해져 있었다. 스터디 내의 다른 팀들과 지금까지 한 것을 발표를 하는 시간을 가졌는데, 그 발표를 위해서 보여줄 것은 나름대로 다 완성된 상태다. 프로젝트가 끝나서 후련하지만, 곧 2개의 프로젝트가 또 시작될 것 같다. 지금 아니면 취업 전에 언제 또 팀 프로젝트를 이렇게 경험해볼 수 있을까 싶어서 이제 과정이 한 달도 채 남지 않았지만 마지막까지 불태울 예정이다 🔥🔥
❓ 팀 프로젝트: js quiz
원래 일주일 기한으로 가볍게 만들려고 했던 프로젝트인데, 생각보다 길어졌다. 처음 아이디어는 옛날에 닌텐도 DS 두뇌 트레이닝에 있던 사칙연산 게임에서 시작했다. 제한 시간 안에 사칙 연산 문제를 푸는 게임인데, 단순하게 사칙 연산이면 재미가 없을 것 같아서, 멋쟁이사자처럼 프론트엔드 스쿨 과정에 있는 동기분들을 대상으로 자바스크립트 버전으로 만들어보고자 하였다.
단순히 퀴즈 형식으로 문제를 만들면 직접 만든 문제와 답 데이터 외에는 나오지 않기 때문에, 동적으로 문제를 생성하도록 하였다. 그러나 동적으로 문제를 생성하는 것이 생각보다 쉽지 않았다. 동적으로 문제를 생성하면 정답도 그에 맞게 동적으로 정해져야 한다. 그래서 모든 문제를 값으로 evaluate될 수 있는 자바스크립트 표현식으로 정하고, 정답은 eval() 안에 넣은 값을 토대로 정하였다.
그리고 아무 숫자나, 아무 조합이나 다 나오게 되면 자바스크립트 문법을 잘 아는지 묻는 원래 취지와 많이 어긋난다. 그래서 이러한 점 때문에 문제 유형을 정하고, 유형별로 나올 수 있는 조합의 범위를 json 파일에서 값만 바꾸면 조절할 수 있도록 해보았다. 그러나 이것도 결국 문제 유형이 늘어나면서 기존의 틀에 새로운 유형의 문제를 끼워맞출 수 없게 되면서 뒤로 갈수록 하드코딩이 되어버렸다...
문제 유형은 단순한 연산자 관련 문제부터 Array, String 메소드의 반환값, 타입 변환 등이 있고, 스코프와 호이스팅, 프로토타입과 관련한 문제도 억지로 표현식으로 만들어서 출제하였다. 그러다보니 다소 괴상한 형태의 문제가 나왔고, 동적으로 생성하다보니 문제의 난이도도 꽤 높아졌다. 배포를 하고 멋사 디스코드에 올렸는데, 예상대로 많은 분들이 어려워하셨다. 난이도 조절 실패도 문제지만, 시간이 없어서 리팩토링하지 않고 꾸역꾸역 기존 코드에 끼워 맞추려고 하면서 코드가 난잡해진 것도 많이 아쉬웠다. 그래도 첫 팀 프로젝트였는데, 팀원들과 갈등도 없었고 프로젝트 결과물도 생각보다 잘 마무리된 것 같아서 만족스럽다.
📝 팀 프로젝트: Guten Tag
이 프로젝트는 강사님께서 과거에 HTML 마크업 교육과 관련하여 교육용 웹을 제작하려고 하셨었다는 말씀을 듣고 영감을 얻어서 기획하였다. GUI 방식으로 HTML 마크업을 구현할 수 있도록 하는 일종의 에디터를 만들어보고자 하였다.
Guten Tag은 독일어로 안녕하세요라는 뜻이며, 낮 인사이다. Guten은 영어의 Good과 같고 Tag은 영어의 Day와 같은데, 여기서 Tag이 HTML 태그의 tag와 스펠링이 같아서 이 점에서 안녕하세요라는 뜻과, 좋은 태그라는 뜻의 중의적 의미를 담아서 이름을 지어봤다.
일단 기획 단계부터 구현이 매우 어려울 것이라고 예상했다. 태그를 추가하고, 크기를 조절하고, 이동하고, 삭제하고, 부모 자식 관계에, 격자 크기 단위로 이동 및 크기가 조절되어야 하고, 최종적으로 화면에 표시된대로 HTML 코드로 추출이 가능해야 했다. 바닐라 JS로!!
그렇게 며칠 밤을 새가면서 어찌저찌 구현에 성공은 하였다. 하지만 잔버그가 넘쳐나고, 처음에 교육용 및 초보자용으로 기획했기 때문에, 웹 표준과 관련된 기능을 넣고자 하였는데 그런 부분은 시간이 없어서 구현하지 못하였다. 그래도 처음에는 거의 불가능할 것으로 보였던, 기획 단계에서도 일단 질러보았던 것들이 거의 다 구현되었다는 점에서 이미 너무 만족스러운 프로젝트였다. 비록 스터디에서 정한 기한은 끝이 났지만, 앞으로도 팀원들과 함께 틈틈이 개발을 더 진행하기로 하였다.
이번 프로젝트에서는 처음으로 팀장을 맡게 되었다. 역할을 분배하고 팀원들과 코드에 대해 의논하고 하는 과정들이 처음에는 어렵고 힘들었지만 지금 생각해보면 정말 중요하고 도움이 많이 되었던 것 같다. 아무리 컨벤션을 정해도 각자의 코딩 스타일이 있고 코드의 의도가 다를 수 있는데, 이런 것들을 서로 대화하면서 맞춰나가고 바꿔나가면서 협업을 어떻게 해나가야하는지 조금은 알 수 있었다.
그 동안 깃헙을 사용하면서 Issue와 Github Projects를 한 번도 활용해 본 적이 없는데, 이번에 제대로 한 번 활용을 해보았다. 이번 프로젝트에서는 처음으로 해보는 것들이 많아서 시작부터 많이 헤맸지만, 다음 프로젝트부터는 좀 더 능숙하게 해낼 수 있을 것 같다! 그리고 프로젝트에서 새로운 것을 시도하는 것에 대한 두려움이 많이 사라졌다. 다음 프로젝트에서는 React를 사용해보려고 하는데, 내가 지금 비록 React나 Typescript에 대해서 무지하지만 좀 더 자신감을 갖고 도전할 수 있게 되었다.
🌄 밤낮이 바뀌다
이 바쁜 와중에도 디즈니플러스는 놓지 않았다. 왓이프와 호크아이를 둘 다 보았다. 스파이더맨 노 웨이 홈도 스포 당하기 전에 얼른 보고 왔다. 스파이더맨은 진짜 상상 이상으로 너무 만족스러웠고, 별 기대 없이 본 왓이프가 생각보다 재미있었다. 이제 디즈니플러스에서 볼 거 다 봤으니, 그 동안 미뤄놨던 넷플릭스를 볼 생각이다.
두 번째 프로젝트를 하면서 팀원들과 함께 밤을 샜었다. 12월 31일에 팀원들과 다 같이 밤을 새면서 코딩도 하고 잡담도 하면서 새해 첫 해돋이도 유튜브로🤣 다 같이 보았다!! 😆 하루 전만 해도 기한이 얼마 남지 않은 상태에서 개발이 좀 더뎠었는데, 팀원들과 밤새 떠들며 친해지니까 그 다음날부터는 개발이 엄청나게 빠른 속도로 진행되었다. 하지만 그렇게 이틀 연속 거의 밤을 새다시피 하니까 밤낮이 바뀌고 컨디션이 엉망이 되었다. 당장 내일도 수업을 들어야 하는데, 저녁 먹고 자다 새벽 1시에 일어나서 회고를 쓰고 있다.. 빨리 다시 생활패턴을 원래대로 돌려놓고, 다음 프로젝트에 또 집중할 수 있도록 해야겠다.
'멋쟁이사자처럼 프론트엔드 스쿨 1기 > 일기 & 회고록' 카테고리의 다른 글
멋쟁이사자처럼 프론트엔드 스쿨 1기 수료 (5) | 2022.01.28 |
---|---|
멋쟁이사자처럼 프론트엔드 스쿨 6주차 회고 (0) | 2021.12.12 |
멋쟁이사자처럼 프론트엔드 스쿨 5주차 회고 (2) | 2021.12.06 |
멋쟁이사자처럼 프론트엔드 스쿨 4주차 회고 (4) | 2021.11.29 |
멋쟁이사자처럼 프론트엔드 스쿨 3주차 회고 (2) | 2021.11.21 |