django面试题
摘要:10.Django 本身提供了 runserver,为什么不能用来部署? runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的 WSGI Server 运行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。 uWSGI 是一个 W
阅读全文
django 和 七牛云 交互
摘要:django 和 七牛云 交互 七牛开发文档(https://developer.qiniu.com/kodo/sdk/1242/python) 安装 pip install qiniu 初始化 # access_key 个人中心的 ak # secret_key 个人中心的 sk from qin
阅读全文
布隆过滤器(实际操作)
摘要:概念 布隆过滤器是概率型数据结构,由一个二进制向量和一系列随机映射函数组成。它可以用于检索一个元素是否在一个集合中。 实现过程 定义向量长度,并赋初值为0. 定义N个hash函数,并指定个数(1,N) 将需要存储的值经过n个hash计算得出的值作为key来修改向量的值(0=>1) 查询某个变量值是否
阅读全文
django自定义过滤器
摘要:django 自定义过滤器 创建模型 from django.db import models class User(models.Model): # 用户名 username = models.CharField(max_length=32,unique=True) # 密码 password =
阅读全文
单表序列化 和 单表反序列化
摘要:from rest_framework import serializers from django.db import models #学生表 class Student(models.Model): name = models.CharField(max_length=32) #学生姓名 img
阅读全文
Django多对多
摘要:表名小写+_set() 得到的是一个QuertSet集合,她的后面可以跟 .add() .remove() .update() .clear() models.py 文件 # 学生表 class Student(models.Model): name = models.CharField(max_l
阅读全文
面试总结 别人的 非原创
摘要:1、面试指导方针 在面试官问到技术的时候 是什么?有什么特点? what 为什么用它? why 在项目的哪一个地方用过? 使用的具体步骤?使用过程中问题总结? how 2、面试自我介绍之大套路 3、排序算法? 冒泡排序: 每次拿两个数进行比较,总是把小的放在最前面,大的放在最后面,第二次是第二个数和
阅读全文
Django序列化
摘要:这是我的model里面的表 1 class User(models.Model): 2 username = models.CharField(max_length=32,verbose_name='用户名') 3 age = models.IntegerField(verbose_name='年龄
阅读全文
PyCharm2020.1激活破解教程
摘要:引言:最近PyCharm更新了2020版本,有很多小伙伴的PyCharm经常跳出激活失败界面,下面我就PyCharm2020.1版本的PyCharm为例,来进行详细的破解激活图解(2020.1.1同样适用)(注意:2020.1.2及以上不适用!) 一:前期准备 1.PyCharm官网下载链接(选择2
阅读全文
django 提供的加密算法
摘要:django 提供的加密算法 导包 from django.contrib.auth.hashers import make_password, check_password 加密 # 原密码 1234 password = '1234' # 加密 make_password(password) #
阅读全文
vue与后台交互之post用法
摘要:vue解决跨域 安装 axios cnpm install axios --save 在 config/index.js proxyTable: { '/api': { //使用"/api"来代替"http://f.apiplus.c" target: 'http://127.0.0.1:8000/
阅读全文
redis分布式锁
摘要:1. 分布式锁本质是占一个坑,当别的进程也要来占坑时发现已经被占,就会放弃或者稍后重试 2. 占坑一般使用 setnx(set if not exists)指令,只允许一个客户端占坑 3. 先来先占,用完了在调用del指令释放坑 > setnx lock:codehole true .... do
阅读全文
Linux目录管理常用指令
摘要:pwd # 查看你当前所在的目录 cd # 切换目录 ls # 查看显示目录的内容 du # 统计目录和文件空间的占用情况 mkdir # 创建新目录 rmdir # 删除空目录 touch # 创建文件 rm # 删除文件 ln # 创建硬链接 ln -s # 创建软链接 cp # 复制文件或目录
阅读全文
生成器
摘要:1. 生成器定义 生成器可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他数据类型需要调用自己的内置iter方法) 在Python中,一边循环,一边计算的机制,称为生成器。 2. 生成器的作用 1. 通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的。 2
阅读全文
Python上的MVC和MVT理解,请求头,请求体,请求行的理解
摘要:MVC理解 MVC是由三部分组成的分别为 Model 模型,主要是对数据库层的访问,对数据库中的数据可以进行增删改查的操作 View ,用于封装结果 生成页面展示html内容 Controller 控制器 ,用于接受请求处理业务逻辑,与model和view交互,返回结果 MVT理解 MVT也是有三部
阅读全文
sellect、poll、epoll
摘要:1. select (能监控数量有限,不能告诉用户程序具体哪个连接有数据) 1. select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点 2. select的一个缺点在于单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024 3. select监控socket
阅读全文
冒泡法排序
摘要:原理:拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结束后最上面那个一定是最大的数 #! /usr/bin/env pythonf # -*- coding: utf-8 -*- def bubble_sort(li): for i in rang
阅读全文
python垃圾回收机制重置
摘要:1. 引用计数 1)当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1. 2)当对象的引用计数减少为0时,就意味着对象已经再没有被使用了,可以将其内存释放掉。 2. 标记-清除 1)它分为两个阶段:第一阶段是标记阶段,GC会把所有的活动对象打上标记,第
阅读全文
高阶函数
摘要:1. lambda基本使用 1. lambda只是一个表达式,函数体比def简单很多。 2. lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 3. lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。 4. 格式:lambd
阅读全文
MySQL慢查询
摘要:MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。默认情况下
阅读全文
迭代器
摘要:1. 迭代器定义 1. 迭代器是访问集合内元素的方式,迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束 2. 迭代器仅是一容器对象,它有两个基本方法 1)next方法:返回容器的下一个元素 2)__iter__方法:返回迭代器自身 a = iter([1,2,]) #生成一个迭
阅读全文
codis部署
摘要:1. 单个codis代理支撑的QPS比较有限,通过启动多个codis代理可以显著增加整体QPS 2. 多codis还能起到容灾功能,挂掉一个codis代理还有很多codis代理可以继续服务
阅读全文
MySQL-主从一致校验
摘要:1. 场景需求 2020年春,由我司开发的考试系统项目,经过不懈的运营努力,用户群体每日以指数倍激增,现考虑到数据库的安全可靠和访问性能问题,决定在业务中集成部署Mysql主从复制以实现读写分离等功能;巧的是,在想要进行主从复制操作前,我们的主要业务数据库已经工作了一段时间,现在要添加一台新的从数据
阅读全文
哨兵模式----sentinel
摘要:1. sentinel作用 1. 当用Redis做主从方案时,假如master宕机,Redis本身无法自动进行主备切换 2. 而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。 2. sentinel原理 1.
阅读全文
青蛙跳台阶
摘要:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 fib = lambda n: n if n < 2 else 2 * fib(n - 1)
阅读全文
redis雪崩&穿透&击穿
摘要:1. 缓存穿透 1)定义 1. 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,接着查询数据库也无法查询出结果, 2. 虽然也不会写入到缓存中,但是这将会导致每个查询都会去请求数据库,造成缓存穿透; 2)解决方法 :布隆过滤 1. 对所有可能查询的参数以hash形式存储,在控制层先进行校验,不
阅读全文
快排
摘要:#! /usr/bin/env python # -*- coding: utf-8 -*- def quick(list): if len(list) < 2: return list tmp = list[0] # 临时变量 可以取随机值 left = [x for x in list[1:]
阅读全文
递归斐波那契
摘要:def fun(i): if i == 0: return 0 elif i == 1: return 1 else: return fun(i-2) + fei(i-1) if __name__ == '__main__': for i in range(10): print(fun(i),end
阅读全文
列表常用方法
摘要:#1. append用于在列表末尾追加新的对象 a = [1,2,3] a.append(4) #the result : [1, 2, 3, 4] #2. count方法统计某个元素在列表中出现的次数 a = ['aa','bb','cc','aa','aa'] print(a.count('aa
阅读全文
字典常用方法
摘要:#1. clear方法清除字典中所有的项,这是一个原地操作,所以无返回值(或则说返回None) d = {'name':"tom"} d.clear() print(d) #the result : {} #2. fromkeys方法使用给定的键建立新的字典,每个键都对应一个默认的值None pri
阅读全文
布隆过滤器
摘要:1. 布隆过滤器是什么?(判断某个key一定不存在) 1. 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构 2. 特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。 3. 相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回
阅读全文
redis的五大数据类型实现原理
摘要:1. 字符串(string) 1)value的数据结构(数组) 1. 字符串value数据结构类似于数组,采用与分配容易空间来减少内存频繁分配 2. 当字符串长度小于1M时,扩容就是加倍现有空间 3. 如果字符串长度操作1M时,扩容时最多扩容1M空间,字符串最大长度为 512M 2)字符串的使用场景
阅读全文
MySQL优化
摘要:1. 字段设计优化 适应遵循数据库三范式 2. 引擎的选择 适应选择MyIsam & InnoDB 3. 索引 索引也会消耗内存空间,并不是越多越好。而且索引的种类都有各自的有点 4. 查询缓存 将 select查询结果缓存起来,key 为SQL语句,value 为查询结果 5. 分区 6. 水平分
阅读全文
静态方法、类方法、属性方法
摘要:1. 静态方法 1. 作用:静态方法可以更好的组织代码,防止代码变大后变得比较混乱。 2. 特性: 静态方法只是名义上归类管理,实际上在静态方法里访问不了类或则实例中的任何属性 3. 静态方法使用场景: 1)我们要写一个只在类中运行而不在实例中运行的方法. 2)经常有一些跟类有关系的功能但在运行时又
阅读全文
B-tree/B+tree
摘要:1. 以一个3阶的B-Tree举例 1. 每个节点占用一个盘块的磁盘空间,一个节点上有两个升序排序的关键字和三个指向子树根节点的指针,指针存储的是子节点所在磁盘块的地址。 2. 两个关键词划分成的三个范围域对应三个指针指向的子树的数据的范围域。 3. 以根节点为例,关键字为17和35,P1指针指向的
阅读全文
支付宝
摘要:1.1 支付宝介绍 1、支付宝开发网址 支付宝开放平台: https://open.alipay.com/platform/home.htm支付宝沙箱环境: https://openhome.alipay.com/platform/appDaily.htm?tab=info支付宝开发者文档:http
阅读全文
七牛云上传视频3
摘要:1、参考七牛云SDK 1 2 3 4 5 6 # pythonSDK https://developer.qiniu.com/kodo/sdk/1242/python # JavaScript SDK历史文档1.x https://developer.qiniu.com/kodo/sdk/4244/
阅读全文
python-django框架中使用七牛云
摘要:python-django框架中使用七牛云 1:注册七牛云账号 https://www.qiniu.com/ js文件 链接:https://pan.baidu.com/s/1BW1svHqEsXrrTNtRobKkpg 提取码:ixta 2:进行实名认证 3:在项目中安装模块(进入虚拟环境中安装)
阅读全文
七牛云上传视频2
摘要:七牛云上的基本概念: 公开空间:可通过文件对象的 URL 直接访问。如果要使用七牛云存储的镜像存储功能,请设置空间的属性为公有。私有空间:文件对象的访问则必须获得拥有者的授权才能访问。 资源:资源是七牛云存储服务中的逻辑存储单元。 AccessKey: 用于标识用户,用户将 AccessKey 放入
阅读全文
七牛云上传视频
摘要:七牛云 js上传视频vue的html代码 //引入js <script src="../js/plugins/jquery-2.1.1.js"></script> <script src="../js/qiniu/plupload.full.min.js"></script> <script src
阅读全文
vue绑定用户接口
摘要:1.微博绑定用户接口 1.1 oauth/urls.py 中添加路由 1 2 3 4 urlpatterns = [ path('weibo/binduser/', views.OauthWeiboBindUser.as_view()), # /oauth/weibo/callback/ ] 1.2
阅读全文
微博回调接口
摘要:1.微博回调接口 1.1 oauth/urls.py 中添加路由 1 2 3 4 urlpatterns = [ path('weibo/callback/', views.OauthWeiboCallback.as_view()), # /oauth/weibo/callback/ ] 1.2 o
阅读全文
序列化器
摘要:1.序列化使用 settings.py 注册App 1 2 3 4 5 INSTALLED_APPS = [ 'rest_framework', 'users', ] urls.py 定义总路由 1 2 3 4 5 6 7 from django.contrib import admin from
阅读全文
微博账号注册
摘要:新浪微博开放平台:https://open.weibo.com/ 1.注册账号 注册新浪微博账号 进入首页。创建网站接入的应用: https://open.weibo.com/ 选择立即接入,进入到创建应用页面 创建应用 基本信息页面: https://open.weibo.com/apps/351
阅读全文
vue获取微博授权URL
摘要:vue获取微博授权URL 1.在Vue页面加载时动态发送请求获取微博授 权url 1.1 在 components\common\lab_header.vue 中写oauth动态获取微 博授权URL // 获取微博登录地址 oauth() { // 从后端获取 微博登录地址 oauth_post()
阅读全文
vue微博回调空页面
摘要:vue微博回调空页面 1.vue微博回调空页面 注:微博回调空页面为: http://127.0.0.1:8888/oauth/callback/ 1.1 页面路径 components\oauth.vue <template> <div> <p>跳转中....</p> </div> </templ
阅读全文
vue绑定用户页面
摘要:1.vue微博回调空页面 注:微博回调空页面为: http://127.0.0.1:8888/oauth/callback/ 1.1 页面路径 components\oauth.vue <template> <div> <div v-show='visiable'> 绑定用户 用户名: <input
阅读全文
绑定微博用户接口
摘要:1.微博绑定用户接口 1.1 oauth/urls.py 中添加路由 urlpatterns = [ path('weibo/binduser/', views.OauthWeiboBindUser.as_view()), # /oauth/weibo/callback/ ] 1.2 oauth/v
阅读全文
微博三方登录流程
摘要:1.微博三方登录流程 1.1 前端获取认证code 1.在Vue页面加载时 动态发送请求获取微博授权url 2.django收到请求的url后,通过微博 应用ID(client_id)和回调地址(redirect_uri) 动态 生成授 权url返回给Vue 3.当用户点击上面的url进行扫码,授权
阅读全文
微博注册账号
摘要:1.注册账号 注册新浪微博账号 进入首页。创建网站接入的应用: https://open.weibo.com/ 选择立即接入,进入到创建应用页面 2.接口文档 查看接口文档 https://open.weibo.com/wiki/授权机制说明
阅读全文
Windows下MySQL的安装
摘要:MySQL简介: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System
阅读全文
免安装版的Mysql
摘要:免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web 应用方面 MySQL 是最好的 RDBMS(Relational Database Managemen
阅读全文
MySQL额外操作
摘要:分组1、limit start (开始,从第几行开始查),count(从开始行下一行,往后查几行数据)select * from 表名 limit start,countselect * from 表名 limie 9,5外键定义、连接两个表的1、先建主表 插入数据2、再建子表注意 一定先创建与主表
阅读全文
mysql操作命令
摘要:--sql语句的注意 : 1 以;作为结束符 2 不区分大小写--01 mysql 数据库的操作 -- 链接数据库mysql -uroot -pmysql-- 不显示密码mysql -uroot -pmysql -- 退出数据库exit/quti/ctrl + d -- sql语句最后需要有分号;结
阅读全文
redis的pipline使用
摘要:1.pipeline原理 redis基本语法:https://www.cnblogs.com/xiaonq/p/7919111.htmlredis四篇:https://www.cnblogs.com/xiaonq/category/1544586.html 1.1 redis发送数据原理 Redis
阅读全文
后端注册接口完善
摘要:# 1.完善注册接口 ### 1.1 修改`user/views.py`中完善视图函数 ```python# 注册接口class RegisterView(APIView): """ 用户注册, 权限是: 匿名用户可访问 """ # 自定义权限类 permission_classes = (Allo
阅读全文
vue检查用户名是否使用
摘要:# 1.vue检查用户名是否重复 - 前端函数如下,js方法代码无需更改,前端代码逻辑在`components\common\lab_header.vue` - 只需要修改`components\axios_api\http.js`中调用的后端地址 - ```javascript // axios.
阅读全文
.检查用户名是否使用接口
摘要:# 1.django添加检查用户名和手机号数量接口 ### 1.1 在`user/urls.py`中添加 ```pythonurlpatterns = [ path('count/', views.RegCountView.as_view()), # 查询用户名手机号使用量的视图, /user/co
阅读全文
04.vue发送短信逻辑
摘要:# 1.vue发送短信逻辑 - 前端函数如下,js方法代码无需更改,前端代码逻辑在`components\common\lab_header.vue` - 只需要修改`components\axios_api\http.js`中调用的后端地址 - ```javascript // axios.def
阅读全文
03.celery发送短信接口
摘要:### 1.1 在`celery_task/mian.py`中添加发送短信函数 ```python# celery项目中的所有导包地址, 都是以CELERY_BASE_DIR为基准设定.# 执行celery命令时, 也需要进入CELERY_BASE_DIR目录执行.CELERY_BASE_DIR =
阅读全文
02.celery配置与基本使用
摘要:### 1.1 安装celery ```pythonpip install celery @ https://github.com/celery/celery/tarball/master``` ### 1.2 新建`celery/main.py`配置celery ```python# celery
阅读全文
Celery介绍
摘要:### 1.1 celery应用举例 - Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考虑使用celery - 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回
阅读全文
python爬虫与Django框架vue交互的前后端代码详情(励志人生网实例)
摘要:Django(建表,配置一些的就不说了): class Jiayou(models.Model): # 建表以及字段名 zxn_title = models.CharField(max_length=500) zxn_brief = models.CharField(max_length=500)
阅读全文
爬虫找工作之面试题(2)
摘要:1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎么解决的? 通过headers反爬虫:解决策略,伪造headers 基于用户行为反爬虫:动态变化去爬取数据,模拟普通用户的行为 通过动态更改代理ip来反爬虫 基于动态页面的反爬虫:跟踪服务器发送的ajax请求,模拟ajax请求,selnium 和pht
阅读全文
爬虫找工作之面试题(1)
摘要:#### 1.什么是爬虫并解释其概念? ```python(1)爬虫又叫网页蜘蛛,是模拟人操作客户端向服务器发起请求,抓取数据的自动化程序或脚本(2)说明: ①模拟:用爬虫程序伪装出人的行为,避免被服务器识别为爬虫程序 ②客户端:浏览器、app都可以实现人与服务器之间的交互行为,应用客户端从服务器获
阅读全文
使用axios实现登录功能
摘要:1.创建一个Login.vue页面 1.1 写页面 components/Login.vue 在 src/components 下创建 Login.vue 页面 <template> <div> 测试axios-{{title}} </div> </template> <script> import
阅读全文
django配置跨域并开发测试接口
摘要:1.跨域原理 1. 首先浏览器安全策略限制js ajax跨域访问服务器 2. 如果服务器返回的头部信息中有当前域: // 允许 http://localhost:8080 这个网站打开的页面中的js访问我 Access-Control-Allow-Origin: http://localhost:8
阅读全文
vue组件
摘要:1.组件定义 1 2 3 4 1.定义组件并引用 2.父组件向子组件传值 3.子组件向父组件传值 # 组件间传值:vuex (https://www.cnblogs.com/xiaonq/p/9697921.html) 1.1 什么是组件 1 2 3 4 5 Html中有组件,是一段可以被复用的结构
阅读全文
axios封装
摘要:1. 始vue化项目 https://www.cnblogs.com/xiaonq/p/11027880.html 1 2 3 vue init webpack deaxios # 使用脚手架创建项目 deaxios(项目名,随便取得) cd deaxios # 进入项目 npm install a
阅读全文
ubuntu开发机初始化
摘要:1.1 初始化系统步骤 在VMware15中安装ubuntu18Ubuntu 18.04 安装 PyCharm:https://blog.csdn.net/qq_15192373/article/details/81091278ubuntu设置静态IP:https://www.jb51.net/ar
阅读全文
cookie与session的原理及区别
摘要:1、cookie使用原理 用户名+密码 cookie是保存在用户浏览器端,用户名和密码等明文信息 1.用户向服务器发送用户名和密码。 2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。 3.服务器向用户返回session_id,session信息都会写入到用户的Cookie。
阅读全文
jwt原则
摘要:1、jwt原则 JWT的原则是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户 { "UserName": "Chongchong", "Role": "Admin", "Expire": "2018-08-08 20:15:56" } 之后,当用户与服务器通信时,客户在请求中发回JSO
阅读全文