전체 보기
🍀

FireStore 사용(1), Linux Github Desktop 설치

작성일자
2023/04/03
태그
DIARY_DEVELOP
프로젝트
NOI
책 종류
1 more property

공부한 내용

firebase 연결

Git
설치 : sudo yum install git (이미 설치되어 있어서 따로 하지 않음)
Git 최초 설정
$ git config --global user.name "Your Name" $ git config --global user.email you@example.com
JavaScript
복사

os-release 파일 확인 → Fedora

backend-firebase-trials git:(master) ✗ cat /etc/os-release NAME="Amazon Linux" VERSION="2023" ID="amzn" ID_LIKE="fedora" VERSION_ID="2023" PLATFORM_ID="platform:al2023" PRETTY_NAME="Amazon Linux 2023" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023" HOME_URL="https://aws.amazon.com/linux/" BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023" SUPPORT_END="2028-03-01"
JavaScript
복사

Linux Github Desktop 설치

Fedora에서는 RPM (Red Hat Package Manager)을 사용함
성공한 방법
아래 링크에서 GitHubDesktop-linux-3.2.0-linux1.rpm 다운로드
하다가 에러 나서 다른 방법 모색
하다가 ubuntu 아니라서 다른 방법 모색
참고
desktop
shiftkey

collection(test).doc(3) write

index.js
import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore"; import { testRead, testWrite } from "./services/firestore"; const firebaseConfig = { // 각자 채우기 apiKey: "", authDomain: "", projectId: "", storageBucket: "", messagingSenderId: "", appId: "", measurementId: "", }; // Initialize Firebase const app = initializeApp(firebaseConfig); getFirestore(app); // Write routine async function write() { const id = "3"; const data = { healthy: true, welcome: true }; if (await testWrite(id, data)) { // true 반환됨 const d = await testRead(id); if (Object.keys(data).length !== Object.keys(d).length) { // 쓴 것과 읽은 것 같은지 확인 throw Error("Fail to read"); } for (let field in d) { if (data[field] === undefined || data[field] !== d[field]) { throw Error("Fail to read"); } } return d; } else { throw Error("Fail to write"); } } write() .then((v) => { console.log(v); process.exit(0); }) .catch((e) => { console.error(e); process.exit(1); });
JavaScript
복사
firestore.js
import { getFirestore, doc, getDoc, setDoc } from "firebase/firestore"; const collection = "test"; const testRead = async (id) => { const db = getFirestore(); const ref = doc(db, collection, id); try { const snap = await getDoc(ref); if (snap.exists()) { return snap.data(); // 읽은 데이터 반환 } else { return {}; } } catch (e) { return {}; } }; const testWrite = async (id, data) => { const db = getFirestore(); const ref = doc(db, collection, id); try { await setDoc(ref, data); return true; // true 반환 } catch (e) { return false; } }; export { testRead, testWrite };
JavaScript
복사

collection(test).doc(1) read

index.js
// Read routine async function read() { const id = "1"; const isReadable = await testRead(id); if (isReadable) { return isReadable; } else { throw Error("Fail to read"); } }
JavaScript
복사

하루 정리

TIL 작성하기
졸프
발표 준비
6시 발표
CS
11시 스터디
노이랩
Firestore 사용 - read, write