自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(30)
  • 收藏
  • 关注

转载 Wireshark抓取Mqtt报文

安装版本较高的Wireshark,我的版本是2.4.6,然后在编辑--> 首选项--> 协议中找到MQTT,然后将端口改为你MQTT服务器的端口,然后就可以在抓包中抓到MQTT了转载于:https://www.cnblogs.com/BGPYC/p/9365672.html...

2018-07-25 14:12:00 439

转载 ubnutu 安装protocol buffer

工作中需要使用protocol buffer,需要编译出protocol buffer的动态链接库,然后在别的makefile中链接它,我的环境是ubnutu16.04,64bit,使用的protocol buffer 版本是v3.5首先我们需要下载protocol buffer源码,然后按照教程进行安装:参考目录:https://github.com/google/prot...

2018-07-04 16:41:00 67

转载 VMware Workstation 安装Vmware tools 是 出现vmware tools unavailable

这个问题是因为虚拟机安装的时候操作系统选择的不对,在Virtual Machine Settings中选择Options,在General中选择正确的操作系统类型例如Guest operating system 选择Linux, Version选择Ubuntu,然后重启虚拟机,看一下发现vmware tools就可以安装了。转载于:https://www.cnblogs.com/...

2018-06-27 12:07:00 106

转载 静态链接库和动态链接库

一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位D...

2018-05-08 15:01:00 103

转载 Socket通信

socket通信方式是进程通信的一种,先列举一下进程通信的种类:1)管道:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程之间使用。进程的亲缘关系通常是指父子进程关系。2)有名管道(FIFO):有名管道也是半双工的通信方式,但是允许在没有亲缘关系的进程之间使用,管道是先进先出的通信方式。3)信号量:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作...

2018-03-10 22:43:00 61

转载 [译文][转载]greenlet:轻量级并发程序

英文原文地址:https://greenlet.readthedocs.io/en/latest/中文翻译转载地址:https://zhuanlan.zhihu.com/p/25188731背景greenlet包是Stackless的衍生产品,它是一个支持微线程(叫tasklets)的CPython版本。Tasklets运行在伪并发模式下(通常在一个或少许的OS级别的线程),他们...

2018-02-23 15:45:00 65

转载 Python垃圾回收机制

对于Python垃圾回收机制主要有三个,首先是使用引用计数来跟踪和回收垃圾,为了解决循环 引用问题,就采用标记-清除的方法,标记-清除的方法所带来的额外操作实际上与系统中总的内存 块的总数是相关的,当需要回收的内存块越多,垃圾检查带来的额外操作就越多,为了提高垃圾收集 的效率,采用“空间换时间的策略”,即使用分代机制,对于长时间没有被回收的内存就减少对它的 垃圾回...

2018-02-22 11:08:00 79

转载 range和xrange

首先python2中有range函数和xrange函数,python3中只有range函数。 Python2中 range和xrange: range函数可用来创建一个整数列表,即list。 例如: >>>range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >...

2018-02-10 21:34:00 93

转载 Python装饰器

装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景,装饰器是解决这类问题的绝佳设计。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加...

2018-01-21 17:00:00 52

转载 Python多进程

Python多进程1.Process类Process类是用来创建进程的class multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)其中group应该永远为空,它的存在仅仅是与threading.Thread兼容,threading,Thre...

2018-01-12 22:52:00 60

转载 HTTP基本内容

*********************HTTP基本交互***************************HTTP请求格式:HTTP 请求由三部分组成:请求行、请求头和请求正文请求行: 请求方法 URL 协议/版本例如:GET /books/?sex=man&name=Professional HTTP/1.1 请求方法有很多,例如:GET Post H...

2018-01-07 22:04:00 115

转载 可迭代对象和迭代器

可迭代对象和迭代器1.首先可以用于for循环的对象统称为可迭代对象(Interable),像list dict str都是可迭代对象。可以被next()函数调用并不断返回下一个值的对象成为迭代器(Interable)。看一下函数的实现:class Iterable(metaclass=ABCMeta): __slots__ = () @abstra...

2018-01-05 23:38:00 165

转载 TCP之Nagle算法&&延迟ACK

转载自:https://www.cnblogs.com/wanpengcoder/p/5366156.html1.糊涂窗口综合症糊涂窗口综合征:当发送端应用进程产生数据很慢、或接收端应用进程处理接收缓冲区数据很慢,或二者兼而有之;就会使应用进程间传送的报文段很小,特别是有效载荷很小。 极端情况下,有效载荷可能只有1个字节;而传输开销有40字节(20字节的IP头+20字节的TCP头) ...

2018-01-03 23:32:00 90

转载 Django模板简介

在settings.py中有个TEMPLATES的设置,其中BACKEND用来配置Django模板引擎, DIRS 定义了一个目录列表,模板引擎按列表顺序搜索这些目录以查找模板源文件 一般我们都会把模板文件放到一个叫templates的文件夹,所以一般DIRS的路径设置为: 'DIRS': [os.path.join(BASE_DIR, 'templates')] 当 APP_DIRS ...

2017-12-14 23:49:00 82

转载 Xadmin使用二

1:修改site-title和site-footer,增加菜单折叠效果在adminx.py中增加下面代码:class GlobalSetting(object): # 设置Title site_title = '投票管理系统' # 设置Footer site_footer = 'Django' # 设置折叠效果 men...

2017-12-13 00:07:00 91

转载 Django url处理

Django如何处理一个请求当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码遵循的算法:1:Django 决定要使用的根URLconf 模块。通常,这个值就是ROOT_URLCONF 的设置,但是如果进来的HttpRequest 对象具有一个urlconf 属性(通过中间件request processing 设置),则使用这个值来替换R...

2017-12-11 22:30:00 120

转载 Django从请求到返回流程

图1:流程图1. 用户通过浏览器请求一个页面2.请求到达Request Middlewares,中间件对request做一些预处理或者直接response请求3.URLConf通过urls.py文件和请求的URL找到相应的View4.View Middlewares被访问,它同样可以对request...

2017-12-10 16:05:00 235

转载 Django快速开发投票系统

使用Django搭建简单的投票系统:这个是官网的教程:https://docs.djangoproject.com/en/2.0/intro/tutorial01/在Run manage.py Task中新建app:startapp polls为了管理方便,我们新建apps文件夹,并将polls文件夹拖到apps中第1部分:构建模型新建polls的modelfrom djan...

2017-12-09 23:54:00 173

转载 Python3集成安装xadmin

Python3集成安装xadmin1:创建虚拟环境C:\Users\Adminstrator>mkvirtualenv -p C:\Python34\python.exe MyDjango如果提示找不到,可以直接mkvirtualenv MyDjango创建成功以后则终端会这样显示:(MyDjango)C:\Users\Adminstrator2:安装依赖,如果不安装依赖的话在使用...

2017-12-09 16:03:00 535

转载 解读TCP 四种定时器

对于每个连接,TCP 管理着四个不同的定时器:重传定时器、坚持定时器、保活定时器 以及 2MSL 定时器。重传定时器为了防止丢失数据报文段或确认报文段,当 TCP 发送报文段时,启动了特定报文段的重传计时器,若在计时器超时之前收到对报文段的确认,则撤销计时器。若收到特定报文段的确认之前计时器已经超时,则重传该报文,并把计时器复位。这里最重要的是超时的时间计算,有关该时间的请查阅具...

2017-10-16 22:29:00 86

转载 TCP拥塞控制

TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失,如果网络上的延时突然增加,就可能导致丢包,如果TCP只进行重传丢失的报文,则会导致网络的负担更重,所以TCP就使用拥塞控制机制来处理拥塞问题,拥塞控制主要有四个算法:1.慢启动 2.拥塞避免 3.快速重传 4.快速恢复在此之前需要介绍一下TCP的滑动窗口机制:首先由三次握手中接收端通告这个...

2017-10-15 21:59:00 113

转载 TCP三次握手和四次挥手

TCP的三次握手和四次挥手流程大家都很清楚,这里只对其中的某些细节进行学习。图1是三次握手与四次挥手的状态图 图1 TCP正常连接建立和终止所对应的状态问题一:为什么是三次握手,而不是四次握手或者是二次握手 主要的解释有三点,逐一叙述: 1.由图1可以看到第二次握手其实是服务器的SYN...

2017-10-07 21:21:00 61

转载 MySQL事务隔离级别详解

转载自:MySQL事务隔离级别详解SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多...

2017-10-04 21:09:00 53

转载 Python的静态方法和类方法

Python中使用@staticmethod这个装饰器让方法变为静态方法一:定义@staticmethod: 首先它是一个装饰器,被装饰的方法不需要隐含的参数,对象和对象的实例都可以调用静态方法类方法是通过@classmethod进行装饰,被装饰的方法第一个隐含参数是cls,同样对象和对象的实例都可以调用类方法这里还有一个叫实例方法,实例方法就是实例的方法,它是与实例进行...

2017-09-28 22:31:00 80

转载 Python线程间事件通知

Python事件机制事件机制:这是线程间最简单的通信机制:一个线程发送事件,其他线程等待事件事件机制使用一个内部的标志,使用set方法进行使能为True,使用clear清除为falsewait方法将会阻塞当前线程知道标记为Trueimport queuefrom random import randintfrom threading import Threadfr...

2017-09-24 14:42:00 204

转载 Python简单线程间通信

本节主要举一个简单的线程间通信的例子,利用线程安全的数据结构queue.Queue保存线程间通信的内容,import queuefrom threading import Threadfrom random import randintclass WriteThread(Thread): def __init__(self,sid,queue):...

2017-09-23 22:37:00 69

转载 Python线程创建与使用

Python多为线程编程提供了两个简单明了的模块:thread和threading,Python3中已经不存thread模块,已经被改名为_thread,实际优先使用threading模块。1.Python创建线程的两种方法:①:创建一个threading.Thread对象,在其初始化函数中将可调用对象作为参数传入import threadingdef ...

2017-09-23 21:38:00 64

转载 Git常用命令

Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库查看git 用户名和邮箱地址:git config user.namegit config user.email修改用户名和邮箱地址git config user.name "xxx"git config user.email "xxx"创建一个版本库:mk...

2017-09-12 19:46:00 45

转载 迭代器和可迭代对象

下面大段内容转自:知乎 作者灵剑这是个和多态有关的问题,Python中关于迭代有两个概念,第一个是Iterable,第二个是Iterator,协议规定Iterable的__iter__方法会返回一个Iterator, Iterator的__next__方法(Python 2里是next)会返回下一个迭代对象,如果迭代结束则抛出StopIteration异常。同时,Iterator自己...

2017-09-10 20:41:00 52

转载 按照字典的值进行排序

按照字典值的大小对字典进行排序1. 利用zip函数将key值和value值位置进行颠倒,再使用sorted进行排序例如:12345678fromrandomimportrandintd={k:randint(0,20)forkin'abcdefg'}#{'f': 10, 'g':...

2017-09-10 16:27:00 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除