- 博客(212)
- 收藏
- 关注
原创 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
原创 解锁数据库核心利器:索引、视图与事件的终极指南
索引是数据库中一种高效查找数据的结构,类似于书籍的目录。它通过预先排序和存储关键列的值,避免查询时的全表扫描。视图是一个虚拟表,通过SQL查询动态生成结果。它不存储数据,而是像“透镜”一样重新组织或过滤底层表的数据。事件是数据库中预定义的定时任务,可在指定时间或周期自动执行SQL操作,彻底告别手动执行重复任务。空间换时间(索引)抽象解耦(视图)自动化提效(事件)
2025-03-12 17:05:23
761
原创 通过配置代理解决跨域问题(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 | computed 计算属性 vs methods 方法
② 作为属性,直接使用 →。② 作为方法,需要调用 →。,再次使用直接读取缓存,this.方法名( )
2025-01-20 19:00:00
442
原创 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
原创 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-记事本-添加,清除,添加,展示功能
2025-01-18
大新闻springboot项目
2024-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人