외거노비
외거노비 일지
외거노비

공지사항

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (35)
    • 스파르타 프로젝트 (1)
      • 소개페이지(feat. 팀 외거노비) (1)
      • 프로젝트(미정)(feat. 팀 외래교란종) (0)
    • 스파르타 개발일지 (34)
hELLO · Designed By 정상우.
외거노비

외거노비 일지

개발일지 20221110 특강 정리
스파르타 개발일지

개발일지 20221110 특강 정리

2022. 11. 10. 23:27

※ 특강 정리 - 웹사이트가 어떻게 동작하게 되는지에 대한 기본적인 내용 ※

 

✔ 서버 : 요청에 대한 응답 + 인터넷에 연결이 되어 있다
(사용자가 브라우저를 통해 웹서버에 요청(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
    '스파르타 개발일지' 카테고리의 다른 글
    • 개발일지 20221113~14 깃헙 사용법 정리
    • 개발일지 20221111
    • 개발일지 20221109
    • 개발일지 221108 JavaScript 기초문법 1

    티스토리툴바