随笔分类 - Django
摘要:elasticsearch Elasticsearch是一个基于Lucene的搜索服务器,也是属于NoSQL阵营的数据库。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口提供给我们操作的。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源
阅读全文
摘要:根据错误日志,发现产生死锁的有4个接口。这4个接口中,阅读业务代码,发现均有使用update_or_create。 为什么update_or_create方法会造成死锁呢?通过阅读源码 发现,update_or_create是使用了事务with transaction.atomic(using=se
阅读全文
摘要:Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLd
阅读全文
摘要:一 什么是Websocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双
阅读全文
摘要:1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所
阅读全文
摘要:在django1.4以后,存在两个概念 naive time 与 active time。 简单点讲,naive time就是不带时区的时间,Active time就是带时区的时间。 举例来说,使用datetime.datetime.utcnow()、datetime.datetime.now()输
阅读全文
摘要:1 概念 A 和 B 要把他们的通信内容加密, 如果A/B使用相同的加密解密key,那这就是 对称加密。 对称加密最大的问题就是A和B之间的加密/解密key必须是唯一的。也就是如果A和C 要加密通信,同时还不想让C知道A/B之间的通信内容。那么A/C之间的加密/解密用的key就不能和A/B之间的一样
阅读全文
摘要:一 CSRF是什么 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点
阅读全文
摘要:发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应
阅读全文
摘要:一 什么是HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP 是基于 TCP/IP 协议通信协议来传递数据(HTML 文件、图片文件、查询结果等)。它不涉及数据包(packet)
阅读全文
摘要:一 前言 1 我在实例化一个user对象的时候,可以user=User(name='lqz',password='123') 2 也可以 user=User() user['name']='lqz' user['password']='123'3 也可以 user=User() user.name=
阅读全文
摘要:一 什么是Ajax AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。 同步交互:客户端发出一
阅读全文
摘要:一 ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要
阅读全文
摘要:一 MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型
阅读全文
摘要:一、Web应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类
阅读全文
摘要:Django channels http是一个网络协议(五状态短连接) https是一个网络协议(五状态短连接) websocket是一个网络协议(让浏览器和服务端创建链接支持,默认不再断开,两端就可以完成相互之间的收发数据) websocket协议的诞生,可以让我们真正实现服务端向客户端推送消息
阅读全文
摘要:1. 出现莫名其妙的 app01 我项目中的app名字并不是app01,可是运行python manage.py makemigrations的时候总是提示app01不是已安装的app Applying admin.0003_auto_20180701_0233...Traceback (most
阅读全文
摘要:# Celery Celery是一个python第三方模块,是一个功能完备即插即用的分布式异步任务队列框架。它适用于异步处理问题,当大批量发送邮件、或者大文件上传, 批图图像处理等等一些比较耗时的操作,我们可将其异步执行,这样的话原来的项目程序在执行过程中就不会因为耗时任务而形成阻塞,导致出现请求堆
阅读全文
摘要:一、COOKIE 与 SESSION 1、简介 1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会
阅读全文
摘要:Web框架本质 所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 用户在浏览器中输入网址,浏览器会向服务端发送数据,那浏览器会发送什么数据?怎么发?这个谁来定? 你这个网站是这个规定,他那个网站按照他那个规定,那互联网还能玩么? 所以,必须有一个统一的规则
阅读全文