自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

泽宇的博客

程序媛的自我修养

  • 博客(43)
  • 收藏
  • 关注

原创 There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION]

注意,因为证书认证协议版本问题,无法通过 pip 的升级命令进行升级。(Python.org 网站已停止支持 TLS 版本 1.0 和 1.1)首先出现这个问题的根本原因是请求的目标网站不再支持TLS版本1.0和1.1。在下载库的时候使用了第一个方法,不再报错。

2023-09-04 15:21:20 877

原创 虚拟机安装Centos获得ip地址

其中ens33 中inet后即为ip

2021-08-16 15:38:17 183

原创 深入理解Java:SimpleDateFormat安全的时间格式化

深入理解Java:SimpleDateFormat安全的时间格式化  想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一个具体的场景来一步步的深入学习和理解S

2021-07-15 21:44:59 396

原创 pytest 经典入门教程

https://www.cnblogs.com/superhin/p/11677240.html

2021-06-25 17:55:33 223 2

原创 APPIUM 源码分析文章合集

https://testerhome.com/topics/2463 分析底层SEVERhttps://testerhome.com/topics/1810 分析Android平台的

2021-06-25 10:21:16 170

原创 启动速度优化

Android性能优化之启动优化实战https://zhuanlan.zhihu.com/p/89065557https://www.jianshu.com/p/9a99d303562c

2021-06-23 19:00:45 103 2

原创 2021-06-23

内存优化的例子https://cloud.tencent.com/developer/article/1034241?from=article.detail.1150964腾讯的内存优化方法https://cloud.tencent.com/developer/article/1150964

2021-06-23 18:47:16 71

原创 LeetCode刷题------题目4求数组中位数

classSolution{publicdoublefindMedianSortedArrays(int[]nums1,int[]nums2){intl1=nums1.length;intl2=nums2.length;intl3=l1+l2;int[]allnums=newint[l3];for(inti=0;i<l1;i++)...

2021-04-19 22:28:27 137

原创 LeetCode刷题------题目3无重复字最长子串

此段代码是我的初次实现,非常尴尬,987个例子通过了986个,但是太长的字符串会内存超出限制,时间超出限制。需要优化复杂度。记录下原始思路,和优化后作对比哦。classSolution{publicintlengthOfLongestSubstring(Strings){ Set<String>min_string=newHashSet<String>();Set<String>m...

2021-04-19 18:25:31 102

原创 测试开发工程师常见面试题----Jenkins

Jenkins是一个开源自动化服务器,它是用Java开发的持续集成工具。 Jenkins通过持续集成并促进持续交付的技术方面,帮助实现软件开发过程中非人为部分的自动化。 Jenkins是什么? Jenkins是一个开源自动化服务器。 Jenkins是用Java开发的持续集成工具。 Jenkins通过持续集成并促进持续交付的技术方面,帮助实现软件开发过程中非人为部分的自动化。 Jenkins是一个开源软件;Jenkins是一个自动化服务器;Jenkins可以帮助自动化软件开发过程;Jenkins可以通

2021-04-16 16:24:53 1506

原创 测试开发工程师常见面试题----网络基础

2.输入 URL 到网页显示出来的全过程a. 输入网址b. DNS解析c. 建立tcp连接d. 客户端发送HTTP请求e. 服务器处理请求f. 服务器响应请求g. 浏览器展示HTMLh. 浏览器发送请求获取其他在HTML中的资源。3.HTTP 和 HTTPS 的区别HTTPS 里面是要有证书的,HTTP 并没有证书。证书的作用是证明你是这个网站的拥有者。谁去证明?最顶级的 CA 去帮你证明,这些顶级的 CA 都是浏览器、操作系统本身就自动帮你集成,而且自动添加到设置信任里面去;

2021-04-16 16:17:44 326

原创 测试开发工程师常见面试题----Linux

1. 工作中常用的 Linux 命令有哪些?2.什么命令可以帮助 Linux 执行 Windows 上传的脚本?改变编码格式 vim test.sh :set ff?// 显示dos的话 :set ff=unix:wq3简述 Linux 三剑客 grep 命令 根据用户指定的模式 pattern 对目标文本进行过滤,显示被模式匹配到的行; grep [options] pattern [file] 常用参数: -v 显示不被pattern匹配到的行 ...

2021-04-15 14:36:44 668

原创 测试开发工程师常见面试题----语言基础python

1)一、_ init _ _ 和 _ _ new _ _是什么?new方法的参数是cls–当前类本身init方法的参数是slef–实例化的对象new方法:实例化对象(开辟内存空间)init方法:对实例化对象进行初始化操作new方法和init方法会在创建对象时自动被调用,new方法在init方法之前被调用new方法实例化对象(创建一个内存空间),将实例化的对象return给init,init再对这个实例对象(内存空间)进行初始化属性,如果new方法没有return,init方法不会被调用

2021-04-15 14:22:20 165

原创 测试开发工程师常见面试题----语言基础java

三、语言基础1、Java1.请你说一下多态2请问Java中接口与抽象类是否相同?3.请你说一下垃圾回收机制4、请你说一下Java中的异常处理机制5.请问多线程是什么?6、请你来聊一聊集合类和内存7.请你说一下java jvm的内存机制8.请你说一说有哪几种垃圾回收算法9.请你说一说垃圾收集机制10.请你回答一下GC Root可以是哪些11.请你说一下OOM可能发生在哪,怎么查看,怎么调优12.请你说一下类加载13.请你说一下AQS14.请你说.

2021-04-15 12:16:27 218

原创 测试开发工程师常见面试题-----功能测试用例设计

一.功能测试用例的设计二、功能设计实例1)测试用例里有什么?2)实际的测试用例等价类,边界值。这二者都隶属于最常用、最典型、也是最重要的黑盒测试方法。有数据输入(编辑框)的地方,可以使用等价类划分法。例如用户登录、注册、新建、查询。等价类划分:并是整个集合:完备性; 子集互不相交:保证一种形式的无冗余性;等价类还会分为有效等价类和无效等价类两种。有效等价类指的是合理的、有意义的输入,主要用来验证功能是否实现了某个功能。无效等价类与有效等价类相反,指的是无意义的,超过软件.

2021-04-15 12:08:10 932

原创 测试开发面试题(一)-----pytest相关

1)既然有unittest那么为什么还要用pytest呢? 这是因为pytest有以下的特点: 入门简单,文档丰富,而且文档中有很多实例参考 支持参数化,可以从教细的力度控制测试用例 能够支持简单的单元测试和复杂的功能测试 支持测试跳过,失败case标记 支持失败重试 支持由nose,unittest编写的测试用例 支持HTML报告 和jenkins持续集成很方便 具有很多第三方插件,并且可以自定义扩展 ...

2021-04-14 15:56:44 10024 1

翻译 携程机票APP主流程团队升级持续集成/持续交付(以下均称CI/CD)提高效率及质量的实践

一、前言随着携程机票APP全流程由Native技术栈转向RN(React Native,以下均称RN),同时引入了BDD的敏捷开发模式,以应对日益增长的产品需求。高速的开发迭代过程中,如何确保稳定且可持续的交付质量,显得尤为重要。本篇旨在介绍携程机票APP主流程团队使用与升级持续集成/持续交付(以下均称CI/CD)来兼顾前端开发高效率及高质量的实践。二、机票APP主流程CI/CD2.1 持续集成/持续交付在软件工程中,持续集成是一种在保证质量的前提下将每天新增代码合并到共享主线中的做法。持续

2021-04-14 12:15:29 568

原创 测试开发面试题(一)-----appium相关

1)APP的一个页面,你怎么区分是原生Native页面,还是H5?2)在 UI 自动化用例中如何切换 Android 原生页面和 H5 页面3) Hybrid App 和 H5 页面如何测试?4)Appium 每层的结构,appium 底层是基于什么?5)Appium 每层的结构,原理,如果 UI 自动化用例执行失败应该怎样排查?6)UI 用例一共有多少条,如何管理 UI 用例?7)定位xpath路径都有哪些方法?8)如何定位一个动态的元素?9)如何定位类似于悬...

2021-04-13 19:16:30 1851 2

原创 Android Studio插件Code Iris——自动生成UML类图

今天给大家推荐一个非常好用的Android Studio插件Code Iris。这个插件可以帮我们自动生成项目的UML图,并且随着我们代码跳转,将UML图展示的中心和重点变成我们正在浏览的类。下面介绍Code Iris的安装和使用。一)安装1.1)在AS-&gt;Settings-&gt;Plugins 中搜索Code Iris,并安装。二)使用2.1)生成UML图,在需要生成UML图的项目点击C...

2018-06-26 09:14:34 15997 5

原创 Android hook技术之小试牛刀

一、了解Hook概念Hook是钩子的意思。我们知道应用运行依赖系统各种各样的API。当某些API不能满足我们的要求时,如果想修改它的功能,使之能满足我们的要求。就要用到Hook技术。在Android开发中,我们同样能利用Hook的原理让系统某些方法运行时,实际调用的是我们自己定义的方法,从而满足我们的要求。二、利用java反射实现简单的Hook将在Manifest中注册的MainActivity替...

2018-06-25 16:36:29 1049

原创 Android插件化的发展历史

2012年,AndroidDynamicLoader框架。通过动态加载不同的Fragement,把想换的页面都换掉。我们也是在这个项目中第一次看到了如何通过addAssetPath来读取插件中的资源。2013年,23Code。23Code提供了一个壳,在这个壳里可以动态下载插件,然后动态运行。可以在壳外编写各种各样的控件,放在这个框架下去运行。2014年初,淘宝的Altas技术。2014年底,dy...

2018-06-25 15:22:45 489

原创 App打包原理——Android项目构建过程

从开发者直观感受上来说,项目构建就是从Android Studio 点击'run'到生成apk之间的过程。今天我们讲解下这个过程中,用到的构建工具和构建的过程。一)如下是一个apk解压后的目录,我们先有个印象,后面会提到每个目录在构建过程中是如何生成的。   AndroidManifest.xml       程序全局配置文件   classes.dex                Dalvik...

2018-06-25 10:00:07 5665 1

原创 Android 插件化内功修炼

在将APP项目插件化时,遇到bug容易一头雾水。其实要想理解插件化技术,首先需要了解Android系统的底层实现。下面是我自己总结的android插件化内功修炼。弄懂以下几点,应该对网上各种插件话的框架原理能明白个7788了。第一点:App打包的流程。一次打包操作中途到底经历了什么?资源打包、dex生成、签名等每一步都如何执行?第二点:App的安装流程。安装App的这段代码在什么地方?App下载到...

2018-06-23 10:09:12 597

原创 Small框架编译错误 Error:Execution failed for task ':app.main:preBuild'.

快速解决:降低as版本(一般2.3.3没这个问题),使用最新的small版本原理解决:使用开发版本,自己修改small框架

2018-06-22 11:55:30 531

原创 mac 系统无脑卸载Android Studio方案

mac删除as ,删不干净重新安装,会发现以前的插件、配置文件都在。由于这些导致的错误依然存在,下面是完整删除as的步骤。1)打开终端2)复制以下代码,删除asrm -Rf /Applications/Android\ Studio.apprm -Rf ~/Library/Preferences/AndroidStudio*rm ~/Library/Preferences/com.google...

2018-06-22 09:04:34 738

原创 AndroidStudio 错误:Read-Only Status of Files

点击图片右下角锁按钮解锁即可。

2017-01-04 16:22:50 4149

原创 android通信机制学习(一)

一、 Android SDK 网络包Java.net                        提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。        java.io                        虽

2016-12-29 11:29:51 440

转载 Android学习笔记之图像颜色处理(ColorMatrix)

对图像进行颜色方面的处理,通过使用颜色矩阵(ColorMatrix)来实现。从而可以达到很多特效如黑白老照片、泛黄旧照片等等。1.颜色矩阵(ColorMatrix)这里有详细的介绍:http://developer.Android.com/reference/android/graphics/ColorMatrix.html不过是英文的,在这里我就先导读一下。一

2016-11-23 10:12:48 436

原创 requestDisallowInterceptTouchEvent方法

在android 事件传递的过程中,事件一层一层向下传递,直到父类有拦截,否则会一直传递到底层View的onTouchEvent方法。如果父类有拦截,则直接跳过子类,走父类的onTouchEvent方法。冒泡过程中只会有一个控件的ontouchEvent方法返回true,返回true代表事件不再向上冒泡。返回false会继续向上冒泡。其中,requestDisallowInte

2016-11-09 11:37:24 822

原创 触摸事件分发响应

事件的产生和传递:发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中;UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow);主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步;找到合适的视图控件后,就会调用视图控件

2016-11-08 17:46:18 254

原创 正则表达式学习

文章参考正则表达式就是对字符串的操作。正则是语言无关的。正则给我们一些元字符,这些元字符可以理解成一些已经定义好的通配符,使用它们在字符串中找到我们想要的匹配。正则用处很多,像采集器、敏感词过滤、URLRewite、Validator中都会用到。下面我们介绍一些元字符:第一种是: .:匹配除\n之外的任何单个字符。第二种是: [ ] :匹配括号中的任何一个字符。

2016-11-03 12:02:20 175

原创 EmptyThrowable: The APK file does not exist on disk.

报错。但是我去生成apk内查看,发现生成的包名为时间戳明显不一样。尝试解决方法如下:对gradle进行刷新即可。

2016-10-06 22:04:40 753

原创 关于gradle的学习记录

一、基础介绍Gradle是以Groovy语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。基于groovy脚本构建,其build脚本使用groovy语言编写。支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirs二、快速学习gradle看了一篇文章,非常好。这里记录一下。gradle

2016-10-06 15:43:26 227

原创 【Service】Service长时间前台运行

下图是android官方文档的资料,翻译一下,便于更好的理解。前台Service是一直活跃的,所以系统不能因为内存不足而杀死它。而且它必须在status bar 创建一个Notification。这个通知将一直存在直到前台Service停止或者移除出前台。因为用户需要,一个Music Player 的播放音乐的Service必须放在前台。这个Notification 可以显示正在播放的

2016-08-10 14:26:29 477

原创 【设计模式】设计模式学习心得

接口回调和上转型是设计模式的解耦核心,可以说几乎所有的模式都是建立在这两者的应用之上的。接口回调其本质与上转型是一样的,不同的是:接口回调是用接口句柄来得到并调用实现这个接口的子类的引用。而上转型则是用父类句柄来得到并调用继承此父类的子类的引用。=======================================================================

2016-08-09 16:56:46 456

原创 【BUG集合】

1. 在创建工程时,每个工程都会生成一个支持包appcompat_v7。如果不想生成这个包,在创建项目时选择最低兼容的API 高于4.0即可。

2016-07-04 16:46:33 236

原创 【UI】RecyclerView的使用

本文先讲解如何在eclipse 4.4 中导入兼容包v7,再用实例讲解RecyclerView的使用方法。一、导入兼容包v71. 下载v7的jar包,复制到需要引入工程的libs目录下。(保证运行时能够引用)2. 右键加入的jar包,选择Build Path->Add To Path。(保证编译时能够引用)3. 项目中可以使用Recyclerview.

2016-07-04 11:34:12 202

原创 【UI】【View】MotionEvent类详解

本文将详细讲解MotionEvent类的一些成员和方法。了解MotionEvent,可以更好地了解控件的一些特效,如拖动控件或多点缩放控件。同时,掌握MotionEvent类也是学好android触控技术的基础。一、MotionEvent常见的常量1)单点动作ACTION_DOWN   A pressed gesture has started, t

2016-06-29 12:02:38 459

原创 【UI】【View】View事件分发(一)

一个触摸事件在源码中被包装成的一个MotionEvent,然后传入Activity的dispatchTouchEvent方法中进行处理。(MotionEvent,请看另一篇博客,)

2016-06-29 11:05:46 358

原创 【性能优化】【UI】性能优化之ListView

重要

2016-03-07 14:52:51 427

空空如也

空空如也

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

TA关注的人

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