오늘 진행한 학습 요약
1. [왕초보] 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z - 3주차
- [스파르타플릭스] 제이쿼리 적용하기
- 클라이언트 - 서버 개념 이해하기
- fetch 연습하기
- [추억앨범] 및 [스파르타플릭스] fetch 적용하기
2. [왕초보] 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z - 4주차
- FireBase, FireBase Database 시작하기
- FireBase Database 데이터 넣거나 가져오기
3. [왕초보] 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z - 5주차
- Github 사용하기
- TIL 적는 법
5. [1주차 프로젝트] 팀원 소개하기 홈페이지 만들기
- 와이어프레임 작성 및 역할 분배
- HTML 작성 및 멤버추가 기능 담당
학습 정리
1. [왕초보] 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z - 3주차
- PostBox 열고 닫는 기능 추가하기
- <head></head> 태그 안에 <script></script> 태그만들기
- <script></scirpt> 태그 안에 function 함수 적기
- 열고 닫는 버튼이 되는 곳에 onclick 적기
- <div></div> 안에 id="변수" 가져오기
- .toggle() 메서드 작성하기
더보기
<head>
<script>
function openclose() {
$('#postingbox').toggle();
}
</script>
</head>
<body>
<button onclick="openclose()" type="button" class="btn btn-outline-light">영화 기록하기</button>
<div class="mypostingbox" id="postingbox">
<div class="form-floating mb-3">
<input type="email" class="form-control" id="floatingInput" placeholder="영화 이미지 주소">
<label for="floatingInput">영화 이미지 주소</label>
</div>
</body>
- 데이터 넣고 카드 생성하기 (복습하기)
- <head></head> 태그 안에 <script></script> 태그만들기
- <script></scirpt> 태그 안에 function 함수 적기
- 기록하는 곳에 onclick 적기
- <div></div> 안에 id="변수" 가져오기
- var 메서드를 이용해 postbox에 값 변수 담기
- append 메서드 사용하기
더보기
<script>
function openclose() {
$('#postingbox').toggle();
}
function makeCard() {
let image = $('#image').val();
let title = $('#title').val();
let comment = $('#comment').val();
let star = $('#star').val();
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);
}
</script>
<div class="mypostingbox" id="postingbox">
<div class="form-floating mb-3">
<input type="email" class="form-control" id="image" placeholder="영화 이미지 주소">
<label for="floatingInput">영화 이미지 주소</label>
</div>
<div class="form-floating mb-3">
<input type="email" class="form-control" id="title" placeholder="영화 제목">
<label for="floatingInput">영화 제목</label>
</div>
<div class="input-group mb-3">
<label class="input-group-text" for="inputGroupSelect01">별점</label>
<select class="form-select" id="star">
<option selected>별점선택</option>
<option value="⭐">⭐</option>
<option value="⭐⭐">⭐⭐</option>
<option value="⭐⭐⭐">⭐⭐⭐</option>
<option value="⭐⭐⭐⭐">⭐⭐⭐⭐</option>
<option value="⭐⭐⭐⭐⭐">⭐⭐⭐⭐⭐</option>
</select>
</div>
<div class="form-floating mb-3">
<input type="email" class="form-control" id="comment" placeholder="추천 이유">
<label for="floatingInput">추천 이유</label>
</div>
<button onclick="makeCard()" type="button" class="btn btn-danger">기록하기</button>
</div>
- API란?
- 은행 창구(?) 같은거
- GET : 데이터 조회 요청
- POST : 생성, 변경, 삭제
- 은행 창구(?) 같은거
- Fetch 사용해서 미세먼지 OpenAPI 데이터 가져오기
더보기
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>미세먼지 API로Fetch 연습하고 가기!</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<style type="text/css">
div.question-box {
margin: 10px 0 20px 0;
}
</style>
<script>
function q1() {
let url = 'http://spartacodingclub.shop/sparta_api/seoulair';
$('#names-q1').empty();
fetch(url).then(res => res.json()).then(data => {
let rows = data['RealtimeCityAir']['row'];
rows.forEach(a => {
let gu_name = a['MSRSTE_NM'];
let gu_mise = a['IDEX_MVL'];
let temp_html = `<li>${gu_name} : ${gu_mise}</li>`;
$('#names-q1').append(temp_html);
});
})
}
</script>
</head>
<body>
<h1>Fetch 연습하자!</h1>
<hr/>
<div class="question-box">
<h2>1. 서울시 OpenAPI(실시간 미세먼지 상태)를 이용하기</h2>
<p>모든 구의 미세먼지를 표기해주세요</p>
<p>업데이트 버튼을 누를 때마다 지웠다 새로 씌여져야 합니다.</p>
<button onclick="q1()">업데이트</button>
<ul id="names-q1">
</ul>
</div>
</body>
</html>
2. [왕초보] 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z - 4주차
- FireBase 사용하기
- 웹서버를 대신 만들어줌
- 서버 개발 없이 제작할 수 있음
- 백엔드 지식 없이도 사용 가능
- 데이터베이스란?
- 데이터를 저장하고 여러사람들이 관리하는 데이터의 모음
- 데이터 베이스이 종류
- 관계형 데이터 베이스 (SQL) : 정리된 정보를 다룰 때 사용
- 비관계형 데이터 베이스 (NoSQL) : 복잡하거나 유연한 정보를 다룰 때 사용
- [추억앨범] 데이터를 Firestore Database에 저장하기
- !주의 : script type을 module로 지정하게 되면 이전에 사용했던 Jquery가 작동하지 않음
더보기
<script type="module">
// Firebase SDK 라이브러리 가져오기
import { initializeApp } from "https://www.xxx";
import { getFirestore } from "https://www.xxx";
import { collection, addDoc } from "https://www.xxx";
import { getDocs } from "https://www.xxx";
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "xxx",
authDomain: "xxx",
projectId: "xxx",
storageBucket: "xxx",
messagingSenderId: "xxx",
appId: "xxx",
measurementId: "xxx"
};
// Firebase 인스턴스 초기화
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
$("#postingbtn").click(async function () {
let image = $('#image').val();
let title = $('#title').val();
let content = $('#content').val();
let date = $('#date').val();
let doc = {
'image':image,
'title':title,
'content':content,
'date':date
};
await addDoc(collection(db, "albums"), doc);
alert('저장완료!');
window.location.reload();
})
function openclose() {
$('#postingbox').toggle();
}
function makeCard() {
let image = $('#image').val();
let title = $('#title').val();
let content = $('#content').val();
let date = $('#date').val();
let temp_html = `
<div class="col">
<div class="card h-100">
<img src="${image}"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">${title}</h5>
<p class="card-text">${content}</p>
</div>
<div class="card-footer">
<small class="text-muted">${date}</small>
</div>
</div>
</div>`;
$('#card').append(temp_html);
}
</script>
- [추억앨범] 데이터를 Firestore Database에서 가져오기
더보기
let docs = await getDocs(collection(db, "albums"));
docs.forEach((doc) => {
let row = doc.data();
let image = row['image']
let title = row['title']
let content = row['content']
let date = row['date']
let temp_html = `
<div class="col">
<div class="card h-100">
<img src="${image}"
class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">${title}</h5>
<p class="card-text">${content}</p>
</div>
<div class="card-footer">
<small class="text-body-secondary">${date}</small>
</div>
</div>
</div>`;
$('#card').append(temp_html);
});
3. [왕초보] 코딩이 처음이어도 쉽게 배우는 웹개발 A to Z - 5주차
- 배포란?
- 소프트웨어 개발 과정에서 개발한 AP, Website, Service 등을 실제 사용자들에게 제공하는 과정
- Github란?
- 인터넷에서 개발자들이 자신의 코드를 저장하고 다른 사람들과 공유하는 곳
4. TLI 특강
- 작성에는 특별한 방법이 없음
- 그러나! 자기가 느낀점이나 트러블 슈팅한 점을 적으면 좋음
(앞으로 적도록 노력해야지)
- 그러나! 자기가 느낀점이나 트러블 슈팅한 점을 적으면 좋음
5. [1주차 프로젝트] 팀원 소개하기 홈페이지 만들기
- 15조 팀원 소개하기 홈페이지 만들기 위해 팀 역할 분배
- 와이어 프레임을 회의때 작성해봄
- (발그림)
- 와이어 프레임을 회의때 작성해봄
- 나는 HTML이랑 CSS 맡음
- 거기서 팀원 추가하기 부분 맡음