챌린지 개요
- 진행 기간: 2023. 01.09 ~ 2023. 02.19
- 참가 계기
대주제가 CRUD vs React-query 로 명시되어있었다.
엘리스 코딩을 수료하고 이력서 작성에 지쳐있을 때쯤 다시 불을 지펴야겠다고 생각했고 '챌린지' 를 통해 기름을 부어보았다.
제공되는 API 서버 레포를 참고하여 리드미에 제시되어있는 기능을 구현하기였다. 처음에는 레포만 떡하니 주어지니 깜깜했지만 내 방식대로 진행했다.
깃 허브 레포를 하나 만들고 서버와 프론트를 나누어 폴더를 관리하였다.
이 사전미션이 이후에 강의를 통해 업그레이드해가는 과정을 경험하는 게 챌린지의 묘미였다. CRUD만을 적용하는 작은 프로젝트라 생각했는데 강의마다 과제를 진행하면서 너무 얕은 생각이었다고 반성하게 되었다.
챌린지 목표
“회사가 내게 확인하고 싶은 것들을 이해하고, 과락하지 않는 기술 과제 제출하기”
강사님
피드백
사전미션을 제출하면 강의시간마다 피드백을 받았고 수강생들과 더 좋은 코드 더 좋은 방법은 없었는지에 대해 이야기하는 시간을 가졌다.
개인적으로 내 작업의 결과물이 평가받는걸 좋아하기 때문에 항상 피드백 받길 원했던 것 같다.
피드백 받길 원했지만 강의마다 첫번째로 선정이된건 절대 의도하지 않았던 결과였다. etc에 내 코드가 보일때마다 약간의 식은땀이 주르륵..
흔한 리엑트 입문자의 실수
, 내 코드가 소개될때는 대부분 제목이 이러했다.
1차 리펙토링
1차 리펙토링 과제 1. 자바스크립트로 작성된 코드 → 타입스크립트 변환
2. 타입스크립트 → any, 타입 단언 없애기, 타입 가드 및 추론으로 타입 좁히기
처음부터 TS로 작업했던 나는 할 게 없겠구나 생각을 했다. 하지만, 피드백 첫번째 예시로 내 코드가 보이는순간 당황했다.
Before
const [email, setEmail] = useState<string>('');
const [password, setPassword] = useState<string>('');
const [emailValidate, setEmailValidate] = useState<boolean>(false);
const [btnDisabled, setBtnDisabled] = useState<boolean>(true);
const emailChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {
const value = e.target.value;
reg.test(value) ? setEmailValidate(false) : setEmailValidate(true);
if (value === '') setEmailValidate(false);
setEmail(value);
};
After
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const isEmailValid = reg.test(email)
const isBtnDisAbled = email.length ? false : true;
const emailChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {
setEmail(e.target.value);
};
2차 리펙토링
2차 리펙토링 과제 1. Redux 레포지토리에서 코드 분석하고 직접 scratch 작성해보기 2. 각자 React Query 공부해서 적용해보기
3. 과제 제출할 때 수업에서 배운 내용을 근거로 들어 개선사항 만들어보기
Redux 레포를 확인해보긴 하였으나 사용하기에 급급해서 분석까지는 못하였다.
2차부터는 브랜치를 새로 생성해서 PR로 리펙토링을 기록하였다.
2차 리펙토링 깃허브 PR
느낀점
마지막 리펙토링
마지막 리펙토링 과제 1. README 작성 및 코드 정리
2. ‘개발자로서의 나’ 특징 정의해보기 코드뿐만이 아닌 기록에 대해서도 열띤 강의와 함께 과제를 내주셨다.
마지막이라고 작성하긴 했지만 챌린지를 통해 배우고 깨달은 것들을 프로젝트에 꾸준히 적용하고 벨로그에 기록해 볼 예정이다.
프로젝트를 할 때마다 작성하는 리드미의 경우 개발자가 문서정리도 잘해야 하나라는 생각을 가지고 있었기에 항상 귀찮았다.
하지만, 강의를 듣고 태도를 바꿔서 생각해보았다. 내가 이 프로젝트를 보고 사람을 채용해야 한다면 과연 대충 작성하는 것이 맞느냐는 생각이었다.
느낀점