군인인 친구가 휴가를 나왔다. 그냥 동네 친구들과의 약속이었으면 일을 핑계로 가지 않았을 것이지만, 휴가나온 친구가 있으니 참석하는 것이 도리 아니겠는가. 약속은 20시였지만 일 때문에 22시에 합류하는 친구가 있어 나도 22시에 합류하기로 했다. ...그래놓고는 퇴근하고 두 시간 가량 쉬었다. 이러려고 늦게 만나는 것은 아닌데. 늦게라도 집을 나서 약속장소 근처의 카페에 왔다.
firebase의 storage를 사용하는 법을 익히다가 오류를 발견했다. 파일이 업로드되지 않았다. 파일을 추가하면 'photo uploaded' 라는 문구가 떠야하는데 아무런 변화도 없었다. firebase의 문제는 아니었다. file을 위한 input 태그의 onChange 메소드에서 e.target을 files라는 변수에 할당해줘야 했다.
const files = e.target;
e.target은 이벤트가 발생한 HTML 객체를 가리키기 때문에 아래의 코드 처럼 중괄호를 사용해야 한다.
구조분해할당의 문제다.
const {files} = e.target;
e.target이 객체를 가리킨다고 생각하지 못한 것이 실수의 요인이었다.
그렇다고 e.target이 객체가 아닌 무언가 라고 생각한 것은 아니다. 그저 한번도 생각을 해 본 적이 없을 뿐..
지식이 늘었다.
firebase의 모든 함수들을 외울 수는 없다. 비효율적이고 미련한 짓이다. 결국은 상황에 따라 필요한 함수를 찾는 능력, 곧 라이브러리 코드의 @params와 @returns 를 보고 적절히 사용할 줄 알아야 한다. 많은 연습이 필요할 것이다. 그리고 앞으로 프로젝트를 하면서 점점 익숙해 질 것이라 생각한다. 무지성으로 chatGPT에게 물어보거나 구글링을 하는 것 보다 이것에 습관을 들이도록 해야한다.. 는 필요성을 다시 한번 느끼게 된다. 요즘 자주 깨닫는 것 같다.
이번 firestore uploading 파트가 종료되고 챌린지가 출제되었다. 파일 크기가 1MB 이하인 파일들만 업로드 가능하게 하라는 내용이다. 하긴, 1GB같은 큰 파일이 업로드되면 여간 곤란한 것이 아닐 것이다. onFileChange 함수에 file 크기에 따른 조건문을 추가해주면 간단히 해결될 것이다.
if (files[0].size > 1000000) {
alert("File size should be less than 1MB");
return;
}
'Diary' 카테고리의 다른 글
2024.01.09 (0) | 2024.01.09 |
---|---|
2024.01.08 (0) | 2024.01.09 |
2024.01.05 (0) | 2024.01.05 |
2024.01.04 (1) | 2024.01.04 |
2024.01.02 (0) | 2024.01.02 |