- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 解读django-drf分页,进行自定义封装分页
django 的drf中自带有list的分页,部分源码如下:def list(self, request, *args, **kwargs): queryset = self.filter_queryset(self.get_queryset()) page = self.paginate_queryset(queryset) if page is not None: serializer = self.get_serializer(page, many=True
2021-03-27 16:13:44 662
原创 使用set对python中循环的优化
使用set对python中循环的优化set定义项目中常用去重手段使用set优化场景及方法使用set的类似场景set去重原理set定义日常项目中大家或多或少都使用到集合。先走走流程,介绍下set的定义:集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。项目中常用去重手段集合的内置方法也有很多,常用就是 使用add,remove。然后我们项目中经常会使用set进行
2020-12-21 17:30:24 431
原创 Django_drf的搜索出现NotFound: Invalid page解决方案
Django_drf的搜索出现NotFound: Invalid page解决方案问题上代码刨析问题解决方法问题前端列表在第3页进行搜索的时候,当搜索的结果数据小于20个的时候,drf的view_set的list接口会报NotFound: Invalid page。想要的效果是在第N页搜索的时候,若数据足够,则停留在第N页,不足则停留在最后一页。上代码视图为class HistoryViewSet(ReModelViewSet): queryset = History.objects.
2020-10-28 16:41:08 1153 1
原创 python-celery学习笔记
用python-celery实现重试机制。项目中需要异步执行某个任务,且失败的时候需要重试,且需要知道是否执行成功,可以这样设计。案例代码如下:@task()def test_task(*args,**kwargs): #处理逻辑 return Truedef home(request): from celery_tasks import test_task rep = test_task.apply_async((2, 'a'), retry=True, retry_
2020-08-31 17:04:05 272 2
原创 vue里使用keep-alive缓存页面以及使用了定时器setInterval的坑
记录一个写前端的踩坑问题。通常我们想要返回上一个页面的时候,缓存上一个页面的数据时,在vue中就提供了个好用的功能,把想要的缓存的地方加上keep-alive如下:一般来说会缓存 表单的数据。<keep-alive> <Form ref="forms" :model="formItem" :label-width="100"> ...... </Form></keep-alive>单单这个是
2020-08-24 11:31:43 1835 1
原创 vue2版本安装sass出现Module build failed问题
踩坑路线安装Sass过程cnpm install sass-loader --save-devcnpm install node-sass --save-dev然后在在build文件夹下修改 webpack.base.conf.js 文件添加{ test: /\.scss$/, loaders: ['style', 'css', 'sass']}再运行npm run dev出现下面的问题查了之后发现是sass-loader版本问题我直接安装好后的nod
2020-08-10 16:51:29 1375
原创 下载python2.7安装pip的问题(InsecurePlatformWarning,SNIMissingWarning)
公司一个老项目用的是python2.7版本,准备项目的时候 随手就再官网上下载了python2.7.5版本,发现里面没有pip工具然后再再官网上下载了setuptools源码吧,执行里面的setup后,再通过 exsy_install 安装pip查看如图输入pip list 会看到下面的状况然后用pip install XXX的时候会出现下面的错误警告InsecurePlatformWarning: A true SSLContext object is not available. This
2020-08-10 16:40:53 2559 4
原创 腾讯的redis面试问题,就这?
Redis面试问题及其详解分布式redis锁redis过期策略redis的缓存穿透,击穿,雪崩问题redis高可用策略redis的位图操作分布式redis锁这个主要是有4个方面要解决。1.互斥2.不能死锁3.容错性4.重试机制常见案例是这样的。案例一:线程中master中活得锁后,master宕机了, 而集群使用主从异步的方式,在宕机的同时,另一个线程去获得锁,会产生两个线程获得锁。案例二:有两个功能块都是需要上锁执行。 A模块需要调用B模块功能。此时会发生死锁问题。为解决该问题,可以尝
2020-08-05 16:49:43 740
原创 跨域问题及解决方案
先简单说下什么是跨域?跨域是指一个域下的文档或者脚本视图请求另外一个域下的资源。如:A链接、重定向、表单提交js发起的ajax请求特别需要注意的是:不同端口或者 主域名相同子域名不同的 都是属于跨域。这也就是 浏览器的同源策略,这个约定要求请求资源是需要 协议+域名+端口 三者相同才行.不然会出现错误提示 XMLHttpRequest cannot load http://xxxxxx. No 'Access-Control-Allow-Origin' header is present
2020-07-20 16:40:53 1349 2
原创 flask框架总结(二)——企业实践篇
之前介绍过flask框架的基础应用,这篇主要介绍下项目中flask框架里的实操应用,如果对您有用,请记得关注,点赞,同时也欢迎大家留言讨论。ps: 为方便,用的pycharm,windows演示的。目录项目结构技巧装饰器使用技巧日志服务使用技巧异步脚本使用技巧定时器使用技巧项目结构技巧先贴出演示项目的目录![在这里插入图片描述](https://img-blog.csdnimg.cn/20200615115805634.png?x-oss-process=image/watermark,type_
2020-06-15 17:17:53 3760 5
原创 图解一条sql查询语句执行过程
图解一条sql查询语句如何执行假设执行1.连接数据库服务器2.查询缓存(判断是否开启缓存)3.生成一个执行计划4.调用存储引擎执行计划假设执行select * from test分四个大步骤执行1.连接数据库服务器2.查询缓存(判断是否开启缓存)3.生成一个执行计划4.调用存储引擎执行计划这样就得到结果了。详解如下图...
2020-06-11 10:51:13 2982
原创 mysql里使用not in查出来的结果不一致的原因
举例:学校招生good_name表 为特招名单,stu_score表为此次考试成绩.录取分数大于80且不在特招名单的人.数据如下:SELECT * FROM good_nameSELECT * FROM stu_score按要求用not in的话是这么写SELECT name FROM stu_scorewhere name not in (SELECT name FROM good_name) and score > 80结果却不是我们想要的单独查子查询看看数据
2020-06-03 18:25:55 3905 1
转载 redis集群的小白搭建方法
原作者地址1.先安装redis。可以下载安装包,或者直接apt ,yum都行(4以下都行)2.安装完后复制到每个机器上。(注意:文件夹中有dump.rdb需要删掉)单个机器学习的话就开多个端口来实践.3.修改redis.conf里面的3个地方#bind 127.0.0.1 --> bind 0.0.0.0port 6379 -> port[自定义] 建议修改,6379端口经常会在一些小项目使用.避免冲突#cluster-enabled yes --> cluster-e
2020-05-18 17:15:35 1640
原创 flask-admin自定义下拉框选项问题
最近项目背景,flask-admin,sqlalchemy有个status字段字段在数据库的类型是int 类型需要自定义在flask-admin中,编辑的时候,这个字段用下拉框来表示,查询发现有个.form_extra_fields = {‘status’:form.Select2Field(‘问题类型’,choices=[(0, ‘未精选’),(1, ‘已精选’),])}如果...
2020-04-01 11:27:34 2743
原创 input修改值的小问题
关于input值修改遇到的坑正常用jq 修改的时候一般我用$('input[name=media_file]').val(url)去修改就ok然后如果 $(‘input[name=media_file]’) 找出来有多个的话, 就会报错:不能对多个进行操作Failed to set the 'value' property on 'HTMLInputElement': This in...
2020-02-18 16:15:30 1881 1
原创 nginx.conf详解
upstream name{ #负载均衡配置,默认通过轮询调度 ip_hash; #指定请求调度算法,默认是weight权重轮询调度 server 192.168.1.100:8000; server 192.168.1.100:8001 down; #表示该主机暂停服务 server 192.168.1.100:8002 max_fails=3; #表示失败最大次数为...
2019-12-19 16:39:45 1649
原创 搭建新项目服务器
搭建新项目服务器最近需要写新项目,配了台新的服务器,配置服务器踩了些坑。生成ssh的公私钥,加本地机器的公钥安装git 服务,连接github等远程仓库安装pm2 管理进程安装mongodb合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必...
2019-12-19 15:16:35 1665 1
转载 mongodb.conf配置详解
#日志文件位置logpath=/data/db/journal/mongodb.log (这些都是可以自定义修改的)以追加方式写入日志logappend=true是否以守护进程方式运行fork = true默认27017#port = 27017数据库文件位置dbpath=/data/db启用定期记录CPU利用率和 I/O 等待#cpu = true是否以安全认证方式运行...
2019-12-19 12:13:55 1814
原创 分布式爬虫
基于python的 scrapy 框架,有个scrapy-redis的分布式框中框架。其实权力就是在redis中存放了两个数据。一个是请求队列 ,一个是url的指纹集合。那什么是url指纹呢?一个url有 请求方式(get,post) 请求参数,请求体.通过sha1加密指纹字符串=sha1(请求方式) + sha1(参数排序后的请求url) + sha1(请求体)每次爬取url时,...
2019-03-30 19:17:28 1778
原创 朴素贝叶斯算法学习心得
朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。对缺失数据不太敏感,算法也比较简单,常用于文本分类。分类准确度高,速度快。朴素贝叶斯的模型是基于条件概率和联合概率为基础的。 求分类时,有个前提要求是 条件是独立的。公式如下:w 为给定文档的特征值.文档中的特征有很多(word1,word2,word3…) p(w)=p(word1)*p(word2)*p(word2…).这个值...
2019-03-30 17:09:36 5794
原创 对连续型数据,用pandas和plt进行折线图分析
此次分享一个分析连续型数据的案例。目前市场上会常用此方法去观察金融数据,销量数据等问题的分析。 数据真实,采集自某网站。这里拿过来的数据,时间字段是分开了,首先做了个预处理,把时间整合下,并添加到“datetime”字段中。然后,再以datetime为索引,“PM_US Post”为目标值,生成一个新的二维数组。接着进行画图,在画图的时候,发现数据太离散了,效果不好,于是进行了降采集,以星期为单...
2019-03-30 16:11:31 2507
原创 使用flask_wtf 的 csrf时的bug问题
之前接收一个老项目,版本迭代的时候,发现了一个问题,用户在登出的时候,再次登录时,报400错误,The CSRF session token is migging.查了查代码,才发现问题。这个flask项目是用flask_wtf的csrf 创建的csrf_token的时候,#创建一个csrf_token值 csrf_token=csrf.generate_csrf()自动会在...
2019-03-09 14:52:10 3004
原创 在django项目中搭建分布式图片服务器fastdfs
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下...
2019-02-27 09:53:12 2057
原创 单例模式(python)
什么是单例模式:单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,系统的配置信息,在整个项目种很多地方会使用到,但是配置信息是不会在项目种被更改的,如果重复的创建配置信息的对象的化,会严重的浪费内存资源,如果能只存在一个对象,那就好了,由此而生的单例...
2019-02-17 14:03:29 2538
原创 前端的性能优化
只要是web项目,每次产品,运营,测试团队都回反馈说 XXX性能不好等问题,大抵上都离不开一个字-----“慢”。什么页面加载太慢,点击触发事件太慢,要不就是APP,小程序太大(加载/下载慢)等问题。然后开发团队就要绞尽脑汁去优化代码啥的。后端代码优化差不多就是精简代码,减少时间复杂度,减少空间复杂度,利用算法啥的。当然,在前端上也有很多性能点的优化。主要是以下几点。1.精简代码,把重复的...
2019-02-16 20:55:59 1714 1
原创 基于python的爬虫方法总结(一)
爬虫就不用多说了,就是爬取数据。爬取的方法很多,,但是不管用什么方法总结起来就3大步确定要爬取的URL地址向网站发请求获取相应的HTML页面提取HTML页面中有用的数据一,获取静态页面数据方法urllib方法1、python2 :urllib、urllib22、python3 :urllib.request对应的版本不同,python的包也不同,以python3 为例爬取...
2019-01-26 23:42:18 4648 1
原创 flask框架总结(一)
,正如总所周知的一样,Flask是一个使用 Python 编写的轻量级 Web 应用框架。轻巧页就意味着他比较简洁,不过见到的MTV框架还是有的,(MVC)但是最重要的还是他的可扩展性很强,对比与Django框架呢,他的灵活度就很高了,可以自己一些设计代码框架。他比较适合一些,分层比较少,逻辑不怎么复杂的web项目。如果开发成本低的话,那就更适合了。现在就总结下他的一些功能。现在搭建个fl...
2019-01-26 21:24:11 86619 8
原创 IO多路复用例子
server端#select 函数的简单示例from socket import *from select import *server = socket() #创建套接字server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #设置监听server.bind(('0.0.0.0',9999))server.listen(5)print("服务...
2019-01-19 21:24:16 4934
原创 hadoop的hdfs搭建教程——小白式
最近淘了个新电脑,想在电脑上装上hadoop等配置环境,折磨了许久,在此,总结下小白式配置步骤,希望能帮助广大编程爱好者。话不多说。列出需要下载的文件:VMware(虚拟机)CentOS 7.0 (可以自行选择版本)第一步:在电脑上装VMware,并安装CentOS7.01.VMware安装就不说了,一直确认确认确认,输入密钥就OK了。2.安装CentOS7.0也很简单,看下下面的...
2019-01-12 22:11:57 6317 5
原创 python-mysql总结及一些技巧及难点
说个小笑话,元旦放几天假回来,对自己的代码还生疏了些。于是准备这篇给mysql做个较全面的总结,方便自己下次查阅,也希望能给大家一些帮助。mysql问题mysql基础常规增删改查语句铺出来先。增加语句:insert into table1(field1,field2) values(value1,value2)删除语句:delete from table1 where 条件修改语...
2019-01-05 22:23:32 4713
原创 用python实现给人脸带圣诞帽子
圣诞节到了,给广大程序员一个撩妹的小技巧,给图片上的人脸配上不同的圣诞帽。1.首先,得去opencv上下载个图形识别库,代码实现时需要。网站为:https://opencv.org/点击下载对应的版本。并记录安装位置然后进入这个路径:&lt;你的路径&gt;opencv\sources\data\haarcascades你会发现很多个人脸识别库博主这里是使用了该库第二步,得下载p...
2018-12-24 21:33:35 5874 2
原创 分布式系统学习——数据分片
开始学习之前,先简单接受下分布式系统是什么。分布式系统是什么这里我先以百度百科上搜索分布式系统为依据,结合自己的理解,做个简单的概括。 分布式系统(distributedsystem)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。以上是百度百科的原话。 若要用形象的比...
2018-12-15 17:16:29 9397
原创 浅谈mysql中的Btree,b+-tree,b*tree
mysql中索引的Btree,B+tree,B-tree,B*tree的用法总结:Btree,叫做二叉树,每个节点只能存储一个关键字。1.1 只有2个子结点1.2 每个结点只有一个关键字B-tree,叫做多路搜索的平衡二叉树。2.1 可以有多个字结点。(数量大于2)2.2每个结点可存放多个关键字,任何一个关键字只出现在一个结点中,可以在非叶子结点的时候结束。B+tree,...
2018-12-08 15:54:44 6865 2
原创 聊聊关于使用逻辑斯蒂回归的使用方法
逻辑斯蒂回归是个什么东西? 按数学的思维解读就是求逻辑函数的反函数。以下是逻辑斯蒂的函数![在这里插入图片描述](https://img-blog.csdnimg.cn/20181129212825400.png)百度百科上对这个函数的解释是: 逻辑斯谛模型是关于人口或种群增长的模型。它发现人口/种群增长会因为受到资源限制而达到某个极限。 这个在我们高中的生物中有讲到,起初,物种少,数...
2018-11-29 21:59:02 5511
原创 python3中关于浅拷贝和深拷贝的见解
之前有朋友问过我这方面的问题,当时只是回答说浅拷贝只是复制一层变量,不复制变量里嵌套的变量;深拷贝就是复制整个变量。 回头想想,感觉解释的有点模糊。写些例子来说明下:拷贝(赋值)的种类“=”a=[1,2,[3,4]]b=ab[0]=55b[2][0]=66print(a)print(b)print(id(a))print(id(b))输出结果为:[55, 2, [66, ...
2018-11-24 11:18:34 4942 1
原创 文件读写时常见的一些问题
文件读写时的流程1,打开文件s=open(filename,mode=‘rt’)#filename指的是文件名,mode指的是文件读取的模式,默认是“rt”,意思是以文本文件模式读写。还有“w”“x”“a”“b”"+"等一些就不一一介绍了。有以下几种情况:1.1,与要访问的文件在同一个文件夹时,s=open(‘study.txt’)1.2,要访问的文件不在同一个文件夹时,s=ope...
2018-11-24 00:09:51 6132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人