- 博客(47)
- 收藏
- 关注
原创 移动端开发&测试
三类移动应用Web App指的是移动端的Web浏览器, 其实和PC端的Web浏览器没有任何区别,只不过Web浏览器所依附的操作系统不再是Windows和Linux了,而是iOS和Android了。Web App采用的技术主要是,传统的HTML、JavaScript、CSS等Web技术栈,当然现在HTML5也得到了广泛的应用。另外,Web App所访问的页面内容都是放在服务器端的,本质上就是Web网页,所以天生就是跨平台的。Native App指的是移动端的原生应用, 对于Android是apk,对于i
2021-02-19 20:54:49 648
原创 Jenkins
CI/CDCI(Continuous integration),持续集成,强调开发人员提交了新代码后,立即进行构建、测试,根据测试结果决定是否能够正确集成。Jenkins是一个强大的CI工具。CD(Continuous Delivery),持续交付,在CI基础上,将集成后的代码部署到真实运行环境中。Jenkins教程参考...
2021-01-16 17:08:31 187
转载 node.js异步编程
node.js异步编程promisecatch()finally()Promise.all()race()参考文献:https://juejin.cn/post/6844903608882823176Nodejs最大的亮点就在于事件驱动, 非阻塞I/O 模型,这使得Nodejs具有很强的并发处理能力,非常适合编写网络应用。promiseconst myPromise = new Promise((resolve,reject) => { // ...some code if (/* 异步操
2020-11-21 16:47:50 177
原创 《深入理解计算机系统》第一章:计算机系统漫游
1.1 信息就是位+上下文系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都由一串位表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。1.4 处理器阅读并解释存储在存储器中的指令> ./hello> hello, worldshell是一个命令行解释器,如果你输入的命令不是内置的shell命令,shell就假定,这是一个可执行文件的名字,就加载并运行这个文件总线携带信息字节并负责在各个组件之间传递总线传送定长的字节
2020-11-21 15:36:59 137
原创 JavaScript学习day02
数组特点:可放入任意数据类型,用逗号隔开// 1. 利用new创建数组 var arr1 = new Array(); // 2. 利用数组字面量创建数组 var arr2 = ['a','b',1,true,2.99];//可放入任意数据类型追加元素var arr = ['a','b',1,true,2.99];//可放入任意数据类型 // 1. 新增数组...
2020-04-07 17:52:23 113
原创 JavaScript学习day01
JS的概念HTML/CSS标记语言——描述类语言HTML决定网页结构和内容(决定看到什么),相当于人的身体CSS决定网页呈现给用户的模样(决定好不好看),相当于给人穿衣服、化妆JS脚本语言——编程类语言实现业务逻辑和页面控制(决定功能),相当于人的各种动作JavaScript是一种运行在客户端的脚本语言(Script是脚本的意思)JS的作用表单动态校验(密码强度检测)网页特效...
2020-04-05 15:34:04 164
原创 关于TCP于UDP的相关知识点与问题解答
文章参考123UDP的特点UDP全程用户数据报协议,它具有以下特点:面向无连接。它不需要像TCP一样需要三次握手才能建立连接,而是想发送数据即发送数据。面向报文。发送数据时,对应用层传递下来的报文,UDP协议直接为其装上UDP协议头即交付给网络层,而不进行拆分和拼接。UDP支持一对一、一对多和多对多的传播方式。不可靠。因为没有拥塞控制,发送数据是以一个恒定的速率发送的,当网络状...
2020-04-03 12:11:28 175
原创 java学习day18——Lambda、File
文章目录Lambda表达式函数式编程思想冗余的Runnable代码Lambda参数的无参数无返回值表达方法有参数有返回值File类Lambda表达式函数式编程思想只要能获取到结果,谁去做的,怎么做的都不重要,重视结果,而非过程冗余的Runnable代码public class Demo01Runnable { public static void main(String[] ar...
2020-03-27 12:56:59 154
原创 java学习day17——线程安全
线程安全的概述多线程访问了共享数据,会产生线程安全的问题只有多线程会产生安全问题线程安全产生的原理线程安全解决方法——同步代码块/*卖票案例出现了线程安全问题,迈出了不存在的票和重复的票解决线程安全的一种方式:使用同步代码块格式: synchronized(锁对象){ 可能会出现线程安全的代码(访问了共享数据的代码) }注意: 1. 同步...
2020-03-25 20:53:57 212
原创 java学习day16——异常
异常异常的概念指在程序执行过程中,出现非正常的情况,最终会导致JVM的非正常停止在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象。Java处理异常的方式是终端处理。异常不是语法错误Throwable体系代码分析import java.text.ParseException;import java.text.SimpleDateForm...
2020-03-25 13:45:53 173
原创 Java常见问题汇总
Integer和int的区别Integer是int的包装类(引用数据类型),int是基本数据类型既然Integer是类,那么Integer变量必须先实例,而int可以直接使用因为Integer是包装类,所以有很多自带方法(如hashCode、toHexString),而int只能使用±*/等操作Integer类中“==”用于判断两个Integer对象的地址是否相同,如要判断两个Integ...
2020-03-25 12:00:26 295
原创 java学习day15——List、Set、Collections、Map
文章目录list集合ArrayList集合LinkedList集合Vector集合Set接口HashSetHashSet常用方法哈希值HashSet集合存储数据的结构HashSet集合存储元素不重复的原理HashSet存储自定义类型元素LinkedHashSet可变参数Collections集合工具类Map集合list集合list常用方法import java.util.ArrayList;...
2020-03-23 16:36:19 177
原创 java学习day14——StringBulider、集合、Iterator迭代器、泛型
文章目录StringBuilder类集合Collection集合框架Colletion常用功能Iterator迭代器增强for泛型使用泛型的好处定义和使用含有泛型的类StringBuilder类String类:字符串常量,创建后不可更改,字符串的底层是一个被final修饰的数组private final byte[] value;StringBuilder类:字符串缓冲区,可以提高字符...
2020-03-22 13:37:38 278
原创 java学习day13——final关键字、内部类
文章目录final关键字1. 可以用来修饰一个类2. 可以用来修饰一个方法3. 可以用来修饰一个局部变量4. 可以用来修饰一个成员变量Java中四种权限修饰符内部类成员内部类内部类的同名变量访问局部内部类局部内部类的final问题匿名内部类(重点)类作为成员变量类型接口做成员变量接口作为方法的参数或返回值final关键字final关键字代表最终,不可改变的。常见四种用法:1. 可以用来修饰...
2020-03-21 19:56:24 171
原创 java学习day12——Objects类、日期时间类
文章目录Object类toString方法equals方法Objects类中的equals方法日期时间类Date类DateFormat类CalendarSystem类arraycopycurrentTimeMillisObject类java.lang.Object类是java语言中的根类,即所有类的父类,它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找到的父类就是Object。一...
2020-03-20 18:34:03 166
原创 java学习day11——线程
文章目录并发和并行线程和进程线程的调度分时调度抢占式调度主线程创建线程类创建多线程程序的第一种方式:创建Thread类的子类多线程内存图解Thread类的常用方法获取线程的名称设置线程的名称sleep创建多线程程序的第二种方式:声明实现 Runnable 接口的类Thread和Runnable的区别并发和并行并发:指两个或多个事件在同一个时间段内发生(交替执行)并行:指两个或多个时间在同一时...
2020-03-12 15:22:26 155
原创 java学习day10——接口、多态
文章目录数组链表数组查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速查找某一个元素增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,吧原数组的数据复制过来数组的增删图解链表查询慢:链表中地址不是连续的,每次查询元素,都必须从头开始查询增删快:链表结构,增加/删除一个元素,对链表的整体结构没有影响,所以增删快链表中每一个...
2020-03-11 19:03:37 249
原创 java学习day09——继承、抽象
文章目录继承继承中成员变量的访问特点区分子类方法中重名的三种变量继承中成员方法的访问特点继承中方法的覆盖重写重写(Override)概念方法的覆盖重写特点方法覆盖重写的注意事项:覆盖重写的应用继承中构造方法的访问特点super关键字的三种用法this关键字的三种用法super与this关键字图解java继承的三个特点继承在继承的关系中,“子类就是一个父类”。也就是说,子类可以被当做父类看待。...
2020-03-09 20:39:13 177
原创 java学习day08——字符串、static关键字
文章目录字符串字符串的特点字符串的常见3+1种方式三种构造方法:一种直接创建:字符串的常量池字符串常用方法字符串之间的比较字符串的获取相关方法字符串的截取方法字符串的转换相关方法字符串的分割方法static关键字——数据共享static关键字修饰成员static关键字修饰成员方法静态static的内存图静态代码块数组工具类Arrays数学工具类math字符串字符串的特点字符串的内容永不可变...
2020-03-08 18:49:44 354
原创 java学习day07——常用的API
常用的APIAPI(Application Programming Interface),应用编程接口JDK API 1.6.0中文版Scanner类Scanner类的功能:可以实现键盘输入数据,到程序当中。引用类型的一般使用步骤:导包import 包路径.类名称;只有java.lang包下的内容不需要导包,其他的包都需要import语句。创建类名称 对象名 = new...
2020-03-07 19:56:21 277
原创 java学习day06——面向对象基础
面向对象public class Demo01PrintArray { public static void main(String[] args) { int[] array = {10, 20, 30, 40, 50}; // 使用面向过程 System.out.print("[");//去掉ln,不换行 for (in...
2020-03-06 21:44:11 1053 7
原创 java学习day05——数组、内存划分
数组数组的特点:数组是一种引用数据类型数组中的多个数据类型必须统一数组的长度在程序运行期间不可改变数组的初始化:动态初始化(指定长度)数据类型[] 数组名称 = new 数据类型[数组长度];静态初始化(指定内容)数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,…};注意事项:虽然静态初始化没直接告诉长度,但是根据大括号里面元素的具体内容...
2020-03-03 18:26:27 436
原创 java学习day04——循环、IDE
循环for循环for(初始化表达式1;布尔表达式2;步进表达式4){ 循环体3}//执行顺序:1 2 3 4>2 3 4>2 3 4...2不满足为止public class Demo09For{ public static void main(String[] args){ for(int i=1;i<=5;i++){ System.out.printl...
2020-03-02 20:28:04 251
原创 java学习day03——运算符
运算符加 +减 -乘 *除 / 整数除以整数,得到的仍是整数,只看商,不看余数取模 %注意事项一旦运算中有不同类型的数据,结果将会是范围大的// int+double --> double +double double result = a+2.5;加法有三种常见用法数值的加法对于char类型,计算之前,char会被提升为int,然后再计算...
2020-03-01 18:52:33 520
原创 java学习day02——java数据类型
java程序开发三步骤:编写、编译、运行.java -> .class(java字节码文件)javac.exe编译 java.exe运行HelloWorld代码(1)编写用记事本编写,修改文件后缀名为.java,文件名与程序名一定严格一致(注意大小写)//多行注释/* 第一行的第三个单词必须和所在的文件名称完全一样,大小写也要一样 public class后面代表定...
2020-02-29 20:27:51 356 1
原创 java学习day01——java基础知识
十进制与二进制的转换十进制转二进制:辗转相除法,将需要被转换的十进制不断除2,余数写在旁边,辗转相除直到除数是0位与字节位:bit,一个数字0或1,代表一位字节:byte,八位为一个字节,字节是数据存储的最小单位命令提示符cd 文件夹 到某一文件夹cd 文件夹1、文件夹2、文件夹3 进入多级文件夹cd… 回到上一级cd\ 回到根路径dir 查看当前文...
2020-02-29 14:32:40 284
原创 堆heap
定义——参考堆就是用数组实现的二叉树,所以它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。在最大堆中,父节点的值比每一个子节点的值都要大。在最小堆中,父节点的值比每一个子节点的值都要小。这就是所谓的“堆属性”,并且这个属性对堆中的每一个节点都成立。下图是一个...
2019-07-01 21:36:23 243
原创 接口测试
接口测试接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。测试后端实现是否符合接口规范接口测试的目的程序安全、效率问题怎么用模拟客户向服务器发起数据,查看响应要素1:定位服务器资源(通过url实现)要素2:模拟用户提交数据要素3:查看响应是否符合预期分类web接口测试(BS...
2019-06-28 15:10:30 1605
原创 selenium案例
from selenium import webdriverimport time#import winsound.Beep as Beep#指定是chrome的驱动#执行到这里的时候selenium回去到指定路径将chrome driver程序运行起来driver = webdriver.Chrome('D:/tools/chromedriver_win32/chromedriver....
2019-06-26 23:50:34 984
原创 css
css是一种语言,用它来描述html和xml的元素显示样式css语言书写两个格式1、写在html语言中driver.find_element_by_css_selector()常用方法1、id选择器 #id2、class选择器 .class不唯一,返回第一条满足条件的记录3、元素选择器 element元素不唯一时,可以返回很多条结果4、属性选择器 ...
2019-06-26 22:19:57 201
原创 selnium-xpath
xpath绝对路径:以单斜杠/开头,中间不能跳跃元素可以点击语句右键-copy-copy Xpath相对路径:以//开头,后面必须跟标签名称或*//div[@id=‘userA’]只在标签div下查找,中括号里的属性必须以@修饰,@后面可以加所有属性,不限定于name、id指定标签速度更快,对于压测非常有利//*[@id=‘userA’]*是会在所有标签下检索层级与属性结合要...
2019-06-26 21:42:14 159
原创 linux常见命令
请你说一说Linux命令(查看进程、top命令、查看磁盘)查看进程:ps命令ps命令查找与进程相关的PID号:ps a 显示现行终端机下的所有程序,包括其他用户的程序。ps -A 显示所有程序。ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。ps -e 此参数的效果和指定"A"参数相同。ps e 列出程序时,显示每个程序所使用的环境变量。ps ...
2019-06-24 21:19:52 166
原创 计算机网络-熟悉网络环境
ping命令1、ping 127.0.0.1-127.255.255.255(本地回环地址,ping任意一个都行),如果本地址不能ping通,说明本地机TCP/IP协议不能正常工作。2、Ping本机的IP地址,用IPConfig查看本机IP,然后Ping该IP,通则表明网络适配器(网卡或MODEM)工作正常,不通则是网络适配器出现故障。3、Ping同网段计算机的IP,Ping一台同网段计算机...
2019-06-24 20:57:05 905
原创 python 写入mysql
安装安装方法mysql -u 用户名 -p 密码 是连接数据库服务器的命令。要求你输入自己连接数据库的用户名和密码。考虑密码如果直接明文写在这条命令行上,有些不方便(怕被别人看到),可以像你写的那样,只输入:mysql -u 用户名 -p 然后回车,此时提示你输入密码,这时候输入的密码就不再是明文的了。数据库连接数据库连接存在一些前提:1、已经创建了数据库 resonant_earth...
2019-06-24 13:02:16 3464
原创 python高性能编程(lineprofiler+multiprocessing)
line_profiler的使用关于安装中出现的错误,参见这个lineprofiler安装错误line_profiler的作用是得到程序每一行执行所使用的时间。from line_profiler import LineProfilerlp = LineProfiler()# 把函数传递到性能分析器lp_wrapper = lp(transferdata)lp_wrapper('C:/...
2019-06-23 16:20:57 835
转载 丑数 python
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:对于已知的丑数序列,后面的丑数一定是已知序列中的数字乘以2/3/5得到的。对当前序列中的数字乘2/3/5得到的数字中最小的数字才能放入序列。现在已知序列为[1],只有一个元素1,对该元素乘2/3/...
2019-06-18 10:46:39 955
原创 整数中1出现的次数
题目:求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路:一个数n具有个位、十位、百位…对于任意位,该位置上1出现的次数与该位...
2019-06-17 22:19:16 149
转载 大型网站的性能提升(测试)
大型网站的性能:直观来说,性能就是访问速度快慢。具体来说,性能就是一个用户从输入网址按下回车键看到网页显示在眼前所经过的时间快慢。用户访问网站的整个流程:用户输入网站域名,通过DNS解析,找到目标服务器IP,请求数据经互联网达到目标服务器,目标服务器收到请求数据,进行处理(执行程序、访问数据库、文件服务器等)。处理完成后,将响应数据经互联网返回用户浏览器,浏览器得到结果进行计算渲染显示给用...
2019-06-17 19:13:55 347
原创 表示数值的字符串python
讨论区看到的答案,太妙了,值得收藏class Solution: # s字符串 def isNumeric(self, s): sign,decimal,hasE = False,False,False for i in range(0,len(s)): if s[i] in ['e','E']: ...
2019-06-11 17:56:28 690 2
原创 删除链表中重复的节点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路整体需要考虑第一个数字和第二个数字相同的情况,这种情况要设立一个新的头节点,放置于链表的首部class ListNode: def __init__(s...
2019-06-11 13:00:41 107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人