- 博客(59)
- 收藏
- 关注
原创 MAC 如何下载uiauto.dev
这个警告,主要是由于一些脚本被安装到了 /Users/han/Library/Python/3.9/bin 目录,但该目录不在 PATH 环境变量中。因此,系统无法直接识别这些命令。4. 保存并退出(按 Ctrl + X,然后按 Y 确认保存,最后按 Enter)。提示:如果发现运行时候,command not found的话。步骤1:安装Python 3.8+就看一下上面的 warning。
2025-03-30 20:59:55
241
原创 GIT 企业级开发学习 1_基本操作
• 初始化一个新的 Git 仓库,在当前目录下生成一个 .git 隐藏文件夹,用于存储版本控制信息。• 区分全局配置和当前仓库的配置,必要时使用 --global 或 --unset 修正。• 如 gt 应为 git,--emait 应为 --email,需注意拼写。• 列出当前 Git 仓库的配置信息,包括用户名、邮箱以及仓库的核心配置。• Git 的初始配置是进行版本控制的第一步,设置用户名和邮箱是必要的。• 配置当前仓库的用户名和邮箱,用于标识提交记录的作者。• 删除当前仓库的用户名和邮箱配置。
2025-01-03 21:51:25
449
原创 mac 关闭 sip
关闭 macOS 的 System Integrity Protection (SIP) 需要进入恢复模式操作。如果显示 System Integrity Protection: disabled,说明已成功关闭。:关闭 SIP 后,请格外小心操作,避免安装不可信的程序或随意修改系统文件!,直到看到 Apple 标志或加载进度条,进入 macOS 恢复模式。系统会重新启动到正常模式,SIP 已被禁用。1. 在恢复模式中,选择顶部菜单栏的。1. 点击左上角苹果菜单,选择。2. 在启动过程中,立即按住。
2024-12-25 21:38:28
3842
原创 在 Ubuntu 上安装 VS Code
选择任意一种方式安装后,都可以通过命令 code 或从系统的应用菜单中打开 VS Code。3. 安装完成后,输入 code 即可启动 VS Code。2. 安装完成后,输入 code 即可启动。在 Ubuntu 上安装 VS Code。
2024-12-24 23:17:32
1032
原创 String... args 作为参数
(varargs),意思是该方法可以接收任意数量的 String 类型参数。底层实现上,它会被转换为一个 String 数组。可变参数 String... args 允许传递 0 个或多个 String 参数。函数为:fun(String... args) {...}现在有一个函数,参数为String... args。String... args 是一个。
2024-12-23 22:14:13
212
原创 linux(ubuntu )卡死怎么强制重启
Magic SysRq 键可以在系统完全卡死的情况下,执行一些强制操作来重启系统。键(通常和 Print Screen 键共享)。(公司的 ubuntu 跑个用例经常卡死)这是一种强制方式,可能会丢失未保存的数据。(将键盘切换为原始模式)(将文件系统挂载为只读)
2024-12-23 21:43:13
949
原创 github如何给本机绑定 ssh密钥(MACOS)
这会将 id_rsa.pub 文件的内容(公钥)复制到剪贴板。1. 登录 GitHub 账户。2. 点击右上角的头像,选择。字段中粘贴刚才复制的公钥。3. 在左侧菜单中,点击。
2024-12-21 11:39:11
628
1
原创 小米测试开发面经
你在实习期间学习了 Playwright,这个框架的特点是什么?设计一个数据库的库表有哪些指导原则(这里我讲的三范式,面试官应该是想让我说aicd)手撕:找到链表的倒数第 n 个节点,然后针对自己的代码设计测试用例。我们重写一个对象的equals函数的时候有什么要注意的吗。在追求创新的过程中,如何看待可能会牺牲一些短期的质量?自己常用的编程语言是什么?测试用例的常规构成要素有哪些?常用的数据结构有哪些?结合你的测试经验,测试有哪些分类?介绍一下你的实习经历,主要做什么?Java 语言的基本特征是什么?
2024-11-08 15:52:27
591
原创 GetPost区别
虽然URL通过query string来携带数据,而query string只能包含文本,但可以通过urlencode对二进制数据进行编码,将其转换为文本格式。在实际项目中,GET的使用场景可以替换为POST,反之亦然。某些服务器或浏览器可能会对GET和POST的使用有所限制,但在大多数情况下,这两者可以互换而不产生大的问题。论据是:如果使用GET进行登录,用户名和密码会显示在URL上,容易被他人看到,因此不安全。然而,即使使用POST,数据虽然不会显示在URL上,但也可能被黑客通过抓包获取。
2024-08-30 15:10:12
508
原创 面试必考题之GET和POST的区别
咱们先盖棺定论,首先GET和POST本质上没有区别,使用GET的场景,也可以替换成POST;使用POST的场景,也可以替换为GET具体都是区别于自己的代码是怎么写的特别是在自己做项目的时候,客户端和服务器都是自己实现在某些服务器或者部分的浏览器,某些情况下GET和POST不能完美替换,但是,大部分情况下,相互替换一般问题不大但是在使用习惯上,GET和POST还是有区别的。
2024-08-30 15:04:03
670
原创 java MultipartEntityBuilder 上传文件返回名字为???
我这里是使用百度的文档对比API,奈何这个API没有Java的示例代码,只能模仿Python的示例代码。发现是 MultipartEntityBuilder 的锅。Python能够直接上传,并且得到的文件名正常显示。但是JAVA得到响应的文件名就是显示?看到博主的文章解决了。
2024-08-14 10:41:22
419
原创 SpringBoot中解决文件application.properties中文注释乱码的问题
这里演示如何在idea里面把ISO-8859-1改为UTF-8。原因是字符编码使用了ISO-8859-1。把默认的改成UTF-8就行了。可以看到中文注释正常显示。如图看到中文注释乱码。搜索框输入UTF-8。
2024-08-09 15:26:19
483
原创 通过docker-compose在本地快速部署一个ElasticSearch(保姆级教程)
对于的安装,可以通过在本地快速部署一个这是一段博文的原话。
2024-08-08 14:54:34
1421
原创 零基础做项目---五子棋对战---day02
完成注册登录,以及用户分数管理~使用数据库来保存上述用户信息.使用 MyBatis来连接并操作数据库了主要步骤:1.修改 Spring的配置文件,使数据库可以被连接上.2.创建实体类,用户, User3.创建Mapper接口~4.实现MyBatis 的相关xml配置文件,来自动的实现数据库操作。
2024-07-10 15:42:55
953
原创 零基础做项目---五子棋对战---day01
用到的关键技术后端: Java, Spring/Spring Boot/Spring MVC前端: HTML/CSS/JS/AJAX数据库: MySQL/MyBatis实时通讯: WebSocket
2024-07-06 00:01:20
801
原创 数据结构---二叉树前中后序遍历
2. 二叉树的先序遍历和中序遍历如下:先序遍历: EFHIGJK;中序遍历: HFIEJKG. 则二叉树根结点为()4. 某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF ,则按层次输出(同一层从左到右)的序列为()3. 设一课二叉树的中序遍历序列: badce, 后序遍历序列: bdeca, 则二叉树前序遍历序列为()该完全二叉树的前序序列为()2. 做题步骤: 根据 先序遍历确定根节点位置为E。4. 如果二叉树的后序遍历序列与中序遍历序列相同。那么最后那个为根 就是F。
2024-06-19 18:50:01
532
2
原创 计算机网络-----总结UDP的报文结构
说明: UDP报头一共八个字节 因此, 每个部分(源端口, 目的端口, 数据包长度, 校验和)分别两个字节, 那么也因此端口号的取值范围是0到2^16-1, 也就是 0到 65535, 64KB 因此一个UDP数据报的最大长度也是64KB(包括了报头载荷)在当今这个时代, 图片动不动就是3MB, 因此UDP使用的场景越来越少了。校验和: 检测UDP报文在传输过程中是否损坏, 用于数据完整性校验。数据报长度 : UDP报文的数据长度 包括报头和载荷。如果发送的数据量超过64KB, 那么就会发生数据截断。
2024-05-09 15:37:42
425
原创 产生死锁的四个必要条件
产生死锁的四个必要条件互斥使用: 一个资源每次只能被一个线程使用。这意味着如果一个线程已经获取了某个资源(比如锁),那么其他线程就必须等待,直到该线程释放资源。不可抢占: 已经获得资源的线程在释放资源之前,不能被其他线程抢占。只有拥有资源的线程自己能够释放资源,其他线程无法将其强行抢占。请求保持: 一个线程在持有至少一个资源的情况下,又请求获取其他资源。这样的情况下,如果其他资源被其他线程持有并且不释放,就会导致请求线程等待,从而可能形成死锁。
2024-04-14 22:05:57
2028
1
原创 力扣-202. 快乐数解析-弗洛伊德循环查找算法
归纳一下这些简单数字就可以发现,对于任意一个非快乐数,最终会进入重复循环, ···不难发现,4即之后的结果就是新一轮循环。那么我的第一个做法是检测4出现的次数 如果4出现次数超过两次, 那么就不是快乐数。其实这为弗洛伊德查找算法提供了很好的条件。使用代码测试一下每一代数字。当测试用例为2这个数字的时候。弗洛伊德查找算法原理见。
2024-01-19 20:57:46
628
1
原创 弗洛伊德循环查找算法-原理
弗洛伊德循环查找算法中第二次相遇的地方就是循环的起始点,这个性质的证明是基于数学的原理。设链表起点到环的起始点的距离为 X,环的起始点到第一次相遇点的距离为 Y,第一次相遇点到环的起始点的距离为Z。也就是说,如果此时将慢指针重新指向链表起始点,慢指针再次移动 X 的距离,而快指针从第一次相遇点开始移动 C3l+Z 的距离,它们将会在环的起始点再次相遇。这个性质是弗洛伊德循环查找算法的关键之一,也是该算法能够正确找到环的起始点的原因。2. 由于快指针的速度是慢指针的两倍,所以快指针走的距离是慢指针的两倍。
2024-01-19 00:11:44
601
1
原创 网络技术基础与计算思维实验教程_4.4_RIPv2配置实验
放置三个型号为2811的路由器给router0安装两个快速以太网接口同样的方法给router2安装为1安装有一个以太网接口的模块这样router1就有三个快速以太网接口和两个无线路由器接口了。
2023-12-26 22:45:46
461
1
原创 网络技术基础与计算思维实验教程_4.2_静态路由项配置实验
这行命令设置了WPA-PSK(预共享密钥)的ASCII密码为 "1234567890"。这个密码将用于设备连接到这个SSID时的认证。: 这行命令启用了“客户模式”,允许设备连接到该SSID而不需要任何进一步的身份验证。: 这行命令指定了该SSID的认证方式为“开放式”,允许设备连接而无需身份验证。: 这行命令取消了使用网络EAP(扩展认证协议)进行认证的设置。现在可以实现PC0和PC1之间的ICMP报文传输。现在可以实现PC0与PC2之间的通信过程。下面可以实现PC0与PC3之间的通信过程。
2023-12-22 14:29:57
696
原创 网络技术基础与计算思维实验教程_3.3_扩展服务集实验
由此验证出 只有终端在AP的有效范围之内并且具有相同的SSID和鉴别加密机制。验证PC0与laptop2以及PC0与laptop3之间的通信过程。把laptop0从AP0的通信范围移动到AP1的通信范围里面。启动laptop0到laptop2的ICMP报文传输过程。AP0完成了无线局域网MAC帧到以太网MAC帧的转换过程。AP1完成了以太网MAC帧到无线局域网MAC帧的转换过程。进入到laptop2的物理配置选项卡。laptop0传送给AP0的帧格式。AP0传送给交换机的帧格式。无线局域网的MAC帧格式。
2023-12-21 20:33:49
444
原创 网络技术基础与计算思维实验教程_3.2_无线局域网与以太网互连实验
打开上一个实验的文件切换到物理工作区导航到城市家园放置一台交换机 和两台台式机直通线连接把AP0链接到交换机的端口3上切换回逻辑工作区选择DHCP自动获取网络信息PC1同样然后。
2023-12-21 20:02:21
585
原创 网络技术基础与计算思维实验教程_2.4_跨交换机VLAN配置实验
在工作区放置交换机然后单击选择config , 把交换机的默认名改为switch1再放置两个交换机再放置终端放置三台与交换机1相连的终端再放置三台与交换机3相连的终端再放置两台与交换机2相连的终端用直通线连接然后用交叉线互联交换机switch1端口4和switch2端口1直通线同样链接端口交换机123端口然后用交叉线互联交换机switch3端口4和交换机switch2端口2。
2023-12-21 18:33:31
505
原创 网络技术基础与计算思维实验教程_2.3_单交换机VLAN配置实验
实验的目的一是验证交换机 VLAN 配置过程;二是验证属于同一 VLAN的终端之间的通信过程;三是验证每一个 VLAN 为独立的广播域;四是验证属于不同 VLAN的两个终端之间不能通信;五是验证转发项和 VLAN的对应关系。
2023-12-21 13:36:00
1493
原创 网络技术基础与计算思维实验教程_2.2_单交换机实验
网络结构如图 2.3 所示,用一台交换机连接 4 个终端为4个终端分别配置 IP 地址和子网掩码,启动终端A 与终端 B之间的 MAC 交换过程。并在交换过程中完成以下操作,是观察交换机转发表变化过程,二是检查 ICMP 报文至 MAC的封装过程。
2023-12-20 14:44:58
1413
2
原创 javaSE学习-4-类和对象
向对象程序设计(Object-Oriented Programming,OOP)关注的是对象,而对象通常是现实生活中的实体或概念的抽象。在面向对象的思想中,问题的解决主要通过对现实世界中的事物进行建模,将其抽象为程序中的对象。在 Java 中,定义一个类需要使用class// 创建类// 字段(属性)或者成员变量// 行为或者成员方法// 方法体// 其他字段和方法...int age;System.out.println(name+"汪汪汪");
2023-12-19 22:06:16
947
原创 JavaSE-习题-认识运算符等
题目名称:如下Java语句 double x=2.0;int y=4;x/=++y;执行后,x的值是( )题目内容:A .0.5B .2.5C .0.4D .2.0x/=++y等价于:x = x / ++y;代入表达式:x = 2.0 / 5x = 0.4故选C。
2023-12-19 13:44:15
452
原创 JavaSE-习题-数组的创建和使用等
题目名称:创建的数组,并且赋初始值题目内容:创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100。
2023-12-18 20:25:43
576
原创 javaSE学习-3-数组的定义与使用
具体来说,当调用`fun1(array)`时,`array`的副本被传递给了`fun1`方法,然后在`fun1`方法内部,重新给`array`赋值为一个新的数组。一旦`fun1`方法执行完毕,这个新数组的引用就丢失了,而`main`方法中的`array`仍然引用原来的数组。因此,这个修改是在原数组的内存地址上进行的,对于调用`fun2`的`main`方法中的`array`是可见的,因此`fun2`方法的修改在`main`方法中是起作用的,导致输出 `[99, 2, 3, 4]`。堆上的对象,包括通过。
2023-12-18 20:14:03
432
原创 JavaSE-习题-循环结构等
题目名称:打印 X 图形题目内容:假设i代表行,j代表列,当i==j 或者 i+j+1 == n,此时为星号。其余的都是空格。如图, 把它想成平面直角坐标系, 发现i==j或i+j==n的时候, 分别是两根直线关于横纵坐标轴的方程表达式。
2023-12-02 14:44:55
858
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人