12 2021 档案
摘要:Docker 容器本质上是宿主机上的一个进程。Docker 通过 namespace 实现了资源隔离,通过 cgroups 实现了资源的限制,通过写时复制机制(copy on write)实现了高效的文件操作。 Docker有五个命名空间:进程、网络、挂载、宿主和共享内存,为了隔离有问题的应用,Do
阅读全文
摘要:使用返回值模型 返回模型参数参数的使用 响应状态吗
阅读全文
摘要:什么是flex布局 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为 Flex 布局。 行内元素也可以使用 Flex 布局。 Webkit 内核的浏览器,必须加上 前缀。 基本概念 采用 Flex 布局的元素,称为 Flex
阅读全文
摘要:添加路由接口文件 定义路由函数 注意: 函数的顺序就是路由的顺序,相同的路由优先匹配上面的函数接口 枚举类型参数 使用枚举类可以让文档中,参数变成可选的下拉框 不使用不会报错,文档中参数需要填写 通过path parameters传递文件路径 f模式表示在打括号内可以写python表达式,和reac
阅读全文
摘要:目录结构 应用入口文件 接口路由 使用接口路由导入app 在run.py中导入路由
阅读全文
摘要:创建基础服务 请求传参 交互文档 http://127.0.0.1:8000/docs http://127.0.0.1:8000/redoc 启动服务 命令行启动 配置pycharm启动服务 脚本文件启动
阅读全文
摘要:Celery 官方 Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html Celery 官方文档中文版:http://docs.jinkan.
阅读全文
摘要:1. 简介 1.7.1 版本的文档。 使用Python类型注解进行数据验证和设置管理。 Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。 定义数据如何表示为纯粹和规范的 Python ,并使用 pydantic 对其进行验证。 1.1 示例: 这里发生了什么: id
阅读全文
摘要:1、概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2、基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进
阅读全文
摘要:RBAC 基于角色的访问控制 一 什么是RBAC 概念 应用 前后台权限控制 二 Django的内置RBAC(六表) 权限三表 权限六表 三 实操 models.py admin.py 这样就可以登陆到admin后台进行操作了
阅读全文
摘要:Book系列连表接口 views.py ser.py models.py setting.py urls.py
阅读全文
摘要:一 Xadmin的使用 xadmin是Django的第三方扩展,可是使Django的admin站点使用更方便。 文档:https://xadmin.readthedocs.io/en/latest/index.html 1.1 安装 通过如下命令安装xadmin的最新版 在配置文件中注册如下应用 x
阅读全文
摘要:一 JWT认证 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。 1.1 构成和工作原理 JWT的构成 JWT就是一段字符串,由三段信息构成的,将这三段信息文本用 链接一
阅读全文
摘要:一 自动生成接口文档 REST framework可以自动帮助我们生成接口文档。 接口文档以网页的方式呈现。 自动接口文档能生成的是继承自 及其子类的视图。 1.1. 安装依赖 REST framewrok生成接口文档需要 库的支持。 1.2. 设置接口文档访问路径 在总路由中添加接口文档路径。 文
阅读全文
摘要:一 过滤Filtering 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django fitlter扩展来增强支持。 在配置文件中增加过滤后端的设置: 在视图中添加filter_fields属性,指定可以过滤的字段 二 排序 对于列表数据,REST framework提供了 Orderin
阅读全文
摘要:为了方便接下来的学习,我们创建一个新的子应用 opt 因为接下来的功能中需要使用到登陆功能,所以我们使用django内置admin站点并创建一个管理员. 创建管理员以后,访问admin站点,先修改站点的语言配置 settings.py 访问admin 站点效果: 一 认证Authentication
阅读全文
摘要:一 路由Routers 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。 REST framework提供了两个router SimpleRouter DefaultRouter 1.1 使用方法 1)
阅读全文
摘要:一 视图 Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 1.1 视图继承关系 视图的方法与属性: 1.2 视图 REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写。 1.2.1 2个视
阅读全文
摘要:一 请求与响应 1.1 Request REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的 Request 类的对象。 REST framework 提供了 Parser
阅读全文
摘要:一 序列化器 Serializer 作用: 1.1 定义序列化器 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。 接下来,为了方便演示序列化器的使用,我们先创建一个新的子应用sers
阅读全文
摘要:一 Web应用模式 在开发Web应用中,有两种应用模式: 1.1 前后端不分离 1.2 前后端分离 二 API接口 为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。 通过网络,规定
阅读全文
摘要:发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应
阅读全文
摘要:一 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现 请求的url地址,必须与浏览器上的url地址处于同域上,也就
阅读全文
摘要:一 CSRF是什么 CSRF(Cross site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点
阅读全文
摘要:一 信号简介 Django提供一种信号机制。其实就是观察者模式,又叫发布 订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。 通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。用于在框架执行操作时解耦。 二 Djan
阅读全文
摘要:一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者me
阅读全文
摘要:Django除了我们常见的admin、auth、session等contrib框架外,还包含一个 框架,它可以跟踪Django项目中安装的所有模型(model),为我们提供更高级的模型接口。默认情况下,它已经在settings中了,如果没有,请手动添加: 平时还是尽量启用contenttypes框架
阅读全文
摘要:1 Auth模块是什么 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。 Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛
阅读全文
摘要:一 什么是中间件 中间件顾名思义,是 介于request与response处理之间的一道处理过程 ,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能 Django中间件的定义: 二 中间件有什么用 如果你想修改请求,例如被传送到view
阅读全文
摘要:1 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应。例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了。从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过
阅读全文
摘要:1 校验字段功能 针对一个实例:注册用户讲解。 模型:models.py 模版文件 视图函数: 2 渲染标签功能 渲染方式1 渲染方式2 渲染方式3 3 渲染错误信息功能 视图 模板 4 组件的参数配置 5 局部钩子 6 全局钩子
阅读全文
摘要:1 Django的分页器(paginator)简介 在页面显示分页数据,需要用到Django分页器组件 from django.core.paginator import Paginator 2 应用View层 3 模版层 index.html 4 扩展
阅读全文
摘要:一 什么是Ajax AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。 同步交互:客户端发出一
阅读全文
摘要:一 QuerySet对象 1.1可切片 使用Python 的切片语法来限制 记录的数目 。它等同于SQL 的 和 子句。 不支持负的索引(例如 )。通常, 的切片返回一个新的 —— 它不会执行查询。 1.2可迭代 1.3惰性查询 是惰性执行的 —— 创建 不会带来任何数据库的访问。你可以将过滤器保持
阅读全文
摘要:1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField 一个整数类型,范围在 2147483648 to 2147483647。 CharField 字符类型,必须提供
阅读全文
摘要:一 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄。 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one to one) 出版商模型:出版商有名称,所在城市以及email。 书籍模型: 书籍有书
阅读全文
摘要:一 ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要
阅读全文
摘要:一 模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python代码之中。 尽管这种技术便于解释视图是如何工作的,但直接将HTML硬编码到你的视图里却并不是一个好主意。 让我们来看一下为什么: 对页面设计进行的任何改变都必须对 Python 代码
阅读全文
摘要:1 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的
阅读全文
摘要:一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是 URL与要为该URL调用的视图函数之间的映射表 ;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 典型的例子: 二 简单的路由配置 正则表达式:一个正则表
阅读全文
摘要:一 MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型
阅读全文
摘要:一 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发we
阅读全文
摘要:一 http协议简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒
阅读全文
摘要:一 Web应用程序是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类
阅读全文
摘要:一 缓存的收益与成本 1.1 受益 1 加速读写 2 降低后端负载:后端服务器通过前端缓存降低负载,业务端使用redis降低后端mysql负载 1.2 成本 1 数据不一致:缓存层和数据层有时间窗口不一致,和更新策略有关 2 代码维护成本:多了一层缓存逻辑 3 运维成本:比如使用了Redis Clu
阅读全文
摘要:一 主从复制高可用 二 架构说明 可以做故障判断,故障转移,通知客户端(其实是一个进程),客户端直接连接sentinel的地址 1 多个sentinel发现并确认master有问题 2 选举触一个sentinel作为领导 3 选取一个slave作为新的master 4 通知其余slave成为新的ma
阅读全文
摘要:一 什么是主从复制 机器故障;容量瓶颈;QPS瓶颈 一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个maskter可以有多个slave 一个slave只能有一个master 数据流向是单向的,从master到slave 二 复制的 配置 2.1 slave 命令 2.2 配置文件 四
阅读全文
摘要:一 子进程开销和优化 1 cpu 开销:rdb和aof文件生成,属于cpu密集型 优化:不做cpu绑定,不和cpu密集型的服务一起部署 2 内存 开销:fork内存开销,copy on write, 优化:单机部署尽量少重写 3 硬盘 开销:aof和rdb写入,可以结合分析工具使用 优化: 1 不要
阅读全文
摘要:一 持久化的作用 1.1 什么是持久化 redis的所有数据保存在内存中,对数据的更新将异步的保存到硬盘上 1.2 持久化的实现方式 二 RDB 2.1 什么是RDB 2.2 触发机制 主要三种方式 2.3 触发机制 不容忽略的方式 2.4 试验 三 AOF 3.1 RDB问题 耗时,耗性能: 不可
阅读全文
摘要:一 慢查询 1.1 生命周期 我们配置一个时间,如果查询时间超过了我们设置的时间,我们就认为这是一个慢查询. 慢查询发生在第三阶段 客户端超时不一定慢查询,但慢查询是客户端超时的一个可能因素 1.2 两个配置 1.2.1 slowlog max len 慢查询是一个先进先出的队列 固定长度 保存在内
阅读全文
摘要:一 通用命令 1.1 通用命令 1.2 数据结构和内部编码 1.3 单线程架构 1.3.1 单线程架构, 一个瞬间只会执行一条命令 1.3.2 单线程为什么这么快 1 纯内存 2 非阻塞IO (epoll),自身实现了事件处理,不在网络io上浪费过多时间 3 避免线程间切换和竞态消耗 1.3.3 注
阅读全文
摘要:第一章 redis初识 1.1 Redis是什么 介绍 开源:早起版本2w3千行 基于键值对的存储系统:字典形式 多种数据结构:字符串,hash,列表,集合,有序集合 高性能,功能丰富 那些公司在用 github,twitter,stackoverflow,阿里,百度,微博,美团,搜狐 1.2 Re
阅读全文

浙公网安备 33010602011771号