행복을 담는 블로그

[TIL] 231226(화) 웹개발 종합반 5주차 / Github 시작하기 본문

내일배움캠프

[TIL] 231226(화) 웹개발 종합반 5주차 / Github 시작하기

hyun0zin 2023. 12. 30. 23:16

웹개발 종합반 5주차


1. 코드 복습 🧐

✔️ 데이터 추가 / 가져오기 주요 코드 복습

  • ${"id 값"}.click(async function () { 빈칸 }
    : 버튼의 id 값을 넣고, 버튼을 클릭하면 작동되는 함수

  • let doc = { 빈칸 };
    : 카드에 넣어줄 데이터들/ 변수에 담기
    ex) image, title, content, date 등

  • await addDoc(collecdtion(db, "collection 이름"), doc)
    : postbox에 입력한 값을 database에 넣기

  • let doc = await getDocs(collecdtion(db, "collection 이름"));
    : firestore database에서 데이터 가져오기

alert : 팝업창을 표시하여 사용자에게 메세지를 전달하는 기능
reload : 현재 페이지를 새로고침하는 기능


2. 배포하기

  • 소프트웨어 개발 과정에서 개발한 앱, 웹사이트, 서비스 등을 실제 사용자들에게 제공하는 과정

📌 URL(Uniform Resource Locator)
: 인터넷에서 특정 리소스의 위치를 나타내는 주소.
간단히 말해, 웹 페이지나 파일의 고유한 주소라고 생각.

프로토콜://도메인/경로
  • 프로토콜(protocol)
    : 웹 브라우저와 웹 서버 간의 통신 방식을 지정.
    가장 일반적인 프로토콜 "http://", "https://"

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

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


3. Github 란?

📌 GitHub(깃허브) 가 무엇인가?
: 인터넷 상에서 개발자들이 만든 자신의 코드를 저장하고 다른 사람과 공유하는 공간 / 온라인 코드 저장소
강력한 협업 툴로 사용되고 있다.

🚩 Github(깃허브)의 주요 4가지 기능
코드 관리 : 코드의 버전 관리 가능
협업 : 여러 개발자가 한 프로젝트에 참여 가능
웹 호스팅 : 개발자가 작성한 코드를 인터넷에 공개적으로 호스팅하여 다른 사람들이 쉽게 접근 가능
지식 공유 : 개방된 플랫폼으로, 다른 개발자들과 코드, 프로젝트, 라이브러리 등을 공유 가능


4. Github Pages 배포하기

📌 Github Pages 란?
: Github에서 제공하는 다른 사람들에게 인터넷으로 공유할 수 있는 서비스

  • 정적 웹 페이지란?
    : 실시간 변경되는 내용 없이 HTML, CSS, Javascript로 이루어진 단순한 웹페이지를 의미한다.
    Github pages를 이용하여 본인의 프로젝트를 온라인에 호스팅하여 웹 브라우저에서 접속 가능하게 할 수 있음.

  • 저장소 생성하기
    New > Repository name 적기 > Public 선택 > Create Repository

  • 파일 업로드하기

Upload Exsiting Files > choose your files > 파일 선택 후 업로드

  • 배포하기

Setting > 화면 왼쪽 Pages > Branch Name : main > Save 누르고 기다렸다가 > 새로고침 > 화면 상단에 주소 노출

  • 수정하기
    :Github 내에서 Edit this file 로 수정 가능하나, 오류가 날 확률이 높으므로 VScode에서 수정 후 코드 전체 교체 : 재업로드하기

5. Firebase의 한계점

: Firebase를 사용하여 호스팅하면 편리함과 빠른 개발 속도를 얻으나, 🔥일부 제한 사항🔥이 존재함.

🚫 서버 제어 제한 : 서버 인프라에 대한 직접적인 컨트롤이 제한된다. 파이어베이스에서 제공되는 기능과 방식에 따라 작업을 수행해야 함.
🌐 확장성 제약 : 규모에 따른 가로 확장성 측면에서 제한이 있을 수 있음.
🔗 종속성 : 파이어베이스를 사용하면 Google 서비스에 의존하게 된다. 외부의 다른 서비스나 기능을 활용하기 어렵다.

▶️ 내 입맛에 맞게 구축하기 위해서는 다른 백엔드 서버를 사용하는 것이 좋다!


Python(파이썬) : 파이어베이스의 제한 사항을 넘어 다양성과 유연성을 가지고 더 많은 컨트롤 이 가능하다.
  • 다양한 웹 애플리케이션 개발 가능성을 제공하고, 개발자가 원하는 방식으로 서버 구축 및 관리 가능.
  • 서버에 대한 완전한 컨트롤을 가짐. 자신만의 고유한 방식으로 서버 구축 및 관리 가능.
  • 서버의 확장성 조절 가능. 필요에 따라 리소스를 추가하거나 조정 가능.
  • 다른 서비스와의 통합이나 원하는 기능을 유연하게 구현 가능.