自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 03. 表的操作(沉淀中)

本文介绍了MySQL数据库表的操作,主要包括创建表、修改表结构和删除表三个部分。创建表时需要指定表名、字段名、数据类型及字符集等属性,不同存储引擎会生成不同的表文件。修改表结构包括添加字段、修改字段类型/长度、删除字段和重命名表等操作。删除表使用DROP TABLE语句。文章通过具体案例演示了各项操作,并说明了操作对表中数据的影响,为数据库表管理提供了实用指导。

2026-03-02 19:28:27 423

原创 02、库的操作(沉淀中)

本文介绍了MySQL数据库的基本操作,主要包括创建数据库、字符集设置、校验规则、数据库操纵以及备份恢复等内容。创建数据库时可指定字符集和校验规则,不同的校验规则会影响查询结果的大小写敏感性和排序方式。文章详细演示了数据库的增删改查操作,包括查看系统默认设置、修改数据库属性、备份恢复方法等。此外还介绍了查看数据库连接状态的操作,帮助用户监控数据库访问情况。这些基础操作是MySQL数据库管理的重要组成部分,掌握这些知识能够有效进行数据库的日常维护和管理。

2026-03-02 19:27:50 554

原创 数据库基础

本文介绍了数据库基础知识,包括数据库的概念、主流数据库产品(MySQL、Oracle等)特点对比、MySQL的基本使用(安装、连接、管理)以及数据库逻辑结构。重点讲解了MySQL的架构体系、SQL语言分类(DDL、DML、DCL)和存储引擎(如InnoDB、MyISAM)的特性对比。通过实际案例演示了数据库、表的创建和基本操作,帮助读者理解数据库服务器、数据库和表之间的层级关系。文章强调数据库作为高效管理数据的工具,其重要性体现在解决文件存储的局限性,是衡量程序员水平的重要指标。

2026-02-06 12:30:28 745

原创 MySQL 在 Centos 7环境安装

本文详细介绍了在CentOS 7系统上安装MySQL的完整流程。首先需要卸载系统自带的MariaDB/MySQL环境,包括停止服务、检查安装包并逐个卸载。然后获取官方MySQL yum源(需注意系统版本匹配),通过rpm命令安装MySQL yum源,安装前后可通过对比/etc/yum.repos.d/目录确认。整个过程需使用root权限操作,初期建议直接使用root账户进行MySQL操作以便快速上手,待熟悉后再考虑用户管理。文档提供了完整的命令行操作示例,包括检查进程、卸载软件包等关键步骤。

2026-02-06 12:29:40 302

原创 软件测试之博客系统项目实战(补充和解析部分)

本文主要介绍了博客系统的测试过程,包括兼容性测试和性能测试。兼容性测试涵盖了IE、谷歌、百度等浏览器以及安卓、苹果移动端的页面展示效果验证。性能测试部分使用Jmeter和Postman工具对登录页、列表页、详情页和编辑页进行接口测试,包含断言设置和压测分析,并提供了详细的性能测试报告数据,包括响应时间和吞吐量等指标。测试结果表明系统在多浏览器和多平台下均能正常运行,性能表现符合预期。

2026-02-03 19:19:20 837

原创 软件测试之接口自动化测试篇(沉淀中)

接口测试是验证系统组件间交互的关键测试方法,主要分为程序内部接口和系统对外接口两类。接口测试通过检查数据交换、传递和控制管理过程,确保接口功能性和安全性。相比功能测试,接口测试更简单直接,只需关注入参和出参验证。接口文档应包含请求地址、方法、参数等关键信息。接口测试的重要性在于发现页面操作无法发现的bug,提升系统异常处理能力和安全性。测试流程包括通过性验证、参数组合、安全测试和异常验证等步骤。接口自动化测试可提高效率,流程涵盖需求分析、用例设计、环境搭建、脚本编写和报告生成等环节。自动化测试优先选择核心业

2026-02-03 19:18:38 1068

原创 软件测试之博客系统项目实战(沉淀中)

本项目针对现代化博客系统开展全面测试,涵盖功能、性能与自动化测试。测试内容包括用户登录、文章发布/编辑/删除、Markdown编辑器等核心功能模块,使用Selenium等工具实现自动化测试。测试过程发现并修复了异常发布、界面交互等问题,确保系统稳定性与用户体验。通过详细的测试用例设计和多维度验证,为博客平台上线提供质量保障,同时建立后续迭代的测试基线。

2026-01-23 00:38:07 736

原创 软件测试-性能测试⼯具篇(沉淀中)

JMeter是一款基于Java开发的性能测试工具,主要用于Web应用压力测试。本文介绍了JMeter的安装、配置及基本使用方法。安装只需解压下载的tar包,并通过命令行或bat文件启动。配置包括修改语言为中文、设置线程组、HTTP取样器等。重点组件包括线程组(控制并发用户数)、HTTP取样器(配置请求参数)、查看结果树(查看响应信息)、HTTP Cookie管理器(管理会话信息)、HTTP请求默认值(统一配置请求参数)等。此外还介绍了CSV数据文件设置(参数化测试数据)和JSON提取器(提取响应数据用于后续

2025-09-27 15:36:19 973

原创 软件测试-性能测试概念篇(沉淀中)

性能测试是系统测试阶段的重要环节,旨在发现系统性能问题并获取相关指标。与功能测试关注"能否做"不同,性能测试关注"做得好不好",如响应速度、并发处理能力等。常见性能指标包括并发数、吞吐量(TPS/QPS)、响应时间和资源利用率等。性能测试分为基准测试、并发测试、负载测试和压力测试等类型,其中负载测试关注系统在预期负载下的表现,而压力测试则测试系统在极限条件下的行为。不同角色(终端用户、运维、开发、测试人员)对性能测试的关注点各有侧重,测试人员需要具备系统架构、数据库优

2025-09-27 15:35:34 1007

原创 软件测试之⾃动化测试常⽤函数(沉淀中)

本文介绍了Web自动化测试中的核心元素定位与操作方法。主要内容包括:1)元素定位方式,重点讲解CSS选择器和XPath语法,通过路径表达式和属性匹配定位节点;2)测试对象操作,涵盖点击、输入、清除文本、获取元素属性和页面信息等常用方法;3)窗口处理,包括获取窗口句柄和切换窗口的操作技巧。文章强调掌握这些基础技能对编写稳定可靠的自动化测试脚本的重要性,并指出虽然开发者工具可以复制选择器,但理解底层语法仍必不可少。

2025-09-19 21:39:48 1170

原创 软件测试之自动化测试概念篇(沉淀中)

自动化测试概念篇

2025-09-19 21:39:09 741

原创 软件测试用例(沉淀中)

文章摘要:测试用例设计与方法 测试用例是为了验证系统功能而设计的一组集合,包含测试环境、操作步骤、测试数据、预期结果等要素。设计测试用例的核心思路包括:基于需求分析、常规思维+逆向思维+发散性思维,以及万能公式(功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试)。具体方法包括等价类、边界值、判定表法、正交法、场景法和错误猜测法。测试用例需覆盖有效和无效输入,确保功能正确性,同时考虑安装卸载、弱网测试等场景。实际工作中需平衡用例数量与覆盖率,学习中则需尽可能发散思维。

2025-09-08 21:54:03 1308

原创 软件测试之测试分类(沉淀中)

文章摘要:软件测试可按目标、执行方式和方法分类,以提高测试效率。按目标分为界面测试(验证UI显示)、功能测试(验证功能需求)、性能测试(检测系统响应)、可靠性测试(评估系统可用性)、安全性测试(检查漏洞防护)和易用性测试(优化用户体验)。按执行方式分为静态测试(不运行程序)和动态测试(运行程序)。按方法分为白盒测试(分析内部逻辑)和黑盒测试(验证外部功能)。分类有助于针对性测试,提升软件质量。

2025-09-08 21:53:23 773

原创 安装Selenium⾃动化教程

本文介绍了Python开发环境的完整搭建流程,包括四个主要步骤:1)安装Python运行环境,推荐勾选"Add Python to PATH"选项;2)安装PyCharm社区版IDE,并配置基础开发环境;3)使用Python内置的pip包管理工具安装第三方库;4)搭建自动化测试环境,包括安装selenium库和webdriver-manager。教程详细说明了每个环节的安装方法、常见问题解决方案,并以百度搜索为例演示了自动化测试代码的编写。整个流程强调环境配置的细节,确保开发者能够顺利搭

2025-09-05 12:09:15 842

原创 软件测试 BUG(沉淀中)

本文主要介绍了软件测试生命周期和BUG管理相关内容。测试生命周期包括需求分析、测试计划、设计开发、执行评估、上线维护等阶段,测试贯穿整个软件开发过程。BUG部分详细说明了BUG的定义、描述要素(版本/环境/步骤/预期/实际结果)、严重级别(崩溃/严重/一般/次要)、生命周期(新建/修复/关闭等状态流转)以及测试人员与开发产生争执时的处理策略(检查描述/用户角度/定级依据/技术提升/BUG评审等)。文章强调测试人员需要全面理解需求,客观描述问题,并通过有效沟通推动问题解决。

2025-09-05 12:07:56 1271

原创 重生之一觉睡醒开始,发现今天是七夕,开始学软件测试 概念部分(沉淀中)

文章摘要:本文主要介绍了软件需求的概念、开发模型和测试模型,重点分析了用户需求与软件需求的区别,并详细阐述了软件开发的生命周期流程。文章通过建筑案例类比,说明了软件从需求分析、计划、设计、编码、测试到运行维护的完整过程。同时,对比了瀑布模型和螺旋模型两种开发模式,指出瀑布模型适用于需求固定的小项目,而螺旋模型更适合复杂度高、风险大的项目,强调风险管理的重要性。最后,文章提示测试工作需要贯穿整个开发周期,回归测试在迭代开发中尤为关键。

2025-08-29 12:05:09 1257

原创 初触软件测试(沉淀中)

本文系统介绍了软件测试的基础概念和行业现状。首先通过购物、App使用等生活案例说明测试无处不在,指出软件测试的本质是验证产品特性是否满足用户需求。其次分析了测试岗位类型,重点区分了测试工程师与测试开发工程师的异同。然后从工作内容、技能要求等方面对比了测试与开发岗位的区别,强调测试人员同样需要掌握开发知识。最后阐述了优秀测试人员应具备的综合素质,包括沟通能力、自动化测试技术、测试用例设计能力等核心技能,以及探索性思维、责任感和抗压能力等职业素养。文章为测试初学者提供了全面的行业认知,并针对常见面试问题给出了专

2025-08-29 12:04:31 1013

原创 深度剖析高性能内存池项目(沉淀中)

项目摘要 本项目实现了一个简化版的TCMalloc内存池,主要包含三层架构:ThreadCache、CentralCache和PageCache。ThreadCache采用线程本地存储实现无锁内存分配,CentralCache负责居中调度内存块,PageCache负责与系统堆交互并合并内存碎片。项目通过哈希桶结构管理不同大小的内存块,使用基数树优化页号查找性能。在测试中,该内存池在多线程环境下性能显著优于malloc。通过项目实践,加深了对内存管理、多线程编程和数据结构设计的理解,特别是哈希结构和无锁编程的

2025-08-27 17:49:13 94

原创 c++项目 高性能内存池从0到1,快来看看(沉淀中)

本项目实现了一个高并发内存池,其原型是Google开源项目tcmalloc。内存池通过预先申请大块内存并自行管理,避免了频繁调用系统malloc/free的开销,提高了多线程环境下的内存分配效率。项目采用定长内存池作为基础组件,使用自由链表管理回收的内存块,支持快速分配和释放。内存池解决了内存碎片问题,包括外碎片(不连续小内存无法满足大请求)和内碎片(对齐导致的浪费)。实现涉及C++、数据结构、操作系统内存管理、单例模式、多线程等技术,是学习高性能内存分配的优秀案例。

2025-08-27 17:48:23 257

原创 利用Qwen大模型进行c++11并发库的学习,与时俱进!!!!

本文介绍了C++异步编程的关键组件:std::future、std::shared_future、std::promise和std::packaged_task。std::future用于获取异步操作结果,std::shared_future支持多线程共享结果,std::promise用于存储值或异常,std::packaged_task包装可调用对象。文章通过代码示例演示了这些组件的使用方法,并特别对比了set_value()和set_value_at_thread_exit()的区别,强调了根据场景选择

2025-08-16 17:41:26 1021 1

原创 c++11扩展(c++11并发库)

C++11并发支持库提供了跨平台的多线程编程能力。thread库封装了系统底层线程API,支持面向对象的线程管理,提供4种构造函数,最常用的是传递可调用对象和参数的版本。线程可通过join()等待结束,通过get_id()获取线程ID。this_thread命名空间提供线程控制函数,包括获取线程ID、主动让出CPU(yield)、定时休眠(sleep_for/sleep_until)等。mutex类封装互斥锁,保护临界区数据,提供lock()和unlock()接口实现线程同步。相较于原生线程API,C++1

2025-08-16 17:40:34 1078

原创 资源泄漏练习(每日一练)

本文总结了C++资源管理的常见问题。栈上对象由编译器自动释放,不属于资源泄漏;堆内存、文件句柄等需手动释放。C++11智能指针中,unique_ptr禁止拷贝,shared_ptr和weak_ptr通过引用计数管理资源,但weak_ptr不能单独使用且主要用于解决循环引用问题。这些知识点有助于避免文件未关闭、内存泄漏等资源管理问题。

2025-08-13 09:07:16 249 2

原创 每日练习(c++11)

摘要:本文包含C++11相关知识点解析和二叉树层序遍历算法题。知识点部分涉及auto关键字、范围for循环、列表初始化、final/override修饰符、默认成员函数控制及lambda表达式。算法题部分给出二叉树的层序遍历实现代码,使用队列辅助实现,将每层节点值存入二维数组。各知识点解析清晰指出常见错误,算法实现简洁高效。

2025-08-13 09:06:43 912

原创 qt项目:QQMusic下(沉淀中)

本文介绍了使用Qt框架中的QMediaPlayer和QMediaPlaylist类实现音乐播放控制功能。QMediaPlayer类支持多种音频/视频播放模式,提供了丰富的状态枚举、属性控制和方法操作,如播放控制、音量调节等。QMediaPlaylist类则用于管理播放列表,支持多种播放模式(顺序、循环、随机等)和列表操作(添加、删除、切换歌曲等)。文章详细说明了两个类的常用属性、方法、信号和枚举类型,并给出了初始化播放器和播放列表的代码示例,为音乐播放功能的实现提供了完整的技术方案。

2025-08-08 15:01:13 184

原创 qt项目:QQMusic上(沉淀中)

本文介绍了一个基于QT开发的音乐播放器项目。项目主要功能包括:窗口头部支持最小化/关闭操作、左侧菜单栏切换不同音乐页面(推荐/电台/音乐馆/本地下载等)、右侧展示对应页面内容、支持播放控制(播放/暂停/音量调节等)和歌词同步显示。界面设计采用QT Designer布局,分为head区(含搜索框和功能按钮)和body区(左侧菜单+右侧内容展示)。项目实现了音乐管理、播放控制、数据持久化(收藏和历史记录)等核心模块,通过自定义控件优化了用户体验。文章详细解析了界面布局设计和功能实现方案。

2025-08-08 15:00:15 211

原创 闭散列和开散列的练习(哈希表模块)

文章摘要(150字): 本文包含哈希表相关题目解析和链表算法题解。哈希表部分涉及平均查找长度计算(1.5)、冲突处理方法比较(开放定址法易产生聚集)、删除元素处理方式(标记法)等知识点。链表部分包含两道LeetCode题解:1)重排链表,通过线性表存储节点后重新连接;2)合并K个有序链表,使用哨兵节点简化操作,重点讲解了哨兵节点的应用场景(动态构建链表、头节点可能改变等情况)。解题时需注意循环条件处理、指针移动和剩余节点连接等细节。

2025-08-04 11:56:26 806

原创 每日练习(AVL树)

本文主要讨论了AVL树的相关概念和链表操作算法题。第一部分解析了AVL树的特性,指出AVL树是高度平衡的二叉搜索树,其平衡因子绝对值不超过1,能保持O(logN)的时间复杂度。第二部分通过选择题辨析了二叉搜索树的中序遍历特性。第三部分提供了两个链表算法题解:1)两数相加问题,通过反转链表和头插法实现;2)两两交换链表节点,采用递归方法。文章强调理解AVL树的性质和链表操作技巧对于算法练习的重要性。(149字)

2025-08-04 11:55:33 401

原创 每日练习(红黑树)

摘要: 红黑树性质:红黑树是一种近似平衡的二叉搜索树,通过颜色约束和路径黑节点数相同保证O(logn)操作复杂度,最长路径可能为最短路径的两倍(D正确)。空树视为合法红黑树,前序遍历不保证有序(A、B错误),红黑树是近似而非完全平衡(C错误)。 红黑树插入:插入操作包括O(logn)查找位置和O(1)旋转/颜色调整,总时间复杂度为O(logn)(B正确)。 红黑树实现:最左/右节点为最小/大值(A正确),头结点非必需(B错误),允许连续黑色节点(C正确),旋转不依赖平衡因子(D正确)。 AVL vs 红黑树

2025-08-01 12:04:01 1112

原创 每日练习(异常)

本文解析了4道关于C++异常处理的题目。1. 指出未处理的异常可能导致程序崩溃,任何异常都应被处理;2. 说明catch捕获异常后可重新抛出;3. 强调throw抛出指针时需用指针类型捕获;4. 通过代码示例展示异常处理流程。重点包括:异常必须处理、throw/catch类型匹配、异常重新抛出机制等C++异常处理要点。

2025-08-01 12:03:17 626

原创 每日练习(map,set模块)

本文主要探讨了C++中map和set容器的特性及使用: map和set的核心区别在于map存储键值对,而set仅存储键。两者底层通常采用红黑树实现,查询时间复杂度为O(logN)。注意set不支持[]运算符访问。 map的键不可修改,但可通过自定义比较函数改变排序规则(默认升序)。map允许键值类型相同。 set具有自动去重功能,可存储对象但需定义比较规则。set元素不可直接修改,默认按升序排列。 实际应用示例展示了如何统计单词频率:使用unordered_map记录词频,通过sort自定义排序(先按频率降

2025-07-30 12:21:00 1233

原创 每日练习(二叉搜索树模块)

摘要:本文解析了4道二叉搜索树相关题目。内容涉及:1)二叉搜索树的性质(最左/右节点为最小/大值、中序遍历有序性);2)查找效率(平衡时O(logN),退化为链表时O(N));3)插入操作规则(根据节点值比较确定左右位置)。其中特别指出,二叉搜索树的结构具有唯一性,无法通过图形表示。通过选项分析,明确了各性质的具体适用条件,正确答案分别为D、B、C、A。(149字)

2025-07-30 12:20:18 357

原创 每日练习(多态)

本文主要解析了C++中关于多态性、虚函数和抽象类的10道题目。文章指出:1)多态性分为编译时多态(函数重载)和运行时多态(虚函数);2)虚函数是实现动态绑定的关键,需通过基类指针或引用调用;3)纯虚函数使类成为抽象类,不能实例化但可声明指针;4)重载、重写和重定义的区别在于作用域和继承关系。其中特别强调运行时多态不能通过模板实现,抽象类只能用于指针声明而不能实例化对象。正确理解这些概念对掌握C++面向对象编程至关重要。

2025-07-28 10:44:01 944

原创 每日练习(继承模块)

本文摘要: 子类对象大小不一定比基类大,取决于基类成员、子类新增成员和虚函数表指针等因素。 继承体现"is-a"关系(如Dog继承Animal),而"has-a"关系(如Car与Tire)应使用组合而非继承。 C++继承特性:class默认private继承,struct默认public成员;子类无法直接访问基类私有成员但实际继承。 函数重载允许同名不同参,但基类与子类同名函数会触发"同名隐藏"规则,子类函数完全隐藏基类版本。 构造/析构顺序:基类

2025-07-28 10:43:05 746

原创 每日练习(沉淀中)

本文解析了C++中的模板特化和仿函数相关知识点。在模板特化方面,详细说明了全特化和偏特化的概念,指出编译器在选择函数版本时的优先级顺序(普通函数 > 模板特化 > 模板)。在仿函数方面,分析了四个选项的正确性,指出仿函数与普通函数在性能上无本质区别,但能封装状态使代码更简洁。最后总结了模板声明和实现的规范要求,强调模板定义必须放在同一个文件中以便编译器实例化。

2025-07-25 10:19:02 886

原创 每日练习(沉淀中)

本文解析了4道编程题目:1.优先级队列(堆)的运行结果,展示了最大堆和最小堆的区别;2.STL容器特性对比,指出deque适合随机存取和首尾操作;3.迭代器失效问题,分析了vector、list和deque在删除元素时的不同表现;4.两道LeetCode题解:逆波兰表达式求值(使用栈)和数组中第K大元素(使用大顶堆)。文中提供了详细的代码实现和问题解析,重点讲解了数据结构特性和使用场景,帮助理解STL容器操作和算法应用。

2025-07-25 10:18:22 1163

原创 每日三题(沉淀中)

本文总结了三个栈相关的算法要点:1) 列表逆置操作中reverse函数的区间是左闭右开,end参数指向最后一个元素的下一个位置;2) 最小栈的实现采用辅助栈同步记录最小值,保证所有操作时间复杂度为O(1);3) 栈的压入弹出序列验证问题,通过将输入向量原地模拟栈操作,通过比较栈顶元素与弹出序列来判断合法性。三个案例分别展示了STL函数特性、栈的经典应用场景和空间优化技巧。

2025-07-23 11:11:29 404

原创 每日两题(沉淀中)

摘要:本文分享了两道算法题解法:1) 找出数组中出现次数超过一半的数字,使用哈希表统计频次后遍历判断;2) 电话号码字母组合问题,采用回溯算法生成所有可能的组合。第一题通过unordered_map记录数字出现次数,第二题建立数字-字母映射表后递归回溯求解。两题均需注意边界条件,代码中展示了核心实现逻辑和数据结构应用。

2025-07-23 11:10:55 172

原创 每日两题(沉淀中)

本文介绍了两个经典算法题的解法。第一题使用双指针法删除有序数组中的重复项,通过快慢指针遍历数组,将不重复元素前移,时间复杂度O(n)。第二题生成杨辉三角,利用二维数组动态规划,每行首尾为1,中间元素等于上一行相邻两数之和。两个题目分别考察了数组操作和动态规划思想,代码实现简洁高效。

2025-07-21 10:03:41 247

原创 每日两题(沉淀中)

本文分享了LeetCode两道关于查找只出现一次数字的题解。第一题使用哈希表统计数字出现次数,找到唯一出现一次的数字;第二题同样采用哈希表方法,但需要返回两个只出现一次的数字,使用vector存储结果。两题都利用了unordered_map的快速查找特性,并注意了其无序存储的特点。代码实现简洁高效,适用于处理类似查找唯一元素的问题。

2025-07-21 10:03:11 361

原创 每日两题(沉淀中)

本文介绍了两个LeetCode算法题解:1. 反转字符串中的单词(557题),通过双指针定位单词首尾进行局部反转;2. 找出只出现一次的数字(136题),利用异或运算特性高效求解。代码均使用C++实现,包含边界条件处理和STL容器操作说明。第一题采用逐个单词反转策略,第二题通过位运算实现O(n)时间复杂度。两个解法都体现了对问题特性的深入分析和简洁的编程技巧。

2025-07-18 10:07:54 277

空空如也

空空如也

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

TA关注的人

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