웹서비스 기술 익히기 - 웹서비스 개발과 파이썬 flask 를 활용한 웹서비스 개발

1. 웹서비스 개발과 파이썬 flask 를 활용한 웹서비스 개발

  • 넓게 큰 그림으로 이해하는 웹 서비스 개발 동향
    • 1세대: USER ---- INTERNET --- WEB SERVER (Read static HTML)
    • 2세대: USER ---- INTERNET --- WEB SERVER (Create request-based HTML from CGI + DB)
    • 3세대: USER ---- INTERNET --- WEB SERVER MVC 패턴 기반 프레임워크 활용
      • MVC: Model - View - Control 패턴으로 구조화된 프레임워크를 사용, 빠르게 다양한 기능을 제공
    • 4세대: OpenAPI, RestAPI 를 혼합하여 다양한 서비스 제공, 다양한 웹 서비스 환경 개발

  • 풀스텍 vs 마이크로 프레임워크
    • 풀스텍 프레임워크: 웹 개발에 관련된 모든 기능을 제공
      • 대표적 프레임워크: JAVA Spring, Python Django, Ruby on Rails
        • 요청/응답 수상화, 세션 상태 관리, 사용자 인증/권한 관리, 웹페이지 템플릿, URL 매핑, 데이터베이스 접근, 보안, 캐시, 데이터 접근 추상화등 다양한 기능을 제공
        • 각 프레임워크를 활용하는데 learning curve 가 큼
        • 하나의 웹서비스를 구축하는데에도 다양한 프레임워크를 이해해야 하는 최근 환경에는 프레임워크 이해해 시간이 많이 소요됨
    • 마이크로 프레임워크: 웹 개발에 필요한 최소 기능만 제공, 나머지 기능은 자신이 원하는 다른 라이브러리나 프레임워크를 확장해 사용
      • python flask 를 통해 웹 개발에 필요한 최소 기능을 배우고, 빠르게 바로 웹 서비스를 구현, 이후 필요한 부분은 서서히 확장!

Flask (플라스크) 특징

  • 마이크로 프레임워크 기반
  • 웹 개발 최소 기능 제공, RESTful 요청 처리, 유니코드 기반, 필요한 부분은 추가해서 확장 가능
  • 참고: http://flask.pocoo.org/

새로운 언어 또는 프레임워크를 배울 때는? 가장 단순한 기능을 출력해봅니다. Hello flask!