※ 특강 정리 - 웹사이트가 어떻게 동작하게 되는지에 대한 기본적인 내용 ※
✔ 서버 : 요청에 대한 응답 + 인터넷에 연결이 되어 있다
(사용자가 브라우저를 통해 웹서버에 요청(request=>url)을 하면, 웹서버는 응답(response)해줌)
✔ 사용자와 브라우저를 묶어서 client라고 한다
✔ 서버는 return을 통해 요청에 대한 응답값을 준다
ex) 아이디와 비번을 url담아서 post방식으로 서버에 보내게 된다
(서버 = 컴퓨터)
✔ 파이썬이 가상환경(venv) 방식을 채택한 이유 : 파이썬에 들어가는 환경이 계속 바뀌기 때문! (ex. 이번 프로젝트에서 이 가상환경을 쓰겠다)
✔ 서버(localhost)에는 여러가지 프로그램들이 있고, 그 중 하나가 app.py(웹사이트를 만들기 위해 작성한 .py파일)
=> Running on http://127.0.0.1:5000
=> 요청을 기다리고 있다는 뜻!
=> localhost:5000에서 5000 : 내 컴퓨터가 열려있다면 모두에게 노출된다. 난 이 컴퓨터의 모든 걸 열어놓고 어떤 요청들만 막을거야 보다는, 모든 걸 막아놓고 조금씩만 열어주는게 보안적으로 좋음! 그래서 포트port를 사용함
localhost를 오픈해버리면 내 컴퓨터에 모두 다 들어 올 수 있어서 위험함. 5000번 항구로 들어오는 것만 허락해 준다는 의미로 5000을 지정, 그래서 loacalhost:5000으로 들어올 수 있음(서버로 들어올 수 있는 고유번호)

✔ localhost : 내 컴퓨터를 가르키는 호스트이름. 주소는 127.0.0.1
✔ 프레임워크 : 개발에만 집중할 수 있도록 제공해주는것
=> 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다
✔ client로부터 요청을 받고 경로를 이끄는 것이 route => @app.route('/')
✔ def => 파이썬에서의 함수. return과 함께 쓰임
✔ flask => 프레임워크
✔ from flask import Flask, render_template, request, jsonify => flask라는 프레임워크로부터 4개의 모듈을 가져왔다는 뜻
✔ return render_template('index.html')
=> render_template('')에 경로를 넣는다! render_template은 flask 구조 안에서 template 밑에 있는 index.html 파일을 가져옴
✔ 명령어
- clear - 터미널 창 지우기
- ls - 폴더 안에 무슨 파일이 있는지 확인
- pwd - 현재 경로를 확인
- cd(change directory) => cd + 경로 입력 시 경로로 이동 (cd .. - 상위폴더로 이동)
✔ ajax - 비동기 호출을 하는 하나의 방법
✔ @app.route('/')
=> GET인지 POST인지 명시되어있지 않으면 디폴트가 GET
=> 경로와 method가 맞아야 def에 들어감!!
✔ GET : 파라미터 노출 (주소창 : 127.0.0.1:5000/id='~~~',password='~~~')
✔ POST : 파라미터 노출x (=> 그래서 아이디, 비밀번호 등은 POST 방식을 사용)
✔ ajax라는 서버를 호출할 때 main.js가 하는 역할 : 주소창에 url 입력하고 엔터치는 것
✔ 로그인 할 때
(python.py의 변수)id = request.form['id'] (변수이름)
password = request.form['password']
✔ 비동기 vs 동기 차이
동기는 순차적 직렬적
비동기는 병렬적, 기다리지 않고 요청 들어오는 대로 처리

'스파르타 개발일지' 카테고리의 다른 글
| 개발일지 20221113~14 깃헙 사용법 정리 (0) | 2022.11.14 |
|---|---|
| 개발일지 20221111 (0) | 2022.11.11 |
| 개발일지 20221109 (0) | 2022.11.09 |
| 개발일지 221108 JavaScript 기초문법 1 (0) | 2022.11.09 |
| 개발일지 20221108 증감연산자 ++count와 count++ (0) | 2022.11.08 |