i) for문 (반복문)에 대한 복습
// i = 0 부터 시작해서 i가 어떤 것의 길이보다 적을 떄 까지 i를 1씩 더해서 실행함 for (let i = 0 ; i < 어떤 것.length; i++) { 실행 코드 }
ii) 로딩 후 바로실행에 대한 복습
// 로딩 후 실행 코드가 실행됨 $(document).ready(function(){ 실행 코드 });
iii) API 가져오기 연습
// console.log로 API가 가져와졌는지 확인하는 것이 중요! function listing() { $.ajax({ type: "GET", url: "http://spartacodingclub.shop/web/api/movie", data: {}, success: function(response){ console.log(response) }
iv) 실제 화면에 출력 연습
// `${변수}` // 변수에 API 입력값을 넣고 $('#아이디값').append(temp_html) 하면 실행됨 // $('#아이디값').empty() 전체 삭제 $('#cards-box').empty() let movies = response['movies'] // let movie = movies[i] let title = movie['title'] let desc = movie['desc'] let image = movie['image'] let comment = movie['comment'] let star = movie['star'] // let temp_html = `<div class="col"> <div class="card h-100"> <img src="${image}" class="card-img-top"> <div class="card-body"> <h5 class="card-title">${title}</h5> <p class="card-text">${desc}</p> <p>${star_image}</p> <p class="mycomment">${comment}</p> </div> </div> </div>` $('#cards-box').append(temp_html)
v) 반복해서 문자열을 나오게 하는 javascript 내장 함수
// '⭐'가 star 개수 만큼 반복됨 let star_image = '⭐'.repeat(star)
// 전체 코드
<script>
$(document).ready(function(){
listing();
});
function listing() {
$('#cards-box').empty()
$.ajax({
type: "GET",
url: "http://spartacodingclub.shop/web/api/movie",
data: {},
success: function(response){
let movies = response['movies']
for (let i = 0 ; i < movies.length; i++) {
let movie = movies[i]
let title = movie['title']
let desc = movie['desc']
let image = movie['image']
let comment = movie['comment']
let star = movie['star']
let star_image = '⭐'.repeat(star)
let temp_html = `<div class="col">
<div class="card h-100">
<img src="${image}"
class="card-img-top">
<div class="card-body">
<h5 class="card-title">${title}</h5>
<p class="card-text">${desc}</p>
<p>${star_image}</p>
<p class="mycomment">${comment}</p>
</div>
</div>
</div>`
$('#cards-box').append(temp_html)
}
}
})
}
function open_box(){
$('#post-box').show()
}
function close_box(){
$('#post-box').hide()
}
</script>
i) 파이썬 문법은 Javascript보다 훨씬 더 직관적임
ii) 변수를 지정할 때 let, const 같은 문법이 필요 없음
iii) 들여쓴 곳이 실행되는 코드이기 때문에 들여쓰기가 매우 중요!
iv) 크롤링을 하려면 첫 번째 요청해서 html 가져오기 requests.get("url")
v) 상황에 따라 다른 패키지 설치해서 쓰기
a = 2 b = 3
- 리스트
a_list = ["사과", "딸기", "배", "포도"] # 리스트에 추가하는 방법 a_list.append("수박")
- 딕셔너리
a_dict = {"name": "bob", "age": 27}
- 함수
def sum(a, b): return a + b result = sum(1, 2) print(result)
- 조건문
def is_adult(age): if age > 20: print("성인") else: print("청소년")
- 해당 과일 개수 세기
fruits = ['사과', '배', '배', '감', '수박', '귤', '딸기', '사과', '배', '수박'] count = 0 for fruit in fruits: if fruit === "사과": count += 1 print(count)
- age > 20 사람의 이름 출력
people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}] for person in people: if person["age"] > 20: print(person["name"])
- 크롤링 : 외부 라이브러리를 사용해야함 (파이썬에서는 패키지라고함)
# 패키지 코드 써보기 import requests # requests 라이브러리 설치 필요 r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair') rjson = r.json() rows= rjson["RealtimeCityAir"]["row"] for row in rows: gu_name = row["MSRSTE_NM"] gu_mise = row["IDEX_MVL"] if gu_mise < 60: print(gu_name)
i) 데이터를 잘 쌓고 잘 가져오게 하는 프로그램
ii) 나중에 잘 알아보기 위해서 사용함
iii) 정렬되어 있는 순서를 Index라고 함
iv) SQL : 칸을 만들어두고 채우는 느낌, 정형화되어 있어 이상한 데이터가 들어올 일이 없음, 찾기 쉬움, 하지만 늘 받던 데이터만 받다가 새로운 것을 받으면 유연한 대처는 어려움
v) NoSQL : 정해진 칸이 없고 들어오는대로 쌓음, 유연한 대처가 가능해 스타트업에서 많이 사용함 (mongoDB)