- 博客(47)
- 资源 (1)
- 收藏
- 关注
原创 python 使用paramiko,ssh 报错ConnectionResetError: [Errno 104] Connection reset by peer
最近在使用paramiko,原本好好的代码,突然在连接linux报错下面这个问题,百度下,好像都没有一个实际的解决办法,简单追了下代码,顺手写一下解决办法,如何你有更好的解决办法,欢迎评论,报错问题如下一个 workaround办法如下原因大致如下:paramiko 认为它正在连接一个ssh agent,并尝试使用该ssh agent连接报错,通过加入allow_agent=False ,可以绕过这个问题...
2021-08-10 15:59:54
1913
原创 sshd 指定加密算法
配置文件添加 vi /etc/ssh/sshd_config重启sshd (systemctl restart sshd) 客户端验证 ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -v 10.0.1.220 客户端获取支持算法列表 :ssh -Q kex服务端获取支持算法列表 :sshd -T | grep kex...
2021-05-21 10:39:30
4357
原创 python快速开启一个http服务
目的:在我们工作中,经常遇到需要从远程服务器下载一些文件在本地分析(如tcpdump 抓的包)或者分享一些自身电脑安装包给同事,以下方法可能是一种很好的方式1. 进入文件目录,执行 python3执行:python3 -m http.server python2执行: python2 -m SimpleHTTPServer2. 浏览器页面访问即可下载...
2021-02-24 14:00:52
2868
原创 python 小技巧/易混点汇总(不定时更新)
[] 列表 {} 字典 / 集合 --->散列表() 元组[x for x in range(10)] 列表推导 ---->得出列表 --->迭代协议(x for x in range(10)) 生成器表达式--->用一个生成一个 (yield next() )#集合In [7]: a={'a','b','c','d'}In [9]: typ...
2019-10-31 17:36:14
134
原创 linux 常用命令整理(不定时更新)
服务器CPU 占用高的排查思路通过top 查看,占用cpu 高的进程 ,获取PID 通过top -Hp [pid] 查看cpu 占用高的线程 的pid pstack [pid] 查看堆栈信息性能测试查看CPU /内存是否为瓶颈vmstat 查看磁盘是不是存在瓶颈iostat iotop查看系统产生的系统调用strace ./test.sh strace -...
2019-10-30 16:44:54
127
原创 一些常用的链接备用
1.火狐浏览器 selenium IDEhttps://addons.mozilla.org/en-US/firefox/addon/selenium-ide/2.selenium 下载地址https://pypi.python.org/pypi/selenium3.pyhton lib 下载https://www.lfd.uci.edu/~gohlke/pythonlibs...
2019-10-28 18:09:17
2066
原创 服务器性能测试分析方法
概述 CPU :关注使用率、运行队列和上下文切换 排查方法 uptime -----> vmstat 内存:可用内存,swap占用,页面交换(Paging) 排查方法 vmstat 磁盘IO:%util ,IOPS,数据吞吐量 排查方法 : iostat ----> iotop涉及linux...
2019-10-28 16:06:31
898
原创 python __getattr__ __getattribute__
setattr(x,y,z) ----> x.y=zsetattr(Test,'x'.1) Test 为类对象getattr(object,name[,default])getattr(x,'y') -----> x.y不会触发__getattribute____getattr__:如果实例instance通过instance.name访问...
2019-10-27 20:45:07
159
原创 Flask 笔记整理--请求上下文流程
if __name__ == '__main__': app.run() #函数入口 -->调用 app.__call__整个流程如下globals.py 全局变量文件,这个是在启动之前启动_request_ctx_stack = LocalStack()app.__call__-->wsgi_app-->ctx =req...
2019-07-21 20:52:37
134
原创 nginx +gunicorn 部署flask web
概述:此文记录我如何在一台全新的腾讯云主机上部署一个flask web,一般我们的博客都会在完成后整理成一个最优解,但这篇文章我不准备做任何整理,完全展现我部署的整个思维方式,希望给更多的人一种另外一种启示服务部署地址nginx安装#nginx 编译依赖库1.yum install pcre pcre-devel 2. yum insta...
2019-07-14 22:21:39
225
原创 selenium笔记整理
零散常用的方法from selenium import webdriver# 调用键盘按键操作时需要引入的Keys包from selenium.webdriver.common.keys import Keys# 调用环境变量指定的PhantomJS浏览器创建浏览器对象driver = webdriver.PhantomJS()# 如果没有在环境变量指定Phantom...
2019-07-14 21:29:40
200
原创 python json load/loads/dump/dumps 方法整理
json 支持数据格式1.对象(字典) 花括号2.数组(列表) 中括号3.整形、浮点型、布尔类型 null 类型4.字符串类型 (字符串必须要用双引号,不能用单引号)多个数据之间使用逗号注意:json本质就是一个字符串json dump/dumps 方法作用转换为jsonjson.dump 存与文件中json.dumps 转换为json字符串...
2019-07-14 20:54:15
574
原创 css选择器几种查找方式整理
css 选择器1.通过标签查找通过p标签获取print(soup.select('p')) #使用的bs4 select 方法,seleniumdriver.find_elements(By.CSS_SELECTOR,'p') 类似2.通过类名查找在类的前面加一个点“.”例如: 查找 class=onion的标签print(soup.select('.onion'...
2019-07-14 20:38:28
3688
原创 xpath笔记整理
基本语法表达式 描述 nodename 选取此节点的的所有子节点 / 从根节点选取 // 匹配所有节点,不考虑位置 . 选取当前节点 .. 选取当前节点的父节点(类似linux) @ 选取属性 使用chrome插件选择标签时候,选中时,选中的标签会添加属性class="xh-h...
2019-06-30 16:51:11
183
原创 scrapy入门到放弃(一)
scrapy 爬虫流程scrapy 爬虫流程和一般的爬虫流程基本一样,发送url,响应提取url和数据,数据存储,url重新放到url队列中Scrapy Engine(引擎) 总指挥:负责数据和信号在不同模块之间传递 scrapy实现 Scheduler(调度器) 队列,存放engine发送过来的request请求 scrapy实现 Downloader...
2019-06-30 15:05:40
414
原创 如何远程连接mongo数据库
mongo用户创建创建admin用户use admindb.createUser({user:"admin",pwd:"admin",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})普通用户创建use bossdb.createUser({user: "onion",pwd: "onion",...
2019-06-26 22:15:58
417
原创 redis入门--基础数据结构篇
概述:redis是key-value的数据结构,每条数据都是⼀个键值对 键的类型是字符串 注意:键不能重复 值得类型有五种:string(字符串),list(列表),hash(字典),set(集合),zset(有序的集合) 数据操作保存 修改 获取 删除命令文章链接:http://redis.cn/commands.htmlstring(字符串)字符串...
2019-06-20 07:31:10
122
原创 python GIL(全局解释器锁)
python C 解释器有一个叫GIL 的东西作用:每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码。所以在python中,如果对于CPU密集型任务,多线程是没有用的,因为一个线程不会释放GIL;但是对于IO密集型任务,多线程还是能提高效率,因为在IO阻塞的情况下,会自动释放GIL锁。为什么不移除GILGuido的声明:http://www.artim...
2019-06-18 23:12:04
193
原创 Redis入门(centos7.6)--安装配置篇
下载安装# wgethttp://download.redis.io/releases/redis-3.2.8.tar.gz # tar -zxvf redis-3.2.8.tar.gz # mv ./redis-3.2.8 /usr/local/redis/ # cd /usr/local/redis/ # make && make test &&am...
2019-06-16 19:39:07
232
原创 Flask 笔记整理--视图
1.Flask app对象创建参数初始化# 创建flask的应用对象# __name__表示当前的模块名字# 模块名,flask以这个模块所在的目录为总目录,默认这个目录中的static为静态目录,templates为模板目录app = Flask(__name__, static_url_path="/python", # 访问静态资...
2019-06-15 12:48:38
287
原创 nginx 日志报错 upstream sent too big header while reading response header from upstream
nginx 错误日志报错 upstream sent too big header while reading response header from upstream在nginx.conf 内相对应位置添加如下3行server { ......location / {proxy_buffer_size 64k...
2019-06-11 22:33:11
592
原创 mongodb 索引
索引:以提升查询速度测试:插入10万条数据到数据库中> for(i=0;i<100000;i++){db.t1.insert({name:'test'+i,age:i})}WriteResult({ "nInserted" : 1 })> db.t1.find({name:"test10000"})>db.t1.find({name:'tes...
2019-06-11 20:23:45
150
原创 xxxx does not support chkconfig 的问题
# chkconfig --add xxxservice xxx does not support chkconfig需要在该启动脚本里添加如下文件信息# chkconfig: 23455090# description: test mic server scripts#chkconfig: 23455090 含义其中2345是默认启动级别,级别有0-6...
2019-06-10 20:42:56
526
原创 monog 高级操作(聚合)
聚合aggregate聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg()聚合(aggregate)是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组、过滤等功能,然后经过一系列的处理,输出相应的结果。 db.集合名称.aggregate({管道:{表达式}})管道在mon...
2019-06-09 20:47:58
1401
原创 mongodb 基本常用操作
服务启动服务启动mongod --config /usr/local/etc/mongod.conf客户端启动mongo 客户端退出exit control+C数据库相关操作查看当前的数据库:db查看所有的数据库:show dbs /show databases切换数据库:use db_name (如果没有就创建该数据库)删除当前的数...
2019-06-09 10:18:23
518
原创 【数据结构】排序----希尔排序
希尔排序的特性利用插入排序的简单,同时克服插入排序每次只交换相邻两个元素的缺点栗子:对下面序列排序 81 94 11 96 12 35 17 95 28 58 41 75 155间隔: 每隔5个,对其子序列做插入排序 81 94 11 96 12 35 17 95 28 58 41 75 15 ...
2019-04-27 08:47:18
263
原创 【数据结构】排序----简单排序(冒泡/插入)
只讨论基于比较的排序只讨论内部排序稳定性:任意两个相等的数据,排序前后的相对位置不发生改变没有一种排序是任何情况下都表现最好的时间复杂度下界:逆序对:对于下标 i < j ,如果 A[ i ] > A[ j ] ,则称 ( i , j ) 是一对逆序对(inversion)冒泡排序:比较相邻的两个元素,将大的放在右边,感觉就像泡泡上浮。一趟排...
2019-04-27 07:50:54
96
原创 【数据结构】排序 ----堆排序
堆排序使用最大堆,最小堆一般用于优先队列堆特点1.parent > children2.完全二叉树完全二叉树概念:从上往下,从左往右,结点依次添加以下都是完全二叉树parent 结点 > chidren 结点如图 子结点都小于父结点python 标准库 heapq 模块提供基于堆得优先队列得支持堆构建堆排序的时间复杂度O(nl...
2019-04-15 21:48:34
130
原创 python多线程(二)
线程锁:Lock :原始锁,目前可用的最低级的同步原语Rlock :可重入锁class threading.Lockclass threading.RLock实例方法:acquire(blocking=True,timeout=-1) 尝试锁定release() :释放锁,如果尝试释放没有锁定的锁会raise RuntimerError 异常加锁的目的多个不...
2019-04-14 17:18:00
295
原创 python多线程(一)
线程创建Thread 类 创建线程的方法1.直接传要运行的方法2.继承thread类,重写run方法构造方法classthreading.Thread(group=None,target=None,name=None,args=(),kwargs={},*,daemon=None)group :线程组 暂未实现,将来扩展 ,必须为Nonetarget...
2019-04-14 16:54:05
1422
原创 linux shell 总结
概述一些shell 编程中的总结,希望能帮到后面的朋友,少点学习成本若有错误,欢迎指正脚本执行在当前shell 中执行source test.sh . test.sh 开一个子shell 执行 bash test.sh ./ test.sh引申:当在一个脚本中需要用到外部脚本的变量的值,使用source 或 .设置变量的3种方法...
2019-02-25 22:08:18
400
原创 linux shell 注意事项
1.变量赋值方式: 先写变量名称,紧接着是“=” 这个字符,最后值,中间无任何空格,变量的内容一般要加双引号2.判断符号 [ ] 使用a.中括号 [] 内的每个元件都需要用空格来分隔b.中括号内的变量,最好都以双引号括起来c.括号内的常数,最好以单或双引号括起来 ${name} 如果没有使用双引号括起来,那么上面的判定变为[ test test...
2018-07-30 16:41:18
223
原创 ubuntu shell 报错 《test.sh: 15: [: 80: unexpected operator》
造成原因 ubuntu sh 默认链接的是dash 解决办法 :dpkg-reconfigure dash 选择 no
2018-07-26 17:27:31
344
原创 linux shell 三种引号的用法
1.反引号 ` `: 命令的替换2.双引号 " " :弱引用 ,里面可以实现变量和命令替换 同 $(command),推荐使用 $()3.单引号 ' ':强引用,不完成变量替换...
2018-07-26 16:34:12
4452
原创 linux打包命令
1. 压缩gz tar -zcv -f www.tar.gz www/ 压缩bz2 tar -jcv -f www.tar.bz2 www/ 压缩xz tar -Jcv -f www.tar.xz www/ 2.解压缩 tar -zxv -f www.tar.gz 3. 查询 tar -zjv -f www.tar.gz ==========...
2018-07-24 15:08:38
156
原创 linux 常用查找命令集合
1.which (寻找'执行文件") which command 2.whereis (寻找特定文件) 《利用数据库来查找数据,但是数据库文件并不是实时更新的》3. locate keyword <利用数据库来查找数据>4.find 通过遍历硬盘来查找 find [PATH] [OPTION] [action] ...
2018-07-24 11:56:58
148
原创 appnium 常用文档
https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.md
2018-06-03 15:15:26
817
原创 Html 表单
html表单表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,实现一个特定功能的表单区域(比如:注册),首先应该用<form>标签来定义表单区域整体,在此标签中再使用不同的表单控件来实现不同类型的信息输入,具体实现及注释可参照以下伪代码:<!-- form定义一个表单区域,action属性定义表单数据提交的地址,method属性定义提交的方式。 --><...
2018-05-26 21:50:44
135
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人