: 구글이 만들어낸 웹서버 없이 개발할 때 사용하는 서비스
개발자들이 서버를 구축할 필요 없이 데이터를 꺼내올 수 있게 해준다.
이러한 firebase를 알기 전에, 데이터 베이스라는 개념을 배웠다.
데이터 베이스 란?
: 데이터를 저장하고 여러사람들이 관리하는 창고
즉, 데이터를 잘 적재해서 보관해두는 곳 !
우리가 필요한 데이터를 꺼내올 때 엉망진창이라면 어떤 데이터를 어디서 꺼내올지 굉장히 복잡하고 어려워진다. 그러지 않기 위해선 잘 정리해서 보관해두는 저장소가 필요한데, 데이터베이스가 이러한 역할을 한다.
데이터 베이스는 관계형 데이터베이스(SQL), 비관계형 데이터베이스(No SQL) 로 나뉜다. 여기서 NoSQL은 Not only의 약자이다.
관계형 데이터베이스는 사람이 하는 실수가 없어야하는 아주 방대하고 큰 데이터를 다루는 곳에서 사용된다 (예 - 대기업, 은행 등) . 반대로 비관계형 데이터베이스는 비교적 자유도가 높은 편이다. 유연하게 데이터를 꺼내올 수 있는 환경에서 주로 사용된다.

컬렉션(Collection): 여러 개의 문서들이 특정한 주제 또는 유형으로 그룹화되어 있다. 팀프로젝트를 진행하면서 파이어베이스 수정권한을 갖게되어 들어가보니 방명록에 작성되어 저장되어있는 정보들을 담은 comment 컬렉션과 팀원들 정보가 적히는 카드가 저장된 editing 컬렉션이 있었다.
문서(Document): 하나의 종이는 여러 개의 필드(Field)로 구성되어 있습니다. 필드는 종이에 저장된 데이터를 나타냅니다.
필드(Field): 문서 안에 있는 데이터의 작은 부분입니다. 각 필드는 값으로 구성된다. 문서 삭제와 필드 삭제가 뜨는데 문서는 데이터를 통째로 날려버리는 것이고, 필드는 각각의 데이터 (삭제를 원하는 데이터) 만 삭제된다.
// Import the functions you need from the SDKs you need
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "AIzaSyAu5ZIv4A9H21PflBhEFOiVKqwk0zHAUos",
authDomain: "import-9d51c.firebaseapp.com",
projectId: "import-9d51c",
storageBucket: "import-9d51c.appspot.com",
messagingSenderId: "975445761737",
appId: "1:975445761737:web:89f46f81506497c19ab718",
measurementId: "G-HMHJ1593FD"
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const analytics = getAnalytics(app);
firestore에 프로젝트 설정에 들어가면 이렇게 firebase를 추가할 수 있는 script구문이 나온다.
그리고 꼭 script type="module"로 설정해줘야한다.
module로 설정하면 스크립트를 가장 맨 마지막으로 읽게 되고 html내부에 onclick=함수()로 작성했던 것이 코드가 비활성화된다.
위에서 공부했던 데이터 베이스는 이러한 역할을 수행한다.
모든 데이터베이스는 CRUD에 해당하는 기능을 지원한다.
C (Create): 데이터의 생성
R (Read): 저장된 데이터를 읽어오는 것( 중요!!!)
U (Update): 저장된 데이터를 변경
D (Delete): 저장된 데이터를 삭제
기획자, 마케터 그리고 신입 개발자라면 데이터베이스의 저장된 데이터를 읽어오는 것만으로도 충분하다고 한다. 실무에서 데이터를 삭제하는 일은 거의 없다고 한다. 생성 및 변경도 데이터베이스에 권한을 갖고 있는 사람이 아니라면 그러한 일은 거의 없다고 한다..!
SQL은 Structured Query Language의 약자이며, 결국 데이터베이스에 요청 (Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어라는 의미이다.
데이터베이스 안에는 table 이라고 불리는 것이 있는데, 쉽게 생각하면 데이터를 종류별로 잘 정리해둔 보관함의 모음 이라고 생각하면 좋다.
데이터를 불러올 때는 select * from table에 있는 카테고리 이런식으로 불러오면 된다.
firebase 와 sql 공부를 마치며..
팀 프로젝트가 끝나고 막상 공부하려니 집중이 너무 안됐다..
그래서 일단 잘 모르는 firebase를 공부했는데, 어디서 많이 들어본 SQL이라는 친구가 나타나서 SQL 강의까지 조금 들어버렸다. 생각보다 재밌다..
SQL 은 이름만 들으면 되게 어려운 것 같은데 진짜 자바스크립트 보다 간단해서 놀랐다.. 뭔가 퍼즐맞추는 거같고 앞으로 더 열심히 배워서 나중에 실무에서 써먹어보고 싶다!