摘要:
多进程和多线程的守护区别 首先明确一点,无论是多进程还是多线程,主进程或主线程都会等待子进程或子线程退出才会退出。 无论是进程还是线程,都遵循:守护xxx会等待主xxx运行完毕后被销毁. 需要强调的是:运行完毕并非终止运行 1. 对主进程来说,运行完毕指的是主进程代码运行完毕 2. 对主线程来说,运 阅读全文
摘要:
C/S 和 B/S C/S 架构 需要客户端下载对应的客户端软件,如手机的各种app等。 B/S 架构 只需要输入网址即可和服务端交互。 现如今,B/S 越来越热,很大一部分原因就是使用是简便,用户不需要下载各种客户端软件。试想一下,如果想使用百度还得下载百度客户端,使用谷歌就下载谷歌客户端,那么用 阅读全文
摘要:
WebSocket、HTTP 与 TCP HTTP、WebSocket 等应用层协议,都是基于 TCP 协议来传输数据的。我们可以把这些高级协议理解成对 TCP 的封装。 既然大家都使用 TCP 协议,那么大家的连接和断开,都要遵循 TCP 协议中的三次握手和四次挥手 ,只是在连接之后发送的内容不同 阅读全文
摘要:
多继承的super 结果: 从这个结果上来看,super并不是单纯地去找父类,而是按照D.mro() 的顺序去找。每调用一次super(),那么mro列表的指针就往后移动一个。 python3的类都是新式类,遵循广度优先的查询顺序。 想要查看一个类的继承链条,可以使用两个属性(只有类对象可以使用,实 阅读全文
摘要:
tornado的异步非阻塞 tornado支持同步和异步两种模式,一般的写法是同步方式,想要支持异步就需要一点特殊的写法。 web框架的异步模式是为了让程序的效率更高,如果http请求让线程干的事情都是计算密集型任务,那么单个线程无论怎么做都不可能提高效率,但是如果任务是不消耗CPU但是需要耗时的任 阅读全文
摘要:
安装 pip3 install celery pip3 install django celery pip3 install flower 项目目录 celery.py celery_test/__init__.py settings.py 在 INSTALLED_APPS 里添加'djcelery 阅读全文
摘要:
在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,这里有7个具体的结构型模式可供研究,它们分别是: 1. 外观模式(Facade) 阅读全文
摘要:
对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是: 1. 工厂模式(Simple Factory); 2. 工厂方法模式(Factory Method); 3. 抽象工厂模式(Abstra 阅读全文
摘要:
注册 list_display 必须是列表或者其他可迭代对象 list_display_links 通常是列表,定制列可以点击跳转 list_filter 通常是列表,定制右侧快速筛选 分页相关 分页,每页显示条数 list_per_page = 100 分页,显示全部(真实数据 阅读全文
摘要:
所谓的单例模式,就是对一个类做一定的特殊处理,使得在实例化这个类的对象的时候内存中只放着一份对象。python单例模式的实现有很多种方式,这里只列出本人常用的两种方式,其中第二种是Django源码使用的方式 __new__ __new__ 这种方式在每次实例化的时候,真实的创建对象的object._ 阅读全文