파이썬을 사용해 로컬 서버를 만드는 방법에 대해 배웠다. 일반적으로 서버를 만드는 작업은 매우 어려워서 'Flask'라는 프레임워크를 사용하여 만든다고 한다. 1. 기본 폴더 구조(필수 세팅) - static 폴더: 이미지, css파일을 넣어둔다. - templates 폴더: HTML 파일을 담아두고, 불러오는 역할을 한다. ---> flask 내장함수 render_template를 이용한다. - app.py 파일 위 3개의 파일을 만든 뒤 시작한다.(venv는 건들지 않기!!) 2. 연습 1 (GET 요청) - app.py : 가장 상위 폴더 안에 생성 from flask import Flask, render_template, request, jsonify app = Flask(__name__) @ap..
/*----------------- 3-5 ~ 3-7------------------*/ # left join 강의 시작을 안한 사람 select u.name, count(*) as cnt from users u left join point_users pu on u.user_id = pu.user_id where pu.point_user_id is NULL group by u.name order by count(*) desc # 7월 10일 ~ 7월 19일에 가입한 고객 중, 포인트를 가진 고객의 숫자, 전체 숫자, 비율 select * from point_users select * from users select count(pu.point_user_id) as pnt_user_cnt, count(*) ..
두 테이블의 공통된 필드(key 값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. Join의 종류에는 Left Join, Inner Join이 있다. Left Join은 A 테이블의 왼쪽에 B 테이블을 붙이는 것이다. 이때 해당 데이터의 필드값이 비어있다면 [Null]로 표시되어 출력된다.(A와 B 사이의 크기를 따져야한다.) Inner Join은 두 테이블의 공통된 데이터값만을 출력한다. select * form table을 해보면서 필드값을 확인하고 두 테이블의 공통된 필드값을 찾는다. 이후,(별칭 사용) select * from users u inner join point_users p on u.user_id = p.user_id from --> join --> where -->..
# 저장 - 예시 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'}) from pymongo import MongoClient client = MongoClient('mongodb+srv://test:s..
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('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers) soup = BeautifulSoup(data.text, 'html.parser') # 코딩 시작 #old_content > table > tbody > tr:nth-chi..
Python 자바보다 직관적인 프로그래밍 언어이다. 자바와 다르게 중괄호 등으로 묶이지 않는 간편함으로 들여쓰기가 매우 중요하다. " ':' 표시는 이후 나오는 내용은 윗줄에 포함입니다."라는 뜻이다. 포함되는 코드는 들여쓰기 되어진다. def sum(a,b): return a+b result = sum(1,2) print(result) def (definition의 약자) : 함수를 정의한다. return : 값을 반환 print() : 값을 출력 def is_adult(age): if age > 20: print('성인입니다.') else: print('청소년입니다.') is_adult(15) people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age..