自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(212)
  • 收藏
  • 关注

原创 C语言 | 计算 1!+2!+3!+……+10!详细讲解

建议大家使用第二种方法写,效率会更高

2022-09-20 10:00:00 55274 6

原创 JavaScript事件循环深度解析:从一道面试题看微任务与宏任务调度机制

理解事件循环机制是掌握JavaScript异步编程的核心。通过本文的实例分析,可以得出以下结论:微任务队列具有最高优先级,但需要在当前宏任务上下文中完全清空;嵌套的异步操作会创建新的任务队列项;合理的任务划分能有效提升程序性能。建议开发者在实际编码中通过等方法显式控制任务类型,确保程序行为符合预期。

2025-04-04 11:50:55 169

原创 超直白的JavaScript变量声明指南:别再纠结用哪个了!

📌 先const,再let,var直接丢垃圾桶📌 基本类型不能改,对象属性随便动📌 循环定时用let,配置信息用const

2025-03-28 17:24:02 156

原创 深度解析:并行与并发的本质区别,以及如何用线程、进程实现高效多任务

本文将通过通俗的比喻、代码示例和实战场景,彻底讲透它们的区别与联系,助你写出更高效的代码!,逻辑上看似“同时”,实际可能交替占用资源(如单核CPU通过时间片轮转运行多线程)。这两个概念常被混淆,但它们的设计目标、实现方式、适用场景截然不同。: 通过多进程实现并发(尤其在Python中绕过GIL限制)。: 在单核或多核CPU中,通过线程切换或并行执行实现并发。,依赖多核CPU、GPU或多机器等硬件支持。则是实现这两种任务处理模型的核心技术。:提高资源利用率,减少CPU空闲。:缩短任务总耗时,提升吞吐量。

2025-03-26 17:42:11 634

原创 MySQL绑定变量:揭秘高性能与安全并重的数据库优化利器

在数据库应用中,性能和安全是开发者永恒的追求。当面对高并发请求、重复性SQL操作或用户输入动态拼接的查询时,如何避免性能瓶颈和SQL注入风险?绑定变量(Prepared Statements) 正是解决这些问题的关键!本文将深入剖析MySQL绑定变量的核心原理、性能优势及实战应用,助你彻底掌握这一高效武器。绑定变量(Prepared Statements)是一种“预编译”的SQL执行机制:示例:二、绑定变量的核心优势1. 性能飙升:减少解析与编译开销 传统SQL执行流程: 每次执行需完整经历

2025-03-26 16:55:30 714

原创 揭秘ER图:数据库设计的可视化利器与实战技巧

在数据库设计中,如何将复杂的业务需求转化为清晰的数据结构?如何确保数据高效存储且避免冗余?实体-关系图(ER图)正是解决这些问题的核心工具。本文将从基础概念到实战应用,带你全面掌握ER图的设计精髓,避开常见陷阱,成为数据库设计的高手。,通过图形化表示系统中的实体、属性及其相互关系。用户 |——○ 订单。

2025-03-24 17:24:57 730

原创 弱网测试:全链路实战、高阶策略与自动化落地

在移动互联网时代,网络环境的不确定性成为用户体验的“隐形杀手”。弱网测试不仅是质量保障的必备环节,更是提升用户留存率和业务转化率的战略手段。四个维度,彻底解析弱网测试的完整方法论,并给出可直接复用的代码、配置脚本和实战案例。:模拟东南亚用户使用2G网络访问(带宽50kbps,延迟1000ms,丢包率20%):在Ubuntu服务器上模拟5%丢包 + 200ms延迟 + 50ms抖动。:万人秒杀活动,网络拥塞导致API响应延迟飙升。

2025-03-22 17:50:45 1175

原创 安卓 vs iOS 文件系统深度解析:开放自由与封闭安全的终极博弈

安卓和iOS的差异远不止于界面和生态,它们的文件系统设计更是体现了两种截然不同的技术哲学。安卓的开放目录允许用户“为所欲为”,而iOS的沙盒机制则像一座密不透风的堡垒。本文将通过/system/data/proc/data/data/app//sdcard/MediaStoreDocuments/Library/Caches/tmp/

2025-03-22 16:15:19 1098

原创 软件测试面试通关秘籍:高频技术考点与实战技巧全解析

提供日志、截图、环境信息,并尝试稳定复现条件(如特定网络状态)。“如何向开发人员证明一个难以复现的Bug?“如何优化自动化测试脚本的执行效率?“如何分析性能测试结果中的瓶颈?“如何处理动态元素的定位问题?“如何测试一个登录功能?“如何测试一个搜索框?

2025-03-21 17:29:01 848

原创 Android自动化测试终极指南:从单元到性能全覆盖!

成为提升质量的核心手段。本文将手把手带你掌握Android项目中的六大测试工具,涵盖。在快节奏的移动开发中,应用的稳定性与用户体验直接决定成败。等核心场景,助你构建坚如磐石的应用!A:检查控件ID是否正确,或使用。

2025-03-20 22:15:00 921

原创 Android Monkey测试完全指南:从入门到实战

作为Android平台自带的压力测试工具,能够通过模拟海量随机用户操作(如点击、滑动、按键等),快速暴露应用的崩溃、ANR(无响应)等问题。本文将深入解析Monkey测试的核心用法,并提供实战案例与优化技巧。Monkey是Android系统自带的命令行工具,通过向设备发送伪随机事件流,对应用进行。建议将Monkey测试集成到CI/CD流程中,结合自动化脚本实现每日构建验证。在Android应用开发中,稳定性测试是确保用户体验的关键环节。:检查主线程耗时操作,使用异步或子线程优化。

2025-03-20 17:20:29 1156

原创 从安装到出图:手把手教你用Workbench绘制数据库设计图

可选择 “Typical”(典型安装)或 “Custom”(自定义安装),推荐典型安装,然后点击 “Next”。如果选择自定义安装,可以按需选择安装组件和安装路径。:安装完成后,会提示是否启动 MySQL Workbench,选择启动即可。,选择适合 Windows 系统的版本(Windows Installer MSI),点击 “Download” 按钮下载。:点击 “Install” 按钮开始安装,等待安装完成。:双击下载的安装包,弹出安装向导,点击 “Next”。

2025-03-15 14:04:16 862

原创 性能调优与抓包分析:TCP三次握手、CDN优化与Wireshark实战

从带宽计算到CDN分发,打造高性能网络架构

2025-03-14 18:30:00 127

原创 网络异常与安全攻防:如何模拟弱网、断网并防御XSS/SQL注入

Charles/Fiddler模拟实战与OWASP漏洞修复指南

2025-03-14 09:00:00 260

原创 从零开始掌握接口测试:RESTful/WebSocket/gRPC实战宝典

Postman/JMeter高阶用法与自动化脚本编写

2025-03-13 17:53:01 351

原创 深入解析HTTP/HTTPS与网络模型:软件测试工程师必备的核心原理

从抓包分析到协议对比,彻底掌握分层设计

2025-03-13 17:47:10 264

原创 解锁数据库核心利器:索引、视图与事件的终极指南

索引是数据库中一种高效查找数据的结构,类似于书籍的目录。它通过预先排序和存储关键列的值,避免查询时的全表扫描。视图是一个虚拟表,通过SQL查询动态生成结果。它不存储数据,而是像“透镜”一样重新组织或过滤底层表的数据。事件是数据库中预定义的定时任务,可在指定时间或周期自动执行SQL操作,彻底告别手动执行重复任务。空间换时间(索引)抽象解耦(视图)自动化提效(事件)

2025-03-12 17:05:23 761

原创 高并发场景下,选进程还是线程?

高并发,先看型,CPU密集进程行;I/O多,线程顶,混合异步更聪明;若纠结,压测定,数据驱动最公平。

2025-03-11 12:09:23 435

原创 崩溃/卡顿/兼容性差?移动端APP测试必做的10大类型(附避坑清单)

移动端APP的崩溃、卡顿、兼容性问题,本质是测试维度的缺失。

2025-03-06 11:21:56 495

原创 通过配置代理解决跨域问题(Vue+SpringBoot项目为例)

代理的原理是将前端的请求发送到同源的后端服务器,由后端服务器再发送到目标服务器,并将响应返回给前端。这样前端代码实际上是与同源的后端服务器进行通信,而不是与目标服务器直接通信,从而避免了跨域问题。跨域问题常常出现在前端项目中,当浏览器中的前端代码尝试从不同的域名、端口或协议发出请求时,浏览器会因为同源策略而拒绝该请求。是由浏览器的同源策略引起的,同源策略是一种安全策略,用于防止一个网站访问其他网站的数据。具体来说,可以在前端项目的配置中设置代理规则,将某些请求路径转发到同源的后端服务器。

2025-01-29 16:08:11 339

原创 Vue | 搭建第一个Vue项目(安装node,vue-cli)

2.使用Vue CLI创建一个新的Vue项目。进入网站,下载对应版本的node.js。3.设置npm全局装包保存路径。出现版本号,则安装成功。

2025-01-22 20:15:00 385

原创 Vue | 成绩案例实现(展示,添加,删除)

4. 统计总分,求平均分。v-model修饰符。

2025-01-20 22:45:00 171

原创 Vue | computed 计算属性 vs methods 方法

② 作为属性,直接使用 →。② 作为方法,需要调用 →。,再次使用直接读取缓存,this.方法名( )

2025-01-20 19:00:00 442

原创 vue | TODO记事本

使用v-model进行双向绑定,@click进行add()length()方法和list置空。

2025-01-18 22:30:00 166

原创 vue | 插值表达式

3. 框架:一套完整的项目解决方案,提升开发效率↑ (理解记忆规则)表达式:是可以被求值的代码,JS引擎会将其计算出一个结果。Vue 是一个用于 构建用户界面 的 渐进式 框架。② 支持的是表达式,而非语句 if ... for。1. 构建用户界面:基于 数据 动态 渲染 页面。插值表达式是一种 Vue 的模板语法。① 使用的数据要存在 (data)利用表达式进行插值,渲染到页面中。2. 渐进式:循序渐进的学习。③ 不能在标签属性里面使用。

2025-01-18 22:00:00 573

原创 adb常用指令(完整版)

1、adb devices 查看是否连接到设备2、adb install [-r] [-s] 安装app,-r强制,-s安装sd卡上3、adb uninstall [-k] 卸载app,-k保留配置和参数4、adb push 把本地文件上传设备5、adb pull 下载文件到本地

2025-01-18 14:56:48 745

原创 测试 | 车载智能座舱基础知识

但是如果用户已经说完话了,过长的识别,从说完话到回答的时间过长,会造成用户体验感不佳的情况,所以VAD的目的是用来识别和消除语音信号中长时间的静音期。可见即可说可以在指定界面上使用。常见的语音信号特征包括频谱、能量、噪声比等,根据这些特征的变化,可以自动调整语音信号的增益值,以保证语音信号的一致性。语音AGC的工作原理是,通过对语音信号的分析,确定语音信号的增益值,并通过自动调整来保证语音信号的一致性。语音ANR的主要优点是,可以有效消除语音信号中的噪声,提高语音信号的清晰度和质量,提高语音识别准确度。

2025-01-18 14:15:43 959

原创 如何使用免费资源--知网篇

如果有大四的小伙伴们,写毕设需要查阅参考文献,又不在学校,或者没有校园网,无法使用校内的IP进入中国知网,只能自己注册个人账号。可能需要办理读者证,才可以登录进去,但是不用着急,官网它有提示怎么线上办理(免费),按照步骤来操作即可。登录(因为我已经登录过了),第一次访问时,这里会有一个登录,点击进去就可以了。4.进入到中国知网页面,此时可以看到是长沙图书馆的账号登录中。But:个人账号无法免费下载相应文献。5.搜索你需要的文献,成功免费下载。3.不在馆内,就点击下面这个。

2024-12-22 00:04:26 451 1

原创 Android系统架构

它包括了活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器等组件,用于实现应用程序的各种功能。:原生库提供了一系列用C和C++编写的核心库,这些库为Android应用程序提供了底层的支持,如数学计算、图形渲染、数据库访问等。:应用程序框架为开发者提供了构建应用程序所需的高级组件和服务,如活动管理器、窗口管理器、内容提供者、资源管理器等。Linux内核是Android系统的底层,提供了系统底层的硬件驱动程序支持,并管理了系统的资源。

2024-10-26 15:13:18 1395

原创 智能语音设备测试 | 音频基础

通过对比处理后的音频和参考信号,可以量化AEC算法的性能指标,如回声消除增益(Echo Cancellation Gain)、回声残留度(Echo Return Loss Enhancement, ERL)、噪声抑制级别等。AEC(Automotive Audio Echo Cancellation)功能,即汽车音频回声消除功能,主要用于解决汽车内部通信、娱乐系统中的声音质量问题,确保语音通话清晰,音乐播放无干扰。通过对比处理前后的音频,可以评估AEC算法的性能,如回声消除能力、噪声抑制水平等。

2024-10-25 12:30:34 1650

原创 智能语音设备测试 | 语音基础

(1)语音识别:将语音转换为文字,并能够识别出文字的意图并进行相应的回答,主要指让机器通过识别和理解,把语音信号转变为相应的文本或命令。(2)语音识别阶段①训练阶段:收集大量的语音语料,经过预处理和特征提取后得到特征矢量参数,最后通过特征建模达到建立训练语音的参考模型库的目的。②识别阶段:将输入语音的特征矢量参数和参考模型库中的参考模型 进行相似性度量比较,把相似性最高的输入特征矢量作为识别结果输出。

2024-10-24 18:32:50 1586

原创 常用shell指令

这些指令通常在adb shell环境中使用,或者通过其他方式(如SSH)直接在设备的shell中使用。

2024-10-24 11:49:40 949

原创 adb常见指令以及问题解决

问题:/system/bin/sh: pull: not found最后是一个,则表示不是以root身份运行;最后是一个,则表示是以root身份运行。解决方案:直接退出,在。

2024-10-23 14:20:46 799

原创 adb安装,连接模拟器以及常见指令

ADB,全称Android Debug Bridge(安卓调试桥),是一个连接Android设备与计算机之间的重要桥梁。

2024-10-23 10:37:41 2822

原创 自动化测试 | HTML测试报告

with open(报告存放路径, "wb") as f: #注意:生成html报告,必须使用wb,以二进制形式写入。HTMLTestRunner(stream=f).run(测试套件)场景:一般判断条件满足,就不执行;如:达到指定版本,此功能失效;3. 实例化HTMLTestRunner类,并调用run方法执行测试套件。语法:@unittest.skipIf(条件, 原因)语法:@unittest.skip(说明)场景:一般适合功能未实现完成用例。HTML报告:根据TextTestRunner改编而来。

2024-10-11 16:25:53 673 1

原创 自动化测试 | UnitTest框架

2. suite.addTest(unittest.makeSuite(类名)) # 添加指定类中所有已test开头的方法。2. 实例化后去执行套件对象 runner = unittest.TextTestRunner()1. suite.addTest(类名("方法名称")) # 添加指定类中指定的测试方法。2. 获取测试套件对象 suite = unittest.TestSuite()1. 运行测试类所有的测试方法,光标定位到类当前行右键运行。2. 运行单个测试方法:光标放到测试方法当前行。

2024-10-11 14:31:00 1160

原创 自动化测试 | 窗口截图

是 Selenium WebDriver 的一个方法,它允许你将当前浏览器窗口(或标签页)的截图保存为文件。这个方法对于自动化测试中的截图验证非常有用,因为它可以帮助你捕获测试执行过程中的页面状态。以下是一些关于。

2024-10-09 11:57:17 637

原创 自动化测试 | iframe和多窗口切换

是 Selenium WebDriver 中的一个方法,用于将 WebDriver 的上下文(或焦点)切换到指定的 iframe 元素上。在网页中,iframe 是一个内嵌的框架,它可以加载另一个 HTML 文档。当你需要与 iframe 内部的元素进行交互时,你必须先切换到该 iframe 的上下文中。以下是一些关于。

2024-10-09 11:53:26 435

原创 自动化测试 | alert处理

是 Selenium WebDriver 中用于处理浏览器弹出框(如警告框、确认框和提示框)的一个方法。它允许你关闭(即“dismiss”)当前显示的 JavaScript 弹出框,而不需要进行任何确认或输入;反之switch_to.alert.accept()方法则是用于接受(或确认)当前显示的 JavaScript 弹出框。

2024-10-09 11:47:16 286

原创 自动化测试 | XPath的使用和CSS选择器的使用

1.在谷歌浏览器中,按F12后,点击Elements。然后按Ctrl+F,出现搜索框,输入定位字符串后,会提示与定位字符串匹配的元素。在谷歌浏览器里面可以点中你选择的元素标签,然后右击后,点copy就可以直接出现该元素内容的XPath。

2024-10-08 20:49:22 299

前端-Vue-记事本-添加,清除,添加,展示功能

是一个简单的记事本应用,使用了Vue.js框架来构建。这个应用允许用户添加、显示和删除任务。 HTML结构 头部 (<header>): 包含应用名称("xback记事本")和一个输入框(用于输入新任务),以及一个按钮("添加任务"),用于将输入框中的内容作为新任务添加到列表中。 主体区域 (<section class="main">): 显示任务列表。每个任务都是一个列表项(<li>),包含任务的序号、内容和删除按钮。 底部 (<footer>): 当存在任务时显示,包含两个元素:一个显示当前任务总数的统计信息,和一个按钮("清空任务"),用于删除所有任务。 交互 用户可以在输入框中输入新任务,然后点击"添加任务"按钮将其添加到列表中。 每个任务旁边都有一个删除按钮,点击后可以删除对应的任务。 如果存在任务,底部会显示任务总数,并提供一个"清空任务"按钮,点击后可以删除所有任务。

2025-01-18

大新闻springboot项目

该项目使用springboot框架实现的关于文章分类,文章管理,用户管理,文件上传等业务,里面涉及到redis,ThreadLocal,MD5,JWT令牌,分组校验等

2024-07-05

空空如也

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

TA关注的人

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