체리피
CherryPy개발자 | 체리파이 팀 |
---|---|
초기 릴리즈 | 2002년 6월, [1] | 전(
안정된 릴리스 | 2021년 7월 4일, 13개월[2] 전( ) |
저장소 | CherryPy 저장소 |
기입처 | 파이썬 |
운영 체제 | 크로스 플랫폼 |
유형 | 웹 응용 프로그램 프레임워크 |
면허증. | BSD 라이선스[3] |
웹 사이트 | cherrypy |
CherryPy는 Python 프로그래밍 언어를 사용하는 객체 지향 웹 애플리케이션 프레임워크입니다.HTTP 프로토콜을 래핑하여 웹 응용 프로그램을 신속하게 개발할 수 있도록 설계되었지만 낮은 수준으로 유지되며 RFC 7231에 정의된 것 이상을 제공하지 않습니다.
CherryPy는 웹 서버 자체일 수도 있고 WSGI 호환 환경을 통해 실행할 수도 있습니다.출력 렌더링용 템플릿 작업이나 백엔드 액세스 등의 작업은 다루지 않습니다.이 프레임워크는 요청/응답 처리의 정의된 지점에서 호출되는 필터를 사용하여 확장할 수 있습니다.
피토닉 계면
프로젝트 설립자인 레미 델론의 목표 중 하나는 체리파이를 가능한 한 피조적으로 만드는 것이었다.이를 통해 개발자는 이 프레임워크를 일반 Python 모듈처럼 사용할 수 있으며, (기술적 관점에서) 애플리케이션이 웹용이라는 사실을 잊어버릴 수 있습니다.
예를 들어, CherryPy 3의 일반적인 Hello World 프로그램은 다음과 같습니다.
수입품 체리피 학급 안녕 세계: 방어하다 색인(자신): 돌아가다 '헬로 월드' 색인.노출되었다 = 진실의 체리피.퀵 스타트(안녕 세계())
특징들
CherryPy 기구:
- HTTP/1.1 준거의 WSGI 스레드 풀링 Web 서버.[4]일반적으로 CherryPy 자체는 [5][6]페이지당 1~2밀리초밖에 걸리지 않습니다.
- Apache, IIS, lighttpd, mod_python, Fast CGI, SCGI, mod_wsgi 등 기타 WSGI 지원 웹 서버 또는 어댑터 지원
- 네이티브 mod_python 어댑터.
- 복수의 HTTP 서버(예를 들면, 복수의 [7]포토로 리슨 하는 기능).
- 플러그인[8] 시스템 CherryPy 플러그인은 서버 프로세스 내의 이벤트(서버 시작, 서버 종료, 서버 종료 등)에 접속하여 서버 시작 또는 종료 시 실행해야 하는 코드를 실행합니다.
- 캐시, 인코딩, 세션, 인가, 정적 콘텐츠 등을 위한 내장 도구입니다.CherryPy 도구는 요청 프로세스 내의 이벤트에 연결됩니다.CherryPy 서버가 요청을 수신할 때마다 해당 요청을 처리하기 위해 거쳐야 하는 특정 단계가 있습니다.페이지 핸들러는 프로세스의 한 단계일 뿐입니다.또한 툴은 특정 핸들러 세트에 대해 툴을 활성화하거나 비활성화하는 구문 및 구성 API를 제공합니다.
- 개발자 및 배포자를 [9][10][11]위한 구성 시스템.CherryPy 배포는 현장, 애플리케이션 및 컨트롤러 수준에서 Python 사전, 구성 파일 및 열린 파일 개체를 통해 구성할 수 있습니다.
- CherryPy [12]어플리케이션 테스트에 사용할 수 있는 핵심 기능 및 관련 프레임워크의 완전한 테스트 스위트.
- v2.[13]1부터 내장된 프로파일링[14], 커버리지 및 테스트 지원
CherryPy는 특정 객체 관계 매퍼(ORM), 템플릿 언어 또는 JavaScript 라이브러리를 사용하도록 강요하지 않습니다.
Cherry Py와 함께 사용 가능
오브젝트 관계 맵
- SQLLechemy - Python 어플리케이션용 데이터베이스 백엔드 및 ORM.TurboGears 2.x는 CherryPy를 서버로 사용하고 SQLAlchemy를 기본 [16]ORM으로 사용합니다.
- SQLObject: 데이터베이스에 객체인터페이스를 제공하기 위해 널리 사용되는 ORM.MySQL, Postgre 배포에 포함된 다수의 공통 데이터베이스 백엔드를 지원합니다.SQL, SQLite, Sybase SQL Server, MaxDB, Microsoft SQL Server 및 Firebird.TurboGears 1.x는 CherryPy를 서버로, SQLObject를 [17]ORM으로 사용합니다.
- Storm - Canonical Ltd.(Ubuntu 제조사)의 ORM
- Dejavu[18] - Python 애플리케이션용 퍼블릭 도메인 소프트웨어, 스레드 세이프 ORM
- MongoEngine : MongoDB에 접속하기 위한 ODM.
템플릿 언어
- Mako[19] - Python으로 작성된 템플릿 라이브러리.심플한 CherryPy [20]툴로 사용할 수 있습니다.
- Cheetah - Python으로 작성된 오픈 소스 템플릿 엔진 및 코드 생성 도구입니다.
- CherryTemplate : CherryPy용 템플릿 언어.
- Genshi[21][22] - 강력한 XML 템플릿 언어.
- Jinja - 범용 템플릿 언어.체리파이는 진자 [23]템플릿을 사용하는 도구를 가지고 있습니다.
- Kid - Python으로 작성된 XML 기반 어휘를 위한 간단한 템플릿 언어입니다.TurboGears 1.x는 CherryPy를 서버로, Kid를 [24]프런트엔드로 사용합니다.
CherryPy Wiki는[25] 템플릿 언어 선택에 도움이 됩니다.
체리파이를 사용한 제품
- TurboGears - CherryPy 2.x는 TurboGears 1.x의 주요 컴포넌트입니다.
- Splunk Enterprise - CherryPy 3.1.2[26]
「 」를 참조해 주세요.
레퍼런스
- ^ "History of CherryPy".
- ^ "Release v18.6.1". 4 July 2021. Retrieved 4 July 2021.
- ^ "cherrypy / CherryPy / source / cherrypy / LICENSE.txt". BitBucket. Retrieved 21 February 2015.
- ^ "CherryPy — A Minimalist Python Web Framework".
- ^ "CherryPy v3 WSGI server benchmark results". Archived from the original on 2016-03-03. Retrieved 2009-09-23.
- ^ 체리파이는 얼마나 빠릅니까?2010년 2월 10일 Wayback Machine에서 아카이브 완료
- ^ "How to set up multiple HTTP servers with CherryPy". Archived from the original on 2016-03-03. Retrieved 2009-09-23.
- ^ 2009년 5월 3일 Wayback Machine에서 CherryPy를 사용한 커스텀 엔진 플러그인
- ^ 2009년 6월 26일 웨이백 머신에 보관된 CherryPy 구성 시스템
- ^ 2009년 7월 1일 Wayback Machine에서 아카이브된 CherryPy 설정 API
- ^ 구성 옵션의 간단한 요약
- ^ Cherry Py 자체 테스트 방법 2009년 9월 27일 Wayback Machine에서 아카이브
- ^ 2010년 2월 9일 Wayback Machine에서 아카이브된 CherryPy의 Profiler 모듈
- ^ "How to collect and the analyse coverage data of application code with CherryPy". Archived from the original on 2015-11-17. Retrieved 2009-09-23.
- ^ "A simple dispatcher tool for CherryPy that uses Routes". Archived from the original on 2016-01-14. Retrieved 2009-09-27.
- ^ TurboGears 2.x는 CherryPy를 서버로 사용하고 SQLAlchemy를 기본 ORM으로 사용
- ^ TurboGears 1.x는 서버로서 CherryPy를, ORM Archived로서 SQLObject를 2009년 9월 22일에 Wayback Machine에서 사용
- ^ Dejavu 2009년 5월 17일 Wayback Machine에서 아카이브 완료
- ^ 마코
- ^ "A simple CherryPy tool for Mako templating". Archived from the original on 2016-03-03. Retrieved 2009-09-21.
- ^ "CherryPy – Genshi". Retrieved 2009-09-26.
- ^ "Genshi - CherryPy Tools - Trac". Archived from the original on 2012-02-27. Retrieved 2009-09-26.
- ^ "A basic CherryPy Tool for using Jinja templates". Archived from the original on 2015-09-05. Retrieved 2009-09-23.
- ^ TurboGears 1.x는 서버로서 CherryPy를, 프런트엔드로 Kid를 사용하고 있습니다.Wayback Machine에서는 2009년 9월 22일에 아카이브 완료
- ^ 템플릿 언어 선택에 관한 CherryPy wiki 2010년 2월 10일 Wayback Machine 아카이브 완료
- ^ "Archived copy". Archived from the original on 2015-11-17. Retrieved 2015-03-24.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크)