11월10일(목) 1주차과제 관련 보충강의
수업 내용 :
client - server - db 구조의 초간단 설명
모든 로그 다 찍어보며 왜 이 프로젝트가 동작하는지 설명
수업 내용 정리본 - 과제 제출하기:)
-TIL은 느끼고 생각하는 모든것을 적어야한다.
비유하자면 웹 서버는 식당이다.
내가 주문을 요청하면 그 주문에 맞는 레시피를 가지고 음식을 만들어 제공한다.(서비스가 돌아가는 원리)
요청을 하고 제공을 받는다.
request=요청하다
render=주다, 제출하다 (랜더링을 했다)
post방식으로 아이디와 비밀번호를 url에 담아서 서버에 보내게된다.
서버에서는 로그인이라는 요청이 들어왔네? 아이디와 비번이 필수입력값이니 확인하자!
어? 확인되네? 그럼 매칭되는 아이디의 정보값,응답값을 브라우저에 보내준다.
그럼 브라우저에서 그 정보를 나에게 열어준다.
venv 가상환경, 왜 파이썬에서는 가상환경을 만들었는가?
파이썬에 깔리는 세팅이 여러가지라 구분을 해줘야한다?!
서버는 컴퓨터다. 내 컴퓨터 = localhost = 127.0.0.1(기본적)
내 컴퓨터 여러가지 프로그램 중 하나가 app.py
app.py가 안 켜져있어서 구동이 안된다. 키는 순긴? 포트5000에서 돌아가며 요청을 기다리고있다.
할수있다!!!!!!!! 중간 돈!기부여 !!!!!화이팅!!!!
프레임워크,개발만 집중할수있게 모든 것들을 쉽게 만들어주는것
app.route
-route 가 뭔가요? 한 곳에서 다른 곳으로 가기위해 따라가는 길/어딘가로 가게끔 하는것.
클라이언트로 부터 요청이 들어오면 어딘가로 가게끔 하는것 ->이리로 가세요..!!!!
예)app.route("/members/1") 라면 '주소/members/1'이라는 곳으로 가세요! 라는 뜻
localhost=5000 포트는 뭔가요?
서버는 와이파이를 통해 internet에 연결이 되어있다. 인터넷을 통해 연결되있는 컴퓨터가 모든 사람이 다 볼수있는거라면? 내 흑역사가 오픈된다면? 이걸 막기위해서 컴퓨터에서는 방화벽으로 차단을 해놓음. 모두 열어놓고 조금만 막는것보다는 일단 다 막아놓고 조금씩만 뚫어놓으면 된다. port(=항구,서버로 들어갈수있는 열린 문)
예)서버가 한반도야~ 그럼 한반도로 들어올수있는 항구가 부산항 인천항 등 항구가 몇개있다.
즉 한반도로 들어올수있는 그 항구를 포트라고 생각하면 된다.
포트를 내가 5000번으로 지정한적이 없는데?!왜 5000번으로 지정되어있는거죠??
->app.py 아래쪽에 내가 지정을 한거다..!
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
@app.route('/')
def home():
return render_template('index.html')
app.route('/')
render : 주다
template : 템플릿
render_template->index.html 파일을 찾아서 가져온다.
근데 내가 지정한적이 없는데 저건 뭐죠?
app.py맨 위에 적힌 코드를 보면,
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
import=가져온다.
*log는 뭐지? 일지. 그냥 다 적는다.
터미널 명령어 자주 쓰는건 외워두자(리눅스 기본 명령어)
ls
clear
cd - change directory
GET과POST의 차이점
GET:파라미터 노출
POST:파라미터 노출X
파라미터는 뭔가요? 사이트에서 로그인시 아이디와 패스워드가 서버로 전송되는(담겨있을) 값(매개변수)
=-========다른 팀원의 댓글정리부분=
-Get 방식과 Post방식의 가장 큰 차이점?
Get 노출 ! -> 파라미터를 노출o
Post 노출 x ->파라미터를 노출x
파라미터는 뭔가요?
Id,pw를 입력해서 누르면 서버에서는 그것이 매칭하는 사람을 db에서 찾아야함.
Id,pw가 클라이언트로부터 서버로 전송되어야함.
이게 바로 파라미터. 정의, 매개변수.
여기에서 매개변수란? ID와 PW가 담긴 요청값. 즉, 그것이 파라미터 !
=-============
중요한건 파라미터를 주고받는다는것
비동기 호출이란,? 쉽게 페이지 새로고침 안하고 호출하는 방법
새로고침 안하고 변경된 정보값들을 실시간으로 받아오는 것
비동기?
1.젓가락주세요
2.숟가락주세요
3.애피타이저 주세요
3개 요청을 보내면 동기 방식은 하나씩 처리하는데 비동기는 한번에 처리한다. 기다리지않는다.