Just Do IT!

스파르타코딩클럽 내일배움캠프 사전캠프 2주차 본문

스파르타코딩클럽 내일배움캠프/사전캠프 회고

스파르타코딩클럽 내일배움캠프 사전캠프 2주차

MOON달 2022. 10. 15. 10:00
728x90
일주일 동안 배운 내용 간단 요약

1. JQuery

2. Ajax

3. Python 기초 문법

4. Python | request, bs4 사용하기

5. Python | 웹 크롤링 연습

6. mongnoDB 사용

 

 

 

 

 

JQuery

: HTML의 요소들을 조작하는, 편리한 JavaScript를 위한 라이브러리

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  • HTML 파일에 위의 코드 작성 후 사용 가능
  • id 값을 통해 특정 버튼 등을 가리키게 된다.

(예시) input 박스의 값을 가져와보기

<div class="form-floating mb-3">
    <input id="url" type="email" class="form-control" placeholder="name@example.com">
    <label>영화URL</label>
</div>

...

// 크롬 개발자도구 콘솔창에서 쳐보기
// id 값이 url인 곳을 가리키고, val()로 값을 가져온다.
$('#url').val();

// 입력할때는?
$('#url').val('이렇게 하면 입력이 가능하지만!');

 

 

 

서버-클라이언트 통신 이해하기
  • GET : 통상적으로 데이터 조회(Road)를 요청할 때 사용
    • ? : 여기서부터 전달할 데이터가 작성된다는 의미
    • & : 전달할 데이터가 더 있다는 뜻
    • 예시 
https://movie.naver.com/movie/bi/mi/basic.nhn?code=161967

위 주소는 크게 두 부분으로 쪼개집니다. 바로 "?"가 쪼개지는 지점인데요.
"?" 기준으로 앞부분이 <서버 주소>, 뒷부분이 [영화 번호] 입니다.

* 서버 주소: https://movie.naver.com/movie/bi/mi/basic.nhn
* 영화 정보: code=161967
=> 프론트엔드 개발자와 백엔드 개발자가 미리 정해둔 약속
  • POST : 통상적으로 데이터 생성(Create), 변경(Update), 삭제(Delete)를 요청할 때 사용

 

 

 

Ajax
  • jQuery를 임포트한 페이지에서만 동작 가능
  • type : GET 방식으로 요청
  • url
  • data :요청하면서 함께 줄 데이터 (GET 요청시 비워두기)
  • success : 성공하면 response 값에 서버의 결과 값을 담아서 함수를 실행한다.
$.ajax({
  type: "GET", // GET 방식으로 요청한다.
  url: "http://spartacodingclub.shop/sparta_api/seoulair",
  data: {}, // 요청하면서 함께 줄 데이터 (GET 요청시엔 비워두세요)
  success: function(response){ // 서버에서 준 결과를 response라는 변수에 담음
    console.log(response) // 서버에서 준 결과를 이용해서 나머지 코드를 작성
  }
})

 

 

 

Python 기초 문법
# 변수
a = 2
b = 3
c = 'seoyeon'

# 직관적으로 표현 가능


# 리스트
a_list = ['사과', '배', '감']
a_list.append('리스트 추가')

print(a_list[1])  # 배 

# 딕셔너리
a_dict = {'name': 'bob', 'age': 27}
print(a)dict['name'])  #bob


#함수
def sum(a, b) :
	return a + b

result = sum(1, 2)
print(result)  # 3 출력

# 파이썬은 직관적이므로 줄맞춤만 하면 된다


# 조건문
# 들여쓰기 아주 중요!

def is_adult(age):
	if age > 20:
		print('성인입니다')
	else:
		print('청소년입니다')
 
 
 # 반복문
 fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0

for fruit in fruits:
    if fruit == '사과':
        count += 1

print(count)  #2 출력

 

 

 

 

Python  - requests / bs4 사용하기
  • requests / bs4 패키지 설치 후 사용 가능
  • 패키지 : 모듈(일종의 기능들 묶음)을 모아 놓은 단위
  • 이런 패키지들을 통해 외부 정보를 받아올 수 있다.
import requests # requests 라이브러리 설치 필요

r = requests.get('받아올 URL')
rjson = r.json()
import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('받아올 URL',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

# 코딩 시작

 

 

 

 

DB (Database)
  • DB를 쓰는 이유 => 나중에 잘 찾아서 쓰기 위해서
  • Index라는 순서로 데이터들이 정렬되어 있다.
  • DB의 종류
    • SQL : 정형화되어 있기 때문에 데이터가 바뀔 때 유연하게 대처할 수 없다
    • NoSQL (Not only SQL) : 그때그때마다 쌓이기 때문에 초기 서비스, 초기 스타트업에서 주로 쓰인다.

 

 

 

mongoDB
  • NoSQL의 종류 중 하나
  • pymongo 라는 패키지를 설치 후 사용할 수 있다.
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})

 

 

 

 

 

2주차에 대한 짧은 회고

이번 주부터 백엔드 쪽 지식을 공부하기 시작해서 그런지, 처음 배우는 것들이 참 많았다. 파이썬으로 웹 크롤링 하는 것도 처음이라서 성공시키고 얼마나 좋아했는지...ㅎ 이래서 새로 배우는 지식들이 재밌나보다.

블로그에 적히지 않은 다른 필기들도 있지만 나중에 찾아볼 것들만 간단하게 정리해두고 나머지는 노션에 잘 작성해두었다.

지난주의 다짐처럼 TIL을 작성해두니 한 주간의 공부를 훑기에는 편하다는 생각이 든다.

다음주에도 이번주처럼 열심히! 공부해보자!