반응형

 

0. 들어가기

매크로 배포를 위한 계정관리, 그리고 간단한 주식 스크리닝 페이지를 만들기 위해 웹서버를 만들어보려고 며칠 고민을 했다.

각 서버의 목적은

1) 매크로 서버
-. 간단한 해시 키 인증을 통한 사용자 인증
-. 매크로 접속이력(시작/종료시간) 및 현재 접속상태
--> 그저 'server' 구현만 되면 뭐든 문제없는 매우 간단한 기능.

2) 주식 스크리닝 페이지의 서버
-. 윈도 기반의 DLL 혹은 COM으로 배포되는 증권사 API 사용. 즉, C/C++과의 연동이 강제되는 상황.
-. 데이터 처리가 편한 것이 좋다. 기존 배포되는 주식 관련 모듈들을 사용할 수 있으면 좋음.
--> cffi 혹은 win32com으로 C 연동, 그리고 아무래도 숫자 처리가 편한 (남들이 만들어둔게 많은) 파이썬이 제격이라 생각된다.

1. Flask

-. Python 기반의 마이크로 프레임워크(Micro Framework). 쟝고(Django)가 웹서버의 모든 기능 (DB sql 등)을 포함하는 프레임워크라면, 플라스크는 웹 서버의 필수 기능만 제공한다고 한다... (Flask docs)

마이크로 프레임워크(Microframework)에서의 “마이크로”는 핵심기능만 간결하게 유지하지만, 확장가능한 것을 목적으로 한다. Flask는 여러분을 위해 데이타베이스를 선택해주지 않는다. Flask에서 제공하는 템플릿 엔진을 변경하는것은 쉽다. 그밖에 모든것은 여러분에게 달려있고, 그래서 Flask는 여러분이 필요한 모든것일 수 있고, 필요없는것은 하나도 없을것이다.

 

-. 그리고 이전에 노드(Node.js)를 쓸 때 참 편했던게 라우터 기능을 이용해서 매우 간결하게 웹 구성을 할 수 있었는데, 플라스크도 비슷한 기능을 지원하는 것 같다.

 

2. Hello World 띄우기

역시 코드는 Hello world지. Flask docs를 보고 따라함. 

main.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return "hello world"

if __name__ == "__main__":
    app.run()

 

파이참 터미널에 python main.py 입력하여 실행하면 아래와 같이 로컬호스트로 실행 됨.

E:\web>python main.py
 * Serving Flask app "main" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [09/Feb/2021 16:39:54] "?[37mGET / HTTP/1.1?[0m" 200 -
127.0.0.1 - - [09/Feb/2021 16:39:54] "?[33mGET /favicon.ico HTTP/1.1?[0m" 404 -

 

3. 출력 결과

크롬 주소창에 127.0.0.1:5000 입력하면 hello world만 간결하게 떠 있는 페이지가 출력 됨.

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기