어느덧 엘리스를 시작한지 8주차가 지나고, 9주차가 지나갔다.
지난 5주간 프론트엔드 개발에 대해 배우고 나머지 3주동안 백엔드 개발에 관해 배웠다. 사실 두 분야 모두 배우기에는 짧은 시간이였지만 맛보기+어떻게 공부하면 좋을지에 대한 방향성을 배웠던 시간이라 생각한다.
9~10주차에는 웹서비스를 시작하는 개인프로젝트를 진행하는데,
나는 프론트엔드인 <직업 심리 검사>를 선택했다.
개인적으로 놀랐던 점은 프로젝트 주제 선택을 선착순으로 받았는데
백엔드가 먼저 찼던점...!
DAY 1.(11/16)
짧은 OT뒤 프로젝트를 갑자기 시작하게 되어 머릿속이 ??가 됐다.
그래도 와이어프레임도 있겠다. 뭘 해야하는지 명세도 있겠다. 개발을 시작했다.
오...그런데 내가 이렇게 디자인을 못했던가,,? 제플린 및 피그마가 없는 개발은 아주 어려웠던 것,,,,, 머릿속에 있는 디자인을 css로 구현하려니 잘 안돼서 멘붕이였다.
한 4시간정도 투자했었는데 검색하다가 너무 낯익은 디자인이 있어서 봤더니 material UI가 웹에서도 적용이 됐던 것,,,! 싹 다 갈아엎고 mui로 바꿔서 진행했다. 머터리얼 디자인은 플러터 개발을 하면서 사용했기 때문에 원하는 내용을 쉽게 찾을 수 있었다.
DAY 2(11/17)
useEffect와 리액트 리팩토링에 대한 궁금점이 생겨서 이슈를 통해 해결할 수 있었다.
또한 Link태그와 a태그 차이점에 대해 알게되었다.
(다시 보니 수업시간에 했던 내용이였다..ㅎㅎ)
Link태그를 눌러도 작동하지 않는 이슈가 있었는데 임포트를 잘못해서 생긴 이슈였다. 검사 예시 페이지를 구현했고, 재사용하는 컴포넌트를 분리하고 퀴즈 페이지 디자인을 구현했다.
DAY 3(11/18)
검사 진행 페이지에서 url이 바뀌는 것을 방지하고자 페이지네이션을
이용해서 검사 진행 페이지를 구현하였는데 페이지네이션 라이브러리를 익히는데 시
간이 오래걸렸다. 그래도 get을 통해 내가 원하는대로 구현이 되긴 했다.
이때부터 응답 항목을 저장하는데 어떻게 구현을 할것인지에 대한 고민이 시작됐다.......
DAY 4(11/19)
나는 당연히(?) 응답 항목을 관리하기 위해서는 리덕스를 사용하여 전역변수로 관리를 해주려고 했다. 그것이 페이지네이션 방식에서는 사용하기 편할것이라고 생각했기 때문인데,,, 리덕스가 어려웠다. 사실 구조와 어떻게 사용하는지에 대해서는 수업시간에 배웠던것 + 하루종일 구글링, 강의, 책을 통해 익혔다고 생각했는데 내가 원하는 대로 구현을 하니 작동하지가 않아서 너무 슬펐다... 생활코딩님의 유튜브 강의를 보는데 지금 리덕스가 잘 안되거나 너무 어렵게 느껴진다면 정말 필요한 것인지 생각해보라는 말씀을 하셨다,,,,
저녁때 오피스아워까지 삽질을 하다가 오피스 아워시간때 코치님께서 이슈 리뷰를 하면서 봐주셨는데 리덕스가 정말 필요한지 생각해보라고 하셔서 놀랐다..! 신입 개발자가 흔히 겪는 문제가 리덕스를 남용하는것인데, 리덕스를 많이 사용하는건 좋지 않고 웬만해서는 props로 해결하고, 안되는것은 context API로 해결하라하셨다. 그래서 이틀정도 투자한 리덕스는 쿨하게 리액트 실력을 키워 다음 프로젝트때 사용해보기로하고 접었다.
또한 현업에서는 디자인 라이브러리를 사용하지 않으니 css연습은 필수라고 하셨다.
(공부할게 매일 추가되는중 ... )
뭔가 5일동안 풀로 달려서 이 날은 좀 지쳤었다.
그래서 저녁까지 놀다가 저녁부터 새벽까지 작업을 진행하다 잤다.
그런데 하나를 고치면 하나가 망가지고 또 하나를 고치면 다른 하나가 망가져서
너무 ..슬펐다.
새벽에 진행했기 때문에 분명히 내일 일어나면
제대로 기억이 나지 않을 것 같아서 에러가 나는 코드별로 정리해서
커밋하고 이슈를 남겨 놓고 잤다.
페이지네이션을 안썼으면 겪지 않았을 문제 같은데,
내가 너무 비효율적인 구조로 코드를 짜는가..에 대한 현타도 왔다...
1. api에 대한 의문
프로젝트 진행 4일째 아주 이상한 점을 발견했다. 사실 첫날부터 엥 뭐 어떡하라는건지라고 생각은 했었는데 나중 일이라서 미루다가, 검사 진행 페이지가 진행이 더뎌져서 결과 페이지를 하려고 보니 의심이 확신이 되는 날이였다.
다른 레이서분과 대화를 나눴는데, 그 분께서 네트워크 통신을 통해 api를 주소를 발견하셨다. 공식 메뉴얼에 없는 주소를 어떻게 알아내서 쓰라고 알려준건지 알 수 가 없었다.
공식 메뉴얼 업데이트가 21년 7월이였는데, 이 프로젝트는 엘리스 1기때도 동일하게 진행됐어서 그 사이에 api가 업데이트 됐는지 확인을 안하고 프로젝트를 진행한것인가에 대한 의문이 들었다.
2. 너무나도 짧은 오피스아워 시간