Appium之uiautomator定位元素

1).通过text文本定位语法   new UiSelector().text("text文本") #text loc_text = 'new UiSelector().text("图书")' driver.find_element_by_android_uiautomator(loc_text).click() 2).如果文本比较长,可以用textContains模糊匹配   new UiSelector().textContains("包含text文本") # textContains
分类: 其他 发布时间: 06-14 22:52 阅读次数: 4

nginx性能优化

1、worker_processes :通常配置成cpu的总核数,或者其2倍,性能会更好。这可以 减少进程间切换带来的消耗。还可以同时使用worker_cpu_affinity来绑定cpu,使得每个worker进程独享一个实现完全的并发,性能更好,不过这个只对linux系统有效。 2、events:里面的事件模型,Linux推荐使用epoll模型,FreeBSD推荐采用kqueue 3、worker_rlimit_nofile:描述一个nginx进程打开的最多的文件数目。配置成跟   linu
分类: 其他 发布时间: 06-14 22:52 阅读次数: 4

【Java】HttpPost 类

package com.example.jtuzi.myapplication; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AlertDialog; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.Ou
分类: 其他 发布时间: 06-14 22:52 阅读次数: 4

C++之运算符重载(前置++和后置++)

今天在阅读《google c++ 编程风格》的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意: 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理由是 前置自增 (++i) 通常要比后置自增 (i++) 效率更高。于是我查了查前置++和后置++的区别。 注意:《more effective c++》条款8也专门叙述了问题。后来我发现,下面的文章基本就是它的翻版,哈哈 前置++和后置++的区别 int a = 0; ++ a; //前置++ a++; /
分类: 其他 发布时间: 06-14 22:52 阅读次数: 4

第四章作业 员工信息增删改查

现要求你写一个简单的员工信息增删改查程序,需求如下: 当然此表你在文件存储时可以这样表示 1,Alex Li,22,13651054608,IT,2013‐04‐01 2,Jack Wang,28,13451024608,HR,2015‐01‐07 3,Rain Wang,21,13451054608,IT,2017‐04‐01 4,Mack Qiao,44,15653354208,Sales,2016‐02‐01 5,Rachel Chen,23,13351024606,IT,2013‐03
分类: 其他 发布时间: 06-14 22:52 阅读次数: 3

解决ssh远程连接错误问题

使用 Xshell 远程连接服务器时,经常会出现这么个错误提示 WARNING! The remote SSH server rejected X11 forwarding request. ➜ ~ ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 经过几经搜索,终于找到解决办法 1、安装xorg-x11-xauth sudo yum install "xorg-x11-font*" xorg-x11-xauth 2、调整X11参数 X
分类: 其他 发布时间: 06-14 22:52 阅读次数: 4

啃啃算法2-排序和二叉查找树-分治-动态规划-贪心的区别

1.一般实际生活中我们遇到的算法分为四类: 一>判定性问题 二>最优化问题 三>构造性问题 四>计算性问题 而今天所要总结的算法就是着重解决 最优化问题 《算法之道》对三种算法进行了归纳总结,如下表所示: 标准分治 动态规划 贪心算法 适用类型 通用问题 优化问题 优化问题 子问题结构 每个子问题不同 很多子问题重复(不独立) 只有一个子问题 最优子结构 不需要 必须满足 必须满足 子问题数 全部子问题都要解决 全部子问题都要解决 只要解决一个子问题 子问题在最优解里 全部 部分 部分 选择与
分类: 其他 发布时间: 06-14 22:52 阅读次数: 3

java 图片上传方法

 这个上传图片比较简单,将图片上传到程序里的特定文件夹中,读取时直接读取。 jsp页面 <%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>上传图片</title> <%@ include file="../commons/jsp/include.jsp"%> <script type="text/javascr
分类: 其他 发布时间: 06-14 22:52 阅读次数: 3

Confluence 6 配置手动备份

如果你希望关闭自动备份,你可以选择手动导出保存站点。请参考 Manually Backing Up the Site 页面中的内容获得更多的信息。 这些文件没有自动备份在同样的路径中,这些文件存储在 temp 目录中。你可以通过定义 <Confluence-home>/temp 目录来修改压缩的 XML 文件的存储位置。请参考 Confluence Home and other important directories 页面中的内容来获得更多的信息。 https://www.cwiki.us
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

数据备份、pymysql模块

MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。 #3. 导出表: 将表导入到文本文件中。  一、使用mysqldump实现逻辑备份 #语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 db1 > d
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

mybatis-config.xml 和 mapper基本设置

mybatis-config.xml : <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 读取db.properties文件 --> <properties
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

第 14 章 结构和其他数据形式(enum枚举)

1 /*----------------------------- 2 enum.c -- 使用枚举类型的值 3 -----------------------------*/ 4 5 #include <stdio.h> 6 #include <string.h> 7 //#include <stdbool.h> //C99特性 8 9 #define LEN 30 10 11 char* s_gets(char *st, int n); 12 13 e
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

序列解压

python对可迭代对象可按要求解压获得对应的值。 1 #可迭代对象解压 2 a, b, c = 'hel' 3 print(a, b, c) 4 5 #当解压对象和赋值对象数量不匹配是报错 6 try: 7 a, b = 'hel' 8 except ValueError as e: 9 print('在第{}行产生异常,解压的数量不匹配'.format(e.__traceback__.tb_lineno)) 10 11 12 #使用*号解压任意个数可
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

Linux C 实现一个简单的线程池

线程池的定义 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。 什么
分类: 其他 发布时间: 06-14 22:47 阅读次数: 4

Tomcat启动报错:This file is needed to run this program

Tomcat版本为 8.5.29。 1.情景 kill调用tomcat进程后,重启tomcat报如下错误: Cannot find /usr/local/apache-tomcat-8.5.29/bin/setclasspath.sh This file is needed to run this program 2.解决方法 编辑 catalina.sh,发现前两行多了如下内容: export CATALINA_BASE=$CATALINA_BASE2 export CATALINA_H
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

第 1 课 Go 简介和开发环境搭建

(课程地址: http://study.163.com/course/courseLearn.htm?courseId=306002&from=study#/learn/video?lessonId=421012&courseId=306002) 1: GO语言的特点: 类型安全和内存安全: 以非常直观和极地代价的方式实现高并发: 高效的垃圾回收机制: 快速编译(解决C语言中头文件太多的问题):如果引用没有用的包,会报错。 为多核计算机提供性能提升的方案: UTF-8编码的支持: 2:常用命令
分类: 其他 发布时间: 06-14 22:47 阅读次数: 4

第一章作业购物车程序

数据结构: goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ...... ] 功能要求: 基础要求: 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表 2、允许用户根据商品编号购买商品 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4、可随时退
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

Spark调优秘诀

1.诊断内存的消耗 在Spark应用程序中,内存都消耗在哪了? 1.每个Java对象都有一个包含该对象元数据的对象头,其大小是16个Byte。由于在写代码时候,可能会出现这种情况:对象头比对象本身占有的字节数更多,比如对象只有一个int的域。一般这样设计是不合理的,造成对象的“浪费”,在实际开发中应避免这种情况。 2.Java的String对象,会比它内部的原始数据要多出40个字节。因为它内部使用char数组来保存内部的字符序列的,并且还得保存诸如数组长度之类的信息。而且String使用的是U
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

linux 使用ssh-keygen生成ssh公钥和私钥

linux一般为在自己的家目录下建立 .ssh 文件夹 中生成密钥 /home/username/.ssh 生成的命令如下: ssh-keygen -t rsa -C "[email protected]" 其中 [email protected] 可以随意些,一般建议包含@
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3

2-4 原理图图纸设置

整体关于PCB原理图纸张的设置 (如同一张白纸,你需要多长多宽长什么样的图纸,都可以自己设置) 1、新建一个原理图,在原理图里面右击、、、看下图 下面是关于做一个标题模板,目的是方便以后使用
分类: 其他 发布时间: 06-14 22:47 阅读次数: 3