Python Bottle Web Framework

Slides:



Advertisements
Similar presentations
신도초 5 학년 4 반 김정수 지도교사 전혜원 선생님.  산출물 주제를 정하다가 문득 낮보다 왜 밤이 더 소리가 잘 들리는지 궁금해서 결정했다. 처음에 는 물질의 종류에 따른 소리의 크기로 하려 그랬 지만 실험이 너무 간단한 것 같아서 재료를 늘리 거나 온도를 높이려고.
Advertisements

Term Project Hints Topics Keep-alive CGI Multi-thread Multi-process Event-based.
JSP 정리 레퍼런스: JSP 2.1 웹 프로그래밍 (최범균, 가메출판사). 목차 1. Directive - 인코딩 - 오류처리 2. Implicit Object - 쿠키/세션 3. Action Tag 4. JDBC/DBCP 프로그래밍, 파일업로드 5. Expression.
01 학습 내용 : 준비학습 : 인터넷 과 웹 01 장. 인터넷 이해하기 02 장. 홈페이지를 만들기 전에.
Chapter 02. 웹에 대한 이해. Chapter 02. 웹에 대한 이해 웹의 역사 HTTP 웹 애플리케이션 기술.
- SW_Desing Study Group -
WCR 이란! WCR이란 과거의 일반적인 Cache 솔루션과는 다른 개념으로 일반 사용자들은 Cache의 존재여부에 대하여 설정을 할 필요가 없어 지고, 또한 사용자들이 Cache의 존재 유무를 인식함이 없이 Cache를 사용하게 할 수 있다. 과거의 Cache 서버는.
Introduction to Servlets
Introduction to Django
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
제5장 산업재해 보상보험 ☞ 목적 : 근로자의 업무와 관련하여 발생한 재해근로자의 재활 및 사회복귀를 촉진시키기 위하여 이에 필요한 보험시설을 설치 운영하며, 피해를 예방하고 근로자의 복지증진을 위한 사업을 행함으로써 근로자의 보호에 이바지함을 목적으로 함. 산재보험은.
김 상 국, 김 기 훈 한남대학교 컴퓨터공학과 데이터베이스 실험실
Network Lab. Yong bae, Kim
Ⅰ웹로그분석을 통한 쇼핑몰 운영전략 코리아 인터넷 마케팅센터 대표 김형택
웹 해킹 기초와 실습.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
Web Programming 강의 소개
5 익셉션 처리.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
Web Servers (IIS & Apache)
1. WEB access log 형식 2. WEB access log 위치 3. WEB access log 분석
125. WAPPLES Policy Setting Guideline
Power Java 제4장 자바 프로그래밍 기초.
ASP 정 보 보 호 학 과 양 계 탁.
Chapter 02 웹의 이해.
임베디드 프로그래밍 Lecture #
AJAX 커머스아이 박준열.
인터넷 보안 정보 보안 개론 5장.
Processing resulting output
Embeded 기초 다지기 2015년 10월 26일 intern Sally
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
ASP.NET Mobile Controls
Sun Java System Web Server 6.1 설치와 WebLogic 8.1과의 연동
JSP 내장 객체 JSP에서 기본으로 사용할 수 있는 내장 객체 종류를 알아본다. 내장 객체별 주요 기능과 메서드를 이해한다.
정보검색 환경세팅 및 쉘스크립트 맛보기 IS lab. 김건영.
웹 애플리케이션 로깅 및 오류 처리 기법 웹 애플리케이션 로깅의 필요성을 이해한다 로깅의 분류 및 구현 방안을 학습한다
SOAP 클라이언트 개발 Guide
Cookie 와 Session.
Html(front end) & jsp(back end)
1강_web과 html Web이란? HTML이란? CSS란? Lecturer Kim Myoung-Ho Nickname 블스
9장 JSP페이지의 에러처리 이장에서 배울 내용 : JSP페이지에서 에러를 처리하는 방법에 대해 학습해본다. 에러페이지를 사용한 에러처리의 문제점을 살펴보고, 현재 JSP2.0에서 권장하는 에러 처리 형태인 에러코드별 에러처리를 하는 방법에 대해 학습한다.
Network Security WireShark를 활용한 프로토콜 분석 II.
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
Open API - Naver (Application Programming Interface )
나라장터 사용 방법 공공기관 구매위탁을 위한 사용자 등록 사용자 등록 절차 수요기관 조달청
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
웹 어플리케이션 보안 2016년 2학기 2. Node routing.
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
CGI (Common Gateway Interface)
SNS 로그인 API 연동 조휘제.
CGI (Common Gateway Interface)
Cyber Shopping Mall 구축 - CD New - 안소연,박지윤,박종봉,정영은.
[INA470] Java Programming Youn-Hee Han
CH2. ASP.NET 페이지 분석 HTML ASP ASP.NET 의 차이점.
Chapter 08 : 서블릿 고급3. chapter 08 : 서블릿 고급3 학습목표 서블릿 속성과 Scope ServletContext HttpSession HttpServletRequest Filter API 요청 필터 응답 필터 url-pattern 8 가지.
Internet Computing KUT Youn-Hee Han
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
DEVSimHLA 다운로드 및 설치 수신자: 메일 내용
Hello, Python! #3 <부제: 코딩은 혼자하는 것이다>
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
이번 시간에는... 지난 시간까지 제 1장을 통해 모바일의 정의와 개념, 시작과 발전, 기술과 서비스 및 그 전략을 살펴봄으로써 모바일 산업에 대한 전반적인 이해를 쌓았습니다. 이번시간 부터는 제 2장 모바일 기술을 통해, 무선 인터넷을 위한 컨텐츠 제작 기술, 네트워크.
-자료형과 연산- IS lab. 김건영 Python -자료형과 연산- IS lab. 김건영
최종 사용자 관점의 웹 서비스 성능 관리 SmartSQM Agentless 실시간 전구간 성능 모니터링
주요공지로 정할 글을 올립니다. 제목과 주소를 복사해둡니다
웹 스크래핑.
테이블 데이터 처리용 command line tool들
노인학대예방 교육 교육강사 시 설 장 송나겸 보성실버센터.
Eclipse Plugin 활용 가이드 ㈜크로센트
Python 기본.
Presentation transcript:

Python Bottle Web Framework IS lab. 김건영 http://hagazzusa.github.io/

오늘 할 거 1. 윈도우에 파이썬 설치 및 환경 설정 (학교 서버는 포트가 막혀 있습니다.) 1. 윈도우에 파이썬 설치 및 환경 설정 (학교 서버는 포트가 막혀 있습니다.) 2. Python Bottle 써보기 3. 과제 있음

1. 파이썬 설치 이미 깔려 있다면 6page로 넘어가시면 됩니다. https://www.python.org/

1. 파이썬 설치 원하는 곳에 설치 (주소를 기억해두자)

1. 파이썬 설치 Add python.exe to path를 on 해주자 빨간 X 클릭 후 맨 위 항목 체크

1. 파이썬 테스트 Cmd를 열어서 python실행 제어판->시스템->고급 시스템 설정->고급->환경 변수 Path변수 끝에 ;를 치고 아까 파이썬을 설치한 주소를 적 어준다. (이 ppt에선 c:\Python27, c:\Python27\Scripts)

1. pip를 통한 bottle 설치 Cmd창에서 아래와 같이 친다. Successfully installed ~ 가 뜬다면 설치 완료 Pip가 없다면 python설치 경로/Scripts에서 python pip.py install bottle 실행 해당 폴더에도 없다면 https://bottlepy.org/bottle.py 그냥 보틀을 받자.

Bottle? Python의 대표적인 Web Framework 중 하나 (Pyramid, Tornado, Django, Bottle, Flask 등…) 웹 개발에 필요한 최소한의 기능만 제공하는 마이크로 프레임워크 4개의 구성요소 Routing: URL주소 접근에 따른 요청을 함수 실행으로 이어줌 Templates: HTML 문서와 동적 상호작용을 위한 문법 Utilities: 잡다한거(DB접근, 파일업로드, 쿠키) 편리하게 Server: 실행만으로 Server가 됨

Hello world in bottle http://localhost:8080/hello/자기이름 접속

Hello world in bottle http://localhost:8080/hello/자기이름 접속 구성요소들이 유기적으로 얽혀있다. Template Routing Server

Hello world in bottle Global로 1개의 app이 아닌, 여러 app들을 하나의 소스 로 관리 할 수 있다. Def 위에 오는 routing decorator를 좀 다르게 적고, run 에 실행할 app을 명시해야한다.

Request Routing 유저가 서버에 접근하는 주소들을 설정하고 관리 파이썬 기능 중 하나인 decorator로 설정 아래 코드는 route(‘/’)(greet), route(‘/he~..’)(greet)과 동일한 의미 즉 만든 함수 greet을 route함수를 써서 접근할 주소로 매핑

Request Routing 아래 코드는 greet 함수를 host/와 host/hello/<name> 주소로 매핑 >해당 주소로 유저가 접근하면 서버가 greet함수를 실행 <name>은 템플릿 기능 중 하나로 변수의 동적 할당을 가능하게 함 (Dynamic routing) > 유저가 name 변수에 임의로 적어서 접근하면 서버측 에서 name에 유저가 적은 string을 알 수 있음

Dynamic Routing 전 페이지의 <name>처럼 접근 주소를 변수로 사용할 수 있다. 매핑할 함수의 인자와 route 안에 들어가는 동적 주소를 똑같이 써줘야 한다.

Dynamic Routing: Filtering 주소의 type을 filtering을 통해 한정시킬 수 있다. <var:type>같이 적으며 가능한 type은 아래와 같다. :int = 정수형 입력 :float = 실수형 입력 :path = /(slash)를 포함한 모든 단어 인식 :re = 정규표현식 Custom filter도 추가 가능

HTTP request methods HTTP protocol 처리 @route 가 get, post 등으로 wrapping되어 있다.

HTTP request methods 전 페이지 코드에 check login과 run을 추가하여 돌리면 아래와 같이 뜬다.

Static files Web, serve를 제외한 외부 파일들을 총칭 (Ex: CSS 등) Bottle에서는 간단하게 외부 파일들을 웹으로 표현가능 Static_file 오픈 예제 (서버의 디렉토리 구조를 숨긴다.) 이미지 표현 예제 다운로드 창 예제

Error page, Redirection

Response object Bottle.response 객체는 웹과 관련된 metadata들을 저장 하고 설정할 수 있게 해준다. (http header, cookie 등) http protocol header의 Content-Language를 en으로 수정하였다.

Cookies Cookie: 사용자(클라이언트) 쪽에 저장되는 임시 변수 get, set cookie로 간단하게 사용할 수 있다. Secret 매개변수로 쿠키 암호화 가능

Request object Bottle.request는 response와는 반대로 클라이언트 측에 서 온 header, forms, cookie등을 저장하고 있다.

Request object POST로 온 http, form정보 조회 및 처리 GET이면 query, POST면 forms

Request object Request에서 사용할 수 있는 하위 속성들과 그 특징 POST로 온 파일 저장

Templates 동적인 웹 페이지를 표현하기 위해 HTML과 같이 쓰이 는 문법들을 총칭 Bottle의 기본 template engine인 simple template을 제 외하고도 오픈소스 프로젝트인 Mako, Cheetah, Jinja2 template 지원 강의에서는 simpl만 사용, 아래 두개만 알면 됨 Inline expression: {{…}} Embedded python code: % or <% … %>

Templates Inline expression: 어떤 python 코드든 사용 가능 Embedded python code: % or <% … %> 어떤 python 코드든 사용 가능, 그러나 tab, 스페이스바 로 인한 블록 구분이 안되므로 블록이 끝나는 곳에 % end를 적어야함

Templates Bottle 코드 hello_template.tpl

정리하자면 Bottle에서 기억할 건 1. 기본적인 구조 2. Routing: 주소 -> 함수 3. request, response: 메타 데이터들 4. template: python변수를 html로

과제 메일 : gyk@kangwon.ac.kr 메일 제목 : [학번]이름_bottle 1. Hello world in bottle 2. Dynamic routing 3. Request 4. Template 실습자료에서 위에 해당되는 예제들을 각각 한 개씩(총 4개) 치고 실행 결과를 스크린샷으로 찍어서 보내주세요.