- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 Blue Prism的多资源(机器)运行
在现实生产环境中,Blue Prism很可能会在多台机器上运行,有些机器被指定为“主机”,有些机器被称为“佣工”。在主机上,Blue Prism将正常运行,就像你到目前为止一样。然而,在“佣工”机器上,Blue Prism会以另一种称为资源PC的最小模式运行。也就是我们可以在一台主机上控制其他资源(机器)来运行我们的BP项目,有点类似我们在commander端调度远程robot来运行流程。首先我们...
2019-11-08 09:47:33
1284
1
原创 RPA是什么?
接触RPA这个行业已经有挺长一段时间了,这里想写下对这个行业的一些理解。RPA概念RPA全称为:Robotic Process Automation,即机器人流程自动化。
2019-07-07 23:16:26
50213
10
原创 3月份到5月份过渡期
自从2月份以来,就再也没有写过博客了,感觉这段时间过得太安逸,以至于自己大脑很空,生活状态也不是很好。所以我告诉自己必须重拾写博客的习惯,还要多看些好的文章,找回以前的状态,让自己的生活更加充实和有意义。...
2019-06-02 13:12:26
346
原创 python自动化运维5--系统批量运维管理器Fabric使用
在讲Fabric之前我们先说下另外两个跟Fabric有相似功能的模块:1.pexpect:pexpect可以理解成Linux下的expect的Python封装,通过pexpect我们可以实现对ssh、ftp、passwd、telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。比如我们可以模拟一个FTP登录时的所有交互,包括输入主机地址、用户名、密码、上传文件等,待出现异常我们还可...
2019-02-28 10:34:02
459
原创 python自动化运维4--实现高效的端口扫描器
这里需要用到python的一个第三方模块块python-nmap实现高效的端口扫描,进行端口扫描的目的是在现实生活中由于系统管理员误操作,导致核心业务服务器的22、21、3389、3306等高危端口暴露在互联网上,会大大提高了被入侵的风险。因此,我们可以通过这样的端口扫描来查看哪些端口已经暴露,及时解决。python-nmap模块作为nmap命令的Python封装,可以让Python很方便地操作n...
2019-02-26 10:44:41
651
原创 python自动化运维3--发送电子邮件
在系统管理领域,我们常常使用邮件来发送告警信息、业务质量报表等,方便运维人员第一时间了解业务的服务状态。这里需要用到一个模块是smtplib,它是python自带的一个模块,可以通过它来实现邮件的发送功能,模拟一个smtp客户端,通过与smtp服务器交互来实现邮件发送的功能,这可以理解成Foxmail的发邮件功能,在第一次使用之前我们需要配置smtp主机地址、邮箱账号及密码等信息。SMTP类定...
2019-02-22 10:04:04
1885
原创 python自动化运维2--IP地址处理模块IPy详解
IP地址规划是网络设计中非常重要的一个环节,。Python提供了一个强大的第三方模块IPy(https://github.com/haypo/python-ipy/),IPy模块可以很好地辅助我们高效完成IP的规划工作。IP地址、网段的基本处理IPy模块包含IP类,使用它可以方便处理绝大部分格式为IPv6及IPv4的网络和地址。比如通过version方法就可以区分出IPv4与IPv6。&gt...
2019-02-21 10:15:46
1165
原创 python自动化运维1--psutil模块详解
声明:此文章为《python自动化运维:技术与最佳实践》一书的总结。前言用python做自动化运维有一个非常重要的模块就是psutil模块,它是专门获取系统性能信息的模块,而且该模块也是跨平台的,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、n...
2019-02-20 10:55:13
743
原创 联盟链--3Fabric 1.0交易流程
Fabric 1.0交易流程fabric中的所有交易都是通过chaincode执行的1.应用程序客户端通过SDK调用证书服务(CA)服务,进行注册和登记,并获取身份证书。2.应用程序客户端通过SDK创建好交易提案(Proposal),交易提案把带有本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等信息发送给背书(Endorser)节点。3.背书(Endorser)节点收到交易提...
2019-02-01 16:45:39
1313
原创 数据可视化工具
做数据可视化的工具有很多,我们可以分为大概这几种:1.商业智能分析软件2.可视化大屏3.前端可视化组件4.编程语言一、商业智能分析软件最目前最著名的商业智能分析软件有Tableau和PowerBI,另外国内的帆软公司推出的FineBI也是受国内很多企业的青睐。Tableau是国外的,收费的,PowerBI是微软出品的,也是收费的,可以和 Excel搭配使用,通过PowerBI来呈现E...
2019-01-31 14:57:46
1055
原创 数据集成
什么是数据集成数据集成就是将不同的数据源存放到同一个数据储存中(如数据仓库),从而方便后续的数据挖掘工作。比如我们有多个数据源,有文本文件,Excel文件,mysql数据表,为了方便数据的统计分析,我们需要把他们存放到同一个容器中,可以是数据库也可以是文本文件,这样一个过程我们就叫数据集成。数据集成的其中一种架构:ETL:ETL是英文Extract、Transform和Load的缩写,顾名思...
2019-01-27 21:27:11
4797
原创 数据清洗
前面我们简单的介绍了数据采集,现在假设我们有了数据了,那是不是就可以直接做数据分析了呢?别着急,我们采集得到的数据往往没有那么完美,还需要一个特别关键的步骤,那就是数据清洗。先说一下数据清洗的几条规则:1.完整性: 对于现有的数据,我们需要判断单条数据的完整性,需要统计的字段是否完善。2.全面性: 观察某一列的全部数值,比如在Excel表中,我们选中一列,可以看到该列的平均值、最大值、最小值...
2019-01-26 20:44:01
3552
原创 数据采集
我们知道,做数据分析,数据是第一位,所以首先我们应该拥有自己的数据,如果我们自身没有足够的数据,那就需要做大量的数据采集,现在用python做数据采集也就是我们常说到的爬虫是最广泛的,基本上可以会经历三个过程:1. 使用request库爬取网页内容,这个时候网页已经拉到我们本地了。2. 使用XPath解析内容。XPath是XML+Path的缩写,也就是XML路径语言。它是一种用来确定XML文档...
2019-01-26 20:43:09
5799
原创 联盟链--2 fabric网络环境启动过程详解
fabric网络环境启动过程详解上一节我们讲到 fabric网络环境的启动测试,主要是使用 ./network_setup.sh up 这个命令,所以fabric网络环境启动的重点就在network_setup.sh这个文件中。接下来我们就分析一下network_setup.sh这个文件。network_setup.sh其中包括两个部分,一个是利用generateArtifacts.sh脚本...
2019-01-26 16:44:02
456
原创 联盟链--1初识,Fabric环境搭建
区块链分类:以参与方式分类,区块链可以分为:公有链、联盟链和私有链。定义:我们知道区块链就是一个分布式的,去中心化的公共数据库(或称公共账本)。而联盟链是区块链的一个分支,所以它本身也是一个分布式的,去中心化的公共数据库,跟其他链的区别就是它是针对特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,其共识过程受到预选节点控制的区块链。本质联盟链本质仍然是一种私有链,只不过它要...
2019-01-25 17:18:01
935
原创 python的科学计算库:Pandas
在数据分析中,Pandas是非常重要的一个库,一方面是因为pandas提供的数据结构DataFrame与json的契合度高,转化起来很方便,另一面,如果我们日常的数据清理工作不是很复杂,只要几行Pandas的代码就可以对数据进行规整。Pandas 中的两个核心数据结构:Series和DataFrame,它们分别代表着一维序列和二维的表结构。SeriesSeries是一个定长的字典序列,说是定...
2019-01-15 15:49:59
466
原创 数据结构与算法系列23--Trie树
我们在使用搜索引擎进行搜索时,会发现当我们输入一部分内容后,搜索引擎会弹出很多关键词提示,如果发现有你要查找的内容,你可以直接选中它进行搜索,一定程度上节省了我们的时间。究竟如何实现这种功能呢,它使用的底层数据结构和算法是什么呢?没错,就是今天要说的Trie树。Trie树也叫“字典树”,根据它名称,它本身就是一个树形结构。它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串集合中快速查...
2019-01-10 21:49:42
313
原创 数据结构与算法系列22--字符串匹配算法
字符串匹配这样的函数,在很多编程语言中都提供了字符串的查找算法,那它底层具体是怎么实现的呢?字符串的匹配算法有很多,简单一点的:BF算法和RF算法。高级一点的,BM算法和KMP算法。...
2019-01-08 23:21:54
238
原创 数据结构与算法系列20--图
图的概念在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边结对(连接)。树中的元素我们称为节点,图中的元素我们就叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。我们把这种建立的关系叫作边(edge)。上面的那个图的边是没有方向的,我们称为无向图。什么是无向图中的度?跟顶点相连接的边的条数我们就称为度。另外还有一种有方向的图,我们称为有向图。例如玩过微...
2018-12-25 22:05:21
179
原创 数据结构与算法系列18--红黑树
红黑树是平衡二叉查找树的一种,上一节我们已经讲过二叉查找树的定义,那什么是平衡二叉查找树呢?什么是平衡二叉查找树定义:平衡二叉查找树严格的定义是:二叉树中任意一个节点的左右子树的高度相差不能大于+1。从这个定义来看,的完全二叉树、满二叉树其实都是平衡二叉树,但是非完全二叉树也有可能是平衡二叉树。目的:发明平衡二叉查找树这类数据结构的初衷是,解决普通二叉查找树在频繁的插入、删除等动态更新的...
2018-12-01 12:00:35
160
原创 数据结构与算法系列17--二叉树
什么是二叉树?二叉树是每个结点最多有两个子树的树结构,它是最常见的一种树结构。一些基本概念根节点:树的最顶端是节点,如图中的1节点父节点:图中1就是2和3的父节点子节点:相对的,2和3就是子节点兄弟节点:在同一父节点下,像2和3就是兄弟节点叶子节点:没有子节点的节点,像8,9节点的高度:节点到叶子节点的最长路径节点的深度:根节点到这个节点所经历的边的个数节点的层数:节点的深度...
2018-11-28 23:44:27
600
原创 数据结构与算法系列16--哈希算法
什么的哈希算法?将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法。而通过原始数据映射后得到的二进制值串就是哈希值。一个优秀的哈希算法应该满足哪几点?从原始数据计算得到的哈希值,不能反向推导出原始数据的值。对输入的数据非常敏感,只要对原始数据做一点改变,小到一个Bit的改变,最后得到的哈希值都大不相同。散列冲突的概率要很小,对于不同的数据,哈希出来的哈希值相同...
2018-11-17 21:46:28
391
原创 数据结构与算法系列15(中)--散列表(哈希表)
如何设计一个散列函数?1.散列函数的设计不能太复杂,否则会消耗很多计算时间,也就影响了散列表的性能。2.散列函数生成的值要尽可能的随机并且均匀分布,这样才能最小化散列冲突,即便发生冲突,散列到每个槽里的数据也会比较平均,不会出现某个槽里数据太多的情况。装载因子的选择上一节我们讲过,装载因子越大,说明散列表中的元素越多,空闲位置越小,散列冲突的概率就越大。那我们怎样解决这个问题呢?可以通过设...
2018-11-12 21:52:23
279
原创 数据结构与算法系列15(上)--散列表(哈希表)
什么是散列表散列表的英文是“Hash Table”,也叫“哈希表”或者“Hash 表”。他是一种根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。散列表的思想散列表用的是数组支持按照下标进行随机访问的时候,时间复杂度是O(1)的特性。所以散列表其实是数组的一...
2018-11-11 23:57:50
203
原创 数据结构与算法系列14-跳表
什么是跳表?点对点一、什么是跳表?为一个值有序的链表建立多级索引,比如每2个节点提取一个节点到上一级,我们把抽出来的那一级叫做索引或索引层。如下图所示,其中down表示down指针,指向下一级节点。以此类推,对于节点数为n的链表,大约可以建立log2n-1级索引。像这种为链表建立多级索引的数据结构就称为跳表。二、跳表的时间复杂度?1.计算跳表的高度如果链表有n个节点,每2个节点抽取抽出...
2018-11-11 13:26:44
170
原创 数据结构与算法系列13--二分查找
什么是二分查找?二分查找算法是一种针对有序集合的查找算法,也叫折半查找。实现原理每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。(特别注意前提是针对有序的数据集合)时间复杂度二分查找是一种非常高效的查找算法,他的时间复杂度是O(logn),我们可以假设数据大小是n,每次查找后数据都会缩小为原来的一半,也就是会除以2。最坏情况下,...
2018-11-08 22:59:37
376
原创 数据结构与算法系列12--排序优化
如何选择合适的排序算法?**这里有前面讲过的各种算法是时间复杂度的对比图,大家可以看看下。如果我们要选择一个通用的排序算法,前面讲到的线性排序算法显然是不合适的,因为它的适用场景非常有限,尽管他是速度最快的。如果对于小规模数据可以选择时间复杂度O(n^2的算法),但是对于大规模数据,则应该选择时间复杂度为O(nlogn)的算法更加高效。所以为了兼容任意规模的数据的排序,我们一般选择时间复杂...
2018-11-06 20:42:23
178
原创 数据结构与算法系列11--桶排序、计数排序、基数排序
线性排序算法介绍1.线性排序算法包括桶排序、计数排序、基数排序2.线性排序的算法的时间复杂度为:O(n)3.此三种排序算法都不涉及元素之间的比较操作,是非基于比较的排序算法。4.对要排序的数据要求很苛刻,只能适用在某些特殊场景,所以重点掌握此3钟算法的适用场景。桶排序算法原理:将要排序的数据分到几个有序的桶里,每个桶里再单独进行快速排序。桶内排完序后,再把桶内的数据按照顺序依次取出组...
2018-11-04 21:27:12
168
原创 Django自定义过滤器和标签
Django的模板语言包含了各种各样的内置标签和过滤器来满足你的应用需求,不过有时候你也会发现你的需要的功能不在内置的功能中,这时候你可以通过Python语言自定义标签和过滤器来扩展模板引擎,然后在你的模板中使用 {% load %} 来加载使用它们。首先创建好包文件:在你的app下创建templatetags包,在其下创建python脚本来定义你的标签和过滤器page.py文件,特别注意里面...
2018-10-30 14:32:50
179
原创 Django的分页显示实现
Django中提供了一个类Paginator专门用来管理和处理分页数据,所以我们在使用之前先导入好相应的类,,另外这里我们也导入了待会会用到的处理异常的两个类 EmptyPage和PageNotAnInteger:from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger接着编写好视图函数test:def...
2018-10-30 09:57:25
4114
原创 数据结构与算法系列10--排序算法(归并、快排)
归并排序思想:归并排序的核心思想还是蛮简单的。如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。#归并排序def merge_sort(a): n=len(a) merge_sort_between(a,0,n-1)def merge_sort_between(a,low,high)...
2018-10-25 10:02:04
207
原创 数据结构与算法系列9--排序算法(冒泡、插入、选择)
#冒泡排序,优化版本def bubbleSort(data_list):n=len(data_list)if n<=1:returnfor i in range(n): flag=False#记录是否存在交换,提前退出冒泡循环的标志位 for j in range(n-1-i): if data_list[j]>data_list[j+1]:...
2018-10-24 08:59:06
253
原创 解决Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘nickName’ at row 1,mysql保存微信昵称nickName的表情出错
原因:由于mysql默认编码为utf-8,最大只占3个字节,一些表情或者非常见字符,比如该例子中“xF0\x9F\x8C\xB8”占4个字节,这样往数据表里插入4个字节的数据就会出错。解决办法:将相应数据库和数据表的编码由utf8修改为utf8mb4。具体两者区别可以执行百度。1.cd到 /etc/mysql/mysql.conf.d目录,修改目录下的mysqld.cnf文件,添加如下内容...
2018-10-23 15:01:56
18030
原创 数据结构与算法系列8--递归
什么是递归?1.方法或函数调用自身的方式称为递归调用,调用称为递,返回称为归。2.递归是一种非常高效、简洁的编码技巧,一种应用非常广泛的算法,比如DFS深度优先搜索、前中后序二叉树遍历等都是使用递归。3.基本上,所有的递归问题都可以用递推公式来表示,比如f(n) = f(n-1) + 1;f(n) = f(n-1) + f(n-2);f(n)=n*f(n-1);递归的优缺点?优点:...
2018-10-18 15:25:16
140
原创 数据结构与算法系列7--队列
什么是队列?1.先进者先出,这就是典型的“队列”结构。2.支持两个操作:入队enqueue(),放一个数据到队尾;出队dequeue(),从队头取一个元素。所以,和栈一样,队列也是一种操作受限的线性表。队列的应用也非常广泛,特别是一些具有某些额外特性的队列,比如循环队列、阻塞队列、并发队列。它们在很多偏底层系统、框架、中间件的开发中,起着关键性的作用。实现队列的两种方式?顺序队列和链式队...
2018-10-18 11:59:42
155
原创 mysql定时备份数据库和删除N天前数据库备份
前提,这里使用 Ubuntu 16.04.4。mysql定时备份数数据库:1.创建备份文件夹和脚本文件:mkdir -p /home/mysql_backup/touch /home/mysql_backup/mysql_backup.sh2.编辑脚本文件(mysql_backup.sh):#!/bin/bashdate_str=$(date +%Y%m%d-%T)cd /hom...
2018-10-15 12:11:29
3018
6
原创 数据结构与算法系列6--栈
什么是栈?1.后进者先出,先进者后出,这就是典型的“栈”结构。2.从栈的操作特性来看,是一种“操作受限”的线性表,只允许在端插入和删除数据。什么时候使用?当某个数据集合只涉及在某端插入和删除数据,且满足后进者先出,先进者后出的操作特性时,我们应该首选栈这种数据结构。栈的数组实现(自动扩容)时间复杂度分析:根据均摊复杂度的定义,可以得数组实现(自动扩容)符合大多数情况是O(1)级别复杂度...
2018-10-14 23:27:44
288
多功能医疗健康手表
2017-08-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人