kaki1013

0. 수업 소개 및 개발환경 세팅 본문

버그바운티 스터디/FLASK

0. 수업 소개 및 개발환경 세팅

kaki1013 2023. 7. 21. 03:11

# 수업소개 - 웹 프레임워크를 사용하는 이유

1. 예시

기본 틀이 동일한 1억개의 html이 내부적으로 하이퍼링크로 연결되어 있다고 가정

이때 페이지가 하나 추가되면 모든 문서에 1억 1번째 하이퍼링크 연결해야 함

→ 한번에 처리할 수 없을까?

 

사용자들의 투고를 받아서 운영, 수정하려면?

모두 메일로 받는게 아니라 사용자가 입력 양식에 내용을 입력하여 저장하고, 페이지로 만들 수 있다면?

또한, 사용자를 구분해서 최적화된 웹 페이지를 보여줄 수 있다면?

-> 파이썬으로 사용자의 요청이 들어올 때마다 웹페이지를 순간적으로 찍어내서 서비스하는 웹 공장을 만들자!

 

2. 주요 내용

파이썬으로 모두 만들 수 있지만 어려움

공통적인 부분은 웹 프레임워크에게 맡기고, 애플리케이션이 가진 개성을 만드는 데에 집중

(웹 프레임워크 = 웹 페이지를 만드는 작업 중 공통적인 많은 부분들을 미리 해둔 소프트웨어)

 

3. 다양한 웹 프레임워크 존재

자바 - JSP, Servlet, Spring

php - Laravel, Codeignitor

Ruby - Ruby on rails

js - Express.js

파이썬 - Django, FastAPI

플라스크는 적은 노력으로 많은 작업 가능

 

4. 요약
(1) 웹 프레임워크는 웹 에플리케이션을 구현하는데 필요한 공통적인 기능을 제공 → 시간과 비용을 절약  
(2) Flask의 경쟁자들 :Django, Laravel(PHP), JSP, Servlet, Spring(Java), Ruby On Rails(Ruby)
(3) 코드의 유지보수가 용이함  
(4) 개인화를 쉽게 구현 가능

 

# 개발환경 세팅

1. 로컬

https://www.opentutorials.org/course/4904/31304

 

나의 컴퓨터에 개발환경 셋팅 - 생활코딩

수업소개 Flask를 컴퓨터에 설치해서 개발하는 방법을 소개합니다.  강의 요약 1. 파이썬3를 설치합니다.  https://www.python.org/downloads/ 2. flask를 설치합니다.  pip install flask  3. server.py 파일에 아래

www.opentutorials.org

2. 온라인

https://www.opentutorials.org/course/4904/31305

 

온라인 서비스를 이용해서 개발환경 셋팅 - 생활코딩

수업소개 https://glitch.com 을 이용해서 Flask를 개발하는 방법을 소개합니다.  강의 요약  1. https://bit.ly/flask-glitch 에 방문합니다.  2. REMIX 버튼을 눌러서 환경을 복제합니다.  3. Preview in a window를

www.opentutorials.org

3. 예시 코드

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    return 'hi'


app.run(debug=True)

 

# 플라스크를 사용하는 이유

1. 요약

- Flask를 이용하면 사용자 정의 웹서버를 만들 수 있음

- 사용자의 요청이 들어올 때마다 동적으로 HTML 코드를 만들어내는 웹서버

 

2. 예시 코드

from flask import Flask
import random

app = Flask(__name__)


@app.route('/')
def index():
    return 'random : <strong>' + str(random.random()) + '</strong>'


app.run(debug=True)

 

'버그바운티 스터디 > FLASK' 카테고리의 다른 글

5. 쓰기 기능 구현 (2)  (0) 2023.07.22
4. 쓰기 기능 구현 (1)  (0) 2023.07.21
3. 읽기 기능 구현  (0) 2023.07.21
2. 홈페이지 구현  (0) 2023.07.21
1. Routing  (0) 2023.07.21