항해99 사전과정 웹개발종합반 회고록 #4

김춘복·2023년 2월 1일

웹개발종합

목록 보기
4/5

스파르타코딩클럽 웹개발종합반 강의 후기

본격적으로 항해99를 시작하기 전, 사전강의로 4종의 강의를 제공받았다.
그 중 2회독 필수인 '웹개발종합반'강의에 대한 회고록을 작성하려한다.
배운 것을 정리하는 위주로 글 작성.


4주차

4주차에선 Flask 프레임워크를 사용해 서버를 만드는 실습을 주로 했다.
서버쪽은 처음 배워 집중하며 강의를 들었지만 아직 생소한 느낌이 있어
복습을 추가로 해야할 것 같다.
파이참과 Flask를 활용해 실습을 진행했다.


Flask

  • 프레임워크(Framework) : 서버를 만들 수 있는 큰 라이브러리.

  • 로컬 개발환경 : 내 컴퓨터 안에서 서버 만들고 클라이언트로 접속할 때.

  • Flask : 서버를 구동시켜주는 편한 코드 모음. 통상적으로 파일명을 app.py 로 사용
    Flask 패키지 필수! (pymongo dnspython 도 역시 필수로 설치해야한다)
    Flask 시작 코드

from flask import Flask, render_template
app = Flask(__name__)
## URL 별로 함수명이 같거나,
## route('/') 등의 주소가 같으면 안됩니다.
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)

# http://localhost:5000/로 접속 가능.
# @app.route('/) 부분을 수정해서 URL을 나눌 수 있다.

Flask 기본 폴더 구조
프로젝트 폴더 안에,
ㄴstatic 폴더 (이미지, css파일을 넣어둡니다)
ㄴtemplates 폴더 (html파일을 넣어둡니다)
ㄴapp.py 파일
(venv 폴더는 안보이는 셈으로 치면 된다.)

  • 클라이언트가 서버에 요청할 때 GET(읽기)과 POST(생성 수정 삭제)방식 등이 있다.

  • 프로젝트 전, 필요한 기술을 먼저 구현해봐야 한다. 이런 것들을 조각기능이라 한다.

  • Get은 url: /test?title_give=봄날은간다 처럼 ?뒤에 요청이 있음. /test가 창구.

  • POST는 url: "/test"로간단한데 data: { title_give:'봄날은간다' } 에서 요청.


기타

  • Html 내에서 안에 있는 변수는 $(‘#name’)처럼 쓰고 (post)
    서버에서 들고온 자료(get는 리스트의 인덱스는 []
    temp_html쓸땐 ${name}
    POST에서 마지막은 새로고침 window.location.reload()

  • Meta tag : <head> 부분에 들어가는, 눈으로 보이는 것(body) 외에 사이트의 속성을 설명해주는 태그.

  • python에서 db에 있는 숫자를 받아올때 문자로 인식되어 받아와진다.
    이를 다시 숫자로 바꾸려면 int()로 씌우면 다시 숫자로 인식된다.


실습내용 & 어려웠던 점

  • Flask 실습. 화성땅 공동구매. post(주문db에저장) get(주문 보여주기).

  • Flask 실습. 영화평 저장 사이트.
    post : bs4로 네이버 영화에서 meta태그 크롤링후 영화정보 db에 저장.
    웹에서 입력한 평점과 코멘트, url 저장.
    get : temp_html을 이용해서 입력한 영화 정보와 코멘트 정보 보내고 붙여넣기.

  • Flask 실습. 팬명록 응원 남기기.
    post : 응원남기기 클릭 시 주문 목록에 추가
    get : 페이지 로딩 후 하단 응원목록에 자동으로 보이기

  • 서버와 클라이언트 둘 다 만져가며 수정하는게 매우 흥미있었다.
    하지만 실습을 해봐도 아직 익숙해 지지 않는 부분이 있어 추후 여러번의 실습을 통해 숙달되도록 노력해야겠다.

profile
Full-Stack Dev / MLOps

0개의 댓글