javascript

    [Firebase] Firestore 에서 데이터 다루기

    Firestore 의 데이터는 Collection(컬렉션) 과 Document(문서) 로 되어있다. Collection > Document 로 되어있는데, 각 문서는 {key: value} 형식으로 들어가있으며 Collection 이 들어가도 된다. Document 불러오기 하나의 Document 불러오기 const docRef = doc(firestore, 'myCollection', 'doc1'); const docSnap = await getDoc(docRef); if (docSnap.exists()) { console.log('Document data:', docSnap.data()); } 모든 Document 불러오기 // 'myCollection' collection 의 모든 document ..

    1. ESLint, Prettier / 설치 및 사용 / 차이점 / 더 잘쓰기 (충돌방지, 쉽게 쓰기)

    ESLint Lint, Linter ESLint 를 알아보기 전에 Linter 에 대해 알아보자. Lint 는 보풀 이라는 뜻이다. 즉 Linter 의 의미는 보풀 (뭔가 지저분한, 뭔가 잘못된) 을 찾아주는 의미인 듯 하다. 옷의 보풀은 입어보지 않고도 알 수 있는데, 이는 실행시키지 않아도 코드를 보고 문법의 오류나 안티패턴을 찾아낸다는 의미의 정적분석과도 일맥상통하는 듯 하다. Linter 에는 JSLint, JSHint, ESlint, JSCS 등이 있지만, ESLint 가 커스텀이 좋아서 가장 대중적으로 사용한다고 한다. (ESLint, JSLint 외에는 처음들어봤다) ESLint 니콜라스 C. 자카스에 의해 개발되었으며, ECMAScript 와 실험적인 문법들을 지원한다고 한다. TypeSc..

    함수

    들어가며 함수에 대한 내용입니다. 책 인사이드 자바스크립트(4.1~4.3)를 참고하였습니다. 함수의 정의 함수를 정의하는 방식에는 크게 세 가지 방식이 있다. 함수 선언문 함수 표현식 Function() 생성자 함수 그리고 1번과 2번은 함수 리터럴 방식 을 이용해서 선언된다. 3번은 말 그대로, Function() 생성자 함수 를 통해서 선언된다. 함수 리터럴 방식 리터럴이란, 선언함과 동시에 값 또는 코드를 지정해주는 것을 말한다. -참고1 함수 선언문 - 기명 함수 function fInit(a) { console.log(a); } 함수를 선언할 때 이름이 꼭 있어야(기명) 한다. 그리고 선언문 이기 때문에 호이스팅이 일어날 수 있다. 때문에 코드 구성을 엉성하게 만들 수 있어서, 되도록이면 선언문..

    실행 컨텍스트 (Execution Context)

    들어가며 지난 JavaScript, Front-End 발표 주제는 this 였지만, 공부하다 보니 실행 컨텍스트에 대한 내용이 선행되야 할 것 같아 실행 컨텍스트에 대하여 발표를 하게 되었다. 여러 자료와 책을 참고하며 공부를 하고 있음에도 내용이 잘 와닿지 않아 참고1을 참고2, 참고3, 참고4, 책 인사이드 자바스크립트, Poiema Web을 참고하여 번역을 해보고자 한다. 추가적으로 내가 여러 자료를 찾아보면서 알게 된 내용들도 덧붙일 것이다. 실행 컨텍스트, Execution Context(이하 EC) 라는 개념은 나에겐 낯설었기에 나와 같은 사람들이 있을 것 같아 흔히들 아는 콜스택 을 시작으로 글을 써보도록 하겠다. Call Stack과 EC var x = 'xxx'; function foo ..