![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人总结
最美程序员
朴实而又可爱
展开
-
VTK+PyQt在打包中出现的问题
在打包过程中出现一些no moudle named "wx"等信息,这个无须担心,没什么影响。 如果在打包后 运行.exe文件后出现no named moudle vtkmodules.all或vtk.py not found vtkmodules.all的报错。 不用慌乱!只需要在有import vtk的py文件中将import vtk 更改为 import vtkmodules.all as vtk即可。![在这里插入图片描述](https://img-blog.csdnimg.cn/61d3.原创 2021-11-19 15:10:39 · 555 阅读 · 3 评论 -
Selenium和PhantomJS
Selenium是一个Web的自动化测试工具,可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌在代码中运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。Selenium 库里有个叫 WebDriver ...原创 2018-12-04 19:04:03 · 128 阅读 · 0 评论 -
单例模式及其应用场景都有哪些?
确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,单例模式是一种对象创建型模式。Windows的Task Manager(任务管理器)、Recycle Bin(回收站)、网站计数器单例模式应用的场景一般发现在以下条件下:(1)资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。(2)控制资源的情况下,方便资源之间的互相通信...原创 2018-12-04 19:08:05 · 4188 阅读 · 3 评论 -
python的内存管理机制及调优手段(很详细的哦)
内存管理机制:引用计数、垃圾回收、内存池引用计数引用计数是一种非常高效的内存管理手段, 当一个Python对象被引 用时其引用计数增加1, 当其不再被一个变量引用时则计数减1. 当引用计数等于0时对象被删除.垃圾回收1. 引用计数 引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当Python的某个对象的引用计数降为0时,说明没有任何引用指向该对象,该对象就成...原创 2018-12-04 19:13:44 · 1808 阅读 · 0 评论 -
简单说一下,用户访问一个url的过程
第一步,解析域名,找到IP(1)浏览器会缓存DNS一段时间,一般2-30分钟不等。如果有缓存,直接返回IP,否则下一步。(2)缓存中无法找到IP,浏览器会进行一个系统调用,查询hosts文件。如果找到,直接返回IP。否则下一步。(在计算机本地目录etc下有一个hosts文件,hosts文件中保存有域名与IP的对应解析,通常也可以修改hosts上网或破解软件)(3)进行了前面几步的本地查询无果...原创 2018-12-02 21:11:59 · 621 阅读 · 0 评论 -
什么僵尸进程和孤儿进程,怎么避免僵尸进程?
孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被init进程所收养,并由init进程对它们完成状态收集工作僵尸进程:进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中的这些进程是僵尸进程避免僵尸进程的方法:1、fork两次用孙子进程去完成子进程的任务2、用wait()函...原创 2018-12-02 21:28:31 · 308 阅读 · 0 评论 -
对flask蓝图的理解
1、蓝图的定义:蓝图/Blueprint是Flask应用程序组件化的方法,可以在一个应用内或跨越多个项目共用蓝图。使用蓝图可以极大地简化大型应用的开发难度,也为flask扩展提供了一种在应用中注册服务的集中式机制。2、蓝图的应用场景1、把一个应用分解为一个蓝图的集合。这对大型应用是理想的。一个项目可以实例化一个应用对象,初始化几个扩展,并注册一集合的蓝图。2、以URL前缀和/或子域名,在应...原创 2018-12-01 19:33:44 · 871 阅读 · 0 评论 -
Django里QuerySet的get和filter方法的区别
输入参数:get的参数只能是model中定义的那些字段,只支持严格匹配filter的参数可以是字段,也可以是扩展的where查询关键字,如in,like等返回值:get返回值是一个定义的model对象filter返回值是一个新的QuerySet对象,然后可以对QuerySet在进行查询返回新的QuerySet对象,支持链式操作。QuerySet一个集合对象,可使用迭代或者遍历,切片等,但...原创 2018-12-01 20:58:36 · 1977 阅读 · 0 评论 -
WSGI、uwsgi、uWSGI
WSGI是一种通信协议 web服务器的网关接口uwsgi是一种线路协议,是uWSGI服务器内部的一种协议,使用二进制方式和其他应用程序进行通信uWSGI是一个全功能的web服务器,实现了WSGI协议、uwsgi、http等协议。...原创 2018-12-20 21:36:02 · 157 阅读 · 0 评论 -
vue.js中一些指令
V-show 表示隐藏 display=noneBool1:false 隐藏标签实际上是删除标签列表和对象渲染:V-for i in list 列表 如果想显示下标 (i,j)i相当于数据,j相当于下标V-for i in dict 对象 在前端里面数组相当于python中的列表,对象相当于字典如果想显示键值 (i,j)i相当于值 j相当于键表单数据绑定:表单控件...原创 2018-12-20 21:40:22 · 115 阅读 · 0 评论 -
vue.js知识的小总结
Method里面是封装函数用的函数名:function(){}This.什么什么This就是这个vue的对象只用data里的数据改变,页面视图也会随之改变对象(字典):key是真实的类名 如果为true就添加类 反之不添加列表:值是真实的类名 会把值给加上去Mounted:取数据和显示数据Axios写法: 获取数据Axios({Method:‘get’,请求方式Url...原创 2018-12-20 21:43:47 · 148 阅读 · 0 评论 -
长链接和短链接的区别
短连接连接->传输数据->关闭连接HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束后就中断连接。短连接是指SOCKET连接后发送后接收完数据后马上断开连接。长连接连接->传输数据->保持连接->传输数据->…->关闭连接长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差。...原创 2018-12-20 21:48:54 · 3187 阅读 · 0 评论 -
71.创建一个简单tcp服务器需要的流程
1.socket创建一个套接字2.bind绑定ip和port3.listen使套接字变为可以被动链接4.accept等待客户端的链接5.recv/send接收发送数据原创 2018-12-20 21:51:20 · 619 阅读 · 0 评论 -
列表去重
第一种:集合去重list1=[1,2,3,2,4,5,1,3]list2=list(set(list1))print(list2)第二种:遍历去重list1=[1,2,3,2,4,5,1,3]list2=[]for i in list1:if i not in list2:list2.append(i)print(list2)...原创 2018-12-21 11:35:39 · 379 阅读 · 0 评论 -
七层模型?IP ,TCP/UDP, HTTP、RTSP、FTP分别在哪层?
IP 网络层TCP/UDP 传输层HTTP、RTSP、FTP 应用层协议原创 2018-12-04 19:00:49 · 7750 阅读 · 0 评论 -
MongoDB
MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table应用场景:1.网站数据:mongo非常适合实时的插入,更新与查询...原创 2018-12-04 18:57:42 · 78 阅读 · 0 评论 -
Django对http请求执行流程
Django自带了一个健壮的缓存系统来保存动态页面这样避免对于每次请求都重新计算。方便起见,Django提供了不同级别的缓存粒度:可以缓存特定视图输出、可以仅仅缓存那些很难生产出来部分、或者可以缓存整个网站。Django也能很好的配合那些“下游”缓存,比如squid和基于浏览器的缓存。这里有一些缓存不必要直接去控制但是可以提供线索,关于网站哪些部分需要缓存和如何缓存...原创 2018-11-30 11:03:33 · 827 阅读 · 0 评论 -
Django
特点:重量级框架MVT模式· M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。· V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。· T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。MVC模式· M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。· V全拼为Vi...原创 2018-11-24 19:34:47 · 69 阅读 · 0 评论 -
Django与Flask的对比
Flask框架较轻,原生提供的开发组件较少,仅有模板,可以通过第三方扩展的方式补充功能,小巧灵活。Django框架较重,原生就提供了众多的功能组件用于快速开发,可以大量减少代码量,提升开发速度。但Django也有缺点,Django各组成部分间关联耦合度过高,彼此相互依赖,后期若想修改某些Django提供的功能部分以适用于特定工程时,不是太方便,需要考虑是否会对Django的其他部分产生负面影响...原创 2018-11-24 19:35:36 · 1063 阅读 · 0 评论 -
nginx
为解决并发量高 使用负载均衡负载均衡:多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。静态请求对应的静态资源...原创 2018-11-24 19:37:14 · 75 阅读 · 0 评论 -
celery
Celery系统的使用场景:同步阻塞,比较耗时的使用异步来解决优点:扩展性高 处理速度快Celery组成部分:客户端 :发布任务 将任务发送到中间仓库 由中间仓库保管broker(任务队列):生产者 消费者模型 相当于中间仓库 (解耦合) 可以保存到redis、rabbitmq(专门存储消息数据的)等数据库中Worker:任务处理者 获取任务 都是向中间仓库获取多任务处理方式:多进程、...原创 2018-11-24 19:40:13 · 387 阅读 · 0 评论 -
JWT
广义:代表一种机制 从签发token 到验证token的流程狭义:jwt仅仅指的是token值Jwt组成部分Header:声明类型和加密算法 将头部进行base64进行转换 可以反推Playload:传入的具体数据 也用base64 进行转换Signature:将前两部分转换的字符串加上secret字符串(只有server持有的)进行计算加密 成为签名 最后将三部分连接成一个完整的...原创 2018-11-24 19:41:18 · 100 阅读 · 0 评论 -
死锁怎么解决
锁是python提供的对线程控制的对象有互斥锁、可重入锁、死锁(其他的不一一介绍了)死锁:在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁解决:给互斥锁添加超时时间程序设计时要尽量避免银行家算法...原创 2018-11-24 19:54:22 · 295 阅读 · 0 评论 -
线程安全互斥锁
每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任意时刻,只能有一个线程访问该对象。同一个进程中的多线程之间时共享系统资源的,多个线程同时对一个对象进行操作,一个线程操作尚未结束,另一个线程已经对其进行操作,导致最终结果出现错误,此时需要对被操作对象添加互斥锁,保证每个线程对该对象的操作都得到正确的结果...原创 2018-11-24 20:03:37 · 139 阅读 · 0 评论 -
怎样数据高并发问题?
解决数据库高并发:分表分库数据库索引redis缓存数据库读写分离负载均衡集群:将大量的并发情求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。...原创 2018-11-29 21:54:31 · 116 阅读 · 0 评论 -
FastDFS
FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套性能的文件服务器集群提供文件上传、下载等服务。FastDFS架构包括Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Tracker...原创 2018-11-26 20:27:14 · 102 阅读 · 0 评论 -
Docker
Docker在计算中,虚拟化是一种资源管理技术,是将计算的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原来的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架构设计方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。Docker是一个客户端-服务器架构程序Docker就是一个容器 可以将...原创 2018-11-26 20:47:45 · 80 阅读 · 0 评论 -
HTTP协议向服务器传参
提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;查询字符串(query string),形如key1=value1&key2=value2;请求体(body)中发送的数据,比如表单数据、json、xml;在http报文的头(header)中。...原创 2018-11-26 20:55:43 · 140 阅读 · 0 评论 -
什么是sq注入及解决
通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的sql命令。1、对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双引号进行转换等。2、不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。3、不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。4、不要把机密信息明文存放,一...原创 2018-11-26 21:14:16 · 715 阅读 · 0 评论 -
docker和VMware的区别
各种虚拟机技术开启了云计算时代,而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、不熟应有的方式。Docker守护进程可以直接以主操作系统进行通信,为各个Docker容器分配资源,他还可以将容器与主操作系统隔离,并将各个容器互相隔离虚拟机启动需要数分钟,而Docker容器可以在数毫秒内启动。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源。说了这么多D...原创 2018-11-26 21:25:21 · 4100 阅读 · 0 评论 -
数据负载均衡
负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络及专用网络进行连接,由路由衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个集群可以视为一台具有超高性能的独立服务器。1、实现原理实现数据库的负载均衡技术,首先要有一个可以控制连接数据库的控制端。在这里,它截断了数据库和程序的直接连接,由所有的程序来访问这个中间层,然后再由中间层来访问数据库。这样,我们就可以具...原创 2018-11-30 10:55:34 · 565 阅读 · 0 评论 -
session和cookie
cookie是由服务器产生出来的,服务器将cookie发送给浏览器 浏览自动保存cookie cookie主要是为了记录用户信息, 以便下次访问服务器的时候 服务器可以根据cookie来识别用户是否登录过 。 服务器在产生cookie时 还会产出一个session_id ,session_id是唯一的, 每个用户只有一个session_id ,因为用户在访问服务器的时候数据交互量比较大 ,利用se...原创 2018-11-03 16:11:56 · 75 阅读 · 0 评论