自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 多台虚拟机配置ssh免密登录

多台虚拟机配置ssh免密登录

2023-10-19 11:30:03 155

原创 虚拟机配置静态ip

ubuntu20.04配置静态ip

2023-10-19 11:26:58 81

原创 python国内源

python国内源

2022-10-25 09:35:13 464 1

原创 python打包whl文件

将python项目打包成whl文件

2022-10-09 13:50:01 2226

原创 protobuf简介

protobuf简介(简单例子)syntax定义了proto的版本,如果不指定的话,默认为proto2message表示一个数据类型的集合,常见类型有string 》字符串类型bytes 》 比特类型bool 》 布尔类型int32 》 32位整形int64 》 64位整形float 》 浮点类型repeated 》 数组(列表)》 repeated string name = 1;map 》 字典类型 》 map<string(key), string(value)&gt

2022-04-25 21:33:31 1133

原创 js逆向之无限debugger

过无限debugger通用方法eval形式的eval_ = eval;eval = function(a){if(!a.indexOf('debugger')){return ''}else{return eval_(a)}} Function形式的(function() { var __Function__ = Function.__Function__ || Function; var __Empty__ = Function.__Empty__ || function() {

2022-04-12 09:22:14 584

原创 windows10下使用redis存储中文显示乱码问题

windows10下使用redis存储中文显示乱码问题使用keys * 查询显示中文乱码解决方案1.修改终端编码格式2.进入redis服务时在命令后面加上 --rawredis-cli --raw

2022-03-09 15:16:49 1242

原创 ubuntu20.04安装mysql8.0

ubuntu20.04安装mysql8.0最近将mysql升级,安装成功后却一直不能进去,折腾了半天,才成功配置,在这总结一下安装历程1.安装mysql,直接使用终端安装sudo apt-get updatesudo apt-get install mysql-server安装成功后mysql会自动启动直接用mysql -uroot -p是登录不了的,打开一个debain.cnf文件cat /etc/mysql/debian.cnf用这里面的user和passwo

2022-02-20 20:31:39 1366

原创 windows安装mysql启动时无法启动服务没有任何报错信息can‘t start server: can‘t create pid file: no such file or directory

windows安装mysql8.0启动服务时,一直报无法启动服务,没有任何报错信息使用命令mysqld --console 发现报error:can‘t start server: can‘t create pid file: no such file or directory查看自己的电脑名是否有中文,改成英文, 然后重新安装初始化数据库(生成初始化密码)mysqld --initialize --user=mysql --console记得保存localhost后面的初始化密码以管理.

2022-02-20 01:33:11 814 1

原创 ubuntu20.04安装sublime

1.打开sublime的官网http://www.sublimetext.com/docs/linux_repositories.html2.按照官网提供的安装方式选择自己需要的3.stable是稳定版,dev是开发版

2021-07-12 10:36:28 453

原创 解决fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached问题

方法一更新fake_useragentpip3 install -U fake_useragent方法二下载fake_useragent.json文件我的版本是0.1.11,所以下载的就是0.1.11.json下载地址,提取码是77h3下载成功后直接将文件放在项目同级目录下from fake_useragent import USERAGENTlocation = os.getcwd() + ‘/fake_useragent_0.1.11.json’ua = UserAge

2021-07-07 09:39:37 551 4

原创 数据持久化的三种方式

csv模块作用:将爬取的数据存放到本地的csv文件中使用流程打开csv文件初始化写入对象写入数据(参数为列表)writerow([]):单行写入writerows((),(),()]:多行写入,一次性写入多行数据pymysql模块与mysql数据库交互流程创建数据库连接对象—》db = pymysql.connect(xx,xx,xx,xx)创建游标对象 —》cursor = db.cursor()执行sql命令 —》 cursor.execute(sql语句,[xx,xx

2021-04-14 17:56:01 1498

原创 urllib使用

请求模块-urllib.request####### urllib.request.urlopen()方法urlopen()作用:向网站发起请求并获取响应对象参数url:需要爬取的url地址timeout:设置等待超时时间,指定时间内未响应抛出异常响应对象res的方法获取响应内荣(字节串) res.read()获取响应内容(字符串) res.read().decode()返回实际数据的url地址 res.geturl()获取http响应码

2021-04-14 16:57:51 73

原创 redis简记

nosql特点不支持sql语法存储结构与传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是kv形式nosql的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景nosql与sql数据库的比较适用场景不同,sql数据库市和用于关系特别复杂的数据查询场景,nosql反之事务特性的支持,sql对事务的支持非常完善,nosql基本上不支持事务安装redis时报错You need tcl 8.5 or newer in order to

2021-03-23 12:30:46 93

原创 将django项目部署到阿里云服务器

最近自己搭建了一个网站,想着把它部署到阿里云上,遇到了各种bug,好在一步步查询解决,成功上传,再此记录一下,同时也感谢在我遇到bug时大佬们的博客为我解答注意首先自己的项目必须能在本地运行我使用的版本号django==3.0.8python3.8阿里云我选择的是Ubuntu 20.04版本nginx与uwsgi安装最新版即可初始化操作需要安装两个操作云服务的软件xshell和xftp也直接直接在阿里云里面使用网页远程连接与上传文件我是同时使用了xftp和xshell用xf

2021-03-20 18:37:07 1985

原创 cookie和session

cookiecookie是在服务器产生,存储在浏览器端的一小段文本信息特点1.以键值对方式进行存储2.通过浏览器访问一个网站时,会将浏览器存储的和网站相关的所有信息发送给该网站的服务器3.cookie是基于域名安全的4.cookie是有过期时间的,如果不指定,默认关闭浏览器后cookie就会过期sessionsession存储在服务器端,同时会在浏览器保存的cookie中生成一个session_id特点1.以键值对进行存储2.依赖于cookie,唯一标识码保存在sessi

2021-03-13 22:54:01 58

原创 django的一些简记

虚拟环境创建虚拟环境mkvirtualenv 虚拟环境名进入虚拟环境workon 虚拟环境名退出虚拟环境deactivate删除虚拟环境rmvirtualenv 虚拟环境名创建django项目init.py:一个python包setting.py:项目的配置文件urls.py:进行url路由的配置wsgi.py:web服务器和django交互的入口manage.py:项目的管理文件创建django应用init.py:目录是一个pyth

2021-03-13 20:51:05 97

原创 python中的复数

python中有关复数的概念1.虚数不能单独存在,它们总是和一个值为0.0的实数部分一起构成一个复数2.复数有实数部分和虚数部分构成3.表示虚数的语法:real+imagej4.实数部分和虚数部分都是浮点型5.虚数部分必须有后缀j或J复数的内建属性复数对象拥有数据属性,分别为该复数的实部和虚部复数还拥有conjugate方法,调用它可以返回该复数的共轭复数对象复数属性:real(复数的实部),image(复数的虚部),conjugate()(返回复数的共轭复数)...

2021-03-13 15:39:15 3363

原创 python2与python3的区别

python函数参数定义1.必选参数2.默认参数3.可变参数(*arg)4.关键字参数(**kwarg)python2中参数顺序必选参数 < 默认参数 < 可变参数 < 关键字参数python3中参数顺序必选参数 < 默认参数 < 可变参数 < 命名关键字参数 < 关键字参数可变参数也可以在默认参数前面后续遇到再补充...

2021-03-13 15:30:06 72

原创 git常用命令

git特点:版本控制,分布式初始化创建一个版本库:1.创建git_test目录2.创建文件test.text3.创建一个版本的命令1.git add test.text

2021-03-13 14:58:51 79

原创 tcp三次握手,四次挥手

三次挥手

2021-03-12 23:35:30 86

原创 linux下安装Typora

一.使用终端安装# or run:# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAEwget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -# add Typora's repositorysudo add-apt-repository 'deb https://typora.io/linux ./'s

2021-03-12 18:31:18 2606

原创 使用进程,线程,协程完成多任务

使用进程完成多任务import multiprocessingimport timedef test1(): while True: print("1----") time.sleep(1)def test2(): while True: print("2-----") time.sleep(1)def main(): p1 = multiprocessing.Process(target=test

2021-03-11 23:12:57 87

原创 迭代,迭代器,生成器

迭代迭代是访问集合元素的一种方式可以对list,tuple,str等类型的数据使用for…in…的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代可迭代对象可以直接作用于for循环的对象统一称为可迭代对象:lterable可迭代对象必须包含__iter__方法除了for循环能接受可迭代对象,list,tuple等也能接收迭代器可以被next函数调用并且可以不断返回下一个值的对象称为迭代器迭代器是一个可以记住遍历的位置的对象,迭代器对象从集合的第一个元素开始访

2021-03-11 22:23:36 57

原创 python中的身份运算符

身份运算符 (is和==)用于比较两个对象的内存地址是否一样,是否是对同一个对象的引用is:判断两个标识符是不是引用同一个对象is not: 判断两个标识符是不是引用不同的对象is和==的区别is 用与判断两个变量引用对象是否为同一个== 判断引用变量的值是否相等...

2021-03-11 20:52:23 210

原创 python使用tcp做一个文件下载的案例

客户端import socketdef main(): # 1.创建套接字 tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 2.获取服务器的ip和port dest_ip = input("请输入对方的ip:") dest_port = int(input("请输入对方的port:")) # 3.链接服务器 tcp_socket.connect((dest_ip

2021-03-11 20:45:22 95

原创 tcp和udp的使用以及小案例

udp创建socket# 1.创建套接字udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)localaddr = ("",1234)udp_socket.bind(localaddr)# 2.使用套接字收/发数据udp_socket.sendto("xxxx".encode("utf-8") (“127.0.0.1”,8080))udp_socket.recvfrom(1024)(1024是接收的最大数据量)# 3.关

2021-03-11 20:33:12 326

原创 进程,线程和协程的区别

进程是资源分配的最小单位,线程是操作系统调度的最小单位进程能够完成多任务,比如在一台电脑上同时运行多个qq线程能够完成多任务,比如一个qq中的多个聊天窗口一个程序至少有一个进程,一个进程至少有一个线程线程占用的资源比进程少,使得多线程程序的并发性高进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高程序运行效率线程不能独立执行,必须存在进程中,协程依赖于线程完成多任务,进程占用资源最多,线程其次,协程最小使用的模块线程 Thread进程 multiprocessi.

2021-03-11 20:11:14 210

原创 tcp和udp简述

tcptcp(传输控制协议)是一种面向连接的,可靠的,基于字节流的传输层通信协议tcp旨在适应支持多网络应用的分层协议层次结构连接到不同但互联的计算机通信网络的主计算级机中成对进程之间依靠tcp提供可靠的通信服务特点基于流的方式面向连接可靠通信方式在网络状况不的时候尽量降低系统由于重传带来的带宽开销通行连接维护是面向通信的两个端点的,而不考虑中间网段和节点tcp通信需要经过创建连接,数据传送,终止连接三个步骤注意tcp服务器一般情况下都需要绑定,否则客户端找不到这个服务端

2021-03-11 16:38:55 413

原创 类 实例和方法

面向对象三大特性1.封装 根据职责将属性和方法封装到一个抽象的类中2.继承 实现代码的重用,相同的代码不需要重复的编写3.多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度继承子类拥有父亲的所有方法和属性(基类=父类,类继承=类派生)使用super()方法可以调用原本在父类中封装的方法,不影响子类的方法,可以一同使用子类对象不能在自己的方法内部,直接访问父类的私有方法或私有属性子类对象可以通过父类的公有方法间接访问到私有属性或私有方法实例创建对

2021-03-10 22:31:47 501

原创 面向过程和面向对象

面向过程和面向对象面向过程1.把完成某一个需求的所有步骤从头到尾逐步实现,2.根据开发需求,将某些功能独立的代码封装成一个又一个函数3.最后完成的代码,就是顺序地调用不同的函数特点1.注重步骤与过程,不注重职责分工2.如果需求复杂,代码会变得很复杂3.开发复杂项目,没有固定的套路,开发难度大面向对象1.在完成某个需求前,首先确定职责–要做的事情(方法)2.根据职责确定不同的对象,在对象内部封装不同的方法(多个)3.最后完成的代码,有顺序的让不同的对象调用不同的方法特点

2021-03-10 19:57:41 84 1

原创 列表 元组 字典

列表 元组 字典列表list是一种有序的数据集合,可以随意的添加和删除其中的数据,用[]表示可以使用索引来获取列表中的元素,索引是从0开始的列表常用命令获取列表长度:len()添加元素:append()在指定位置插入元素:insert()删除末尾元素:pop()删除指定位置元素:pop(i)元组本质上是一种有序的集合,和列表非常的相似,一旦定义,就不能改变了,用()表示元组常用命令创建空元组:info_tuple=()查找元组中数据的位置索引:index()统计元

2021-03-10 17:35:34 144 1

原创 python中log日志简述

log日志开发过程中出现bug是不可避免的,当我们遇到bug时该如何解决呢?python中有一个logging模块可以完成我们在使用过程中的记录,在debug时用它往往事半功倍###1.日志级别日志一共分成5个级别,从低到高依次为DEBUGINFOWARNINGERRORCRITICAL这5个等级,默认的是WARNING,当在WARNING或之上时才被跟踪2.日志输出有两种方式记录跟踪,一种输出控制台,另一种是记录到文件中,如日志文件。2.1将日志输出到控制台模板1

2021-03-10 14:52:17 344 1

空空如也

空空如也

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

TA关注的人

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