- 博客(92)
- 收藏
- 关注
原创 VNC使用
VNC的安装和常用命令vnc server是干嘛的?VNC:虚拟网络控制台首先,它是一个用来共享linux服务器上的资源给其他分布式用户的服务,只要在一台linux 系统的机器上安装vncserver,然后开启服务,其他机器就可以通过vncserver访问这台机器上的共享资源。连接远程主机$ ssh ip地址(或者域名)可以查看当前主机的ip地址可以查看当前主机的所有ip地址配置多个桌面,可以使用如下的方法启动多个桌面的VNC进入VNC端口在Terminal中执行。
2023-04-17 13:47:41 1065
原创 Linux grep 命令
Linux grep 命令 https://www.runoob.com/linux/linux-comm-grep.htmlLinux grep 命令用于查找文件里符合条件的字符串。返回的是包含该字符串的行。grep [-参数] 条件 文件或目录条件可以是:被查找的字符串正则表达式参数:-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一行之外,并显示该行之后的内容。grep -A num text filen
2022-06-27 19:08:43 458
原创 linux知识链接收藏
linux如何杀死、暂停、继续一个后台程序https://www.cnblogs.com/wybliw/p/10237648.html
2022-02-15 15:33:16 457
原创 设置vim 显示行号
1、临时显示行号只须按ESC键退出编辑内容模式,输入“:set number”或者“:set nu”后按回车键,就可以显示行号了。行号显示只是暂时的。退出vim后再次打开vim就不显示行号了。???? 取消显示行号:输入“:set nonu”2、永久显示行号需要修改vim配置文件vimrc。在默认情况下,用户宿主目录(~)中是没有此文件的,需要在当前用户的宿主目录中手工建立,即使用下面的命令:vim ~/.vimrc ,在打开的vimrc文件中最后一行输入:set number 或者 set n
2022-02-15 13:59:45 61610
原创 shell中的各种括号
shell命令及输出:小括号 ( )算数运算:双小括号 (( ))整数比较:中括号 [ ] ——左右留空格字符串比较:双中括号 [[ ]]快速替换:花括号 { } ——左右留空格反单引号:用sub shell执行命令shell命令及输出:小括号 ( ) 在子shell中运行:(a=1);echo $a,结果是空,因为a=1不是在当前shell中运行的 数组的赋值:比如a=(1 3 5),那么${a[0]}=1;算数运算:双小括号 (( )) 表达式运算:a=1;((a+.
2022-02-15 10:02:01 1171
原创 Leetcode1553. 吃掉 N 个橘子的最少天数
【力扣】1553. 吃掉 N 个橘子的最少天数1、题目描述厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子:吃掉一个橘子。如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子。如果剩余橘子数 n 能被 3 整除,那么你可以吃掉 2*(n/3) 个橘子。每天你只能从以上 3 种方案中选择一种方案。请你返回吃掉所有 n 个橘子的最少天数。示例 1:输入:n = 10输出:4解释:你总共有 10 个橘子。第 1 天:吃 1 个橘子,剩余橘子数 10 - 1 =
2022-01-17 14:31:46 696
原创 测试计划的编写
软件测试计划如何写?软件测试计划如何编写App自动化是指给 Android或iOS上的软件应用程序做的自动化测试。自动遍历测试前沿:1、版本迭代过程中,为了保证新功能之外 还要保证原有老功能不受影响且运行正常, 而老功能回归遍历的工作量太大,优先级又相对较低;不适合投入较大工作量;2、使用UI自动化测试做回归遍历又有一些弊端, case过于繁琐,case量大,且运行case后的断言不易包含过多验证点; 因此使用UI自动化偏向于维护主流核心业务,且稳定性较高,链路
2022-01-17 14:28:42 180
原创 **总结**
String a="My field1";String b="My field1";String c=new String("My field1");String d=new String("My field1");a. a==bb. a==cc. c=dd. a.equals(b)e. a.equals (c )???? a d e正确1.”==“,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址2.St
2022-01-17 14:26:04 180
原创 测试用例的编写
浅谈软件测试工程师如何编写测试用例测试工作也从简单测试演变为包括:编制测试计划、编写测试用例、准备测试数据、编写测试脚本、实施测试、测试评估等多项内容的正规测试。测试方式则由单纯手工测试发展为手工、自动兼之,并有向第三方专业测试公司发展的趋势。一、测试用例是软件测试的核心如何保障软件测试质量的稳定?有了测试用例,无论是谁来测试,参照测试用例实施,都能保障测试的质量。可以把人为因素的影响减少到最小。即便最初的测试用例考虑不周全,随着测试的进行和软件版本更新,也将日趋完善。二、什么叫测试用例测试用例(
2022-01-17 14:24:45 459
原创 双指针解题思路
指针的解题思路一般分为三类:首尾指针:范围查找,比如二分搜索等滑动窗口:指针处在数组同一方向,根据条件移动左右指针,用于获取范围和等快慢指针: 多用于链表计算时,判断是否有环等双指针双指针在解答数组和链表等相关题目中经常用到。链表中经常采用双指针中的快慢指针来判断链表是否有环、入环的第一个节点、链表的中间节点和删除链表倒数第N个节点等等。数组(有序)中常采用双指针中的对撞指针和跟随指针来解答。本题主要通过对撞指针来求解。对撞指针对撞指针通常是设置两个指针(例如 l 和 r)分别指向数组的
2022-01-17 14:24:03 508
原创 撰写测试用例----二维码支付
测试用例设计思路:二维码实际上就是一个 url 地址,当手机扫码后,会根据二维码上的黑和白(黑色的色素块代表1,白色的色素块代表0)区域解析成 url 地址。分析下使用场景,这里实际上涉及到一个收款方,一个支付方。收款方生成二维码,支付方拿着手机去扫码。知道使用场景了,接着拆分功能点,从字面上"二维码扫码支付", 这7个字可以拆分成3个关键字:二维码,扫码,支付二维码扫码支付如何进行支付功能的测试给一个二维码进行扫码支付,怎么测试?一、需求测试用户角度:二、界面测试打开支付宝后,能否正确
2022-01-17 14:21:21 4110
原创 Leetcode2. 两数相加
一、题目2. 两数相加 【中等】给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1= [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342+ 465 = 807.二、解题思路...
2022-01-17 14:20:16 188
原创 Leetcode3. 无重复字符的最长子串
一、题目3. 无重复字符的最长子串 【中等】给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例1:输入:s = "abcabcbb"输出:3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。二、解题思路类似题目串联所有单词的子串最小覆盖子串至多包含两个不同字符的最长子串长度最小的子数组滑动窗口最大值字符串的排列最小区间最小窗口子序列...
2022-01-17 14:19:54 127
原创 剑指 Offer II 024. 反转链表
一、题目剑指 Offer II 024. 反转链表同Leetcode206. 反转链表给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]二、解题思路解法一:递归【直接调用自身】递归上来就先写终止条件:如果head为空或者head.next为空,返回head新头结点newHead指向尾结点,此处进入递归,递归一直到遍历到尾结点时才会返回每一层递归,该层递归中的head会让下一个节点指
2022-01-17 14:19:34 274
原创 Leetcode1. 两数之和
一、题目1. 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums= [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。二、解题思路暴力枚举,即枚举数组中的每一个数
2022-01-14 13:47:05 85
原创 selenium:WEB自动化测试工具(开源)---笔记
selenium:WEB自动化测试工具(开源)WEB自动化测试工具selenium录制器使用笔记???? selenium官网上有非常多的学习资料,可以直接学习。selenium官网网址selenium本身是一个库,可以支持Python,Java,js等一系列编程语言。自动化测试本质上是机器点点点代替手工点点点,一般用于回归阶段。Appium(继承于selenium)selenium原理与应用:环境的搭建:1、搭建python环境:: 下载安装python2、通过pip指令安装selen
2022-01-14 13:44:17 6730
原创 Leetcode344. 反转字符串
一、题目344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]二、解题思路...
2022-01-14 13:42:34 78
原创 Leetcode541. 反转字符串 II
一、题目541. 反转字符串 II给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例 1:输入:s = "abcdefg", k = 2输出:"bacdfeg"二、解题思路题解参考将字符串转成列表,通过list[::-1]实现反转利用Python切片其实不需要考虑“剩余字符”的长度这一问题???? pyt
2022-01-14 13:42:21 112
原创 Leetcode50. Pow(x, n)
一、题目50. Pow(x, n)实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,x ^n)。示例 1:输入:x = 2.00000, n = 10输出:1024.00000二、知识点1、取模(x * y ) % z ==> ((x % z) * (y % z)) % z总结: 当两个较大的数做乘法时,我们先求余再相乘,可以有效避免溢出。2、快速幂:以O(logn)的时间复杂度完成幂的计算比如我们要计算x的y次方。通常情况我们需要执行y次。但是如果我们将其转化为
2022-01-14 13:41:42 203
原创 Leetcode 1两数之和
一、题目leetcode 1两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。二、解题思路???? 本题是
2022-01-14 13:41:03 87
原创 剑指 Offer II 006. 排序数组中两个数字之和
一、题目剑指 Offer II 006. 排序数组中两个数字之和给定一个已按照升序排列的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。函数应该以长度为2的整数数组的形式返回这两个数的下标值。numbers的下标从0开始计数 ,所以答案数组应当满足0 <= answer[0] < answer[1] < numbers.length 。假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。示例1:输入:numbers = [1
2022-01-14 13:40:34 133
原创 剑指 Offer 58 - II. 左旋转字符串
一、题目剑指 Offer 58 - II. 左旋转字符串字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"二、解题思路解法一:题解参考算法流程:(1)新建一个list(Python)、StringBuilder(Java),记为 res ;(2)先向 r
2022-01-14 13:39:32 112
原创 剑指 Offer 05. 替换空格
一、题目剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."二、解题思路解法一:解法一题解参考在 Python 和 Java 等语言中,字符串都被设计成**「不可变」的类型,即无法直接修改字符串的某一位字符,需要新建一个字符串**实现。算法流程:(1)初始化一个 list (Python) / StringBuilder (Java) ,记为 re
2022-01-14 13:38:49 335
原创 sudo 与 su 命令的区别
sudo 与 su 命令的区别:sudo 命令需要输入当前用户的密码su 命令需要输入 root 用户的密码。sudo 命令只允许使用提升的权限运行单个命令su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。Mac电脑root密码忘记了怎么办?https://jingyan.baidu.com/article/2a138328e776bc074b134f6a.html...
2021-12-22 15:31:22 176
原创 Python,Anaconda,Pycharm的区别
1.Python是个解释器(基本编译环境)。2.Anaconda 是一个python的发行版,包括了python和很多常见的软件库, 和一个包管理器conda。Anaconda 作为 Python 的一个集成管理工具,安装它后就默认安装了 Python、IPython、Jupyter Notebook 和集成开发环境 Spyder 等等。Anaconda是一个环境容器,里面可以配置各种不同版本开发的环境,这些开发环境互不干扰。????所以装了anaconda就不需要装python了!!!3.pyc
2021-12-10 09:43:51 3368
原创 数据结构分类
数据结构分类数据结构分为逻辑结构和存储结构(物理结构)。逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构。数据的逻辑结构主要分为线性结构和非线性结构。线性结构:数据结构的元素之间存在一对一线性关系,所有结点都最多只有一个直接前趋结点和一个直接后继结点。常见的有数组、队列、链表、栈。非线性结构:各个结点之间具有多个对应关系,一个结点可能
2021-09-02 19:19:15 2025
原创 进程的状态和转换
进程的状态和转换进程的三态模型按进程在执行过程中的不同情况至少要定义三种状态:运行(running)态: 进程占有处理器正在运行的状态。进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。就绪(ready)态: 进程具备运行条件,等待系统分配处理器以便运行的状态。当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它
2021-09-02 18:51:36 301
原创 数据库笔记
1、SQL是一种语言,结构化查询语言(Structured Query Language)。2、MySql,Oracle和SQL Server是指数据库系统,此外还有Access等数据库。3、联机事务处理(On-line Transaction Processing,OLTP);联机分析处理(On-line Analysis Processing,OLAP)。一、四个基本概念数据(data)数据库(DataBase,DB)数据库管理系统(DataBase Management System,D
2021-09-02 14:48:54 242
原创 自动化测试
(自动化测试)编写测试脚本、搭建测试框架、开发测试工具手动测试与自动化测试目前自动化测试其实主要解决的就是回归测试的问题,而不能够做到完全替代手工测试。(1)手动测试(2)自动化测试自动化测试框架 自动化测试框架总结1、框架框架是指对应用系统的部分设计或实现系统的部分结构。即框架就是一个封装好的半成品。2、自动化测试框架自动化测试框架就是:为了对一个指定的系统做自动化测试而封装的一个半成品,自动化测试工程师可以调用这个半成品封装好的方法去实现一个指定系统的自动化测试!3、自动化测试
2021-09-02 14:46:04 207
原创 测试基础知识
一、测试与测试开发的区别:1、测试:检查软件有没有Bug;避免上线后出现重大问题。**测试工程师:**主要做功能测试2、测试开发:1)功能测试2)自动化测试:能写代码测试代码。3)开发测试工具进行测试。**测试开发工程师:**一切跟测试活动相关的工具开发。比jira,Bugzilla(管理工具),各种平台的测试框架(被测试项目在linux下windows下的环境,不同环境有不同的测试框架),甚至CI(持续集成)和代码管理工具都涉及。3、自动化测试编写测试脚本,写自动化测试框架,执行测试,
2021-08-30 15:44:41 3274
原创 递归和迭代的区别
递归和迭代的区别一、递归递归:重复调用函数自身实现循环称为递归**(A调用A)**递归是一个树结构,从字面可以其理解为重复“递推”和“回归”的过程,当“递推”到达底部时就会开始“回归”,其过程相当于树的深度优先遍历。二、迭代迭代:利用变量的原值推出新值称为迭代,或着说迭代是函数内某段代码实现循环****(A重复调用B)迭代是一个环结构,从初始状态开始,每次迭代都遍历这个环,并更新状态,多次迭代直到到达结束状态。三、两者关系:a. 所有的迭代可以转换为递归,但递归不一定可以转换成迭代;大部分
2021-08-25 13:59:01 1553
原创 Linux的nohup和&用法和区别
详解Linux的nohup和&用法和区别用 & 在程序结尾来让程序在后台运行 ./start.sh &在shell中用ctrl C, 那么start.sh照样运行。关掉shell后, start.sh进程消失。nohup:不挂断地运行命令(忽略SIGHUP信号 )nohup ./start.sh在shell中用Ctrl C, 那么start.sh进程也是会消失的(因为对SIGINT信号不免疫)关闭shell, 那么start.sh进程还是存在的(对SIGHUP信
2021-08-24 11:16:01 347
原创 linux查看进程号、端口号
Linux查看进程号、端口号Linux 查看端口占用情况1、已知程序名称查看进程号ps -ef | grep 程序名称## 或者ps -aux | grep 程序名称2、端口号查看进程号(查看端口占用情况)lsof -i:端口号## 或者netstat -ntulp |grep 端口号-t (tcp) 仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化为数字-l 仅列出在Listen(监听)的服务状态-p 显示建立相关链接的程序名3
2021-08-24 10:52:09 55970
原创 应用 Valgrind 定位 Linux 程序的内存问题
参考文章Valgrind学习总结应用 Valgrind 发现 Linux 程序的内存问题Valgrind介绍Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:Valgrind包括如下一
2021-08-24 10:03:16 352 1
原创 使用gcov和lcov测试代码覆盖率
参考文章gcov介绍gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具,因此只要安装了gcc,就不需要再次安装了。lcov介绍gcov能够生成代码覆盖信息,但是不够直观,因此需要结合lcov,gcovr等前端图形工具才能实现统计数据图形化。借助lcov直观展示覆盖率,主要特点有:基于Html输出,并生成一棵完整的HTML树输出包括概述、覆盖率百分比、图表,能快速浏览覆盖率数据支持大项目,提供三个级别的视图:目录视图、文件视图、源码视图gcov工作过程(1)预处理前,
2021-08-23 16:04:10 761
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人