PythonWeb开发实战

PythonWeb开发实战一次真诚的倾诉业界热评为什么写这本书谁应该看本书为什么值得看本书的特别用法本书的组织方式和阅读建议使用代码示例反馈和勘误1 初识Python Web开发Python Web开发介绍为什么应该选择Python作为Web开发语言选择Python 2还是Python 3Web框架介绍主流Web框架小众的Web框架选择Web框架时应遵循的原则2 Web开发前的准备搭建一个能运行的虚拟机环境安装VirtualBox使用Vagrant安装使用Docker安装包管理和虚拟环境包管理使用pip替代easy_installdistribute、distutils和setuptoolsentry_points插件系统虚拟环境virtualenvvirtualenv定制化virtualenvwrappervirtualenv-burritoautoenv进阶篇:pip高级用法命令自动补全普通用户安装编辑模式使用devapi作为缓存代理服务器PYPI的完全镜像3 Flask Web开发Flask入门安装Flask从Hello World开始配置管理调试模式动态URL规则自定义URL转换器HTTP方法唯一URL构造URL跳转和重定向响应静态文件管理即插视图蓝图子域名命令行接口模板Jinja2Mako使用MySQL安装MySQL和驱动设置应用账号和权限用MySQLdb写原生语句事务提交和回滚ORM简介使用SQLAlchemy使用ORM数据库关联在Flask中使用SQLAlchemy记录慢查询理解Context本地线程Werkzeug的Localflask.request使用上下文使用LocalProxy替代g从零开始实现一个文件托管服务首页重新设置图片页下载页预览页短链接页4 Flask开发进阶Flask的信号机制Blinker的使用Flask中内置的信号自定义信号信号订阅的高级用法Flask-Login中的信号Flask的扩展Flask-ScriptFlask-DebugToolbarFlask-MigrateFlask-WTFFlask-SecurityFlask-RESTfulFlask-AdminFlask-AssetsWerkzeug的使用DebuggedApplication数据结构功能函数密码加密中间件5 REST和Ajax什么是RESTRESTful API设计指南使用名词来表示资源关注请求头合理使用请求方法和状态码正确地使用REST对输出的结果不再包装不要做出错误的提示使用嵌套对象序列化版本URI失效和迁移信息过滤速度限制缓存并发控制使用Ajax6 网站架构Python应用服务器WSGI协议常见的WSGI容器Web服务器NginxWeb服务器与应用服务器的区别为什么要选择Nginx安装Nginx使用Nginx部署Flask应用缓存系统MemcachedLibmc安装配置使用原生SQL缓存缓存更新策略Memcached使用的经验键值对数据库Redis操作RedisRedis应用场景分片和集群管理NoSQL数据库MongoDB为什么使用NoSQLMongoDB使用pymongo的例子使用Mongoengine的例子MongoDB实践经验大型网站架构经验缓存负载均衡高可用业务拆分集群7 系统管理进程管理SupervisorSupervisor组件配置Supervisor使用Supervisor应用部署FabricFabric应用接口使用Fabric管理Flask应用配置管理工具SaltStack和AnsibleSaltStackAnsible使用Psutil使用Sentry收集错误信息安装配置Sentry启动Sentry创建团队和项目配置SDK使用StatsD、Graphite等搭建Web监控配置Graphite使用StatsD配置Diamond发布指标项使用Grafana使用Kenshin8 测试和持续集成使用unittest和doctest做测试unittestdoctest使用py.test和mockpy.testmock持续集成使用Tox集成9 消息队列和Celery使用Beanstalkd使用Beanstalkc深入理解RabbitMQAMQP虚拟主机插件系统通过Web和REST API管理RabbitMQ故障转移使用CeleryCelery的架构Celery序列化安装配置Celery从一个简单的例子开始指定队列使用任务调度任务绑定、记录日志和重试在Flask应用中使用Celery深入理解CeleryCelery的依赖任务调用信号系统Worker管理监控和管理Celery子任务进阶篇:Celery最佳实践使用自动扩展善用远程Debug合理安排任务周期合理使用队列和优先级保证业务逻辑的事务性关闭你不想要的功能使用阅后即焚模式善用Prefetch模式善用工作流10 服务化为什么需要服务化RPC框架服务化带来的问题微服务架构使用Thrift定义IDL文件服务端实现客户端实现PIDL——豆瓣的服务化实践PIDL架构11 数据处理使用MapReduce做日志分析使用MapReduce使用DPark分布式文件系统MooseFSMesos配置DPark环境从WordCount开始PV&UV统计数据报表发送带有样式和附件的邮件创建xlsx文件使用PandasPandas入门读取MySQL数据库和Flask应用集成12 帮助工具IPythonIPython交互模式常用的Magic函数配置和自定义IPythonIPython的扩展系统使用IPython调试复杂代码双进程模型并行计算Jupyter NotebookNotebook格式Notebook格式转换和预览为什么使用RequireJS在Notebook里使用Echarts富显示自定义JavaScript和CSS样式使用nbextension扩展Notebook在Notebook上使用并行计算调试和Debug工具了解Linux服务器运行情况性能测试Python程序性能分析性能调优实践进阶篇:定制基于IPython的交互解释环境进阶篇:豆瓣东西的Jupyter Notebook实践13 Python并发编程使用多线程使用Gevent使用多进程使用Future使用asyncioasync/awaitFuture使用aiohttp使用队列14 Python进阶使用标准库模块errnosubprocesscontextlibgloboperatorfunctoolscollectionsPython语法最佳实践命名使用join连接字符串EAFP vs LBYL定义类的__str__/__repr__方法优美的Python从Python 3移植partialmethodsingledispatchsuppressredirect_stdout/redirect_stderr使用CFFI/Cython编写Python扩展使用CFFI使用Cython进阶篇:使用PyObjC发送通知15 Web开发项目实践Web项目经验总结开发流程使用合理的项目结构关注代码复杂度代码质量保证工具Pycodestyle对中文缩进的处理Flake8Pylint其他代码质量保证工具使用AST做静态检查其他静态检查工具编写Flake8扩展代码评审的意义作为被评审者作为评审者评审的标准思维导图

PythonWeb开发实战

防止博客图床图片失效,防止图片源站外链:

http://www.processon.com/chart_image/5e5b4b0de4b02bc3ad6a32af.png)

思维导图在线编辑链接:

https://www.processon.com/view/5e5b4b0de4b02bc3ad6a32ac


比丘资源网 » PythonWeb开发实战

提供最优质的资源集合

立即查看 了解详情