前言
这是我的读书笔记,书籍链接: http://www.hzcourse.com/web/refbook/detail/8432/208
本书内容
第1章 从新浪微博聊起多端应用
假如时至今日,你只会用Django开发PC端的Web项目,还以Python全栈工程师自居的话,相信去哪家公司面试都会被当成入职以后需要再培训很久才能帮上忙的“小白”。一旦在老板心中被贴上了“小白”的标签,再怎么乐观也需要至少半年的时间才能撕掉这个标签吧。这一章我们来聊一聊多端开发。
第2章 用Django REST framework实现豆瓣API应用
几年前,用户想要获取豆瓣数据的API,豆瓣一般都是免费提供的。但是随着近些年数据资产的价值被追捧得越来越高,豆瓣向外提供数据查询的API开始收费,包括电影、图书、音乐等所有类目。本章我们就来开发一套仿豆瓣收费的API项目。
第3章 用Django设计大型电商的类别表
本章我们将和读者一起来构建一个能满足大型电商网站业务需求的类别表。如果问所有使用Django开发的全栈工程师们为什么爱Django,相信会有相当一部分人把Django的ORM摆在所有理由的首位。当某个很“大咖”的编程语言连输出hello world都要新建一个类的时候,利用Django框架都已经可以通过新建一个类直接构建一个高质量的数据表了。本章我们就通过一个电商项目案例来介绍这个话题。
第4章 用Django实现百度开发者认证业务模型
虽然我们经常需要对用户身份进行区分,但又不同于普通用户和付费用户这样的区分方法(当然了,这种区分也会在后面的章节中介绍),而是将用户分为生产者和消费者。本章我们将通过一个类似于百度开发者认证业务的项目模型,让大家能够全面、系统地掌握一个区别于普通网站平台的关键功能的完整搭建流程。
第5章 区块链时代与Token登录
在本章中,我们好好聊一下Django的登录。当然,能够读到本章的读者朋友,想必对于Django框架的了解程度最低也是“登堂入室”了,自然不可能连Django框架自带的登录这么基础的功能都还没掌握(就算还没掌握也不要紧,因为那并不重要)。我们之所以特意以一章的篇幅聊登录,肯定是要聊一些更有趣、又有用的知识,比如Token。
第6章 实现优酷和爱奇艺会员的VIP模式
在本章中,我们来详细地分析一下Django的权限管理,从而可以将读者的权限管理这个知识短板彻底补齐。我们首先会从技术和产品的角度分析权限管理在当前互联网领域的重要程度,然后会新建一个Django项目实例给大家细致入微地讲解权限管理,最后使用Django REST framework的权限管理组件介绍前后端分离项目中如何使用权限管理。
第7章 违禁词自审查功能
常见的违禁词自审查功能分为两种:一种是用户提交想要发表的内容,在经过网站的违禁词自审查检验时,发现内容中包含了一些违禁词,提示用户发表失败,并提示用户内容中有哪些违禁词,要求用户修改内容或者放弃发表,这种违禁词自审查功能大多用于长篇博客、影评、网络小说等篇幅较大的内容审查中;另一种则比较适合评论、发帖等内容篇幅比较短小的应用场景,这种违禁词自审查功能会将检测到的违禁词自动替换为*号。在本章中,我们将会开发一个实际项目,向大家介绍这两种违禁词的自审查功能。
第8章 分析吾爱破解论坛反爬虫机制
近几年,Python语言的人气越来越火,从其他编程语言转Python语言的群体中,因大数据、人工智能和云计算而转学Python的人占了极大一部分;还有一部分人是为了开发爬虫、学习区块链技术、全栈开发和自动化运维等转学Python,其中因开发爬虫而转学Python的群体比例较高。在本章中,我们将会新建一个Django项目,实现非常经典的反爬虫机制——频率限制。
第9章 关于跨域问题的解决办法
一说到跨域,相信只要开发过前后端分离项目的程序员都不会陌生。但是有很大一部分程序员对于跨域问题是知其然而不知其所以然,也就是说会用,但不知道为什么这样用。在本章中,我们来详细地聊一聊跨域这个话题。
第10章 用Django实现支付功能
通过学习前面章节的内容可以看出,开发并运营好一个网站是一笔不小的开销。就算不是以盈利为目的的网站开发者,也有必要学习支付功能的相关知识。在本章中,我们将对国内主流支付平台的业务模式进行分析,并以实际的项目案例演示如何实现支付功能。
第11章 Redis缓存——解决亿万级别的订单涌进
如何通过在开发阶段的设置,让网站服务器在面临巨大压力时能够举重若轻地处理这些数据请求,同时将必要的服务器开销降到最低,这已经成为开发者无法避开的一个问题。在本章中,我们就来解决这个问题,分析目前市场上比较通用的解决方案。
第12章 前后端分离项目上线部署到云服务器
一个项目开发完成后,接下来要做的事就是将项目上线部署到云服务器上。本章我们就来新建一个前后端分离的项目案例,然后将其分别部署到Ubuntu系统上,从而带领大家学习Django项目上线部署到云服务器的相关知识点。
本书配套资源获取方式
本书涉及的源代码文件等配套资料需要读者自行下载。请在华章公司的网站www.hzbook.com上搜索到本书,然后单击“资料下载”按钮即可在本书页面上找到“配书资源”下载链接,单击链接即可下载。
第1章 从新浪微博聊起多端应用
AOP,面向切面编程,一棵能长苹果,西瓜,栗子,巧克力的树。
面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代码就分散到一个个的类中去了。这样做的好处是降低了代码的复杂程度,使类可重用。
但是人们也发现,在分散代码的同时,也增加了代码的重复性。什么意思呢?比如说,我们在两个类中,可能都需要在每个方法中做日志。按面向对象的设计方法,我们就必须在两个类的方法中都加入日志的内容。也许他们是完全相同的,但就是因为面向对象的设计让类与类之间无法联系,而不能将这些重复的代码统一起来。
也许有人会说,那好办啊,我们可以将这段代码写在一个独立的类独立的方法里,然后再在这两个类中调用。但是,这样一来,这两个类跟我们上面提到的独立的类就有耦合了,它的改变会影响这两个类。那么,有没有什么办法,能让我们在需要的时候,随意地加入代码呢?这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
一般而言,我们管切入到指定类指定方法的代码片段称为切面,而切入到哪些类、哪些方法则叫切入点。有了AOP,我们就可以把几个类共有的代码,抽取到一个切片中,等到需要时再切入对象中去,从而改变其原有的行为。
这样看来,AOP其实只是OOP的补充而已。OOP从横向上区分出一个个的类来,而AOP则从纵向上向对象中加入特定的代码。有了AOP,OOP变得立体了。如果加上时间维度,AOP使OOP由原来的二维变为三维了,由平面变成立体了。从技术上来说,AOP基本上是通过代理机制实现的。
AOP在编程历史上可以说是里程碑式的,对OOP编程(面向对象编程)是一种十分有益的补充。
Django的普通项目是基于MVT模式(Model View Template), 而前后端分离则是基于MVVM开发的,解耦更加彻底。
第2章 用Django REST framework实现豆瓣API应用
豆瓣图书的API功能原理是用户通过输入图书的ISBN号(书号)、书名、作者、出版社等部分信息,就可获取到该图书在豆瓣上的所有信息。当然,API中除了要包含检索信息之外,还要包含开发者的apikey,用来记录开发者访问API的次数,以此向开发者收费。目前豆瓣图书的API是0.3元/100次。
本文链接: http://www.ionluo.cn/blog/posts/480e301f.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
