自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python读取ini配置文件参数

ini配置文件读取规则固定的配置文件 config.ini,内部命名规则:[EMAIL]mail_host='smtp.163.com'mail_user='11@163.com'mail_pwd='1234'mail_port=25[DATABASE]host='10.121.60.48'port='3306'username='root'pwd='1234.abcd'database='epc'1、我们会使用configparser模块对文件进行读取和处理(1)impor

2021-10-29 15:02:22 300

原创 redis集群部署cluster模式

redis-cluster集群部署 (3主3从模式)前提:最近对系统做性能,由于redis是单线程运行,应用系统和redis的IO上遇到了瓶颈,故考虑对redis做集群部署1、版本选择:采用redis5.0.3的版本,不需要ruby的环境,只需要c的编译环境即可2、本次是在一台服务器上启动redis,故在/usr/local/redis/下创建19001-19006等目录,用于存放redis.conf文件1、解压缩redis-5.0.3tar xzvf redis-5.0.3 -C /usr/lo

2021-10-29 14:08:32 349

原创 Redis安装

Linux服务器上安装Redis安装1、安装包redis-3.0.5.tar.gz功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入安装1、安装包redis-3.0.5.tar.gz1、使用xshell等工具将安装包存放到/da

2021-09-16 16:12:47 112

原创 web3.eth 的API(上)

web3.eth API包含了大量的以太坊相关的函数和变量如何获取和设置默认账户,得到某个节点的所以注册账户,发送交易,调用只能合约等等1.1.1 获取和设置默认账户可以通过web3.eth.defaultAccount获取当前默认账户的地址。该地址:地址是由40位十六进制数(20)字节组成的字符串(1)可以用于web3.eth.sendTransaction() ->发送交易...

2019-11-03 19:08:20 1043 1

原创 web3常用api接口

web3.js API是从连接以太坊开始的web3.js包含在web3中1.链接以太节点var Web3=require(“web3”);//导入web3var web=new Web3(new Web3.providers.HttpProvide('http://localhost:8545"));以下步骤全部都需要连接以太节点这种连接方式是通过Web3构造方法指定的HttpPr...

2019-11-02 00:01:05 2074 1

原创 软件测试一图文展览

日后给自己看,现在看了不少但是也有点杂。慢慢供自己慢慢梳理

2019-10-04 13:08:18 143

原创 几种排序的方法

排序方法是我们绕不开的关卡,只有掌握它理解他才是我们的结果# -*- coding: utf-8 -*-#Author :The Y Devil''' :param 冒泡法,快排,选择排序法,插入排序,归并排序,希尔排序... 只列出大致的种类'''#快排#递归思想,分而治之 复杂度很高# def quicksort(List):# if len(List)&l...

2019-09-15 13:37:35 126

原创 git创建分支,合并,删除

分支:由于在git中我们使用指针来管理分支,所以非常方便。对于我们的项目来说,创建子分支来做开发,开发调试完成后便合并到主分支上master分支使用策略:主分支(默认创建的Master分支)只用来分布重大版本(对于每个版本可以创建不同的标签,以便于查找);日常开发应该在另一条分支上完成,可以取名为Develop;临时性分支,用完后最好删除,以免分支混乱。如:功能(feature)分支...

2019-09-11 20:06:57 160

原创 git初识 修改最后一次提交,删除文件和重命名文件

在我们之前有介绍,当我们提交缺少东西,或说明得不足时候,会想要去重新提交,那么我们是可以reset回滚的,但是我们有的时候却不想回滚而直接进行操作。‘修改最后一次提交:因为不想在去创建多余的快照,我们使用git commit --amend (-m “说明”)如此会出现如下的信息框,进行vim操作在这里输入i以后修改他的说明,并且修改了文件的名称删除文件git rm 文件名该命...

2019-09-11 16:46:39 155

原创 初始git(二),认识HEAD的用法

在前面简单接触过git,我们的三个区域就相当于是三个树,或者三个文件目录,你的其他文件则在这上面不停的进行传递。在一个仓库中,我们提交多次以后,他会按照时间顺序排序,那我们如何找到我们想要的一个版本呢?HEAD的作用head之前在reset中有提到过,git reset HEAD 恢复暂存区上一次的状态。其实HEAD类似于一个指针,指向的是最近在仓库中提交的版本。在未修改指向前,head一...

2019-09-11 14:12:40 671

原创 初识git

对于我们常用的版本控制先分为两种,git和svn。当然因为博主学的git所以留下的当然是git的笔记介绍:git是一款开源的,免费的分布式版本控制系统(git界面模式只实现常用的命令,命令行模式拥有所有的命令)git将每个版本独立保存。1.抛开下载,第一次配置邮箱和密码git config --global user.name ‘用户名’git config --global user....

2019-09-11 01:54:02 105

原创 今日份爬虫与数据处理

BeautifulSoup4的使用:创建一个bs4的对象,soup=BeautifulSoup(‘html’,’ 解析方式’)之后我们可以使用soup.Tag ,tag是某一标签,为获取他的内容\<p class=‘title’ name=‘dromouse’>你好</p>当然我们标签就有两个重要的属性name和attrs,是指名字和属性,对于tag来说,他的名...

2019-08-08 19:40:43 176

原创 python的一些内置函数集合

相对应的写出了他的解释:对于我们的函数来说,是可以传递的,把他当做变量来传递def bar(): print('bar)baz=bar#此时把bar的功能传给了baz baz()#打印的结果也是bar也就是说我们想调用函数的时候才会在函数后面加上小括号,当作为变量传递的时候就只需要函数名在说一说闭包的概念一个函数内部是可以调用函数外部的变量的,我们都知道函数内部之间的变...

2019-08-07 14:14:53 201

原创 select和selector多路复用创建socket链接

学习过后,我们了解i\o方式 阻塞io,非阻塞io,io多路复用,异步io,一个io操作实际上是把数据放到内核缓存区,然后从这copy下来,用户实际上只是调用这个接口I/O通信其实是用户调用内核接口,内核将一个文件描述符放到缓存空间,用户在去获取,阻塞很简单理解一下,就是函数去访问缓存空间,没有事件就一直等待,线程被挂起直到有结果返回,非阻塞则是函数去访问缓存空间,没有事件就返回一个值,...

2019-07-30 09:03:36 313

原创 7.21进程池的使用

简单的总结下今天所学知识.我们之前学习线程,其实是没有线程池的,只有信号量来作为控制线程数量的标志.但是我们的进程却有进程池。先导入:from multiprocessing import Process,Pool我们进程池有两个方法调用apply 主要是串行执行apply_async 异步执行简单写下我们的代码from multiprocessing import Proce...

2019-07-21 15:38:16 139

原创 7.21进程线程学习总结

今天学了进程线程一些知识:自我总结。1.进程:在为引入线程之前,是资源调度分配的基本单位(从操作系统中得来)2.线程:是cpu调度分配资源的基本单位特点:进程之间是互相不影响的,不能访问彼此的资源,其中一个进程里面有多个线程,线程之间可以互相访问彼此的资源,切有一个父线程和多个子线程。说说线程:线程的基本调用方式要会使用,其中有一个join()方法等同于wait()方法,是指该线程运...

2019-07-21 14:17:43 182

原创 日常时候用到的一些小函数python

在听完老师讲课以后,发现自己又发现了更多新大陆1.eval()函数:用我的话来说 :eval函数是将外层变量的字符“ ”去掉,简单的一个例子:a='"1"'print(eval(a))print(type(eval(a)))我们打印出来的还是一个字符串,也就是说eval将外层的引号成功去掉,a='1' print(eval(a)) print(type(eval(a)))...

2019-07-20 09:29:34 132

原创 python进程中信号量的创建

semp=threading.BoundedSemaphore(5)创建五个信号量同时也允许五个线程同时进行。def run(n): semp.acquire()#申明一个信号量 time.sleep(2) print('run the thread %s\n'%n) semp.release()#释放一个信号量每次运行一次,会申明一个信号量,当进程结束后在...

2019-07-19 22:12:33 311

原创 pyqt5的拖拽实现

在GUI里,实现简单的拖放,本例子中使用QLineEdit和QPushButton,把一个文本从编辑框里拖到按扭上,更新按钮上的文字code:# -*- coding: utf-8 -*-#Author :The Y Devilimport sysfrom PyQt5.QtWidgets import *class Button(QPushButton): def __int...

2019-07-14 14:42:33 3296

原创 pyqt5中布局管理3

今天学习到了布局方式:对于我们来说布局分为①绝对定位方式(用我们的move函数来写)也就是我们窗口的左上角②盒布局QHboxLayout和QVboxLayout def initUI(self): text=QTextEdit(self) text.resize(text.size()) text.move(10,20) ...

2019-07-12 12:25:28 166

原创 Pyqt5中,菜单栏工具栏状态栏的使用

在经过简单的学习之后,我们接触到了主窗口QmainWindow,便于我们创建需要的工具栏,状态栏和菜单栏状态栏的使用我们的状态栏是使用statusBar()函数,而要显示信息的话需要使用带statusBar().showMessage()菜单栏的使用初始化菜单栏我们使用self.MenuBar()来初始化若有多个菜单栏则添加多个args=menubar.addMenu(“例子”)在...

2019-07-11 23:21:48 778

原创 Pyqt5中,利用QToolTip提示框的简单使用

今天开始接触pyqt5,利用pyqt5创建如下的图提示在我们继承的QWidget中,设置全局的文字提示self.setQToolTip()。而我们使用QToolTip.setFont(QFont(‘SansSerif’,10))#设置提示框的字体**在此我们多添加button按键的提示:**首先创建一个btn按键:btn=QPushButton(‘点我’,self)为按键添加提示框...

2019-07-09 13:27:14 6739 2

空空如也

空空如也

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

TA关注的人

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