• 회원가입
  • |
  • 로그인
  • |
  • 장바구니
  • News
    뉴스 신제품 신간 Culture & Life
  • 강좌/특집
    특집 강좌 자료창고 갤러리
  • 리뷰
    리뷰
  • 매거진
    목차 및 부록보기 잡지 세션별 성격 뉴스레터 정기구독안내 정기구독하기 단행본 및 기타 구입
  • 행사/이벤트
    행사 전체보기 캐드앤그래픽스 행사
  • CNG TV
    방송리스트 방송 다시보기 공지사항
  • 커뮤니티
    업체홍보 공지사항 설문조사 자유게시판 Q&A게시판 구인구직/학원소식
  • 디렉토리
    디렉토리 전체보기 소프트웨어 공급업체 하드웨어 공급업체 기계관련 서비스 건축관련 업체 및 서비스 교육기관/학원 관련DB 추천 사이트
  • 회사소개
    회사소개 회사연혁 출판사업부 광고안내 제휴 및 협력제안 회사조직 및 연락처 오시는길
  • 고객지원센터
    고객지원 Q&A 이메일 문의 기사제보 및 기고 개인정보 취급방침 기타 결제 업체등록결제
  • 쇼핑몰
Flask, mySQL, 파이썬을 활용한 Open API 기반의 플랫폼 개발 방법
2022-04-04 1,078 18

BIM 칼럼니스트 강태욱의 이슈 & 토크
 

이번 호에서는 Flask(플라스크), mySQL(마이에스큐엘), 파이썬을 활용해 Open API 기반의 플랫폼을 개발하는 방법을 소개한다. 이 방법은 Open API를 쉽게 만드는 기술 중 하나로, 파이썬 기반의 오픈 API를 개발할 때 가장 많이 사용되는 구조이다.

 

강태욱 | 건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 Engineering digest와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
이메일 | laputa99999@gmail.com
페이스북 http://www.facebook.com/laputa999
홈페이지 | https://sites.google.com/site/bimprinciple 
팟캐스트 | http://www.facebook.com/groups/digestpodcast

 

일반적으로 이렇게 만든 구조를 플랫폼으로 제공하고, 오픈소스인 도커(Docker)의 실행환경 가상화 기능을 사용해 서버에 설치하여 서비스한다. 참고로, 오픈소스인 도커는 마치 가상 이미지를 굽는 것처럼 개발자가 개발한 환경 및 프로그램을 자동으로 설치하는 기능을 손쉽게 지원한다. 이러한 오픈소스 기반 플랫폼 구조는 다음과 같이 다양한 곳에 손쉽게 응용할 수 있다.


■ CCTV 모니터링 서비스
■ IoT 연결 및 데이터 처리 서비스 
■ Open API 지원 웹 기반 협업 플랫폼
■ 웹 기반 데이터 관리 플랫폼
 


그림 1. 일반적인 오픈소스 Flask, 파이썬, 도커 기반의 웹 서비스 플랫폼 구조(dev.to, Ana, 2020, Dockerizing your first web app with python and flask)

 

이 글을 통해 다음과 같은 기능을 가지는 간단한 플랫폼을 개발해 보겠다.


■ 간단한 Open API 서버 개발
■ 서버에서 특정 프로그램 실행 결과 API 로 호출해 리턴
■ MySQL 데이터와 Flask 연동을 통한 객체 관계 맵핑 API 자동 생성
■ 이미지 업로드 서버 및 간단한 대시보드 개발
 

Flask 소개
Flask는 마이크로 웹 프레임워크(microframework)로 파이썬으로 개발되어 있다. Flask는 다양한 애드인을 지원하여, ORM(object relational mapping), 폼 검사(form validation), 파일 업로드 처리, 다양한 개방형 인증, 도구 등을 사용할 수 있다. Flask는 국제 파이썬 그룹의 Armin Ronacher(아민 로나허)에 의해 개발되어 2010년 첫 버전이 발표되었고, 2020년에는 깃허브에서 가장 인기있는 파이썬 웹 개발 프레임워크에 선정되었다. Flask는 Pocoo 프로젝트 기반이며, WSGI(Web Server Gateway Interface) 지원을 위한 Werkzeug, Django와 유사한 템플릿 엔진을 제공하는 Jinja를 사용한다.

강태욱 laputa99999@gmail.com


출처 : 캐드앤그래픽스 2022년 4월호

포인트 : 1,000P (정기구독자 무료 다운로드)

© 캐드앤그래픽스 무단전재 및 재배포금지, 기사 게재 희망시 당사 문의
  • kakao

댓글 0

로그인 후 댓글을 달수있습니다
등록된 코멘트가 없습니다.