[내일배움캠프-사전캠프 10일차] Web 5주차

2025. 2. 5. 07:49·백엔드 부트캠프[사전캠프]/TIL

    1. FireBase 라이브러리 세팅

    <script type="module">
        // Firebase SDK 라이브러리 가져오기
        import { initializeApp } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-app.js";
        import { getFirestore } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";
        import { collection, addDoc } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";
        import { getDocs } from "https://www.gstatic.com/firebasejs/9.22.0/firebase-firestore.js";
    
    
        // Firebase 구성 정보 설정
        const firebaseConfig = {
            본인 설정 내용 채우기 
        };
    
    
        // Firebase 인스턴스 초기화
        const app = initializeApp(firebaseConfig);
        const db = getFirestore(app);
    </script>

    2. addDocs 데이터를 추가

    - 먼저 데이터를 읽어오구

    - 그 데이터를 딕셔너리로 만들어 준 후

    - 딕셔너리를 addDoc로 넣어주기. await addDoc(collection(db, ""), doc)

    $("#id").click(async function () {
      let data = ${"#id"}.val()
    
      let doc = {
    
        };
    
        await addDoc(collection(db, ""), doc)
    });

    - async와 await는 JavaScript에서 비동기 작업을 처리하기 위한 키워드. 이들은 비동기적인 코드를 보다 간결하고 동기적인 스타일로 작성할 수 있도록 도와줍니다.

    3. getDocs 데이터 가져오기

    - 가져올려면, getDocs 를 해야함.

    - 가져올 시, 딕셔너리 형태로 가져오게 됨.

    - await getDocs(collection(db,'컬렉션이름')) 으로 호출하여

    - docs.forEach 호출한 딕셔너리를 순회 도는 것임

    - 돌때마다, html 태그를 append 해주는 거다 알면 됨.

    let docs = await getDocs(collection(db, ""));
    docs.forEach((doc) => {
         let row = doc.data();
    
         let data = row['data']
    
         let temp_html = `
           //html 내용
             ${data}
         `
    
         ${""}.append(temp_html)
    
    });

    4. Github 배포

    - 프로토콜(protocol): 웹 브라우저와 웹 서버 간의 통신 방식을 지정합니다. 가장 일반적으로 사용되는 프로토콜은 "http://"와 "https://"입니다.

    - 도메인(domain): 인터넷 상에서 고유한 식별자로 사용되는 웹 사이트의 주소입니다. 도메인은 일반적으로 사이트의 이름과 최상위 도메인(Top-Level Domain, 예: .com, .org)으로 구성됩니다.

    - 경로(path): 웹 사이트 내에서 특정 페이지나 파일의 위치를 지정합니다. 경로는 슬래시("/")로 구분된 디렉토리 경로와 파일명으로 구성됩니다.

    - 아래는 깃 허브 배포 방법을 정리한 것

    1) Setting 클릭

    2) Pages 클릭

    3) Branch를 main으로 바꾼 후 save 를 클릭해준다. 그러고 새로고침을 눌러주면 Visite site가 뜸.

    5. Firebase 한계점

    - 파이어베이스를 사용하여 웹 애플리케이션을 호스팅하면 편리함과 빠른 개발 속도를 얻을 수 있지만, 일부 제한 사항이 존재합니다. 주요한 한계 중 하나는 백엔드에 대한 컨트롤을 일부 잃게 된다는 점!

    - 서버 제어 제한: 파이어베이스는 서버 인프라에 대한 직접적인 컨트롤이 제한됩니다. 파이어베이스에서 제공하는 기능과 방식에 따라 작업을 수행해야 합니다.

    - 확장성 제약: 파이어베이스는 규모에 따른 가로 확장성 측면에서 제한이 있을 수 있습니다.

    - 종속성: 파이어베이스를 사용하면 Google의 서비스에 의존하게 됩니다. 파이어베이스 외부의 다른 서비스나 기능을 활용하기 어렵거나 제한적일 수 있습니다.


    오늘의 회고

    - 오늘은 오후에 일정이 있어서 오전에 혼자 공부를 시작했다.

    - Web 강의를 완강했다. 다소 빠른 수강이다, 그래서 아직 부족한 부분이 많다고 생각한다.

    - 추후에 복습을 할것인데, 그때 firebase를 이용해 혼자만의 html을 만들어보아야겠다고 생각했다.

    > 전에 하다 말았던 Todoapp 을 지금 만들어 보는 건 어떤가 생각이 든다 'ㅡ'

    '백엔드 부트캠프[사전캠프] > TIL' 카테고리의 다른 글

    [내일배움캠프-사전캠프 12일차] Web 프로젝트 2일차  (1) 2025.02.07
    [내일배움캠프-사전캠프 11일차] Web 프로젝트 1일차  (1) 2025.02.06
    [내일배움캠프-사전캠프 09일차] Web 3주차 ~ 4주차  (2) 2025.02.04
    [내일배움캠프-사전캠프 08일차] Web 1주차 ~ 2주차  (2) 2025.02.03
    [내일배움캠프-사전캠프 07일차] SQL 강의  (1) 2025.01.31
    '백엔드 부트캠프[사전캠프]/TIL' 카테고리의 다른 글
    • [내일배움캠프-사전캠프 12일차] Web 프로젝트 2일차
    • [내일배움캠프-사전캠프 11일차] Web 프로젝트 1일차
    • [내일배움캠프-사전캠프 09일차] Web 3주차 ~ 4주차
    • [내일배움캠프-사전캠프 08일차] Web 1주차 ~ 2주차
    sintory-04
    sintory-04
    🚀🚀🚀
    • sintory-04
      Sintory Dev Blog
      sintory-04
      글쓰기 관리
    • 전체
      오늘
      어제
      • 분류 전체보기 (290)
        • 백엔드 부트캠프 (111)
          • TIL (97)
          • WIL (0)
          • 문제풀이 (7)
          • 기타 (6)
        • 백엔드 부트캠프[사전캠프] (35)
          • TIL (16)
          • 문제풀이 (17)
          • 기타 (1)
        • Troubleshooting (11)
        • 코딩 공부 (118)
          • Java (28)
          • Baekjoon-Java (24)
          • Programmers-Java (40)
          • Spirngboot (11)
          • typescript (1)
          • JavaScript (6)
          • Spring 입문 (8)
        • 프로젝트 (1)
          • ToDoApp(FireBase) (3)
          • ToDoApp(Spring) (5)
        • 기타 (4)
    • 블로그 메뉴

      • 소개
      • Github
    • 최근 글

    • 최근 댓글

    • hELLO· Designed By정상우.v4.10.3
    sintory-04
    [내일배움캠프-사전캠프 10일차] Web 5주차
    상단으로

    티스토리툴바