CherryPy Essentials

CherryPy Essentials pdf epub mobi txt 电子书 下载 2026

出版者:Packt Publishing
作者:Sylvain Hellegouarch
出品人:
页数:272
译者:
出版时间:2007-03-31
价格:USD 39.99
装帧:Paperback
isbn号码:9781904811848
丛书系列:
图书标签:
  • python
  • cherrypy
  • web
  • mochikit
  • kid
  • 计算机
  • 英文版
  • 框架
  • Python
  • Web开发
  • CherryPy
  • Web框架
  • 快速开发
  • RESTful
  • Web应用
  • 教程
  • 编程
  • 开源
  • 服务器
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

This book covers the CherryPy library for Python web development from its history and installation through its main features and core concepts to its integration with Python and other products to construct, test, and deploy a sample photoblog application. The author Sylvain Hellegouarch is dedicated to the development of free software projects and has been coordinating and administrating the community efforts around the CherryPy project since 2004. The approach based on an example application introduces many other common Python libraries, providing transferable skills also relevant for non-web Python projects. CherryPy is a Python library for web development that allows developers to build web applications in the same way as any other object-oriented Python program. Enriched by several years of active development, it has become one of the most established toolkits for building solid and high-performance web applications in Python. CherryPy abstracts the complex low-level HTTP protocol into an easy-to-use interface that respects Python idioms. The library aims at being simple to learn for a beginner while offering the most advanced features to fluent Python developers. For these reasons CherryPy was chosen to be at the heart of the popular and feature-rich TurboGears web framework. CherryPy-powered web applications are stand-alone Python applications with their own embedded multi-threaded web server, but can also run behind Apache or IIS for scalability. . CherryPy installation using tarball, egg, and subversion . The CherryPy library in depth: its design and how to use it . Using CherryPy with common Python and non-Python products . Object Relational Mapping with SQLObject, SQLAlchemy, and Dejavu . Web Services via REST and the Atom Publishing Protocol . AJAX and client-side scripting via MochiKit . Unit, functional, and load testing . CherryPy, Apache, and lighttpd deployment solurions The book starts with two chapters dedicated to CherryPy itself, its history and installation. Then it moves through a gentle introduction to the main features and concepts of CherryPy to a thorough review of its core capabilities. After laying this foundation the book dives into a real-world example, detailing important steps in the creation of a photoblog application. These chapters cover database manipulation via Object Relational Mapping (ORM), using web services to enhance the application, and client-side scripting through AJAX. Finally, the book covers the need for unit, functional, and performance testing before closing with deployment solutions for a CherryPy-based application. Who this book is written for This book is principally geared towards Python web developers, who are looking to add the power of the CherryPy library to their existing Python skillset. It assumes a good working knowledge of Python . Although the CherryPy toolkit is at the core of the book, many other common libraries are introduced. TABLE OF CONTENTS SUMMARY 1.Introduction to CherryPy 2.Download and Install CherryPy 3.Overview of CherryPy 4.CherryPy in depth 5.A photoblog application 6.Web Services 7.The presentation layer 8.Ajax 9.Testing 10.Deployment

深入探索:下一代Web应用开发的奥秘 在这本详尽的指南中,我们将踏上一段激动人心的旅程,深入探索构建现代、高效、可扩展Web应用的方方面面。我们不局限于单一的技术栈,而是放眼整个Web开发的广阔图景,从基础的概念到前沿的实践,为你提供构建强大、可靠、引人入胜的Web服务所需的知识和工具。 第一部分:Web应用的基石——理解其本质与架构 在开始构建任何东西之前,理解我们所从事的领域至关重要。我们将从Web应用的本质开始,剖析它们是如何工作的,从浏览器中的一次点击到服务器端的响应,再到数据在网络中流转的整个过程。我们将详细介绍HTTP协议的来龙去脉,理解各种请求方法(GET, POST, PUT, DELETE等)及其含义,深入探讨响应状态码,以及HTTP头部信息在通信中的关键作用。 接着,我们将把目光投向Web应用的架构。从传统的单体应用到如今流行的微服务架构,我们将逐一分析它们的优缺点,以及在不同场景下的适用性。你将学习到如何选择合适的架构模式,以及如何设计出清晰、模块化、易于维护的代码结构。我们将重点讨论客户端-服务器模型,RESTful API的设计原则,以及如何构建一个能够优雅地处理高并发和大数据量的系统。 第二部分:前端的艺术——打造引人入胜的用户体验 一个优秀的Web应用,离不开一个直观、美观、响应迅速的前端。我们将深入剖析现代前端开发的核心技术。HTML5的语义化标签和新特性,CSS3的强大样式控制能力,包括Flexbox、Grid布局、动画和过渡效果,都将成为我们探索的对象。你将学习如何构建具有吸引力且易于导航的用户界面,如何实现响应式设计,让你的应用在各种设备上都能呈现最佳效果。 JavaScript作为前端的灵魂,其重要性不言而喻。我们将从ECMAScript的最新标准入手,掌握变量、数据类型、函数、对象、数组等核心概念。然后,我们将深入探讨异步编程,理解回调函数、Promise和async/await如何帮助我们处理耗时操作,避免阻塞用户界面。我们将介绍事件循环和DOM操作,让你能够动态地修改网页内容,实现丰富的交互效果。 为了更高效地开发大型前端项目,我们将介绍现代前端框架的理念和实践。你将了解组件化开发、状态管理、路由等概念,并学习如何利用这些工具来构建可维护、可扩展的单页应用(SPA)。我们将探讨不同框架(例如,React, Vue, Angular等)的设计哲学和适用场景,帮助你做出明智的选择。 第三部分:后端的力量——构建可靠、高效的数据服务 强大的后端是Web应用的坚实后盾,它负责处理业务逻辑、管理数据、与数据库交互,并对外提供API服务。我们将从后端开发的基本原理开始,深入理解服务器端的编程模型。你将学习如何选择合适的后端编程语言和框架,并掌握它们的核心特性。 我们将重点关注数据持久化。关系型数据库(如PostgreSQL, MySQL)和NoSQL数据库(如MongoDB, Redis)各有千秋。你将学习SQL语句的编写,理解数据库的设计范式,以及如何优化数据库查询以提高性能。对于NoSQL数据库,我们将探讨它们的模型和使用场景,以及如何有效地存储和检索非结构化数据。 API设计是后端开发的关键环节。我们将深入研究RESTful API的设计原则,包括资源定义、HTTP方法的使用、请求与响应的格式等。你将学习如何设计出清晰、易于理解、版本控制良好的API,并掌握如何使用工具(如Swagger/OpenAPI)来生成API文档。 安全性是后端开发不可忽视的一环。我们将详细讲解常见的Web安全威胁,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等,并提供相应的防御策略和最佳实践。你将学习如何对用户输入进行验证和 sanitization,如何实现安全的身份验证和授权机制,以及如何保护你的API免受恶意攻击。 第四部分:部署与运维——让你的应用走向世界 一个完美的Web应用,最终需要能够稳定地运行在生产环境中。我们将为你揭示部署与运维的奥秘。你将学习如何将你的应用打包成可执行文件或容器镜像。容器化技术,如Docker,将成为我们重点关注的对象。你将理解容器的好处,学会编写Dockerfile,并掌握如何使用Docker Compose来管理多个容器。 我们将介绍云原生技术,以及如何利用云平台(如AWS, Azure, GCP)提供的各种服务来部署、扩展和监控你的应用。你将了解虚拟机、容器服务、无服务器计算、负载均衡、数据库服务等概念,并学习如何利用它们来构建高可用、可扩展的Web基础设施。 持续集成/持续部署(CI/CD)是现代软件开发的核心流程。你将学习如何利用Jenkins, GitLab CI, GitHub Actions等工具来实现自动化构建、测试和部署,从而加速开发迭代,减少手动错误。 性能监控和日志管理是确保应用稳定运行的关键。你将学习如何使用 Prometheus, Grafana, ELK Stack 等工具来收集应用日志,监控系统指标,及时发现和解决性能瓶颈和潜在问题。 第五部分:前沿探索——拥抱Web开发的未来 Web开发领域日新月异,我们将带你探索一些前沿的技术和概念。WebAssembly(Wasm)将让你在浏览器中运行高性能的非JavaScript代码。GraphQL作为REST的替代方案,将提供更灵活、高效的数据查询方式。Serverless架构将让你专注于代码,而无需管理底层服务器。PWA(Progressive Web Apps)将模糊Web应用和原生应用之间的界限,带来更流畅的用户体验。 通过这本书,你将不仅仅掌握一套技术,更能培养一种解决问题、不断学习的思维方式。我们将鼓励你实践、实验,并通过实际项目来巩固所学知识。我们将提供丰富的代码示例、练习和项目建议,帮助你将理论付诸实践,最终成为一名自信、高效的Web开发者。 无论你是刚刚踏入Web开发世界的新手,还是寻求提升技能的资深开发者,本书都将为你提供宝贵的见解和实用的指导,助你在Web开发的广阔天地中,创造出属于自己的辉煌。

作者简介

目录信息

Preface 1
Chapter 1: Introduction to CherryPy 7
Overview 7
History of CherryPy 8
The Community 9
CherryPy Project Strengths 10
Beyond CherryPy 11
Through the Book 11
Summary 12
Chapter 2: Download and Install CherryPy 13
Requirements 13
Overview 14
Installation from a Tarball 16
Installation through Easy Install 18
Installation from Subversion 20
Testing your Installation 23
Keeping CherryPy Up to Date 23
Summary 24
Chapter 3: Overview of CherryPy 25
Vocabulary 25
Basic Example 26
Built-In HTTP Server 32
Internal Engine 32
Configuration 33
Object Publisher Engine 36
Library 38
The Autoreload Feature 39
The Caching Module 39
Table of Contents
[ ii ]
The Coverage Module 39
The Encoding/Decoding Module 40
The HTTP Module 40
The Httpauth Module 40
The Profiler Module 40
The Sessions Module 41
The Static Module 42
The Tidy Module 42
The Wsgiapp Module 42
The XML-RPC Module 42
Tools 43
Error and Exception Handling 44
Summary 49
Chapter 4: CherryPy in Depth 51
HTTP Compliance 51
Multiple HTTP Servers 52
Multi-Threaded Application Server 54
URI Dispatching 55
HTTP Method Dispatcher 55
Routes Dispatcher 57
Virtual Host Dispatcher 58
Hook into CherryPy's Core Engine 59
CherryPy Toolbox 61
Basic Authentication Tool 62
Caching Tool 63
Decoding Tool 64
Digest Authentication Tool 65
Encode Tool 66
Error Redirect Tool 67
Etag Tool 67
Gzip Tool 69
Ignore Headers Tool 69
Log Headers Tool 70
Log Tracebacks Tool 71
Proxy Tool 72
Referer Tool 73
Response Headers Tool 74
Trailing Slash Tool 75
XML-RPC Tool 76
Toolbox 77
Creating a Tool 77
Table of Contents
[ iii ]
Static Resource Serving 81
Using the Staticfile Tool to Serve a Single File 81
Using the Staticdir Tool to Serve a Complete Directory 83
Bypassing Static Tools to Serve Static Content 85
WSGI Support 86
Hosting a WSGI Application within the CherryPy WSGI Server 87
Hosting a CherryPy WSGI Application within a
Third-Party WSGI Server 89
Summary 90
Chapter 5: A Photoblog Application 91
A Photoblog Application 91
Photoblog Entities 92
Vocabulary 94
DBMSes Overview 95
Relational Database Management System (RDBMS) 95
Object-Oriented Database Management System (OODBMS) 96
XML Database Management System (XMLDBMS) 97
Object-Relational Mapping 97
Python Object-Relational Mappers 98
Photoblog Application Entity Modeling 108
Mapping Entities 109
Units and UnitProperties 111
Associating Units 112
The Sandbox Interface 112
Querying Units 113
Extending the Data Access Layer 114
Summary 117
Chapter 6: Web Services 119
Traditional Web Development 119
Separation of Concerns 121
REST 122
Uniform Resource Identifier 123
HTTP Methods 124
Putting it Together 128
REST Interface through CherryPy 130
Atom Publishing Protocol 131
Atom XML-Document Format 132
APP Implementation 134
Summary 136
Table of Contents
[ iv ]
Chapter 7: The Presentation Layer 137
HTML 137
XML 138
XHTML 138
CSS 139
DHTML 141
Templating 142
Kid—The Templating Engine 142
Overview 142
Kid's Attributes 144
XML-Based Templating Language 144
Variable Substitution 144
Conditional Statement 144
Looping Mechanism 145
Extensibility 146
Other Attributes 147
Photoblog Design Preparation 147
Targetting the User Agent 147
Tools 148
Global Design Goals 148
Design Directory Layout 149
CherryPy—Encapsulating the Template Rendering Process 149
Photoblog Design in Detail 151
Basic Structure 151
Mochikit 156
Developing the Photoblog Design 157
HTML Code 157
Adding a Link 158
Handling the End-User Actions 158
Amending the Template 159
Amending the CSS 159
Let's be More Flexible... 160
Summary 161
Chapter 8: Ajax 163
Rise of the Rich-Client Applications 163
Ajax 164
Ajax—Advantages and Drawbacks 165
Behind the Scene: XMLHttpRequest 166
Performing a GET Request 167
Performing a Content-Negotiated GET Request 168
Performing a POST Request 169
Performing PUT, HEAD, or DELETE Requests 170
Table of Contents
Cookies 170
Authentication using Digest or Basic Schemes 170
JSON 176
Applying Ajax to our Application 178
Defining the Required Namespaces 178
Implementing Namespaces 179
Adding Methods to the Classes 179
Method to Create a New Album 183
Method to Update an Existing Album 190
Method to Delete an Existing Album 190
Summary 191
Chapter 9: Testing 193
Why Testing 193
Planning a Test 194
Common Testing Approach 195
Unit Testing 195
unittest 196
doctest 201
Unit Testing Web Applications 205
Performance and Load Testing 213
Functional Testing 218
Application under Test 219
Selenium Core 222
Selenium IDE 227
Selenium Remote Control 231
Summary 233
Chapter 10: Deployment 235
Configuration 235
CherryPy—Web and Engine Configuration System 235
Photoblog Application Configuration System 238
Deployment 240
Apache with mod_rewrite Module 241
Lighttpd with mod_proxy Module 243
Apache with mod_python Module 244
mod_python with WSGI Application 246
SSL 246
Creating a Certificate and a Private Key 247
Using the CherryPy SSL Support 248
Using the lighttpd SSL Support 250
Using the Apache mod_ssl Support 251
Summary 251
Index 253
· · · · · · (收起)

读后感

评分

前半部分主要是讲CherryPy框架概念和工具,几乎所有的内容都可以在CherryPy的在线文档中找到。后半部分通过一个PhotoBlog的网络应用实现来铺陈开来。其中重点就不再是怎么运用CherryPy的各种库和工具了(本来作为一个轻量级框架也没有详细讲述的必要),反而涉及了一个网络应用...

评分

前半部分主要是讲CherryPy框架概念和工具,几乎所有的内容都可以在CherryPy的在线文档中找到。后半部分通过一个PhotoBlog的网络应用实现来铺陈开来。其中重点就不再是怎么运用CherryPy的各种库和工具了(本来作为一个轻量级框架也没有详细讲述的必要),反而涉及了一个网络应用...

评分

前半部分主要是讲CherryPy框架概念和工具,几乎所有的内容都可以在CherryPy的在线文档中找到。后半部分通过一个PhotoBlog的网络应用实现来铺陈开来。其中重点就不再是怎么运用CherryPy的各种库和工具了(本来作为一个轻量级框架也没有详细讲述的必要),反而涉及了一个网络应用...

评分

前半部分主要是讲CherryPy框架概念和工具,几乎所有的内容都可以在CherryPy的在线文档中找到。后半部分通过一个PhotoBlog的网络应用实现来铺陈开来。其中重点就不再是怎么运用CherryPy的各种库和工具了(本来作为一个轻量级框架也没有详细讲述的必要),反而涉及了一个网络应用...

评分

前半部分主要是讲CherryPy框架概念和工具,几乎所有的内容都可以在CherryPy的在线文档中找到。后半部分通过一个PhotoBlog的网络应用实现来铺陈开来。其中重点就不再是怎么运用CherryPy的各种库和工具了(本来作为一个轻量级框架也没有详细讲述的必要),反而涉及了一个网络应用...

用户评价

评分

读完这本书,我感觉自己像是刚参加完一场信息量巨大但缺乏焦点的马拉松。作者似乎有一种把所有已知知识一股脑倾倒出来的冲动,结果就是内容密度高得令人窒息,但深度却远远不够。每一章都试图涵盖太多的技术栈——从最基础的HTTP协议到复杂的异步I/O模型,再到安全和部署策略,所有这些都被塞进了有限的篇幅里,结果就是每个主题都浅尝辄止,如同走马观花。当我尝试深入探究某个关键性能调优点时,书中给出的解释不过寥寥数语,然后就匆匆转向下一个不那么重要的特性。我特别失望于它在生产环境部署这一块的处理。书里轻描淡写地提到了Gunicorn和Nginx的配置,但对于实际生产中遇到的负载均衡、日志轮转和进程监控等至关重要的问题,却几乎避而不谈,或者只是给出了一些通用到毫无用处的建议。这对于一个声称是“精要”的书来说,是致命的缺陷。它更适合那些对该技术已有一定了解,只是想快速浏览一下所有可能功能列表的“复习者”,而不是一个真正想从零开始构建扎实基础的“学习者”。这本书缺乏对“为什么”的深入挖掘,只停留在“是什么”的表面描述。

评分

最让人抓狂的一点是,这本书对“错误处理与调试”的讨论几乎是缺失的。一个真正实用的“精要”指南,必须包含大量关于如何诊断运行时问题的实用技巧。然而,这本书在提到异常捕获时,其深度仅停留在Python标准库的基础层面,完全没有深入探讨框架内部是如何处理请求生命周期中的错误,以及如何有效地集成第三方日志和监控工具。当我遇到一个棘手的异步错误时,我翻遍了全书,希望能找到一个关于如何使用内置调试工具的章节,结果只找到了一些关于如何打印变量到控制台的初级建议。这让我感觉,作者似乎只在“阳光灿烂的日子”里编写这本书,即一切按预期运行时。但在现实世界的Web开发中,错误是常态而非例外。这本书没有赋予读者应对混乱的能力,它只展示了理想化的、完美运行的案例。因此,这本书提供的“精要”是残缺的,它只教会了你如何开始,却完全没有准备好你面对实际项目的挑战。这本书的价值,在实际的“野外生存”测试中,几乎为零。

评分

这本书简直是技术文档的灾难,我简直不敢相信我花了钱买了它。从头到尾,内容的组织结构就像一团打结的毛线,完全找不到任何逻辑上的主线索。你以为它会带你从基础稳步上升到高级应用,结果呢?它东拉西扯,一会儿讲一个无关紧要的配置项,一会儿又突然跳到某个特定版本的历史遗留问题上,让人摸不着头脑。更要命的是,代码示例简直是糊弄人,很多地方的依赖库版本都老旧得离谱,直接复制粘贴到我的新项目中,结果就是一堆恼人的兼容性错误。尝试去复现书中的任何一个“核心”概念,都需要花费大量时间去谷歌搜索和调试那些书里压根没提的陷阱。我花了整整一周时间试图理解它关于会话管理的那个章节,结果发现书里介绍的方法在当前主流框架下早已被弃用,作者似乎沉浸在十年前的世界里无法自拔。阅读体验极差,文字描述干巴巴的,缺乏任何能帮助理解复杂概念的类比或图示。如果你的目标是真正掌握这门技术,请立刻把这本书放回书架,转而寻找那些能提供清晰路径和现代实践的资源。它更像是一堆零散笔记的堆砌,而不是一本“入门精要”。

评分

这本书的排版和校对工作简直是场灾难,我甚至怀疑它是否经过了专业的审阅流程。不仅仅是那些令人分心的错别字和语病,更严重的是代码块的格式问题。经常出现代码跨页断裂,或者关键的缩进被丢失,这在Python这种对空格敏感的语言中,简直是不可原谅的错误。有好几处,我不得不手动去重新输入或修正书中的代码片段,仅仅是为了让它能在我的编辑器里正常运行,这极大地打断了阅读的流畅性。更令人费解的是,有些图表——如果有的话——分辨率低得像是用传真机扫描出来的,根本看不清关键的流程箭头或依赖关系。这种对细节的漠视,反映出出版方对内容质量的极度不负责任。一个教人如何构建“精要”系统的工具书,其自身的呈现方式却如此粗糙和业余,这本身就是一个巨大的矛盾。我不得不频繁地在书本和在线文档之间切换,因为书里的某些关键解释在视觉上就难以辨认和理解。阅读体验从学习的乐趣,迅速转变成了对排版错误的追捕游戏。

评分

我不得不承认,这本书在介绍“概念整合”方面做得非常糟糕。它似乎是将不同来源的文档片段简单地拼接在一起,缺乏一个统一的叙事者声音和一致的术语。同一个功能,在不同的章节中可能会被用两种截然不同的术语来描述,这对于建立清晰的认知模型造成了巨大的障碍。例如,它对“钩子”(Hook)的定义在第3章和第7章之间存在微妙但重要的差异,这让我花了很长时间来确定到底哪种才是作者最终想要传达的核心思想。此外,作者似乎完全忽略了社区的最佳实践和主流的“约定优于配置”的理念。书中推崇的很多配置方式显得冗长且手动,仿佛在教我们如何写出最啰嗦的代码,而不是如何利用框架的便利性。如果我是一个想快速掌握该技术以提高工作效率的开发者,这本书提供的学习路径只会让我绕远路。它更像是一本历史文献,记录了某些特定开发人员在特定时间点的思考过程,而非一本面向未来的实用指南。这种不一致性极大地损害了学习效率和对技术本身的信任感。

评分

找到的唯一一本介绍cherrypy的书,很喜欢cherrypy的简单方式

评分

找到的唯一一本介绍cherrypy的书,很喜欢cherrypy的简单方式

评分

找到的唯一一本介绍cherrypy的书,很喜欢cherrypy的简单方式

评分

找到的唯一一本介绍cherrypy的书,很喜欢cherrypy的简单方式

评分

找到的唯一一本介绍cherrypy的书,很喜欢cherrypy的简单方式

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有