首页 文章 精选 留言 我的

精选列表

搜索[自动出价],共10000篇文章
优秀的个人博客,低调大师

如何用简易代码自动生成经典语录

“不要空想不可能的事情” “增加自己的幸福感” “我们最终将创造地面,并呵护它” “保持希望并学会放弃奇迹” 上面所有引号内的句子都是由一段代码生成的,使用的程序由少于20行的python代码组成。 当涉及到生成自然语言时,人们通常会想到使用高级数学的高级人工智能系统,然而,这并不总是正确的。在本文中,我将使用马尔科夫链和一个鸡汤语录数据集来生成新的鸡汤文字。 马尔科夫链 马尔可夫链是一种仅基于前一事件来预测下一事件的随机模型。拿猫咪的状态切换来简单举例:我有一只猫咪,她不是吃、睡觉就是在玩玩具。虽然她大部分时间是睡觉,不过偶尔会醒来吃点东西,通常情况下她吃

优秀的个人博客,低调大师

rhel7 ansible 自动化部署示例

环境: centos 7 设置系统limit为65535 详见:http://www.cnblogs.com/qq78292959/archive/2012/03/07/2383337.html 关闭selinux 1 2 3 4 /etc/sysconfig/selinux SELINUX=disabled 安装ansible yum install epel-releaseansible 配置ssh key 配置ansible(ansible目录ansible_test) 1、修改ansible配置:vi /etc/ansible/ansible.cfg 1 2 #uncommentthistodisableSSHkeyhostchecking host_key_checking=False #关闭knownhosts提醒 2、设置hosts:vi ansible_test/hosts 1 2 3 4 5 6 7 8 9 [harbor]-->服务名称命名 10.199.133.157-->ip地址 10.199.133.158 [registry] 10.199.133.159 [mysql] 10.199.132.136 3、设置全局变量ansible_test/group_vars/all.yml 1 2 3 4 5 6 open_trigger: "on" -->on默认会转化为True需要加上双引号 mysql_host:10.199.133.158 mysql_user:root mysql_pwd:21@AAAsafqqqsQ registry_url:10.199.133.159:5000 harbor_ip:10.199.133.157 4、ansible_test/harbor.yml示例配置 harbor.yml 1 2 3 4 5 -hosts:harbor-->对应hosts中的harbor定义 roles: #-docker-->对应ansible_test/roles/docker,不执行 -master-->对应ansible_test /roles/master -test_docker_dns-->对应ansible_test /roles/test_docker_dns 5、ansible task目录 ls -l ansible_test/roles/docker/ 1 2 3 4 total0 drwxr-xr-x2rootroot24Jul132016files-->文件存放 drwxr-xr-x2rootroot21Aug815:59tasks-->ansible执行任务 drwxr-xr-x2rootroot22Jul132016templates-->模板 cat roles/docker/tasks/main.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 --- ###起始行 -name:Copyyumrepo file -->拷贝文件,放置在files目录中 copy:src=docker.repodest= /etc/yum .repos.d /docker .repo -name:Copydockerimages-->拷贝目录 copy:src=images/dest= /tmp/images/ -name:Copycontainerconfigfiles-->批量拷贝 copy:src={{item.src}}dest={{item.dest}} with_items: -src:config /jobservice/ dest: /apps/conf/harbor/jobservice/ -src:config /ui/ {{use_by}}/-->引用全局变量 dest: /apps/conf/harbor/ui/ -src:config /nginx/ dest: /apps/conf/harbor/nginx/ -name:Importdockerimages-->批量执行命令 command :dockerload-i{{item}} with_items: - /tmp/images/golang . tar - /tmp/images/deploy_log . tar - /tmp/images/deploy_jobservice . tar - file :path= /var/log/harbor_jobservice_audit .logstate= touch mode= "u=rw,g=r,o=r" -->创建文件 -lineinfile:dest= /etc/resolv .confline= "nameserver192.168.209.254" -->增加目标主机resolv.conf的nameserver解析 -lineinfile:dest= /etc/resolv .confstate=absentregexp= "10.199.129.21" -->删除10.199.129.21域名解析 -lineinfile:dest= /apps/conf/harbor/ui/env regexp= '^HA_PROXY_ADDR=' line= 'HA_PROXY_ADDR={{domain_name}}' -->引用全局变量替换内容 -replace:dest= /apps/conf/harbor/nginx/nginx .confregexp= '(.*upstreamregistry.*{.*\n.*)server.*' replace= '\1server{{registry_url}};' -->替换upstreamregistry后一行内容 -lineinfile:dest= /apps/conf/harbor/registry/config .ymlregexp= '(.*rootdirectory:)' line= '\1{{rootdirectory}}' backrefs= yes -->引用并替换内容 -name:Deleterestart file -->删除文件 file :path=~ /restart_docker .shstate=absent -name:Yummakecache-->执行linux命令 command :yummakecache -name:Installdocker-->安装软件 yum:name=dockerstate=latest -name:Updatedockerconfig file -->使用模板替换文件 template:src=docker.j2dest= /etc/sysconfig/docker -name:Enabledockerservice-->启动服务 service:name=dockerenabled= yes state=started 流程图 执行部署harboransible-playbook -i hosts harbor.yml 本文转自 qwjhq 51CTO博客,原文链接:http://blog.51cto.com/bingdian/1893465

优秀的个人博客,低调大师

Android自动化测试之Robotium学习(四)

上一篇遗留了两个问题:一、如何找到要测试的apk的包名和主类名。二、怎样对要测试的apk进行去签名,并且使用debug签名。 一、先解决第一个问题,如何找到要测试的apk的包名和类名。 你要是有程序的源码或者是在测试你自己写的程序,这样就很简单了,你可以很清楚的找到你要测试的程序的包名和主类名。但是,我们通常遇见的情况就是只有一个apk,就比如只有一个豌豆荚apk。 主要有一下三种方法:1)。把豌豆荚apk装到模拟器或者真机上,然后到eclipse里面查看Logcat界面,进入豌豆荚主界面,你会在Logcat里面找到AcativityManager一项,后面会显示出你的主界面的包名和类名。如下图所示。 2)。使用Hierarchy Viewer这个工具查看。这个是Android tools下的工具,在eclipse选项里也存在,在eclipse的选项“DDMS--Java”那个选项里可以看到。不过在eclipse里使用这个工具有时会连接不上真机,我一般都是单独使用“Hierarchy Viewer”这个工具。这个工具在你的android sdk安装路径下的tools文件包里,名字叫做“hierarchyviewer.bat”。我一般都是把它发送到桌面上一个快捷方式启动,方面连接。这个工具的使用也很简单。连上真机或者打开模拟器,然后双击启动这个工具,两分钟之后,你就会看到如下界面: 这里面会详细显示你操作的模拟器或真机对应的包名和类名。当然,你在真机或者模拟器上,第一次点击豌豆荚程序进入主界面,就能找到了豌豆荚apk的包名和主类名。 3)。使用一个debug去签名工具,也可以轻松找到你要测得apk的包名和主类名,截图如下: 这个工具的使用重点在于去签名,放在第二个问题重点来讲。 二、怎样对要测试的apk进行去签名,并使用debug签名 关于android程序签名,众所周知,Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,不管是模拟器还是真实手机,每一个android程序都要会有一个签名文件。我们使用robotium进行测试apk时,也必须要知道要测程序的签名文件,否则,就只能把程序去签名然后使用debug签名。 1)。如果你拥有程序的签名文件时,你怎么添加这个签名文件呢? 在eclipse里选中项目,然后点击eclipse上面的“Windows”选项,选择最后一项“Preference”,然后点击“Android”选项,点击“Build”项,进入如下界面: 然后点击“Custom debug keystore”选项后面的“Browse”按钮,找到你的要测试程序的原始签名文件,添加进去: 然后点击“Apply”,点击“OK”即完成了签名的添加。 2)。只有一个apk时,并且不知道它的签名文件时,该怎么办? 这时我们要用到一个重签名工具re-sign.jar,这是robotium官网提供的,下载地址为: http://www.troido.de/re-sign.jar.下载之后,右键这个工具,在“打开方式”里,选择“Java(TM) Platform SE binary”选项,打开之后,显示如下: 接下来,图中已经标明,把你的apk拖进去,显示如下: 选中一个保存位置,点击图中的“保存”按钮,完成之后。会弹出如下提示: 出现这个界面,说明你对你要测的apk已经重签名成功了,这里的签名方式是debug签名。除了对程序重签名成功外,你的意外收获就是,也找到了你要测的apk的包名和主类名,也就是第一个问题的第三种方法。 签名成功后,你就可以把这个经过debug签名的apk安装到真机或者模拟器上。然后,运行你的robotium测试程序进行测试。 至此,robotium的使用,从下载到安装,以及测试代码的配置,都已详细的给出,终于可以长吁了一口气,至少不像刚写第一篇时,那位午饭说的“标题党”了。。。。。。 以后会对robotium代码测试中的一些主要问题,做一些总结,敬请期待。 本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/1001723

优秀的个人博客,低调大师

Android自动化测试之Robotium学习(二)

新建好测试程序之后,我们需要做的就是把Robotium这个包导入进你的工程里。这样才能跟Robotium关联起来。 首先要去官网下载Robotium版本包( http://code.google.com/p/robotium/downloads/list)。 现在最新的版本是3.4.1,不过我现在在用3.1版本,就以3.1版本为例说明。点击下载“robotium-solo-3.1.jar”选项,即为所需的robotium包,而“robotium-solo-3.1-javadoc.jar”为robotium的api文档包,下载解压之后如图: 打开index-all.html,即可看到robotium的各种方法,robotium只有一个类Solo,建立一个Solo对象,就可以用这个对象,调用所有的方法。 接着说导包的事情。下载完robotium包之后,进入eclipse,选中你的项目,右键,点击“Properties”选项,再点击“Resource”选项下的“Java Build Path”,选中“Librararies”选项:如下图: 此时,点击“Add External JARs…”选项,找到你的robotium包所在的位置,添加进去: 然后,再点击最后一个选项栏“Order and Export”选项,把下面的android api版本和你导入的robotium包选项都勾选,如图所示: 点击“OK”即可。 不过,有时会出现这种情况:就是你进入“Java Build Path”选项后,会多出来一个“Android Dependencies”选项,如下图所示: 此时,你要做的就是,选中“Android Dependencies”,点击右侧的“Remove”选项,把这个去掉,否则你的测试程序会出现错误。 到此为止,你已经把robotium包下载并导入到你的项目中去,然后就可以写你的robotium测试程序了,至于怎么配置你的代码文件,下篇会有详细代码给出讲解。 本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/1001521

优秀的个人博客,低调大师

android 自动化测试之MonkeyRunner学习(二)

上次说到已经配好了MonkeyRunner的运行环境,现在讲解怎么进行简单的MonkeyRunner测试。这个拖了很久才有时间和心情总结一下。真是计划赶不上变化啊。 就不说废话了。http://developer.android.com/tools/help/MonkeyDevice.html,这个地址是android上的MonkeyRunner官方文档地址。上面关于MonkeyRunner的一些方法说的很详细。本篇不是详细解释MonkeyRunner方法的文章,只是根据我的理解,结合自己的一个例子讲解一下怎么使用MonkeyRunner写测试程序。 MonkeyRunner工具共有三个类:MonkeyRunner、MonkeyDevice、MonkeyImage。 一、MonkeyRunnner类: 这个类主要用于把MonkeyRunner连接至真机或者模拟器,另外有个显示提示信息的alert方法和一个选择方法比较常用。 二、MonkeyImage类: 这个类主要是测试过程中,用来保存测试截图,把图片保存成各种格式,并且可以比较两个MonkeyImage对象。 主要常用的有两个方法:writeToFile(stringpath,stringformat),这个是保存截图的位置,和命名,可以把图片保存到sdcard里面,也可以保存到电脑里面;sameAs(MonkeyImageother,floatpercent),这个用来比较两个截图是否相同,结果为boolean值。 三、MonkeyDevice类: 这个类的方法就多了一下,主要提供了安装和卸载程序包、启动一个活动及操作键盘等事件的方法。像里面的startActivity(stringuri,stringaction,stringdata,stringmimetype,iterablecategoriesdictionaryextras,componentcomponent,flags)启动一个应用,press(stringname,dictionarytype)点击控件,touch(integerx,integery,integertype)点击控件(通过坐标定位),drag(tuplestart,tupleend,floatduration,integersteps)拖拉控件等等方法比较常用。 MonekeyRunner这个测试工具用起来不算太难,下面给出一段代码简单解释一下: FetionTest.py #coding=utf-8Python程序的第一句,添加这句使注释支持中文 #导入需要的MonkeyRunner的包,也可以是自己写的类,如果文件很多的话 fromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyDevice,MonkeyImage #连接真机,里面要写正确自己的真机对应的名字,cmd下命令下,可以用adbdevices看到 devices1=MonkeyRunner.waitForConnection(5,"1234567890ABCDEF") #连接模拟器 devices2=MonkeyRunner.waitForConnection(5,"emulator-5554") #启动飞信的主界面,这是我测的飞信程序,里面主要是配好飞信的包名和启动Activity devices1.startActivity (component='cn.com.fetion/.android.ui.activities.StartActivity') devices2.startActivity (component='cn.com.fetion/.android.ui.activities.StartActivity') #休眠8秒,便于帐号的登录 MonkeyRunner.sleep(8.0) #点击我的好友一栏,这里使用的是坐标方法 devices1.touch(202,258,"DOWN_AND_UP") #选中好友 devices1.touch(222,326,"DOWN_AND_UP") devices1.touch(442,325,"DOWN_AND_UP") #点击“加入黑名单” devices1.touch(223,563,"DOWN_AND_UP") #下面是进行截图,和保存图片 result1=device1.takeSnapshot() result1.writeToFile('E:\slack01.png','png') #点击返回键,可以找到模拟器上任何一个建对应的关键值,这个在官方文档里可以查到 device1.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP) result2=device1.takeSnapshot() result2.writeToFile('E:\slack02.png','png') 这个程序就简单说这些,另外可以对自己的程序进行优化,可以把不同的测试case封装到一个方法里,也可以把一些配置设置成全局变量,然后在不同的类里进行调用。这些需要简单了解一下Python的编程知识。 下面说一个比较好用的获取坐标的工具。就是用来获取真机上坐标的工具,当我们点击真机上的空间时,能显示真机上的点击点的坐标。 这个是一个可以自己定义的python文件,只有几句话: fromcom.android.monkeyrunnerimportMonkeyRunnerasmr fromcom.android.monkeyrunner.recorderimportMonkeyRecorderasrecorder #里面添加你的真机的名字 device=mr.waitForConnection(5,"MSM8225QRD5") recorder.start(device) 比如,我把它定义为monkey_recorder.py,然后放在G盘,在cmd下运行monkeyrunnermonkey_recorder.py,就会出现如下界面: 当我们在这个工具上点击时,真机也会跟着执行,并且会显示每一步我们点击的位置的坐标,比如,我点击打开音乐播放器会记录如下: 这个工具的好只有处你用过几次才知道的,呵呵,反正有些应用程序里很小的图标只能通过坐标获取点击事件,这个工具的优势就显示出来了。另外,需要注意,这个是不能用来获取模拟器坐标的,模拟器上的坐标只有自己下个截图工具,来量取坐标了。这一点确实很蛋疼。 软件工具都是这样,没有绝对的便利。MonkeyRunner也不例外。呵呵,这一次就写这么多吧,这个工具简单的使用介绍的也差不多了,更多的还需要自己去摸索,熟能生巧嘛。希望大家能多多分享,多多交流。 本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/962705

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册