Add = 지정(장바구니), commit = 저장(장바구니에 있는 물건사기)

hello.html 저장을 해주고싶을떄 써준다.

 

 

 

 

 

깃허브 가입후

 

깃 허브 저장소가 만들어진다.

 

협력자 추가하기

 

 

 

 

 

데이터베이스란 함수를 저장하는공간을 말한다.

 

파이어스토어(Firestore)는 구글 클라우드 기반 NoSQL 데이터베이스 입니다.

 


콜렉션 이름은 데이터베이스에 저장할 이름입니다. 우리가 저장하는곳은 NoSQL 입니다.

 

데이터베이스에서 우리가 불러들이고 싶은 html input 내장값을 저장할수가 있습니다. 

'데이터 추가 스켈레톤' 이라고 불리는 스크립트를 붙입니다.

 

우리는 어떠한 클릭버튼을 눌렀을때 이 값을 가져올수있게 button 코드에다가 id값을 넣어주고

id명을 넣어줍니다.

 

데이터베이스 함수는 api를 코드를 불러올때 썼던 html에서 onclick="dd" 일반 함수 function (){}을 쓰면 먹히지가 않습니다.

$("#id").click(async function () {
    let doc = {};
    await addDoc(collection(db, "콜렉션이름"), doc);
})

 

이렇게 써줘야합니다.

 

그리고 기본적으로 데이터베이스를 가져올때 스크립트에 파이어베이스 세팅을 해주고

script type = "module" 로 바꿔줍니다.

 

onclick 이 먹히지 않기때문에 동적으로 바꿔주어야합니다.

[코드로 클릭을 달아준다] 라고 보시면 됩니다.

 

  // 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";



        // For Firebase JS SDK v7.20.0 and later, measurementId is optional
        const firebaseConfig = {
            apiKey: "AIzaSyBQkxYA9sqv45AQPAWyW4ocuuVRectOnH8",
            authDomain: "sparta-1019b.firebaseapp.com",
            projectId: "sparta-1019b",
            storageBucket: "sparta-1019b.firebasestorage.app",
            messagingSenderId: "240993693699",
            appId: "1:240993693699:web:6277d9f6a7a3ea8c8f9e36",
            measurementId: "G-KWRTXTJ14Q"
        };


        // Firebase 인스턴스 초기화
        const app = initializeApp(firebaseConfig);
        const db = getFirestore(app);

 

 

데이터베이스에서 카드생성하는방법?!

 

데이터베이스에서 외부정보를 정보를 저장할수있따. 콜렉션이름을 임의대로 저장하면 데이터베이스에 콜렉션이름명으로 저장이 됩니다.

 

 

데이터베이스에 저장되어있는 정보를 가져오는 코드번호.

let docs = await getDocs(collection(db, "콜렉션이름"));
docs.forEach((doc) => {
    let row = doc.data();
    console.log(row);
}); 

 

 

 

 

----------

document에 input태그에 정보를 입력해서 데이터베이스까지 전송하는 스크립트짜기

우리가 예를들어, document 안에서 input 태그에 이미지 주소를 입력하고, 확인 버튼을 누르면 
데이터베이스에서 폴더가 저장이 자동으로 입력이된다.

그러면 우리는 document안에서 input 태그에 이미지 주소를 입력해서 데이터베이스까지 저장되게 하는 코드는 어떻게 짤까?
처음에 script type = "module" 로 바꿔줘야한다.
그리고 데이터베이스 스크립트 위에 3줄을 가져와줘야한다.

그다음에 input 확인버튼을 누르면 데이터베이스로 전송되는  버튼 html에 아이디명을 지정해준다.
우리가 저장할 input 태그에 id명을 입력하면 그 고유의값을 저장해야하기때문에 제이쿼리값으로 val()값을 저장해준다.
마지막으로 doc 을 지정해줘서 document 안에 라이브러리로 저장해야하기때문에 key value 값으로 저장해준다.


$('#저장버튼').click(async function(){
 let image = $('#image').val();
 let title = $('#title').val();
 let star = $('star').val();
 let comment = $('comment').val();

let doc {
'image':image,
'title':title,
'star':star,
'comment':comment
};
await addDocs(collection(db, "movies"),doc);
alert('저장완료');
window.location.reload();

로 저장해준다.


        $('#postingbtn').click(async function () {
            let image = $('#image').val();
            let title = $('#title').val();
            let star = $('#star').val();
            let comment = $('#comment').val();

            let doc = {
                'image': image,
                'title': title,
                'star': star,
                'comment': comment

            };
            await addDoc(collection(db, "movies"), doc);
            alert('저장 완료');
            window.location.reload();

        });

        $(document).ready(function () {

 

데이터베이스에서 저장된 라이브러리 정보를 가져오는법!

let docs = await getDocs(collection(db, "movies"));
docs.forEach((doc)=> {
 let row = doc.data();
 let image = row['image'];
 let title = row['title'];
 let star = row['star'];
 let comment = row['comment'];

let temp_htmp=`
<div class="col">
                <div class="card">
                    <img src="${image}"
                        class="card-img-top" alt="...">
                    <div class="card-body">
                        <h5 class="card-title">${title}</h5>
                        <p class="card-text">${star}</p>
                        <p class="card-text">${comment}</p>
                    </div>
                </div>
            </div>`

('#card').append(temp_html);
});

 let docs = await getDocs(collection(db, "movies"));
            docs.forEach((doc)=> {
            let row = doc.data();
               // let image = $('#image').val(); 이미지 input 값을 가져오는 코드,
               //우리는 데이터베이스에 리스트에 있는 코드를 가져오는것이기 때문이다.

               let image = row['image'];
               let title = row['title'];
               let star = row['star'];
               let comment = row['comment'];


                let temp_html =`
                <div class="col">
                <div class="card">
                    <img src="${image}"
                        class="card-img-top" alt="...">
                    <div class="card-body">
                        <h5 class="card-title">${title}</h5>
                        <p class="card-text">${star}</p>
                        <p class="card-text">${comment}</p>
                    </div>
                </div>
            </div>
                `

                $('#card').append(temp_html);
             });

 

데이터베이스에 저장된 출력값이 나오게된다. 그리고 input 태그안에 이미지주소를 저장해서 데이터베이스에 전송하면

데이터베이스에서 card값으로 전송을 해주기때문에 영구저장이 가능합니다!

 

 

서버에서 클라이언트로 다량의 정보가 이동할때

클라이언트는 분류를 해내야하는데, 그 분류하는과정을 돕는것이 Jason 이라는 것이다.

 

Jasonview 라는 프로그램을 설치하면 데이터분류가 더 수월해진다. 

https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=ko

 

JSONVue - Chrome 웹 스토어

Validate and view JSON documents

chromewebstore.google.com

 


서버 
 

은행 하나의 지점이라고 보면된다. 예를들어 주소창에 movie.daum.net 까지가 서버입니다.

 

 

 

api:허락된곳만 접근이 가능하고

open api :  모두가 접근이 가능하다.

 

주소창에 ? 뒤에는 데이터이다. 데이터를 가져가는것이다. 이것이 바로  get 방식이라고 부른다.

 

스크립트에 fetch코드를 넣어준다. 

 

let url = 'http://주소'

fetch("여기에 URL을 입력").then(res => res.json()).then(data => {
console.log(data)
})

 

 

 

 

forEach 구문으로 날씨 제이슨 코드에서 상세한 정보 따오기.

 

 

 

 

 

 

우리는 날씨 open api의 주소를 가져와서 미세먼지 농도가 40이상인 지역에 빨간효과를 준것입니다.

실시간 데이터이다보니 해보니까 신기하기도하고 두근두근합니다.

코드 짜는 능력은 아직까진없지만 그래도 조금씩 따라하니까 다 되더라구요.

일단 우리는 document에 open api의 데이터들을 가져와 줍니다.

onclick 함수를 html에 입력을 해주고 스크립트에서 함수를 선언해줍니다.

그안에서는 fetch의 url을 입력해줍니다.

data값에서 우리는 RealtimeCityAir 에서 row값 안에있는 세밀한 정보들을 가져와야하기때문에 변수를 또 만들어줘야합니다.

모든 데이터들이 실시간으로 다 들어와야하기때문에 forEach  구문을 적어줘야하고,

let temp_html = `` 안에 저 칸들이 있어야합니다. 

 

 

 

 

 

 

1.부트스트랩 스크립트

<title>제목명</title>
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

부트스트랩(html 틀을 복사해서 가져올수있는 링크명이다> 

타이틀 제목명 밑에다가 복사해준다.

 

https://getbootstrap.com/docs/5.3/components/buttons/ 부트스트랩 사이트.

 

 

2. 제이쿼리 스트립트

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

 

 

 

'Datebase, fetch 코드붙여넣기' 카테고리의 다른 글

깃 허브  (0) 2024.12.23
[데이터베이스]  (1) 2024.11.29
[Fetch] 클라이언트 서버개념 이해하기  (0) 2024.11.27

+ Recent posts