체리피

CherryPy
체리피
개발자체리파이 팀
초기 릴리즈2002년 6월, 20년 전(2002-06)[1]
안정된 릴리스
2021년 7월 4일, 13개월[2] 전(2021년 7월 4일)
저장소CherryPy 저장소
기입처파이썬
운영 체제크로스 플랫폼
유형웹 응용 프로그램 프레임워크
면허증.BSD 라이선스[3]
웹 사이트cherrypy.dev

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와 함께 사용 가능

  • Routes - Ruby on Rails의 루트 시스템을 Python으로 재실장하여 URL을 컨트롤러/액션에 매핑하고 URL을 [15]생성합니다.

오브젝트 관계 맵

템플릿 언어

  • 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]

「 」를 참조해 주세요.

레퍼런스

  1. ^ "History of CherryPy".
  2. ^ "Release v18.6.1". 4 July 2021. Retrieved 4 July 2021.
  3. ^ "cherrypy / CherryPy / source / cherrypy / LICENSE.txt". BitBucket. Retrieved 21 February 2015.
  4. ^ "CherryPy — A Minimalist Python Web Framework".
  5. ^ "CherryPy v3 WSGI server benchmark results". Archived from the original on 2016-03-03. Retrieved 2009-09-23.
  6. ^ 체리파이는 얼마나 빠릅니까?2010년 2월 10일 Wayback Machine에서 아카이브 완료
  7. ^ "How to set up multiple HTTP servers with CherryPy". Archived from the original on 2016-03-03. Retrieved 2009-09-23.
  8. ^ 2009년 5월 3일 Wayback Machine에서 CherryPy사용한 커스텀 엔진 플러그인
  9. ^ 2009년 6월 26일 웨이백 머신에 보관된 CherryPy 구성 시스템
  10. ^ 2009년 7월 1일 Wayback Machine에서 아카이브된 CherryPy 설정 API
  11. ^ 구성 옵션의 간단한 요약
  12. ^ Cherry Py 자체 테스트 방법 2009년 9월 27일 Wayback Machine에서 아카이브
  13. ^ 2010년 2월 9일 Wayback Machine에서 아카이브된 CherryPyProfiler 모듈
  14. ^ "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.
  15. ^ "A simple dispatcher tool for CherryPy that uses Routes". Archived from the original on 2016-01-14. Retrieved 2009-09-27.
  16. ^ TurboGears 2.x는 CherryPy를 서버로 사용하고 SQLAlchemy를 기본 ORM으로 사용
  17. ^ TurboGears 1.x는 서버로서 CherryPy를, ORM Archived로서 SQLObject를 2009년 9월 22일에 Wayback Machine에서 사용
  18. ^ Dejavu 2009년 5월 17일 Wayback Machine에서 아카이브 완료
  19. ^ 마코
  20. ^ "A simple CherryPy tool for Mako templating". Archived from the original on 2016-03-03. Retrieved 2009-09-21.
  21. ^ "CherryPy – Genshi". Retrieved 2009-09-26.
  22. ^ "Genshi - CherryPy Tools - Trac". Archived from the original on 2012-02-27. Retrieved 2009-09-26.
  23. ^ "A basic CherryPy Tool for using Jinja templates". Archived from the original on 2015-09-05. Retrieved 2009-09-23.
  24. ^ TurboGears 1.x는 서버로서 CherryPy를, 프런트엔드Kid를 사용하고 있습니다.Wayback Machine에서는 2009년 9월 22일에 아카이브 완료
  25. ^ 템플릿 언어 선택에 관한 CherryPy wiki 2010년 2월 10일 Wayback Machine 아카이브 완료
  26. ^ "Archived copy". Archived from the original on 2015-11-17. Retrieved 2015-03-24.{{cite web}}: CS1 maint: 제목으로 아카이브된 복사(링크)

외부 링크