파이썬의 가상 환경을 나타내는 디렉토리 중 하나입니다.
✅ 파이썬 가상 환경은 왜 쓰는거죠?
1️⃣ 의존성 관리: 가상 환경을 사용하면 프로젝트마다 독립적인 환경을 구축할 수 있습니다. 즉, 한 패키지의 업그레이드가 다른 패키지에 영향을 주지 않습니다.
2️⃣ 이식성: requirements.txt와 같은 방법으로 프로젝트의 의존성을 기록할 수 있으므로, 다른 환경이나 팀원들과 쉽게 공유하고 재생산할 수 있습니다.
✅ 그렇다면 클라우드 수업을 듣는데 왜 가상환경이 필요할까요?
1️⃣ 일관성: 클라우드 상에서 애플리케이션을 실행할 때, 개발 환경과 동일한 환경을 보장하여 예기치 않은 문제나 버그를 방지합니다.
2️⃣ 멀티테넌시: 클라우드 서비스 제공자들은 종종 여러 사용자나 조직들에게 서비스를 제공합니다. 가상 환경은 각 사용자의 애플리케이션과 의존성을 격리하여 서로 간섭되지 않게 합니다.
3️⃣ 오토스케일링 및 배포: 클라우드에서 애플리케이션을 자동으로 확장하거나 다중 지역에 배포할 때, 각 인스턴스가 동일한 환경에서 실행되도록 해야 합니다. 가상 환경은 이를 가능하게 합니다.
from flask import Flask # Flask 패키지에서 Flask 클래스를 가져옵니다.
app = Flask(__name__) # Flask 클래스의 인스턴스를 생성하여 'app' 변수에 할당합니다.
"""
__name__은 Flask에게 "앱의 현재 위치"를 알려주는 역할을 합니다.
이 정보를 통해 Flask는 필요한 정적 파일과 템플릿 파일들의 위치를 빠르게 찾아낼 수 있게 됩니다.
"""
@app.route("/") # 데코레이터는 URL 경로와 Python 함수를 연결하는데 사용합니다.
# 루트 URL 경로를 `home` 함수에 연결합니다.
# 웹 브라우저에서 해당 애플리케이션의 루트 URL에 액세스하면 "Hello, Flask!" 문자열이 표시됩니다.
def home():
return "Hello, Flask!"
그 다음에 터미널에 아래와 같은 명령어를 실행하면 됩니다.
python -m flask run
import re # Python의 정규 표현식 모듈인 re를 가져옵니다.
from datetime import datetime # 현재 시간과 날짜 정보를 얻기 위해 사용됩니다.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hello, Flask!"
# /hello/ 다음에 오는 문자열을 name 변수로 캡처하는 라우터 데코레이터를 정의합니다.
@app.route("/hello/<name>")
def hello_there(name): # URL의 <name> 부분은 이 함수의 인자로 전달됩니다.
now = datetime.now() # 현재 날짜와 시간 정보를 가져옵니다.
# 현재 날짜와 시간 정보를 원하는 형식으로 문자열로 변환합니다.
formatted_now = now.strftime("%A, %d %B, %Y at %X")
# name에서 알파벳 문자만을 포함하는 부분을 찾기 위해 정규 표현식을 사용합니다.
match_object = re.match("[a-zA-Z]+", name)
# name에 알파벳 문자만 있는 경우 해당 문자열을 clean_name에 할당하고, 그렇지 않은 경우 "Friend"를 할당합니다.
if match_object:
clean_name = match_object.group(0)
else:
clean_name = "Friend"
# 최종 메시지를 구성하고 반환합니다.
content = "Hello there, " + clean_name + "! It's " + formatted_now
return content
launch.json의 역할
프로젝트의 성격이나 사용하는 언어, 프레임워크에 따라 디버깅을 위해 필요한 설정이 다르기 때문에,launch.json을 통해 적절한 도구와 설정을 준비하게 됩니다.