- 博客(1396)
- 收藏
- 关注
原创 CMake 构建实例
摘要:本文通过4个逐步升级的CMake项目实例,展示现代CMake最佳实践。从单文件Hello World到包含多目录、静态/动态库选项、安装规则和单元测试的中型项目,详细演示了CMakeLists.txt编写和构建流程。所有实例均采用源码外构建、target-centric写法和C++17标准,并提供可直接复用的推荐项目模板。文章还提及可扩展支持第三方库集成、交叉编译等高级场景。
2025-12-26 09:18:02
452
原创 CMake 构建流程
CMake构建流程分为配置、构建两个核心阶段,可选测试和安装阶段。配置阶段(cmake命令)生成构建系统文件,构建阶段(cmake --build)实际编译项目。推荐使用独立build目录,通过-D选项设置参数(如编译类型、C++标准),--build支持并行编译(-j)。完整流程包括:创建build目录→配置→构建→(可选)测试→安装。配置阶段会生成CMakeCache.txt等文件,修改CMakeLists.txt需重新配置。建议使用Ninja生成器提高速度,多配置生成器(如VS)需指定--config
2025-12-26 09:16:38
368
原创 CMake 基础
本文介绍了CMake构建系统的基础知识,包括工作流程、核心命令和简单项目配置。主要内容有:1) CMake基本三行配置:指定版本、定义项目和添加可执行文件;2) 核心命令如目标创建、头文件路径设置和库链接;3) C++标准设置方法;4) 多文件项目管理示例;5) 常用变量和构建类型说明。通过本文可掌握小型C++项目的CMake配置基础,为进一步学习子目录管理、外部库集成等高级功能打下基础。
2025-12-26 09:15:05
314
原创 CMake 安装与配置
本文详细介绍了CMake在Windows、macOS和Linux三大平台上的安装方法及配置技巧。Windows推荐使用官方MSI安装器并勾选PATH选项,macOS建议通过Homebrew安装,Linux各发行版可使用系统包管理器。文章还提供了环境变量设置指南、主流IDE(如VS、VSCode、CLion)的集成配置,以及常用CMake命令行参数和构建流程。最后总结了各平台安装方式的特点,帮助开发者快速搭建CMake开发环境。
2025-12-26 09:13:55
924
原创 CMake 教程
本文是一份2025版CMake教程,从基础安装到实战应用全面讲解。主要内容包括:CMake的基本概念与跨平台特性;安装方法(Windows/macOS/Linux);"Hello World"项目示例;核心命令详解(如add_executable、target_link_libraries);多文件项目组织;常用变量与最佳实践;C++标准设置;外部库集成;安装打包技巧;以及现代CMake推荐写法。教程强调源码与构建分离、目标导向的现代CMake风格,帮助开发者高效管理C/C++项目构建流
2025-12-26 09:12:53
865
原创 正则表达式 - 示例
本文汇总了正则表达式的常见实用场景,包含验证、提取、替换三类示例。验证类如手机号、邮箱、身份证等格式校验;提取类包括URL域名、图片src、日期等数据抓取;替换类涉及日期格式转换、脱敏处理等操作。还提供了密码强度验证、HTML标签匹配等高级用法,以及日志解析的综合案例。这些正则模式覆盖80%日常开发需求,可直接使用或根据编程语言调整,帮助开发者高效处理文本数据。
2025-12-26 09:06:08
580
原创 正则表达式 - 断言
正则表达式中的断言(Assertions)是零宽度的匹配机制,包括环视断言和条件断言两大类。环视断言(Lookaround)分为正/负向前瞻和后瞻,用于检查当前位置前后是否符合特定模式,如\d+(?=px)匹配"200px"中的数字200。条件断言则根据捕获组是否匹配选择分支,但JavaScript原生不支持。不同引擎对断言的支持存在差异,特别是后瞻断言的长度限制。断言在密码验证、数据提取等场景中非常实用,但需注意性能优化。掌握断言能实现复杂条件匹配而不影响最终结果。
2025-12-26 09:04:28
840
原创 正则表达式 - 选择和分支
正则表达式中的选择(Alternation)使用 | 实现"或"逻辑,从左到右尝试匹配分支。通过分组控制范围,优先级低的 | 需结合括号明确分支。最佳实践是将常见模式放左侧提升效率,可应用于日期格式、邮箱验证等场景。注意性能优化,避免过多分支回溯,使用非捕获组提高效率。该功能能有效处理多格式文本,如匹配不同拼写、日志级别等需求。
2025-12-26 09:03:19
855
原创 正则表达式 - 分组和引用
场景正则示例用途提取日期组件分离年月日验证密码重复(结合JS)更常用反向引用验证重复内容替换日期格式转为 MM/DD/YYYY查找重复单词高亮文章中重复词匹配引号内容不完美复杂但更准确。
2025-12-26 09:02:13
650
原创 正则表达式 - 位置匹配
(也称为锚点或锚定)。位置匹配不消耗任何字符,只指定匹配必须发生在字符串的特定位置(如开头、结尾、单词边界等)。位置匹配是正则表达式精确控制的核心,掌握它能让你的模式更强大、更高效!如果有具体示例或语言需求,可以提供更多细节。,但不匹配 “hello world” 中的 “hello”(如果有连字符等)。环视是一种零宽度断言,只匹配位置,不消耗字符。常用于“前后条件匹配”。在数字中插入逗号,如 “1234567” → “1,234,567”。只匹配正好 11 位数字的字符串。正则表达式不仅能匹配。
2025-12-26 09:00:23
799
原创 Python 访问者模式
摘要:访问者模式是一种行为型设计模式,将算法与对象结构分离,允许在不修改对象结构的情况下添加新操作。本文通过Python实现图形编辑器示例,展示了如何为圆形和矩形元素定义不同的访问者(绘制、计算面积、导出XML)。该模式通过双分派机制,解决在稳定对象结构上频繁添加操作的需求,典型应用于编译器AST处理、文档转换等场景。关键优势是符合开闭原则,使新增操作不影响现有代码。
2025-12-25 10:01:38
1052
原创 Python 状态模式
状态模式是一种行为型设计模式,允许对象在内部状态改变时改变其行为。该模式通过将不同状态的行为封装到独立的类中,消除庞大的条件判断语句,使状态转换更加清晰。适用于订单状态机、TCP连接、游戏角色状态等场景。Python实现通常包含上下文类(如Order)、抽象状态类(OrderState)和多个具体状态类(如PendingPaymentState)。优点包括行为局部化、易于扩展新状态、状态转换显式化等。对于简单场景,可使用字典+函数简化实现。该模式使对象行为能随状态动态变化,提高代码灵活性和可维护性。
2025-12-25 10:00:26
655
原创 Python 责任链模式
本文介绍了Python中的责任链设计模式,该模式通过将请求发送者与接收者解耦,使多个对象有机会处理请求。文章详细说明了责任链模式的优点(解耦、动态组合、单一职责)和典型应用场景(日志系统、Web中间件等),并提供了两种实现方式:面向对象示例(日志处理器链)和函数式简化版。最后对比了责任链与其他设计模式的区别,突出了其动态传递请求的特点。该模式适用于需要灵活处理链式请求的场景。
2025-12-25 09:59:07
681
原创 Python 迭代器模式
本文介绍了Python中的迭代器模式,重点解析了其核心原理与实现方式。迭代器模式通过分离容器与遍历行为,提供顺序访问聚合对象元素的能力,而无需暴露内部结构。Python内置完美支持迭代器协议,任何实现__iter__()和__next__()方法的对象都是迭代器。文章对比了经典实现方式与更Pythonic的生成器方案,推荐优先使用yield实现迭代器,并介绍了标准库itertools中的高效工具。最后总结了迭代器在实际开发中的应用场景,包括文件处理、数据流操作等,强调Python中迭代器不是需要手动实现的模
2025-12-25 09:58:04
626
原创 Python 模板方法模式
Python 模板方法模式摘要 模板方法模式是一种行为型设计模式,用于定义算法骨架并将具体步骤延迟到子类实现。其核心优势在于代码复用、扩展控制和流程一致性。Python实现中,抽象类定义模板方法和钩子方法,子类实现具体步骤。典型应用包括框架生命周期、数据处理管道等。Pythonic实现可通过函数组合替代继承。该模式适合固定流程但需灵活步骤的场景,与策略模式(整体算法替换)形成对比。实际案例包括HTTP请求处理和单元测试框架。
2025-12-25 09:56:54
787
原创 Python 命令模式
命令模式是一种行为型设计模式,它将请求封装为对象,使调用者与接收者解耦。通过命令对象,可以实现撤销/重做、命令队列、日志记录等功能。Python实现示例展示了文本编辑器的撤销操作,使用Command接口和CommandManager管理命令历史。模式适用于GUI操作、事务系统等场景,支持扩展新命令和组合命令。Pythonic简化版则使用函数作为命令对象。核心结构包括Command接口、具体命令、接收者和调用者。
2025-12-25 09:55:41
1075
原创 Python 策略模式
Python策略模式是一种行为型设计模式,通过封装可互换的算法实现运行时灵活切换。它避免了大量条件判断,符合开闭原则,适用于支付方式、排序算法等场景。Python实现有两种方式:1) 面向对象方式,定义策略接口和具体策略类;2) 函数式方式,利用Python函数作为一等公民的特性。该模式通过上下文类管理策略引用,使算法变化独立于客户端代码。Pythonic实现推荐在简单场景使用函数策略,复杂场景使用类策略,并可通过字典或枚举管理多种策略。
2025-12-25 09:54:12
886
原创 Python 观察者模式
Python观察者模式摘要(150字) 观察者模式实现对象间一对多的状态通知机制,当主题(Subject)状态变化时自动更新所有观察者(Observer)。Python中可通过抽象基类定义观察者接口,主题类维护观察者列表并提供订阅/取消方法。典型应用包括GUI事件、股票监控等场景,优势在于松耦合和开闭原则支持。实现时可用@property装饰器自动触发通知,或结合第三方库(如blinker)简化开发。注意区分观察者模式(直接引用)与发布-订阅模式(中间件解耦)的适用场景。示例展示了股票价格变动时图表、短信、
2025-12-25 09:52:55
704
原创 Python 享元模式
享元模式是一种结构型设计模式,通过共享大量细粒度对象来减少内存占用。它分离内在状态(共享部分)和外在状态(上下文相关部分),适用于需要创建大量相似对象的场景(如游戏粒子、文字字符)。Python实现通常使用工厂类管理共享对象,结合不可变数据类型确保安全性。该模式可显著优化内存使用,尤其适合对象种类有限但数量庞大的应用。
2025-12-25 09:51:44
561
原创 Python 中的组合模式(Composite Pattern)
摘要: 组合模式是一种结构型设计模式,用于将对象组织成树形结构,使客户端能统一处理单个对象和组合对象。它适用于文件系统、GUI组件、组织架构等层次化场景。Python实现中,抽象组件(Component)定义统一接口,叶子节点(Leaf)实现基本操作,组合节点(Composite)管理子组件并递归调用。该模式简化客户端代码,支持扩展,但需注意接口一致性和递归性能问题。典型应用包括XML解析、菜单系统等树状数据结构处理。
2025-12-25 09:50:26
699
原创 Highcharts 饼图
Highcharts 饼图是展示数据占比的理想选择,支持多种变体包括标准饼图、环形图、半圆饼图和3D饼图。本文详细介绍了各类饼图的实现方法,通过示例代码展示了基本饼图和环形图的配置要点,包括数据标签、颜色分配和交互功能。3D饼图需引入额外模块,而半圆饼图则通过角度控制实现。文章总结了常用配置项,如innerSize控制环形大小、dataLabels显示百分比等,帮助开发者快速创建专业级饼图可视化效果。
2025-12-24 10:05:49
736
原创 Highcharts 柱形图
Highcharts 柱形图(Column Chart)是最常用的数据可视化图表之一,主要用于比较不同类别的数值。本文详细介绍了柱形图的基本类型(标准柱形图、堆叠柱形图、百分比堆叠柱形图和柱形范围图),并提供了完整的代码示例。文章还对比了柱形图与条形图的适用场景,总结了常用配置项,包括图表类型、堆叠方式、圆角设置和数据标签等。对于需要显示负值或数据区间的场景,文章也给出了解决方案。最后指出可以进一步扩展实现瀑布图、3D柱形图等高级图表类型。
2025-12-24 10:04:52
734
原创 Highcharts 条形图
Highcharts 条形图(Bar Chart)是一种用水平条形展示数据的图表,适合比较分类数据(如排名、销量等)。主要类型包括基础条形图、堆叠条形图和百分比堆叠条形图。通过设置chart.type为'bar'即可创建水平条形图,还可自定义数据标签、圆角等样式。与垂直柱状图相比,条形图更适合处理长标签或多类别数据。堆叠条形图可通过stacking: 'normal'或'percent'实现,负值条形图则适用于显示正负偏差。Highcharts 提供了丰富的配置选项,如调整标签大小、添加圆角等,使数据可视化
2025-12-24 10:03:59
513
原创 Highcharts 区域图
配置项推荐值/说明chart.type‘area’ / ‘areaspline’(推荐) / ‘arearange’‘normal’ 或 ‘percent’(堆叠时使用)0.4 ~ 0.7(透明度,防止颜色太重)true(多系列时强烈推荐)2~4(边线粗细)
2025-12-24 10:01:34
959
原创 Highcharts 曲线图
本文详细介绍了Highcharts中的曲线图(Spline Chart)使用方法。曲线图通过样条曲线插值使折线平滑,适合展示趋势数据。文章包含基本曲线图示例代码,解释了关键配置项如chart.type、plotOptions.spline等,并展示了高级功能如阴影、区域填充的实现。还比较了line、spline和areaspline三种图表类型的区别,提供了快速切换的方法。适用于需要展示气温、股价等趋势数据的场景。
2025-12-24 09:57:32
685
原创 Highcharts 配置选项详细说明
Highcharts通过JavaScript对象配置图表,主要选项包括:chart(图表类型、尺寸)、title/subtitle(标题)、xAxis/yAxis(坐标轴)、series(核心数据)、tooltip(悬停提示)、legend(图例)、plotOptions(系列样式)等。其他重要功能如导出(exporting)、无障碍(accessibility)需额外模块支持。配置优先级为plotOptions>series>point,支持全局默认设置(Highcharts.setOptio
2025-12-24 09:56:42
779
原创 Highcharts 配置语法
Highcharts 图表通过 JavaScript 对象配置,包含图表类型、标题、坐标轴、数据系列等核心元素。配置结构清晰,支持混合图表、多Y轴等高级功能,可通过API动态更新数据。推荐先掌握基本结构,再查阅官方文档深入学习,在线编辑器可帮助实践。文章详细介绍了配置语法和常用选项,并提供了高级技巧示例,为开发者快速上手Highcharts提供了实用指南。
2025-12-24 09:55:27
334
原创 Highcharts 环境配置
本文介绍了Highcharts图表库的多种环境配置方式。对于初学者和快速测试,推荐使用CDN直接引入核心库;生产环境可选择下载本地文件自托管;现代项目建议通过npm安装。文章详细说明了每种方式的代码示例和注意事项,包括框架特定包装器、模块加载和许可证问题。最后提醒用户可根据项目需求选择最适合的配置方案,并建议提供更多细节以获得更精确的代码示例。
2025-12-24 09:54:11
863
原创 Highcharts 教程
Highcharts是一个功能强大的JavaScript图表库,支持折线图、柱状图、饼图等多种图表类型,兼容主流浏览器和设备。本文推荐了优质的中英文学习资源,包括菜鸟教程、官方文档和知乎教程,并提供了一个快速入门示例,展示如何创建简单的交互式折线图。适合初学者从基础配置开始学习,逐步掌握各类图表制作方法。
2025-12-24 09:53:02
795
原创 Playwright Test
摘要: Playwright Test是Playwright框架内置的现代化E2E测试运行器,专为Web应用测试优化,支持自动等待、跨浏览器测试、并行执行和可视化调试(UI Mode)。2025年最新版本(约1.57+)强化了Trace Viewer和报告功能。安装简单(npm init playwright@latest),配置灵活,提供Locator定位、失败重试、视频录制等核心功能。相比Jest更专注浏览器交互,适合完整用户流程测试。推荐使用--ui模式调试,并集成CI/CD。最佳实践包括优先使用ge
2025-12-24 09:44:09
806
原创 Playwright 数据提取和验证
Playwright 数据提取与验证(2025版) Playwright 提供了强大的数据提取和验证功能,支持多种语言(Node.js/Python)。通过 Locator API 可提取元素文本、属性值、输入框内容等数据,支持批量提取多个元素。其 Web-First 断言机制能自动等待元素就绪,提供丰富的验证方法,包括文本匹配、元素可见性、属性验证等。高级功能支持软断言、自定义超时、视觉回归测试等场景。文中给出了百度搜索验证的完整示例,并提供了 Python 实现代码,展示了实际应用中的提取与验证流程。
2025-12-22 10:25:20
465
原创 Playwright 高级页面操作
本文介绍了 Playwright 高级页面操作技巧,涵盖现代 Web 应用常见场景。主要内容包括:处理弹窗与对话框、文件下载与上传、iframe 操作、Shadow DOM 穿透、网络拦截与 Mock、设备模拟、多上下文管理等。文章提供了 TypeScript 和 Python 的代码示例,重点讲解了网络拦截、文件操作等核心功能的使用方法,并分享了开启 Trace 日志、录制测试等最佳实践。这些高级技巧可帮助测试人员应对 React/Vue/Angular 等现代 Web 框架构建的复杂应用场景。
2025-12-22 10:23:48
530
原创 Playwright 页面操作基础
Playwright 提供强大的页面操作功能,具备自动等待机制,无需手动添加等待。支持导航、元素定位(推荐使用 Locator)、点击、输入、下拉选择等常见交互,以及鼠标键盘操作、页面信息获取和截图录屏。Python 和 Node.js/TypeScript 语法类似,最佳实践包括优先使用 getByRole 和 data-testid 定位。所有操作默认自动等待,可通过链式调用实现复杂交互,适合处理 90% 的网页测试场景。
2025-12-22 10:22:45
619
原创 Playwright 第一个脚本
摘要:本文介绍如何编写和运行第一个 Playwright 脚本(2025最新版)。主要内容包括:1)创建 Node.js/TypeScript 测试脚本,实现浏览器启动、页面导航、截图和断言功能;2)提供 Python 版本代码示例;3)详细说明运行方法和常见问题解决方案。该指南基于官方文档经典示例,适合新手快速入门 Playwright 自动化测试,涵盖核心功能如浏览器控制、页面操作和可靠断言。
2025-12-22 10:21:27
669
原创 Playwright 开发环境配置
本文介绍了2025年最新版Playwright开发环境的配置方法,重点推荐使用VS Code作为IDE。详细步骤包括:1)安装VS Code和Node.js/Python;2)安装Playwright VS Code扩展;3)通过扩展或命令行初始化项目;4)关键配置文件说明;5)常用开发命令;6)VS Code扩展的高级功能如测试运行、调试和Trace查看;7)常见问题与最佳实践。该指南提供了一体化的配置方案,帮助开发者快速搭建高效的Playwright测试环境。
2025-12-22 10:20:07
890
原创 Playwright 简介
本文介绍了Playwright在Python和Node.js/JavaScript/TypeScript环境下的安装方法。Python版通过pip安装库后需执行playwright install下载浏览器驱动;Node.js版推荐使用npm init playwright@latest一键初始化项目。文中提供了安装验证、VS Code集成、常见问题解决及更新方法,并附有官方文档链接。适用于Windows、macOS和Linux系统,帮助开发者快速搭建Playwright测试环境。
2025-12-22 10:18:33
925
原创 Playwright 教程
摘要:Playwright 是 Microsoft 开发的现代化 Web 自动化测试和爬虫框架,支持 Chromium、Firefox 和 WebKit 三大浏览器,提供跨语言统一 API。2025 年最新版本具备自动等待、可靠事件、代码生成等特性,比 Selenium 更稳定高效。安装简单,支持 Python 和 Node.js,提供录制功能快速生成脚本。核心功能包括智能定位、断言、网络拦截和测试报告。推荐学习官方文档、菜鸟教程和中文社区资源,进阶可探索 Playwright Test 框架和 AI 驱动
2025-12-22 10:16:43
714
原创 React + Electron 实战项目
React + Electron 实战指南摘要(2025最新) 推荐使用 Vite + React + TypeScript + Electron 组合开发跨平台桌面应用,官方模板(electron-vite/react-ts)提供热重载、多窗口支持及自动更新功能。 核心推荐: 入门项目:Todo清单(10小时完成,掌握IPC/持久化) 进阶项目:Markdown编辑器(文件操作/语法高亮)、API测试工具(网络请求/Mock) 高价值项目:本地AI聊天客户端(Ollama集成)、图片批量处理工具(shar
2025-12-22 10:13:31
589
原创 Vue + Electron 实战项目
Vue + Electron 实战项目推荐 Vue 3与Electron结合是2025年构建跨平台桌面应用的热门方案。推荐使用electron-vite官方模板快速入门,提供Vue 3+TypeScript支持,10分钟即可启动项目。 学习路径建议: 入门(1-2周):实现笔记应用,掌握窗口创建和文件存储 中级(2-4周):添加托盘、自动更新等功能 进阶(1月+):集成原生模块和性能优化 推荐实战项目(难度递增): 笔记应用(基础IPC通信) Markdown编辑器(文件系统操作) 截屏OCR工具(原生AP
2025-12-22 10:11:56
768
原创 Electron API 速查与配置模板(2025 年最新版)
Electron API 速查与配置模板(2025 最新版) 本文提供 Electron 33+ 的核心 API 速查表和生产级项目配置模板。包含常用模块如 app、BrowserWindow、ipcMain 等关键 API 说明,以及窗口创建、进程通信和安全防护的最佳实践。重点推荐: 生产级 BrowserWindow 配置模板,含沙盒、安全策略等优化 安全 preload.js 实现方案,使用 contextBridge 白名单通信 开发/生产环境差异化加载策略 窗口生命周期管理和安全防护措施(防白屏、
2025-12-22 10:10:54
315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅