개인과제를 제출하고 난 후, 개인과제 해설 영상이 업로드가 되어서 재제출을 하려고
개발 환경 구축부터 하려고 했는데 어제 과제 제출을 할 땐 개인과제를 처음 시작할 때
vite로 인한 react 생성, yarn도 설치가 안 되길래 이번에 vite, yarn을 다시 깔아본 후에 재제출을 할 예정이다.
일단 vite까진 문제가 없었는데.. yarn 때문에 골치가 아프다

이상하게 brew로 깔던 npm으로 깔던 yarn이 깔렸다는 문구를 받았음에도
command not found: yarn 오류 메세지가 뜨고
npm install --global yarn을 입력해도 권한 관련 오류가 뜨는 것이다.
앞에 sudo를 붙여도 똑같길래 뭐가 문젠지 구글링을 해봤다
잠깐, 여기서 sudo 명령어란?
이 짤 하나로 정리할 수 있겠다.

어떠한 명령어 맨 앞에 sudo를 붙인다면 그 명령어는 최고 관리자 권한으로 실행이 된다.

curl -o- -L https://yarnpkg.com/install.sh | bash 이 코드로 입력을 하면 해결이 된다는데.. 어차피 더 이상 물러설 곳도 없다 바로 실행에 옮겼다
그 결과

음 중간에 워닝이 있긴 하지만 마지막 줄에 Successfully라고 뜨는 걸 보니 설치는 잘 됐나보다!! 그리고 vscode를 끈 후 다시 켜보니 드디어..

설치가 잘 된 걸 확인한 후 신나서 yarn dev 명령어를 입력했는데

?? 뭔 오류가 이렇게 많이 뜨는지 진짜.. 이 오류도 구글링으로 해결할 수 있었는데 문제는
npm 버전 업데이트를 안해서 일어나는 오류일 수도 있다고 한다. 해결 방법은
sudo npm update 입력 후 다시 yarn dev를 해본다면?
(혹시나 저처럼 권한 관련 오류가 뜬다면 sudo yarn dev)

드디어 됐다!!! 아오 뭔 오류가 이렇게 많아 여튼 해결했으니 OK
오류를 다 해결한 후, 과제의 코드를 리팩토링 해볼 겸 컴포넌트 분리도 마저 진행해보겠다
일단 제목, 내용 둘 중 하나라도 빈칸으로 두고 할 일 등록 버튼을 눌러도 항목에 추가되는 걸
막아주는 유효성 검사 추가를 했다.

이렇게 if문을 추가해줌으로써 간단하게 해결되는 모습이다.


function solution(n, numlist) {
let result = []; // 빈 배열 생성
for(let i = 0; i < numlist.length; i++) {
if(numlist[i] % n === 0) {
// numlist의 인덱스 값을 정수 n으로 나눴을 때 나머지 값이 0이면
result.push(numlist[i]);
// result 빈 배열에 해당 numlist[i]를 넣어줌으로써 n의 배수만 담음
}
}
return result;
}

const solution = (n, numlist) => numlist.filter(a => a%n === 0)
나는 for문을 사용해 풀이했지만, 다른 사람의 코드를 보니 numlist가 배열이니 filter() 메서드를 사용해서도
이렇게 간단하게 풀이할 수가 있겠구나 하고 감탄했다. 확실히 내 풀이를 보다가 다른 사람의 풀이를 보면
같은 문제로도 여러가지의 풀이가 나온다는 게 신기하고 나도 저렇게 깔끔하게 짤 수 있도록 해야겠다! 하고
배우는 점이 꽤 많은 거 같다
본인 실력 이슈때문에 컴포넌트는 2개 밖에 분리를 못했지만.. ㅠㅠ
재제출도 끝마쳤다! 리액트 개인과제를 하면서 다시 한 번 느낀 점이라면
js의 기초를 탄탄하게 다져놔야 편하다는 걸 다시금 깨달았다..
복습 필수!