- 博客(33)
- 收藏
- 关注
原创 周五问题总结
1. 在写单元测试的时候,应该怎样设计测试用例才能涵盖所测试的类基本没问题?2. 在操作系统的内存管理中使用了分段:进程分为数据、代码、堆栈,这三者相对对立,那这三段是如何串起来的?3. python与c是如何进行沟通的? https://www.cnblogs.com/night-ride-depart/p/4907613.html4. 实时线程?5. uwsgi和gunic...
2019-03-01 16:56:40
150
原创 2.25~3.01学习笔记
1. CPU密集型: 处理数据(计算)2. I/O密集型: 等待数据, 查询数据库, 请求网络资源, 读写文件可依据程序花费的时间是在CPU上还是在等待数据上判断这个程序是CPU密集型还是IOIO操作主要分两类: 网络IO和磁盘IO3. 线程相关操作,这些操作都是在线程实例上的方法①设置为守护线程 .setDaemon(True)主线程不等待子线程完成,其实不加上join都是守护...
2019-03-01 14:41:46
176
转载 线程是如何调度的?
转发: https://blog.csdn.net/u011454830/article/details/49704839线程调度计算机通常只有一个cpu,在任意时刻只能执行一条机器指令,每个线程只有获得cpu的使用权才能执行指令.所谓多线程的并发运行,其实是从宏观上看,各个线程轮流获取cpu的使用权,分别执行各自的任务.在运行池中,会有多个处于就绪状态的线程在等待cpu, JAVA虚拟机...
2019-02-28 17:09:07
10379
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配...
2019-02-26 15:07:32
119
转载 线程通信
转载: https://www.cnblogs.com/2bjiujiu/p/9150380.html线程通信 1. 共享变量 在线程函数上一层作用域定义一个变量,这线程函数都能用此方法并做修改,或这通过把公用变量传递到线程函数中.线程安全性(相对操作变量来说,需要加锁让线程一次操作变量),虽然有时没有锁的情况下结果依然正确,因为GIL这把大锁的存在...
2019-02-26 13:37:14
96
转载 python线程间同步之条件变量Condition
转载: https://www.jianshu.com/p/5d2579938517为什么需要条件变量有了前面提到的互斥锁,为什么还需要条件变量呢,当然是由于有些复杂问题互斥锁搞不定了。Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。...
2019-02-25 17:57:15
345
原创 递归相关内容
1. 什么是递归?在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.比如计算阶乘fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x ndef fact(n): if n == 1: return 1 return n*fact...
2019-02-25 15:04:16
184
转载 Python线程中同步锁详解
转载: https://www.jb51.net/article/139008.htm在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中提供Lock , Rlock , Semaphore , Event , Condition 用来保证线程之间的同步,后...
2019-02-25 14:06:03
634
转载 Python-全局解释器锁GIL原理
转载: https://www.cnblogs.com/2bjiujiu/p/9150380.htmlGIL 全局解释锁,这个锁是个粗粒度的锁,解释器层面上的锁,为了保证线程安全,同一时刻只允许一个线程执行,但是这个锁并不能保证线程安全,因为GIL会释放掉并且切换到另一个线程上,不会完全占用,一句分配策略(时间片、执行字节码行数、IO操作).GIL只能保证同一时刻同一CPU上...
2019-02-25 11:25:07
494
转载 Pthread:POSIX 多线程程序设计
转载: http://www.cnblogs.com/mywolrd/archive/2009/02/05/1930707.html#abstract目录表 摘要 译者序 Pthreads 概述 什么是线程? 什么是Pthreads? 为什么使用Pthreads? 使用线程设计程序 Pthreads API编译多线程程序 线程管理 ...
2019-02-25 10:19:04
370
原创 周五问题总结
1. 堆和栈的区别: https://blog.csdn.net/hairetz/article/details/41410432.pthread api接口:https://mp.csdn.net/postedit/87912256GIL锁模块原理:https://mp.csdn.net/postedit/87912441Python线程中同步锁详解https://mp.csd...
2019-02-22 17:01:32
100
原创 2.18~2.22学习笔记
<一>1. python有用的设计模式:创建型模式: 这些模式用于生成具有特定行为的对象.结构型模式: 这些模式有助于为特定用例构建代码.行为模式: 这些模式有助于分配责任和封装行为.2. 创建型模式: 处理对象实例化机制,这样的模式可以定义如何创建对象实例或者甚至如何构造类的方式.3. 单例: 限制类的实例化,只能实例化一个对象.class Singleton:...
2019-02-22 16:56:38
128
原创 2.11~2.15学习笔记
<一>1. Thread.setDaemon详解(用户线程和守护线程, 后台进程和前台进程)https://blog.csdn.net/xyls12345/article/details/262566932. docker 安装https://blog.csdn.net/u010889616/article/details/801707673. 输入命令sudo apt-...
2019-02-22 16:34:51
186
转载 docker相关内容
1.1 Docker简介 1.1.1 提供一个简单、轻量的建模方式 1.1.2 职责的逻辑分离 1.1.3 快速、高效的开发生命周期 1.1.4 鼓励使用面向服务的架构 1.2 Docker组件 1.2.1 Docker客户端和服务器 1.2.2 Docker镜像 1.2.3 Registry 1.2.4 容器 1.3 能用Doc...
2019-02-21 16:29:35
257
原创 周五问题总结
问题1: python上下文应该怎么理解?分享一篇博客: http://www.cnblogs.com/wilber2013/p/4638967.html问题2: django信号量是什么?怎么运用?解答: Django中提供了“信号调度”,是一种观察者模式,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 分享一篇博...
2019-02-01 16:54:57
124
转载 ELF文件格式, ELF文件是什么,里面包含什么内容
原文地址: http://blog.csdn.net/hhhbbb/article/details/6855004最近研究了一下elf文件格式,发现好多资料写的都比较繁琐,可能会严重打击学习者的热情,我把自己研究的结果和大家分享,希望我的描述能够简洁一些。一、基础知识 elf是一种文件格式,用于存储Linux程序. 它内部都有一些什么信息呢?大概包括编制好的计算机指令,数据,计...
2019-02-01 16:06:54
11448
原创 1.28~2.01学习笔记
一. 1. python中的异常NameError: 尝试访问一个未申明的变量.表示我们访问了一个没有初始化的变量.在python解释器的符号表没有找到那个变量,就会生成.ZeroDivisionError: 除数为零.任何数值被零除都会导致一个ZeroDivisionError异常.SyntaxError: python解释器语法错误.它是唯一一个不是在运行时发生的异常.它代表pyth...
2019-02-01 15:52:27
208
原创 周五问题总结
问题1:关于DNS工作原理,如何解析的?解答: DNS工作原理及过程 第一步: 客户机提出域名解析请求,并将该请求发送给本地的域名服务器. 第二步: 当本地的域名服务器收到请求后, 就先查询本地的缓存,如果有该项记录,就直接把查询的结果返回. 第三步: 如果本地缓存没有,则本地域名服务器就直接把请求发送给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查...
2019-01-28 16:29:00
214
原创 1.21~1.25学习笔记
1. 动态创建属性是一种元编程.2. 通常把__init__称为构造方法,其实,用于构建实例的特殊方法__new__,这是个类方法(使用特殊方式处理, 因此不必使用@classmethod装饰器),必须返回一个实例.返回的实例会作为第一个参数(即self)传给__init__方法.因为调用__init__方法时要传入实例,而且禁止返回任何值,所以__init__方法其实是初始化方法,真正构造方法...
2019-01-25 12:28:24
197
原创 周五问题总结
问题1 : 什么是RPC?RPC的原理 问题2 : 自增主键和UUID作为主键的区别?解答:由于主键使用了聚簇索引,如果主键是自增id,,那么对应的数据一定也是相邻地存放在磁盘上的,写入性能比较高。如果是uuid的形式,频繁的插入会使innodb频繁地移动磁盘块,写入性能就比较低了。问题3 :GIT HOOK 的原理解答:git hook官网的介绍,其实就是...
2019-01-25 11:47:45
141
原创 1.14~1.18学习笔记
1. python的第三方库gevent相关内容gevent运作原理: 它和select, poll, epoll等程I/O复用操作注册监听事件原理是一样的.监听多个I/O对象,当io对象有变化(有数据)的时候就通知用户.(1)当用户进程调用了select,那么整个进程会被block;(2)同时,内核会监听所有select负责的socket;(3)当任何一个socket中的数据准备好了...
2019-01-17 17:13:13
373
原创 周五问题总结
问题1 操作系统是如何实现进程,线程的, 一般而言,我们的电脑是2核4线程的,和这个有关系吗?解答:进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个线程死掉,所以多进程的程序要比多线程的...
2019-01-17 17:04:01
173
原创 1.7~1.11学习笔记
一. HTTP协议:1. CORS: 跨域资源共享, 是一种机制, 它使用额外的HTTP头来告诉浏览器,让运行在一个origin(domain)上的web应用被准许访问来自不同源服务器上的指定的资源.当一个资源从与该资源本身所在的服务器不同的域,协议或端口请求一个资源时,资源会发起一个跨域HTTP请求. 应用场景: ①调用XMLHttpRequest或fetchAPI通过跨站点方式访问资...
2019-01-10 17:51:13
253
原创 1.1~1.5学习笔记
一. HTTP协议的相关学习https://developer.mozilla.org/zh-CN/docs/Web/HTTP1. OSI七层协议: http://www.cnblogs.com/qishui/p/5428938.html应用层, 表示层, 会话层, 传输层,网络层, 数据链路层,物理层2. HTTP的概念:HTTP是一种能够获取HTML这样的网络的通讯协议, 是...
2019-01-02 16:53:33
150
原创 12.24~12.29学习笔记
一. 1. 排序算法的逻辑算法:https://blog.csdn.net/qq_34374664/article/details/79545940O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)冒泡排序原理(稳定): 一次比较两个相邻的元素,如果顺序是错误的,就交换...
2019-01-02 08:32:30
262
原创 12.17~12.21学习笔记
一.图解TCP/IP1. ICMP协议用途:确认网络是否正常工作,以及遇到异常时进行问题诊断,制止问题的蔓延,减轻管理员的负担.功能:确认IP包是否成功送到目标地址,通知在发送过程中IP包被废弃的原因.举例:主机A通过路由器1,2向主机B发送一个IP包,路由器2为了知道主机B的MAC地址而发送ARP包, 然而发现主机B电源关闭, 多次发送ARP协议以后,由于始终无法到达...
2018-12-24 08:58:54
165
转载 远程调用rpc服务文档
http://rabbitmq.mr-ping.com/tutorials_with_python/[6]RPC.html
2018-10-31 10:37:56
137
转载 ubuntu卸载并清理软件
1、删除软件方法一、如果你知道要删除软件的具体名称,可以使用sudo apt-get remove --purge 软件名称 sudo apt-get autoremove --purge 软件名称 方法二、如果不知道要删除软件的具体名称,可以使用dpkg --get-selections | grep ‘软件相关名称’sudo apt-get purge 一个带c...
2018-10-30 10:04:49
612
转载 ubuntu18.04安装rabbitmq
https://blog.csdn.net/u010889616/article/details/806438921、安装erlang由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlangsudo apt-get install erlang-nox2、安装Rabbitmq更新源sudo apt-get update安装rabbi...
2018-10-30 10:02:11
1103
转载 WSGI & uwsgi
WSGI协议首先弄清下面几个概念:WSGI:全称是Web Server Gateway Interface,WSGI是一种规范,用来描述web server如何与web application通信的规范。server和application的规范在PEP 3333中有具体描述。要实现WSGI协议,必须同时实现web server和web application,当前运行在WSGI协议之上的we...
2018-10-22 23:02:15
917
转载 Django运行方式及处理流程总结
转自:http://www.kuqin.com/shuoit/20141109/343106.html 之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的。所以,我按照自己的逻辑总结了一下Django项目的运行方式和对Request的基本处理流程。 一、Django的运行方式运行Django项目...
2018-10-22 21:54:28
869
原创 Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'
#encoding=utf-8from django.db import models# Create your models here.class BookInfo(models.Model): booktitle=models.CharField(max_length=20) bookdata=models.DateField() class...
2018-10-19 08:58:38
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人