摘要:
话不多说,直接怼代码,有不懂的,可以留言 简单的实现,前后端的语音交互。 import os from uuid import uuid4 from aip import AipSpeech from aip import AipNlp import settings """ 你的 APPID AK 阅读全文
摘要:
django-debug-toolbar 介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息。 github地址 文档地址 安装 配置 1. settings.py中 将 debug_toolbar 添 阅读全文
摘要:
一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 备注: 1.使用order_by排序时,在字段名前加"-"表示倒序,等同于reverse 返回QuerySet对象的方法有 all() filter() exclude() order_by() reverse() distinct() 阅读全文
摘要:
SaltStack 简介 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构 阅读全文
摘要:
逻辑图 web服务器 web框架层 Django Nginx+uwsgi 安装配置 在前面的章节中我们使用 python manage.py runserver 来运行服务器。这只适用测试环境中使用。 正式发布的服务,需要一个可以稳定而持续的服务器。 准备工作 基础开发环境配置 提前安装好pytho 阅读全文
摘要:
写在前面 flask和django作为python中的两大开源框架,各分春秋,各有各自的优点,不能一概而论说哪个好哪个不好。flask框架小而精,适用于快速开发一些小的应用的项目。django大而全,内置了各种组件,包含各个方面,适用于开发一些复杂的项目。 flask由于自身的扩展性,导致社区有各种 阅读全文
摘要:
查漏补缺系列 解析器 request类 django的request类和rest-framework的request类的源码解析 局部视图 全局视图 备注:局部使用指定解析器时,只需在视图类中添加一个变量:parser_classes = [...] rest_framework全局默认使用的解析器 阅读全文
摘要:
前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点。 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__、__getattr__系列、__getitem__系列。 __call__ 这个方法相信大家并不陌生,在单例模式中,我们可能用到过,除此之 阅读全文
摘要:
三剑客之认证、权限与频率组件 认证组件 局部视图认证 在app01.service.auth.py: 在views.py: 备注:一个知识点:update_or_create(参数1,参数2...,defaults={‘字段’:'对应的值'}),这个方法使用于:如果对象存在,则进行更新操作,不存在, 阅读全文
摘要:
视图三部曲 一部曲 · 使用混合(mixins) 上一节的视图部分: 我们使用这一套逻辑,意味着有一张模型表,就要将上面的代码写一遍,代码的复用性很差,所有,我们要对复用的部分进行封装,我们通过三步,一步一步的来实现代码的复用和封装。 第一步:大体思路是使用混合类(多继承的形式),借助封装好的mix 阅读全文
摘要:
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示显示对应的错误 阅读全文
摘要:
前奏: 首先,要在主机中安装redis,windows中安装,下载一个镜像,直接进行下一步的安装,安装成功后,在cmd中输入redis-cli 安装python的依赖库: redis 和 django-redis redis是一个python的库,用来操作redis。 django默认支持的缓存是m 阅读全文
摘要:
scrapy简介 Scrapy 使用了 Twisted异步网络库来处理网络通讯。整体架构大致如下 Scrapy主要包括了以下组件: 引擎(Scrapy)用来处理整个系统的数据流处理, 触发事务(框架核心) 调度器(Scheduler)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返 阅读全文
摘要:
说到算法,那什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法。 跟算法相关的一些概念,比如:时间复杂度和空间复杂度。 时间复杂度是用来估算一个算法的运行效率的。通常用O表示。比如,print("xxxx")一句代码的时间复杂度是O(1),循环n次,就是O(n)。 的时间复杂度是 阅读全文
摘要:
scrapy-redis是一个基于redis的scrapy组件,通过它可以快速实现简单分布式爬虫程序,该组件本质上提供了三大功能: scheduler - 调度器 dupefilter - URL去重规则(被调度器使用) pipeline - 数据持久化 scrapy-redis组件 安装:pip 阅读全文
摘要:
去重规则 在爬虫应用中,我们可以在request对象中设置参数dont_filter = True 来阻止去重。而scrapy框架中是默认去重的,那内部是如何去重的。 请求进来以后,会先执行from_settings方法,从settings文件中找一个DUPEFILTER_DEBUG的配置,再执行i 阅读全文
摘要:
1.restful api 为什么要有api? 方便不同系统之间的相互调用数据 2 restful规范 使用https 3.HTTP协议的理解 基于socket使用TCP协议进行数据传输 短连接,一次请求和响应之后断开连接 无状态,短连接的特性造成的 数据格式 4.公司的组织架构(公司部门的配比,人 阅读全文
摘要:
Django的model form组件 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,先来一个简单的例子来看一下这个东西怎么用:比如我们的数据库中有这样一张学生表,字段有姓名,年龄,爱好,邮箱,电话,住址,注册时间等等一大堆信息,现在让你写一个创建学生 阅读全文
摘要:
日常生活中,有很多需要数据的实时更新,比如群聊信息的实时更新,还有投票系统的实时刷新等 实现的方式有很多种,比如轮询、长轮询、websocket 轮询 轮询是通过设置页面的刷新频率(设置多长时间自动刷新一次页面)来实现的。 使用轮询的机制模拟投票系统的实时刷新 <!DOCTYPE html> <ht 阅读全文
摘要:
一、协程的引入 之前我们了解了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对 阅读全文
摘要:
IO模型介绍 IO模型不是用来开启并发效果的,而是用来接收并发效果的。 比较了五种IO Model: * blocking IO 阻塞IO * nonblocking IO 非阻塞IO * IO multiplexing IO多路复用 * signal driven IO 信号驱动IO * asyn 阅读全文
摘要:
一、线程概念的引入背景 之前我们了解了进程,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,我们允许多个程序同时加载到内存中 阅读全文
摘要:
一、软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发 阅读全文
摘要:
一、什么是进程 进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发 阅读全文
摘要:
异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 常见异常: 其他异常: 异常处理 python解释器检测到错误,触发异 阅读全文
摘要:
文件上传过程中,一定要进行文件大小的校验,如果用户上传文件过大,比如:100GB,所以一直在处理这个请求,别的请求进来就无法处理了,所以要限制上传文件的大小。 flask中文件上传大小的校验 flask中,提供了校验文件大小的机制,所以在配置文件中进行配置,并重写异常返回信息即可。 设置配置文件:a 阅读全文
摘要:
jQuery简单了解 jQuery的优势 二、jQuery对象 jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是 jQuery独有的。如果一个对象是 jQuery对象,那么它就可以使用jQuery里的方法:例如$(“#i1”).html()。 $("#i1").ht 阅读全文
摘要:
一、Bootstrap介绍 Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。 它是为实现快速开发Web应用程序而设计的一套前端工具包。 它支持响应式布局,并且在V3版本之后坚持移动设备优先。 Bootstrap是一个前端开发的框架,其实就是一堆HTML代 阅读全文
摘要:
一、JavaScript的简介 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客户端执行的语言)。 Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Na 阅读全文
摘要:
一、BOM和DOM的简介 BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。 DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。 Window对象是客户端Java 阅读全文
摘要:
一、css的了解 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。简单的说,css用来给HTML标签添加样式的。当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 二、css语法 1.css样式 每个CSS样式由两个组成部分:选择器和声 阅读全文
摘要:
一、HTML的了解 1.web服务的本质 浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面。 2.HTML的介绍 超文本标记语言(Hypertext Markup Language, HTML)是一 阅读全文
摘要:
前言 什么是模块? 一个模块就是一个包含了python定义和声明的文件。模块的本质就是一段在其他文件中的代码。 re模块 1.正则表达式 正则表达式不仅在python中,在整个编程中都占有举足轻重的作用。不管你以后做不做开发,只要你是一个程序员就应该了解正则表达式的基本使用。如果未来要在爬虫领域发展 阅读全文
摘要:
一、virtualenv 优点1.使用不同应用开发环境独立 2.环境升级不影响其他应用,也不会影响全局的python 环境二、安装 pip install virtualenv 三、使用virtualenv创建虚拟环境 1.指定一个目录 比如 : tmp 2.切换到指定目录 cd tmp 在指定目录 阅读全文
摘要:
面向过程和面向对象 面向过程的程序设计的核心是过程,即解决问题的步骤。 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Ap 阅读全文
摘要:
Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返 阅读全文
摘要:
Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }} 和 {% %} 变量相关的用{{ }},逻辑相关的用{% %}。 变量 {{ 变量名 }} 变量名由字母数字和下划线组成。 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值。 几个例子: view中代码: 模板中 阅读全文
摘要:
缓存介绍 缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存 阅读全文
摘要:
前言 Nodejs的逐渐成熟和日趋稳定,使得越来越多的公司开始尝试使用Nodejs来练一下手,尝一尝鲜。在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端。 前后端分离 阅读全文
摘要:
项目开发的时候,总是要搭建和部署环境,这时,就需要一个python第三方包的list,一般叫做requirements.txt。如果项目使用virtualenv环境,直接使用pip freeze即可,但是如果项目的依赖没有维护,就会很麻烦,这时我们就需要一个叫pipreqs的工具,可以帮助我们自动生 阅读全文