-
라이브러리와 프레임워크에 대한 이해(개념) +
flask입문(실습)-
라이브러리 vs 프레임워크 라이브러리란? 라이브러리는 특정 기능에 대한 도구 혹은 함수들을 모아놓은 집합을 의미합니다. 프레임워크란? 프레임워크란 소프트웨어에 필요한 기능을 동작시킬수 있는 뼈대를 제공해 주는것 입니다. 라이브러리와 프레임워크의 차이점은? 이 둘의 가장 큰 차이점은 자유도에 있습니다.
프레임워크 : 프로그램을 만들기 시작하면 프레임워크의 규칙을 지키면서 코드를 짜야됩니다.
라이브러리 : 프로그래머가 필요로 하는 라이브러리의 기능만을 가져와서 자신의 코드에 사용하면 됩니다.
-
실무에서 사용하는 파이썬을 활용한 여러 프레임워크와 라이브러리들(
django,tensorflow,keras등) django 쉽고 빠르고 간단하게 웹 싸이트르 만들수 있느 프레임워크 입니다. 웹사이트를 만들때 많이 사용되는 게시파 형식, 로그인 형식등으 미리 만들어 놓은 프레임워크입니다.tensorflow 다양한 데이터 흐르 프로그래밍을 위한 오픈소스 라이브러리입니다. 텐서플로는 연산상태를 가지는 데이터 흐름 유향그래프프로 구현합니다.
keras 파이썬으로 작성된 오픈소스 신경망 라이브러리입니다. MXNet, Depplearning4j, 텐서플로, Microsoft Cognitive Toolkit 또는 Theano 위에서 수행할 수 있다. 딥 신경망과의 빠른 실험을 가능케 하도록 설계되었으며 최소한의 모듈 방식의 확장 가능성에 초점을 두고 있습니다.
-
프레임워크를 사용할때의 장,단점 + 왜 사용하는지? 장점
- 이미 만들어진 코드를 사용하여 개발에 걸리느 시간을 단축 할수 있다.
- 많은 사람들이 이미 사용한 코드를 사용하므로 오류에 대한 부담이 적다.
- 유지보수가 쉽고 확장성이 뛰어나다.
단점
- 프레임워크에는 많은 기능들을 기본적으로 가지고 있으므로 프로그램이 무거워진다.
- 프레임워크에만 의존하여 개발하게 되며 개발 능력의 진전이 적어 프레임워크 없이는 개발을 할수 없을 수도 있다.
-
flask실습파이참 새 프로젝트를 생성합니다. 파이참 터미널에서 아래 코드를 입력해 flask를 설치합니다.
pip install flask프로젝트 폴더에 hello.py를 만들고 아래 코드를 복사해 넣습니다.
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == "__main__": # 어트리뷰트 이름이 main이면 아래 코드를 실행한다. app.run()
파이참 터미널에 아래 코드를 입력하여 flask로 웹서버를 구동한다.
python hello.py파이참 터미널에 아래와 같이 뜬다면 성공한거다.
* Serving Flask app "hello" (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)이제 "http://127.0.0.1:5000/" 을 클릭하여 접속해보자.
위와 같은 화면이 뜨면 성공한것이다.
flask의 디버그 모드를 활성화 시켜보자.
우선 Ctrl+C를 눌러서 서버를 종료시켜준다.
이후 아래와같이 코드를 수정하여준다.
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == "__main__": # 어트리뷰트 이름이 main이면 아래 코드를 실행한다. app.run(debug=True)
맨 밑에줄을보면 debug=True라는 글자가 추가 되었다.
이제 다시 웹서버를 켜보자.
Serving Flask app "hello" (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: on <--- 디버그 모드가 켜진것을 확인할 수 있다. * Restarting with stat * Debugger is active! * Debugger PIN: 274-560-248 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)다시 "http://127.0.0.1:5000/" 을 클릭하여 접속해보자.
hello.py의 코드를 아래와 같이 변경해보자.
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, Flask!' # 'Hello, Wolrd'가 'Hello, Flask'로 변경되었다. if __name__ == "__main__": app.run(debug=True)
웹페이지를 새로고침해보자. 아래와 같이 'Hello, World!' 에서 'Hello, Flask!' 로 변경된 것을 볼수 있다.
디버그 모드가 활성화 되면서 코드가 변경되면 이를 flask 스스로가 적용시켜주기 때문이다.
-