自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 总结的mysql优化思维导图

2019-04-03 22:08:57 372

原创 C++之进程与线程编程(2)linux进程控制原语

一个进程的控制过程就是创建,执行,终止。llinux对于这三类控制都有一类函数,叫做进程控制原语。一、创建原语1)fork()2)vfork()二、执行(加载)原语:exec函数族1)execl2) execv3) execle4) execve5) execlp6) execvp三、退出/等待原语:exit()函数族,wait函数族...

2019-03-09 23:46:21 419

原创 C++之进程与线程编程(1)概念

一、进行多任务处理一般有两种类型:基于进程和基于线程 1)基于进程的多任务处理是程序的并发执行。 2)基于线程的多任务处理是同一程序的片段的并发执行二、在进行进程与线程编程的编程前,我整理了一下进程与线程的额概念如图:三、在linux和在window下的进程和线程的创建使用函数是不一样的,比如创建进程,linux下是fork(),win下的是create...

2019-03-01 12:50:48 590

原创 Django学习:一、创建项目以及配置

一、创建项目: 在创建Django 项目前必须有安装Django,使用pip install django。 如何改建项目? 1、使用命令行django-admin startproject Edu 2、在开发过程中为了方便直接使用pycharm(使用专业版)创建,在创建过程中还可以创建虚拟环境,创建第一个APP(users)...

2019-02-16 15:16:56 326

原创 IO密集型与CPU密集型操作

一、什么是IO密集型操作:IO密集型是指系统cpu性能相对于硬盘、内存要好太多,此时系统运作时,大部分时间都是cpu在等IO的读写操作,系统cpu利用率不高。I/O bound的程序一般在达到性能极限时,CPU占用率仍然较低。这可能是因为任务本身需要大量I/O操作,而pipeline做得不是很好,没有充分利用处理器能力。二、什么是CPU密集型操作:cpu密集型也就计算密集型,系统硬盘、...

2019-01-27 12:21:54 3478

转载 C++中的堆和栈

堆栈其实是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。要点:堆:顺序随意.栈:后进先出(Last-In/First-Out)堆和栈的区别  一、预备知识—程序的内存分配  一个由C/C++编译的程序占用的内存分为以下几个部分  1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值...

2019-01-15 17:10:54 214

原创 python协程——3、asyncio、await

一、定义创建协程     在函数前面加上async关键字,这个函数对象就是一个协程通过isinstance函数,确认他是否为Coroutine类型。        from collections.abc import Coroutineimport asyncioasync def hello(name): await 1 print("hello",name...

2018-12-25 18:17:03 4898 1

转载 python协程——2、深入理解yield from

一、为什么使用协程      例如,在我们使用爬虫时一般由两个过程,一个是爬取网页html,另一个是解析html,获取htlm(耗html)是非常好IO的,一个网页还好,如果我们爬取网页的数据庞大就会耗掉很多时间,如果我们在获取网页时暂停一下去做别的事,不用等待网页返回,等过段时间回头来到刚刚暂停的地方,接受返回的html内容,然后再解析。而python可以从语言本身给我们实现了这样的功能,这...

2018-12-25 01:28:13 319

原创 python协程——1、可迭代、迭代器、生成器

    协程是python中的一个难点,现在开始学习协程,要认识协程首先就要理解生成器。这篇文章主要是巩固生成器的知识。 一、理解可迭代、迭代器、生成器   现在我们常见的额数据类型:str,list,tuple,dict,deque等说起吧,我们借助collections.abc模块与isinstance()来区分来分类吧from collections.abc import ...

2018-12-24 16:36:02 184

转载 如何理解用户态与内核态

          在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。如果所有的程序都能使用这些指令,那么你的系统一天死机n回就不足为奇了。所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。Intel的CPU将特权级别分为4个级别:RING0,RING1,...

2018-12-10 09:56:13 556

原创 python排序算法

各种排序算法分类1、插入排序1)直接插入法:把列表分两部分,待插入与被插入部分,不断从待插入表中获取元素插入被插入表中def insert_sort(L): for i in range(len(L)): for j in range(i,0,-1): if L[j] < L[j-1]: L[j...

2018-12-05 23:23:11 114

原创 学习协程前需要理解的几个概念

一、并发、并行、同步、异步、阻塞、非阻塞1、并发是指一个时间段内,有几个程序同时在一个cpu上运行,但任意一时刻只有一个程序在cpu上运行2、并行是指任意一时刻点上,有多个程序同时运行在多个cpu上3、同步是指代码调用IO操作时,必须等待IO操作完成才返回的调用方式4、异步是指代码调用IO操作时,不必等待IO操作完成就返回的调用方式5、阻塞是指调用函数的时候当前线程被挂起6...

2018-11-11 15:30:14 156

原创 python多进程————10、进程间的通信-Queue、Manager、Pipe

一、Queue这里提到的队列模块大概有三个: 1、from queue import Queue  (此模块适用于线程间通信,但不能用于进程间通信) 2、from multiprocessing import Queue (可以用于多进程,但不能用于进程池)import timefrom multiprocessing import Process,Queueimport q...

2018-11-10 23:56:34 5675

原创 python多进程———9、multiprocessing多进程编程

python多进程的multiprocessing的用法跟多线程threading的用法基本差不多,直接上代码吧 import multiprocessingimport osimport time#fork()只能在linux中使用# pid = os.fork()# if pid == 0:# print("子进程{},父进程是{}".format(os.get...

2018-11-09 14:31:12 163

原创 python多线程————8、多线程与多进程对比

#多进程编程#耗cpu的操作,用多进程编程,对于io操作来说,使用多线程编程,进程切换代价要高于线程import timefrom concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor,as_completed#1、对于耗费cpu的操作,多进程优于多线程def fib(n): if n<=2:...

2018-11-09 00:19:14 184

原创 python多线程————7、ThreadPoolExecutor线程池

所用到的模块:from concurrent.futures import ThreadPoolExecutor,as_completed,wait,FIRST_COMPLETED1、建立线程池:executor = ThreadPoolExecutor(max_workers= )2、提交执行函数到线程池:task = executor.submit(func,(args))3、获...

2018-11-08 19:16:39 2371

原创 python多线程————6、线程同步之Semaphore

控制代码进入线程的数量,控制并发数量,可以使用信号量Semaphore。1、定义信号量sem  =  threading.Semaphore(3)  #3为并发数量2、消耗信号量 sem.acquire()3、释放信号量 sem.release()#Semaphore是用于控制进入数量的锁#文件,读、写, 写一般只是用于一个线程写,读可以允许多个#做爬虫import t...

2018-11-08 16:31:14 395

原创 pyhon多线程——5、线程同步之condition

如何使用多线程实现一问一答呢?可以使用condition中的notify和wait方法实现,看代码import threadingimport timeclass XiaoAi(threading.Thread): def __init__(self,cond): super().__init__(name='小爱') self.cond = co...

2018-11-08 15:11:08 242

原创 python多线程————4、线程同步之Lock,RLock

     在多线程同时请求同一个资源并进行修改时可能会造成结果出错,例如共享变量     from dis import disimport threadinga = 0def add(): global a a += 1def desc(): global a a -= 1print(dis(add))print(dis(desc))...

2018-11-06 10:22:56 218

原创 python多线程————3、多线程间通信:共享变量,queue

1、共享变量#通过共享变量import timeimport threadingurl_list = []def get_detail_html(): global url_list while True: if len(url_list): url_list.pop() print("get detai...

2018-11-05 16:59:18 6346 2

原创 python多线程———2、建立多线程的两种方式

 法一、使用Thread类实例化法二、继承Thread来实现多线程#对于io操作来说,多线程和多进程性能差别不大#1、使用Thread类实例化import timeimport threadingdef get_detail_html(url): print("get detail html started") time.sleep(1) print("...

2018-11-05 15:59:53 416

原创 python多线程——1、GIL

一、GIL是什么?       线程全局锁(Global Interpreter lock),python保护线程安全而采取的独立线程运行的限制。     1、明确一点GIL并不是python的特性,python完全可以不依赖GIL,它是在实现python解释器(Cpython)时引入的一个概念,Cpython是大部分情况下默认使用的python执行环境。a、python中一个线程对...

2018-11-05 15:25:06 245

原创 比大小python解法

问题描述:现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入   第一行有一个整数n(0<n<=10000); 随后有n行,每行是一个排列;   样例输入   3 abcdefghijkl hgebkflacdji gfke...

2018-10-16 11:11:57 1377

原创 击鼓传花

题目描述 学校联欢晚会的时候,为了使每一个同学都能参与进来,主持人常常会带着同学们玩击鼓传花的游戏。游戏规则是这样的:n个同学坐着围成一个圆圈,指定一个同学手里拿着一束花,主持人在旁边背对着大家开始击鼓,鼓声开始之后拿着花的同学开始传花,每个同学都可以把花传给自己左右的两个同学中的一个(左右任意),当主持人停止击鼓时,传花停止,此时,正拿着花没传出去的那个同学就要给大家表演...

2018-10-10 14:18:04 2411

原创 上台阶

题目描述:有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入   输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。   样例输入   2...

2018-10-10 02:23:28 765

原创 python中的的各类型变量及作为参数的特点

概念:所有的变量都可以理解为内存中的一个对象的“引用”。类型是属于对象的,而不是变量。而对象有两种,“可更改”与“不可更改”对象。在python中,strings,tuples和numbers是不可更改的对象,而list,dict,set等则属于可以修改的对象。下面来看下例子(numbers与list):def foo(a): print("foo_in:", a, id(a...

2018-10-09 16:27:45 1310

原创 头条校招(今日头条2017秋招真题)1——python解法

题目描述头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队。每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来。在选题之前,我们对题目进行了盲审,并定出了每道题的难度系数。一场考试包含3道开放性题目,假设他们的难度从小到大分别为a, b, c,我们希望这3道题能满足下列条件:a<= b<= cb - a<= 10c - b<= 10所...

2018-10-07 11:35:18 729

转载 服务器文件解析漏洞汇总(针对Apache、nginx\iis)

文件解析漏洞:         指web容器在解析文件时出现的漏洞,以其他格式执行出脚本的效果,利用该漏洞可以实现非法文件的解析 

2018-09-29 11:37:17 702

原创 实验吧ctf:

一、后台登录:格式:flag:{xxx}http://ctf5.shiyanbar.com/web/houtai/ffifdyop.php解题思路:查看源码,代码审计想到构建万能密码,1‘ or ’1‘=’1,  但md5加密无法构建万能密码发现链接字符,输入试一下,竟然出现flag ...

2018-09-25 18:28:05 595

原创 django.db.utils.IntegrityError: (1048, "Column 'last_login' cannot be null")解办法:

python manage.py migrate auth 

2018-09-10 00:20:40 10904

原创 TypeError: __init__() missing 1 required positional argument: 'on_delete'

报错原因:外键的删除没有设值。解决办法:一般使用方式设置on_delete为null,blog = models.ForeignKey(Blog,verbose_name='博客',on_delete=models.SET_NULL)关于别的属性的介绍CASCADE:这就是默认的选项,级联删除,你无需显性指定它。 PROTECT: 保护模式,如果采用该选项,删除的时候,会抛...

2018-08-25 23:40:24 2436

转载 python正则表达式与re模块

正则表达式语法:符号 意义 . 表示任意字符,如果说指定了 DOTALL的标识,就表示包括新行在内的所有字符。 ^ 表示字符串开头。 $ 表示字符串结尾 *,+,? '*'表示后面可跟 0 个或多个字符,'+'表示后面可跟 1 个或多个字符,'?'表示后面可跟 0 个或多个字符 *?,+?,?? 在上面的结果中只取第一个(非贪婪表达式)...

2018-08-25 19:05:01 161

原创 Nmap详解

1、基于不同连接方式的扫描      1)ping扫描:nmap -sP 195.168.1.0/24       2)UDPping:   nmap -PU 192.1681.0/24      3)syn扫描:nmap  -sS 192.168.1.0/24      4)TCPconnect()扫描: nmap -sT 192.168.1.0/24      5)UDP扫...

2018-08-19 23:21:22 629

转载 Django报错:Apps aren't loaded yet.

raise AppRegistryNotReady("Apps aren't loaded yet.")django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.解决办法:views.py开头添加:import os,djangoos.environ.setdefault("DJANGO_SETTING...

2018-08-19 21:58:11 16846 2

原创 关于升级phpstudy中的mysql数据库

前言:    最近在学Django,需要用到mysql数据库,贪图方便使用之前安装phpstudy带的mysql数据库。但执行数据迁移时老是报错,很郁闷。后来发现我用的Django版本是2.1,与mysql5.5版本不兼容。最新的phpstudy带的mysql数据库的版本一般都是5.5左右。这时我们需要把phpstudy的mysql升级一下。一、下载mysql5.7        官网...

2018-08-15 16:47:37 729

原创 密码学:基于python的rsa算法

#n=p和q随机生成#课本以两个字母为一组,此处以每一个字母为一组,故必须n=p*q>2import mathimport randomdict1={'a':0,'b':1,'c':2,'d':3,'e':4,'f':5,'g':6,'h':7,'i':8,'j':9,'k':10,'l':11,'m':12,'n':13,'o':14,'p':15,'q':16,'r':17

2017-11-11 17:14:57 638

原创 密码学:基于python支持448位输入的sha-1算法

#只支持448比特#寄存器的初始值H0 = 0x67452301H1 = 0xefcdab89H2 = 0x98badcfeH3 = 0x10325476H4 = 0xc3d2e1f0#分组的所有字W=[]#常数值Ktdef K(t):    if 0 <= t and t<=19:        return 0x5a827999    elif 20...

2017-11-11 17:06:29 521

基于vs2010的asp.net应用程序——衣服购物网站

这是一个基于asp.net框架写的购物网站,用于期末大作业,功能基本齐全

2018-06-05

网络协议实验ftp.docx

网络编程ftp实验报告.................................................................

2017-10-22

空空如也

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

TA关注的人

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