摘要: 一、 需求起因 假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致【如下图:db中是新数据,cache中是旧数据】。 假设先淘汰缓存,再写数据库:第一步淘汰缓存成功,第二步写数据库失败【如下图:cache中无数据,db中是 阅读全文
posted @ 2022-02-25 15:16 七月的尾巴_葵花 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 1、 登录 [root@bigdata1 bin]# ./redis-cli 本机登录 [root@bigdata1 bin]# ./redis-cli -h 127.0.0.1 -p 6379 –a password 远程登录 127.0.0.1:6379> quit 退出 2、 数据类型 Red 阅读全文
posted @ 2022-02-25 15:10 七月的尾巴_葵花 阅读(1981) 评论(0) 推荐(0) 编辑
摘要: 选择服务器:10.211.55.8 一、 安装OpenLDAP 1、 安装 yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap 安装完之后查看自动创建了ldap用户: [ro 阅读全文
posted @ 2022-02-25 15:00 七月的尾巴_葵花 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 一、 安装配置Nexus 1、 下载nexus https://www.sonatype.com/download-oss-sonatype 2、 解压:tar -zxf nexus-3.5.2-01-unix.tar.gz 3、 进入bin目录启动:./nexus run & 出现如下界面启动成功 阅读全文
posted @ 2022-02-25 14:52 七月的尾巴_葵花 阅读(876) 评论(0) 推荐(0) 编辑
摘要: settings.xml的配置,以及本地资源库的设置 maven的配置文件settings.xml存在于两个地方: 1.安装的地方:${M3_HOME}/conf/settings.xml 全局配置 2.用户的目录:${user.home}/.m2/settings.xml 用户配置 如下是sett 阅读全文
posted @ 2022-02-25 14:46 七月的尾巴_葵花 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 1、拉取镜像docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka 2、创建容器docker run -di --network=docker-network --ip=172.19.0.60 --name=zk_01 -p 阅读全文
posted @ 2022-01-04 14:19 七月的尾巴_葵花 阅读(2138) 评论(0) 推荐(0) 编辑
摘要: 1、docker卸载与安装 yum list installed | grep docker # 查看docker的安装信息 yum -y remove docker.x86_64 yum -y remove docker-client.x86_64 yum -y remove docker-com 阅读全文
posted @ 2022-01-04 14:18 七月的尾巴_葵花 阅读(83) 评论(0) 推荐(0) 编辑
摘要: #encoding: utf-8 ''' Author:Siukwan ''' import sys reload(sys) sys.setdefaultencoding('utf8') import json def txt2str(file='jsondata2.txt'): ''' 打开指定的json文件 ''' fp=open(file) allLines = ... 阅读全文
posted @ 2017-01-16 21:04 七月的尾巴_葵花 阅读(2073) 评论(0) 推荐(1) 编辑
摘要: 通过MonkeyRunner遍历apk文件夹里的apk文件,实现自动安装应用,打开应用,截图,将截图与提前准备好的基线图做对比,对比相似度达到90%时,则对比通过,然后自动卸载应用,进入下一个APK文件的对比流程。当对比失败时,将自动停止测 #!/usr/bin/env monkeyrunner # -*- coding: utf-8 -*- import time import sys im... 阅读全文
posted @ 2017-01-04 16:57 七月的尾巴_葵花 阅读(699) 评论(0) 推荐(1) 编辑
摘要: webdriver contexts(self) 说明:返回多个会话内容 使用:driver.contexts current_context(self) 说明:返回单个会话的内容 使用:driver.current_context context(self) 返回current_context(s 阅读全文
posted @ 2017-01-03 17:32 七月的尾巴_葵花 阅读(3056) 评论(0) 推荐(2) 编辑
摘要: import unittest from appium import webdriver from appium.common.exceptions import NoSuchContextException import desired_capabilities class ContextSwitchingTests(unittest.TestCase): def setUp(s... 阅读全文
posted @ 2016-12-31 00:02 七月的尾巴_葵花 阅读(1136) 评论(0) 推荐(0) 编辑
摘要: import unittest from time import sleep from appium import webdriver import desired_capabilities class ChromeTests(unittest.TestCase): def setUp(self): desired_caps = { 'pl... 阅读全文
posted @ 2016-12-30 23:47 七月的尾巴_葵花 阅读(523) 评论(0) 推荐(0) 编辑
摘要: import dialog,e32,appuifw def ru(x):return x.decode('utf8') def qu(): appuifw.note(ru('已取消')) wait.close() wait=dialog.Wait(ru('载入中…'),True) wait.show() e32.ao_sleep(3) wait.close() pgr... 阅读全文
posted @ 2016-12-22 23:43 七月的尾巴_葵花 阅读(980) 评论(0) 推荐(0) 编辑
摘要: ru=lambda x:x.decode('u8') rp=lambda x:x.replace('\\','/') gb=lambda x:x.decode('gbk') class ZIP: def __init__(s): import zipfile,ntpath,listdir,appuifw s.ZF,s.NP,s.LD,s.A=zipfile.ZipFile,n... 阅读全文
posted @ 2016-12-22 23:37 七月的尾巴_葵花 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 其他常见的用途就是找到所有模式匹配的字符串并用不同的字符串来替换它们。sub() 方法提供一个替换值,可以是字符串或一个函数,和一个要被处理的字符串。 返回的字符串是在字符串中用 RE 最左边不重复的匹配来替换。如果模式没有发现,字符将被没有改变地返回。 可选参数 count 是模式匹配后替换的最大 阅读全文
posted @ 2016-12-22 23:34 七月的尾巴_葵花 阅读(392) 评论(0) 推荐(0) 编辑
摘要: RegexObject 的 split() 方法在 RE 匹配的地方将字符串分片,将返回列表。它同字符串的 split() 方法相似但提供更多的定界符;split()只支持空白符和固定字符串。就象你预料的那样,也有一个模块级的 re.split() 函数。 通过正则表达式将字符串分片。如果捕获括号在 阅读全文
posted @ 2016-12-09 01:14 七月的尾巴_葵花 阅读(555) 评论(0) 推荐(0) 编辑
摘要: #coding=utf-8 import MySQLdb conn = MySQLdb.connect(host='localhost',user='root',passwd='123456',charset='utf8') cursor = conn.cursor() try: #创建数据库 DB_NAME = 'test' cursor.execute('DR... 阅读全文
posted @ 2016-12-04 14:57 七月的尾巴_葵花 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-12-01 01:16 七月的尾巴_葵花 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 另一个零宽界定符(zero-width assertion)是前向界定符。前向界定符包括前向肯定界定符和前项否定界定符,如下所示: (?=...) 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分 阅读全文
posted @ 2016-11-29 21:35 七月的尾巴_葵花 阅读(1275) 评论(0) 推荐(0) 编辑
摘要: 精心设计的 REs 也许会用很多组,既可以捕获感兴趣的子串,又可以分组和结构化 RE 本身。在复杂的 REs 里,追踪组号变得困难。有两个功能可以对这个问题有所帮助。它们也都使用正则表达式扩展的通用语法,因此我们来看看第一个。 Perl 5 对标准正则表达式增加了几个附加功能,Python 的 re 阅读全文
posted @ 2016-11-28 22:47 七月的尾巴_葵花 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 原文地址: http://codingnow.cn/language/444.html 阅读全文
posted @ 2016-11-28 13:11 七月的尾巴_葵花 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一、网络知识的一些介绍 socket是网络连接端点。例如当你的Web浏览器请求www.pythontik.com上的主页时,你的Web浏览器创建一个socket并命令它去连接www.pythontik.com的Web服务器主机,Web服务器也对来自的请求在一个socket上进行监听。两端使用各自的s 阅读全文
posted @ 2016-11-28 13:02 七月的尾巴_葵花 阅读(386) 评论(0) 推荐(0) 编辑
摘要: httplib的内容上是很多,也比较简单。以下是一个非常简单的例子,使用httplib获取google首页的html: import httplib conn = httplib.HTTPConnection("www.google.cn") conn.request('get', '/') pri 阅读全文
posted @ 2016-11-27 12:05 七月的尾巴_葵花 阅读(11609) 评论(0) 推荐(0) 编辑
摘要: ru=lambda x:x.decode('u8') rp=lambda x:x.replace('\\','/') gb=lambda x:x.decode('gbk') class ZIP: def __init__(s): import zipfile,ntpath,listdir,appuifw s.ZF,s.NP,s.LD,s.A=zipfile.ZipFile,n... 阅读全文
posted @ 2016-11-23 19:59 七月的尾巴_葵花 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 在很多时候,你会想要让你的程序与用户(可能是你自己)交互。你会从用户那里得到输入,然后打印一些结果。我们可以分别使用raw_input和print语句来完成这些功能。对于输出,你也可以使用多种多样的str(字符串)类。例如,你能够使用rjust方法来得到一个按一定宽度右对齐的字符串。利用help(str)获得更多详情。 另一个常用的输入/输出类型是处理文件。创建、读和写文件的能力是许多程序所必... 阅读全文
posted @ 2016-11-23 00:22 七月的尾巴_葵花 阅读(408) 评论(0) 推荐(0) 编辑
摘要: import appuifw,e32,httplib Conn=httplib.HTTPConnection("10.0.0.172", 80) Conn.putrequest("GET",图片地址) Conn.putheader('Accept', '*/*') Conn.endheaders() gif = Conn.getresponse().read() gi=open("e:\\he... 阅读全文
posted @ 2016-11-23 00:12 七月的尾巴_葵花 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1 import appuifw as ui 2 import httplib 3 from os import abort 4 uia=ui.app 5 uin=ui.note 6 uiq=ui.query 7 e32=ui.e32 8 socket=httplib.socket 9 def cn(x):return x.decode('utf8') 10 uia.body=... 阅读全文
posted @ 2016-11-23 00:07 七月的尾巴_葵花 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 你经常需要得到比 RE 是否匹配还要多的信息。正则表达式常常用来分析字符串,编写一个 RE 匹配感兴趣的部分并将其分成几个小组。举个例子,一个 RFC-822 的头部用 ":" 隔成一个头部名和一个值,这就可以通过编写一个正则表达式匹配整个头部,用一组匹配头部名,另一组匹配头部值的方式来处理。 组是 阅读全文
posted @ 2016-11-13 21:11 七月的尾巴_葵花 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 剩下来要讨论的一部分元字符是零宽界定符(zero-width assertions)。它们并不会使引擎在处理字符串时更快;相反,它们根本就没有对应任何字符,只是简单的成功或失败。举个例子, \b 是一个在单词边界定位当前位置的界定符(assertions),这个位置根本就不会被 \b 改变。这意味着 阅读全文
posted @ 2016-11-10 22:29 七月的尾巴_葵花 阅读(285) 评论(0) 推荐(0) 编辑
摘要: #!/usr/bin/env python """A lightweight wrapper around MySQLdb.""" import copy import MySQLdb import MySQLdb.constants import MySQLdb.converters import MySQLdb.cursors import itertools import loggin... 阅读全文
posted @ 2016-11-10 21:16 七月的尾巴_葵花 阅读(984) 评论(0) 推荐(0) 编辑
摘要: #!/usr/bin/env python # -*- coding: utf-8 -*- import unittest from mock import MagicMock, patch import os import subprocess from uiautomator import Adb class TestAdb(unittest.TestCase): def s... 阅读全文
posted @ 2016-11-09 23:21 七月的尾巴_葵花 阅读(2753) 评论(0) 推荐(0) 编辑
摘要: Assert:失败时,该测试将终止 Verify:失败时,该测试继续执行,并将错误日志记录在日显示屏 Waitfor:等待某些条件变为真,一般使用在AJAX应用程序的测试 断言常用的有,具体见如下:assertLocation:判断当前是在正确的页面assertTitle:检查当前页面的title是 阅读全文
posted @ 2016-11-08 16:35 七月的尾巴_葵花 阅读(7194) 评论(0) 推荐(0) 编辑
摘要: 编译标志让你可以修改正则表达式的一些运行方式。在 re 模块中标志可以使用两个名字,一个是全名如 IGNORECASE,一个是缩写,一字母形式如 I。(如果你熟悉 Perl 的模式修改,一字母形式使用同样的字母;例如 re.VERBOSE的缩写形式是 re.X。)多个标志可以通过按位 OR-ing 阅读全文
posted @ 2016-11-04 17:22 七月的尾巴_葵花 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 你不一定要产生一个 RegexObject 对象然后再调用它的方法;re 模块也提供了顶级函数调用如 match()、search()、sub() 等等。这些函数使用 RE 字符串作为第一个参数,而后面的参数则与相应 RegexObject 的方法参数相同,返回则要么是 None 要么就是一个 Ma 阅读全文
posted @ 2016-11-03 12:24 七月的尾巴_葵花 阅读(308) 评论(0) 推荐(0) 编辑
摘要: RegexObject 实例有一些方法和属性。这里只显示了最重要的几个,如果要看完整的列表请查阅 Python Library Reference 如果没有匹配到的话,match() 和 search() 将返回 None。如果成功的话,就会返回一个 MatchObject 实例,其中有这次匹配的信 阅读全文
posted @ 2016-11-02 19:25 七月的尾巴_葵花 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 在早期规定中,正则表达式用反斜杠字符 ("\") 来表示特殊格式或允许使用特殊字符而不调用它的特殊用法。这就与 Python 在字符串中的那些起相同作用的相同字符产生了冲突。 让我们举例说明,你想写一个 RE 以匹配字符串 "\section",可能是在一个 LATEX 文件查找。为了要在程序代码中 阅读全文
posted @ 2016-11-02 11:47 七月的尾巴_葵花 阅读(1801) 评论(0) 推荐(0) 编辑
摘要: 正则表达式被编译成 RegexObject 实例,可以为不同的操作提供方法,如模式匹配搜索或字符串替换。 re.compile() 也接受可选的标志参数,常用来实现不同的特殊功能和语法变更。我们稍后将查看所有可用的设置,但现在只举一个例子: RE 被做为一个字符串发送给 re.compile()。R 阅读全文
posted @ 2016-11-02 11:47 七月的尾巴_葵花 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 正则表达式第一件能做的事是能够匹配不定长的字符集,而这是其它能作用在字符串上的方法所不能做到的。 不过,如果那是正则表达式唯一的附加功能的话,那么它们也就不那么优秀了。它们的另一个功能就是你可以指定正则表达式的一部分的重复次数。 我们讨论的第一个重复功能的元字符是 。 并不匹配字母字符 "*";相反 阅读全文
posted @ 2016-11-01 16:40 七月的尾巴_葵花 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 大多数字母和字符一般都会和自身匹配。例如,正则表达式 test 会和字符串“test”完全匹配。(你也可以使用大小写不敏感模式,它还能让这个 RE 匹配“Test”或“TEST”;稍后会有更多解释。) 这个规则当然会有例外;有些字符比较特殊,它们和自身并不匹配,而是会表明应和一些特殊的东西匹配,或者 阅读全文
posted @ 2016-11-01 00:24 七月的尾巴_葵花 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 当重复一个正则表达式时,如用 a*,操作结果是尽可能多地匹配模式。当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号时这个事实经常困扰你。匹配单个 HTML 标志的模式不能正常工作,因为 .* 的本质是“贪婪”的 RE 匹配 在 "&lt;html&gt;" 中的 "<",.* 消耗掉字符串 阅读全文
posted @ 2016-10-29 13:29 七月的尾巴_葵花 阅读(202) 评论(0) 推荐(0) 编辑