- 博客(141)
- 收藏
- 关注
原创 C++内存泄漏排查
《C++内存泄漏排查指南》摘要:本文介绍C++内存泄漏的常见成因(未配对使用new/delete、非虚析构函数、智能指针不当使用等)和排查方法。推荐使用静态分析工具(Cppcheck)、动态工具(Valgrind、ASan)和自定义内存分配器进行检测,建议优先使用智能指针和RAII原则预防泄漏。排查步骤包括重现问题、工具检测、分析调用链和修复验证。最佳实践包括使用容器管理数组、集成静态分析工具和编写单元测试。通过系统化方法可以有效发现和预防内存泄漏问题。
2025-07-15 15:18:01
575
原创 grid布局技巧
Grid 布局的核心优势在于其二维控制能力和强大的定位系统。快速创建复杂的多列布局实现响应式设计而无需依赖媒体查询精确控制元素的位置和对齐方式处理不规则或重叠的设计需求建议结合 Flexbox 使用 Grid:Grid 用于整体布局,Flexbox 用于局部元素排列。
2025-07-15 11:32:48
404
原创 flex 布局中一些小技巧
Flex布局中处理内容溢出的常用方法:1.单行文本溢出使用white-space:nowrap、overflow:hidden和text-overflow:ellipsis;2.多行文本通过-webkit-box属性组合实现;3.整个子项溢出需设置min-width:0和overflow:hidden;4.横向滚动容器需配合overflow-x:auto和white-space:nowrap。
2025-07-15 11:01:23
320
原创 AI 重塑软件开发:从代码生成到行业变革的深度解析
在软件开发领域,AI 技术的崛起正以颠覆性的力量重塑着我们的工作模式与行业生态。从代码生成的智能化到测试流程的自动化,从知识管理的革新到人才需求的转变,AI 正在为传统开发流程注入全新活力,推动整个行业迈向新的发展阶段。
2025-06-17 19:13:21
795
原创 ECMAScript 标准:JavaScript 的核心规范
ECMAScript(ES)是JavaScript的核心规范,自1997年发布首版后持续演进。2015年的ES6带来革命性更新,如箭头函数、Promise和模块化,奠定了现代JavaScript的基础。此后每年发布的新版本(如ES2017的async/await、ES2020的可选链操作符)不断优化开发体验。新特性需经过TC39委员会的5阶段提案流程,主流浏览器和Node.js对最新ES特性支持良好。开发者可通过Babel、Polyfill等工具使用前沿特性,而即将到来的ES2024将引入装饰器等新功能。
2025-06-17 18:53:57
852
原创 CompletableFuture 异步编程的典型问题与解决方案
本文深入探讨Java异步编程中CompletableFuture的典型问题及解决方案。主要内容包括:异常处理的三种方式(exceptionally、handle、whenComplete);任务编排复杂度的优化方法(thenCompose、thenCombine、allOf);线程池管理的自定义策略;内存泄漏的风险防范;调试困难的应对技巧;以及避免错误阻塞调用的最佳实践。通过具体代码示例,展示了如何构建高效可靠的异步编程体系,为开发者解决CompletableFuture实际应用中的常见痛点提供了实用指导。
2025-06-17 18:38:08
800
原创 5 分钟极速搭建 Python 开发环境:从 0 到运行的高效指南
本文介绍了Python环境搭建的高效方法,适用于Windows和macOS系统。主要内容包括:1. 快速安装Python及验证步骤;2. 使用虚拟环境隔离项目依赖;3. 包管理工具pip和pipx的使用技巧;4. 编辑器/IDE选择和快速配置;5. 常见问题解决方案。文中提供了详细命令行操作和实用技巧,如创建requirements.txt批量安装依赖、使用快捷键快速查看文档等,帮助开发者在5分钟内完成环境搭建并开始Python开发,最后以"Python之禅"代码验证环境配置成功。
2025-06-17 18:31:58
843
原创 npm 源切换以及添加 使用工具 nrm 使用方法
nrm(npm Registry Manager) 是一个用于管理和切换 npm 源的命令行工具,可以帮助开发者更方便地在不同的 npm 源之间切换,特别是对于需要频繁切换源的用户来说非常有用。以下是nrm。
2024-09-25 17:50:58
545
原创 如何从github上clone项目
在 GitHub 界面上,进入你的分支,点击 “Compare & pull request” 来创建一个新的 PR。如果项目中有多个分支,你可以切换到你需要工作的分支。在你的计算机上选择一个位置来存放即将克隆下来的项目,并在那里创建一个新的文件夹。
2024-09-13 14:24:56
1479
原创 Redis数据结构—跳跃表 skiplist
跳跃表(Skiplist)是Redis中用于实现有序集合(Sorted Set)的一种高效数据结构。
2024-07-19 14:09:02
712
原创 开源大潮下的创新与协作:探索开源项目的新纪元
开源项目的发展趋势表明,这是一个充满机遇的时代,无论是对于个人还是企业,参与开源都意味着无限的可能性。在未来的日子里,让我们携手共进,继续探索开源世界的广阔天地,共创更加开放、包容和创新的未来。
2024-07-16 11:28:07
260
原创 AI发展下的伦理挑战,应当如何应对?
AI发展带来的伦理挑战是多方面的,包括但不限于隐私保护、数据安全、算法偏见、责任归属、就业影响等。建立一套全面的AI伦理准则,明确AI系统设计、开发、应用的道德边界。总之,应对AI伦理挑战需要政府、企业、学术界、社会组织和公众的共同参与,通过综合措施构建一个负责任、公平、安全的AI生态系统。AI可能改变就业结构,政府和社会应提供培训和教育机会,帮助劳动力适应新技术环境,减少技术进步带来的失业风险。提高公众对AI技术的理解和认知,鼓励社会各界参与AI伦理讨论,形成广泛的社会共识。方向一:制定伦理准则与规范。
2024-07-16 11:21:11
485
原创 Vue 接口用FormData() 提交数据
要使用 FormData 将数据提交给接口,首先需要了解 FormData 是如何工作的。FormData 是一种用于异步上传数据的表单数据结构,它可以让你以一种简单的方式发送键值对。
2024-07-16 11:06:14
909
原创 SQLServer设置端口
在 SQL Server Configuration Manager 中,展开 "SQL Server Network Configuration",找到你的实例下的 "Protocols for MSSQLSERVER"(MSSQLSERVER 是默认实例,如果是命名实例则名称会有所不同),双击 "TCP/IP"。请根据你的具体环境和版本进行适当的调整。点击 "OK" 保存更改,然后回到 "SQL Server Services",重启你的 SQL Server 实例。
2024-07-13 10:58:38
949
原创 大语言模型系列-Transformer
Transformer 是一种在自然语言处理(NLP)领域具有革命性影响的神经网络架构,由 Vaswani 等人在 2017 年的论文《Attention is All You Need》中首次提出。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN)的设计,完全依赖于自注意力机制(Self-Attention)来处理输入数据,这使得 Transformer 在处理长序列数据时更加高效,并且能够并行化训练,大大加速了训练过程。
2024-07-13 10:51:43
701
原创 Windows中配置python3.11环境安装教程
你可以加入 Python 的官方论坛、Stack Overflow、Reddit 的 r/learnpython 或者当地的 Python 用户组。通过以上步骤,你不仅能够顺利安装和配置 Python 3.11 环境,还能掌握新版本的关键特性和最佳实践,从而成为一名更熟练的 Python 开发者。如果你打算使用像 PyCharm、VS Code 或其他编辑器,你需要在编辑器中配置 Python 解释器指向你刚刚安装的 Python 3.11。如果在安装过程中遇到任何问题,可以查阅官方文档或寻求社区的帮助。
2024-07-10 18:43:26
1258
原创 Laravel为什么会成为最优雅的PHP框架?
Artisan 是 Laravel 自带的一个强大的命令行工具,提供了许多实用的命令,如生成控制器、模型、迁移、种子数据等,大大减少了重复劳动。Laravel 的设计哲学、强大的功能集、优秀的文档和活跃的社区支持,使其成为了一个既优雅又高效的 PHP 开发框架。Laravel 拥有一个活跃的社区和丰富的生态系统,包括大量的第三方包、文档和教程,这些都是框架持续发展和受欢迎的重要因素。Laravel 的设计哲学强调代码的可读性和简洁性,其语法设计使得开发者能够以最少的代码量实现复杂的功能,提高了开发效率。
2024-07-10 17:45:06
238
转载 HTML+CSS+JS 动态展开式菜单
实现了一个可展开菜单按钮的效果,点击按钮会弹出一个菜单列表,菜单列表中包含多个选项。按钮的样式为一个圆形背景,中间有三条横线,表示可以展开。当按钮被点击后,三条横线会变成一个叉号,表示可以收起。菜单列表的样式为一个白色背景,四周有阴影,包含多个选项,每个选项都有一个图标和文字。当菜单展开时,选项会以渐变的方式出现。
2024-07-10 17:40:43
476
转载 HTML+CSS 图片悬停组件
实现了一个图片悬停放大效果,包括多个图片卡片,当鼠标悬停在图片上时,图片会放大并显示出标题和描述文字。整个效果简洁美观,可以用于各种网站的图片展示设计。
2024-07-10 17:37:25
179
转载 HTML+CSS 波浪式模糊文字特效
实现了一个文字模糊消失的效果,包括一个容器(.container)和一个标题(h2)。标题中的文字由多个span元素组成,通过鼠标悬停实现逐个消失的效果。整个容器背景颜色为黑色,使文字效果更加突出。HTMLCSS。
2024-07-10 17:35:01
179
转载 HTML+CSS 动态模糊导航菜单
元素的透明度设置回1(完全不透明),并移除模糊效果,使得当前悬停的列表项看起来清晰。通过这些样式的组合,创建了一个具有视觉吸引力和动态交互效果的导航菜单。元素的透明度设置为0.2,使其看起来更淡,同时应用了一个2px的模糊滤镜效果,使得非悬停的列表项看起来更加模糊。元素的高度为视口(viewport)的高度的100%,即整个屏幕的高度。这样做的目的是为了消除不同浏览器之间的默认样式差异,确保页面的布局从统一的起点开始。,渐变角度为200度,这意味着渐变的方向是从左上到右下。设置了链接的颜色为深灰色。
2024-07-10 17:30:51
201
原创 postman接口测试工具详解
Postman 是一款非常流行的API开发和测试工具,它允许开发者构建、发送、调试和修改HTTP请求,以测试和使用Web服务。
2024-07-10 10:31:02
410
原创 WebKit简介及工作流程
WebKit 是一个开源的浏览器引擎,它主要负责解析和渲染 HTML、XML 文档以及执行 JavaScript 脚本。WebKit 最初由苹果公司在2005年发布,其基础来源于 KDE 项目的 KHTML 和 KJS 引擎。除了这两个核心组件,WebKit 还包括其他模块,如 Web Inspector(开发者工具)、Storage API、DOM、CSS、SVG、AJAX 支持等。WebKit 不仅被用于 Safari 浏览器,还被 Google Chrome、Opera 和许多移动设备上的浏览器采用。
2024-07-09 10:18:13
2151
原创 PostCss 概述
PostCSS 通过其灵活的插件架构,将 CSS 处理能力从单纯的样式编写扩展到了代码验证、现代化、优化等多个层面。它作为一个高度可定制的中间层,能够无缝衔接现有工作流,帮助开发者编写更高效、更易于维护、更具备前瞻性的 CSS 代码,同时确保了跨浏览器的兼容性。
2024-04-23 17:40:02
692
原创 数据库的介绍、分类、作用和特点
数据库是一个持久化存储介质上的数据管理系统,它不仅包含了数据本身,还包括了对数据进行访问、控制和维护的相关软件。用户可以通过定义良好的接口和查询语言(如SQL)与数据库交互,以执行创建、读取、更新和删除(CRUD)操作。
2024-04-01 14:40:00
1029
原创 程序员常用的几种算法
这些算法都是计算机科学领域内的重要基础,对于提升程序性能、解决特定问题以及优化解决方案具有重要作用。在实际编程工作中,根据具体需求灵活运用和组合这些算法往往能够带来更高效、简洁的解决方案。
2024-04-01 14:21:28
1232
原创 Windows安装SSH教程
在Windows操作系统上安装SSH服务器和客户端的步骤如下:安装OpenSSH Server和Client for Windows。
2024-03-29 09:47:10
426
原创 postcss安装和使用
安装PostCSS通常涉及使用npm(Node Package Manager)或者yarn等JavaScript包管理器。
2024-03-29 09:40:52
1961
原创 速成软件书:真的是神器吗?
对于初学者而言,这类书籍可能提供了有效的快速引导,帮助他们建立起对软件的整体认知框架,节省了自行探索和搜索资料的时间。声称几天就能让人精通软件的书籍,其标题往往是吸引潜在读者注意力的营销策略,实际上要真正精通一门软件或技术,通常需要一定的时间和实践积累。这些书籍的目标可能是帮助读者快速入门,掌握软件的基本使用方法和核心功能,而非达到真正的精通水平。所以,“几天精通”的说法更多的是激发学习兴趣和动力的方式,真正的精通离不开系统性的学习、持续的实践和不断的反思总结。
2024-03-28 11:29:43
150
原创 数据库的介绍、分类、作用和特点
数据库作为现代信息系统的核心组成部分,在信息化社会中发挥着至关重要的作用。随着技术的不断发展,数据库的种类和功能日益丰富和完善,以满足不同行业和场景下的数据管理需求。
2024-03-28 11:23:42
736
原创 vue 将数组2中的数据在数组1中查找下,如果没有则添加,否则不添加
mergeUniqueItems 方法负责遍历 array2 中的每一项,通过 Array.prototype.includes() 检查 array1 是否已经包含了当前项。在真实的应用场景中,你可能希望在某个事件触发时(比如用户点击按钮)才执行这个合并操作,而不是在 created 生命周期钩子中执行。在Vue中处理这个问题,我们需要根据对象的id进行去重,因为这里是对象数组,而不仅仅是数值数组。vue 将数组2中的数据在数组1中查找下,如果没有则添加,否则不添加。
2024-03-28 10:16:57
514
原创 Vue 使用 array.flatMap()例子
在Vue中,.flatMap() 是 JavaScript ES6 提供的一个数组实例方法,它可以将数组中的每个元素应用一个映射函数,然后将所有映射结果放入一个新的扁平化数组中返回。我们使用 .flatMap() 来扁平化地映射这个数组,将每个元素的id和其子项转换为新格式后合并到一个单一的新数组中。注意,.flatMap() 方法并不会对原始数组做任何修改,而是返回一个新的数组。此外,它要求映射函数返回的是一个数组,这样就可以自动将所有返回的数组合并成一个单一的扁平数组。
2024-03-28 10:07:57
803
转载 灵活的 Map :array.flatMap()
map() 方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。
2024-03-28 10:04:33
116
原创 vue 打开pdf、word使用示例代码
在 Vue 中打开 PDF、Word 和 Excel 文件通常涉及到在浏览器中嵌入预览器或者使用第三方库将文件转换为可在网页上展示的格式。
2024-03-27 16:57:24
1431
原创 vue 将form中的参数全部转成formdata的形式,示例代码
在Vue项目中,如果你想要将表单数据转换成FormData格式以便发送至后端,你可以这样做:首先,假设你有一个Vue组件,其中有一个表单,表单元素已经被v-model绑定到组件的数据对象上
2024-03-27 16:11:29
793
原创 ADB 操作命令详解及用法大全
ADB(Android Debug Bridge)是Android开发者用来与Android设备进行通信的命令行工具,主要用于调试、安装、卸载应用、查看设备信息、拷贝文件等操作。默认显示设备的日志输出,可以配合过滤条件来查看特定标签或级别的日志。清除指定应用的所有数据,相当于还原出厂设置或重新安装前的状态。使用此命令将指定路径下的APK文件安装到已连接的设备上。启动指定应用的某个活动界面,需要提供完整的包名和活动名。将本地计算机上的文件上传到设备上的指定路径。将设备上的文件下载到本地计算机的指定路径。
2024-03-27 15:21:24
715
vue 身份证校验规则,15位以及18位
2024-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人