自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python与nodejs哪个性能高

下面我们就具体分析二者性能差异的原因及适用场景。在涉及复杂计算逻辑的应用中,如图像处理、数据科学分析和人工智能模型训练,Python通过多进程和扩展工具如Cython或Numba来弥补GIL的不足,实现高效的计算性能。通过以上详尽分析,我们明确了Node.js和Python在不同场景下的性能优劣势,使企业和开发者可以根据自身需求作出最优化的选择,提升开发效率和业务表现。但在数据密集计算的基准测试中,如SciMark2(科学计算性能测试),Python通过优化的数学库能够展现出优于Node.js的性能优势。

2025-11-13 23:43:13 963

原创 Python是什么,为什么一定要学Python

Python在数据科学和人工智能领域的应用尤为突出。Python是一种高级编程语言,以其简洁易读的语法、强大的标准库、跨平台兼容性和庞大的社区支持等特点,广泛应用于Web开发、数据科学、人工智能、自动化运维等领域。Python的多功能性使其在多个领域都有应用,无论是Web开发、数据科学、人工智能,还是自动化运维,掌握Python都能为你的职业发展提供更多机会。根据多项调查,Python开发者的平均薪资水平较高,尤其是在数据科学和人工智能领域,掌握Python技能可以为你带来更高的薪资和更好的职业发展前景。

2025-11-13 23:42:33 544

原创 Python 科学计算有哪些提高运算速度的技巧

在科学计算中提高 Python 运算速度的核心技巧包括:使用 NumPy 向量化操作、利用 Numba 加速函数、调用 C/C++ 扩展模块、应用多线程/多进程并行计算、使用 GPU 加速计算。根据《Scientific Computing with Python》研究表明,将 Python for 循环重写为 NumPy 向量运算,平均可获得 10~100 倍的性能提升,是科学计算中最经济高效的加速手段。通过向量化表达式,开发者可以将原本的 for 循环逻辑变为一行数组操作,大幅提升运行效率。

2025-11-13 23:42:00 719

原创 Python 的开发效率真的比 Java 高吗

*其中,语法简洁带来的代码量减少最为显著——根据多项行业统计,同样功能,Python 编写所需代码行数约为 Java 的 1/3 到 1/5,不仅降低维护成本,还加速了开发周期。这也是为何在 Web 创业公司、数据科学实验、API 快速部署中,Python 更受青睐,而 Java 多用于银行、金融、ERP 等对稳定性与性能要求极高的系统。此外,Python 的包管理工具 pip 与 PyPI 拥有超过 35 万个可用包,涵盖 Web、数据处理、机器学习、测试、DevOps 等所有主流场景。

2025-11-13 23:41:17 465

原创 用 Python 实现了哪些办公自动化

这是一种本末倒置的做法。要在这两者之间做出明智的抉择,企业必须进行一场系统性的、由内而外的深度评估,其核心决策维度涵盖:明确应用的核心目标与复杂度、评估目标用户的技术背景、考量平台的可扩展性与集成能力、审视安全合规与治理要求、以及分析总体拥有成本与未来发展。对于这种生命周期极短、一次性的应用,使用无代码平台,追求的就是极致的上线速度,其后续的可维护性并不重要。他们选择低代码,目的不是为了“逃避”代码,而是为了**“超越”繁琐的、重复性的编码工作,从而将精力聚焦于真正有创造性的、高价值的核心逻辑开发上**。

2025-11-13 23:39:05 423

原创 如何优化 Python 爬虫的速度

要优化 Python 爬虫的速度,关键在于:使用异步编程提升并发能力、合理设置请求延迟与重试策略、精简解析逻辑与选择高效的解析库、采用连接池机制减少 I/O 阻塞、充分利用分布式抓取。其基于 Twisted 异步引擎,支持高并发,搭配插件化结构,可轻松扩展请求头池、代理池、IP 限速、文件下载等模块。爬虫的另一个耗时操作是内容提取,尤其是 HTML、JSON、XML 格式的复杂页面。Scrapy 是 Python 最成熟的爬虫框架,内建调度器、请求队列、持久化、爬虫中间件机制,是构建中大型爬虫项目的首选。

2025-11-13 23:38:11 1459

原创 国内外主流的代码审查工具盘点

其中,GitHub的代码审查功能因其用户友好的界面、强大的社区支持和无缝的集成能力,备受开发者青睐。GitHub允许团队成员直接在代码变更中添加评论和建议,通过Pull Request功能高效地完成代码的合并与审查流程,大幅提高了协作效率和代码质量。SonarQube是一个广泛应用于代码质量管理和审查的开源工具,能进行静态代码分析,自动检测代码中的潜在缺陷、漏洞和代码规范问题。SonarQube的最大优势是它的代码质量度量指标和详细的分析报告,帮助开发团队持续改进代码质量,降低软件维护成本。

2025-11-13 23:37:26 425

原创 国内外主流的编程语言与框架盘点

国内外主流的编程语言包括JavaScript、Python、Java、C#、PHP等,常用的框架有React、Vue.js、Spring、Django、.NET等。 其中,JavaScript凭借其强大的跨平台能力和丰富的生态系统广受欢迎。特别是JavaScript框架React以高效的虚拟DOM机制、组件化开发方式和强大的社区支持,深受开发者喜爱。国内外主流的编程语言与框架盘点一、JAVASCRIPTJavaScript是一门极为流行的编程语言,广泛用于Web开发,以其轻量、跨平台以及强大的功能而著称

2025-11-13 23:36:22 316

原创 Python 里没有接口,如何写设计模式

尽管 Python 没有像 Java、C++ 一样的显式接口(interface)机制,但通过抽象基类(ABC)、鸭子类型(Duck Typing)、协议类(Protocol)**等机制,依然可以优雅地实现各种设计模式。Python 是一种动态语言,强调”duck typing”,即“如果它像鸭子,叫起来像鸭子,那它就是鸭子”,而不是严格依赖类型约束。这意味着在 Python 中,只要一个对象实现了你所需的方法,你就可以放心使用它,无需检查它是否来自某个类或实现某个接口。

2025-11-13 23:34:25 367

原创 Python 程序如何高效地调试

其中,合理使用调试工具尤为关键,因为Python拥有多种高效的调试工具,如内置的PDB、PyCharm等集成开发环境(IDE)内置调试功能,这些工具可以快速定位程序中的问题,并通过设置断点、单步执行代码、查看变量状态等方式,清晰直观地展示程序执行过程。通过Python标准库中的logging模块,可以记录程序执行中的重要信息,尤其是在复杂系统中,日志可以帮助开发者更好地跟踪程序运行情况并快速定位问题。单元测试可以确保程序功能的正确性,快速发现和定位代码中的错误,防止代码变更引起的回归错误。

2025-11-13 23:33:36 503

原创 [C++][linux][原创]让类的成员变量可以在类的静态函数中访问

(1)线程传参如果是这个类对象,则为引用传递,你在外部其他地方修改类的成员变量会影响到类静态函数中传递这个类对象,比如这个例子中bStart变量。(2)线程创建需要的函数是静态函数或者全局函数,如果您使用类的成员函数放到pthread_create中则会报错。(3)注意线程中传递参数时候传递参数的类型要对应。代码语言:javascript。代码语言:javascript。

2025-11-12 23:38:06 787

原创 [C++][windows]获取桌面路径用户路径exe所在目录

AI代码解释请注意SHGetSpecialFolderPath函数我们只需要修改一些宏即可获取不同目录,以下是宏定义宏介绍CSIDL_ADMINTOOLS、CSIDL_COMMON_ADMINTOOLS管理工具CSIDL_ALTSTARTUP、 CSIDL_COMMON_STARTUP、CSIDL_STARTUP程序 - 启动CSIDL_APPDATAAppDataCSIDL_CDBURN_AREA临时刻录文件夹CSIDL_COMMON_TEMPLATES、CSIDL_TEMPLATESTemplat

2025-11-12 23:37:28 862

原创 [C++][线程]如何利用std::thread把类的成员函数当作线程函数并传递参数

然后我定义一个类A,我想把_start做为一个线程函数。大家仔细看看启动线程我在std::thread传递了3个参数,第一个就是函数,这里是类的成员函数_start,第二个类对象本身,第三个就是要传递给线程的参数。(3)启动线程时候要传递三个对应参数,如果你线程函数是2个参数,则对应要传递4个参数给std::thread。(2)使用std::thread把类的成员函数作为线程函数,可以直接使用本类的成员函数。(1)类的函数要作为线程函数可以不用是static函数。代码语言:javascript。

2025-11-12 23:37:00 450

原创 [C++][windows]C++类成员函数默认参数和成员变量初始化问题

(2)类的成员函数默认参数需要在头文件声明里面指定,在定义函数时候不能指定。如果只在定义时候指定,但是声明时候不指定,编译不会报错,但是传递参数一个会报错,因此还是必须要在声明时候指定。(4)声明不指定,定义不指定,这就是我们说的无默认的参数函数,正常。(3)声明不指定,定义指定,编译不报错,但是无法使用默认参数。(2)声明指定,定义也指定,报错重定义参数。(1)声明指定,定义不指定,这个是正常的。代码语言:javascript。代码语言:javascript。代码语言:javascript。

2025-11-12 23:36:47 843

原创 [C++][正则表达式]常用C++正则表达式用法

结果为have,但是你把str换成abc123就是no,因为它需要全字匹配,你可以把正则表达改成abc\\d+,如果你需要部分匹配可以使用下面例子。1、匹配字符串是否包含某些字符,可以使用regex_match,但是这个是全字匹配,不能部分匹配,比如。4、求出字符串所有匹配到的结果,比如提取字符串中所有数字。代码语言:javascript。代码语言:javascript。代码语言:javascript。代码语言:javascript。代码语言:javascript。代码语言:javascript。

2025-11-12 23:36:26 620

原创 [C++][onnxruntime]攻克onnxruntime之求输入tensor的长度

要求:已知模型输入tensor shape是[1,3,640,640],求输入tensor长度,一般我们用简单乘法1*3*640*640就可以实现,但是我看github大佬们都喜欢用std::accumulate去做,于是记录一下求解长度方法。代码语言:javascript。测试环境 vs2019。

2025-11-12 23:36:03 759

原创 [C++][原创]jsoncpp用法及其注意事项

第一个典型的问题,怎么判断一个字符串是不是json格式,因为开发中是2种编程语言的开发者通过json协议,避免不了有时候把json格式弄错了,但是好像Jsoncpp没有这个功能,我尝试把字符串类似下面。第二个问题:我们经常需要判断是不是存在某个key,比如json字符串{"name":"Alice"},判断里面有没有Age这个key,经过测试发现以下方法可以。//直接硬来其实也是可以只不过是空的。结果解析是不报错的,但是这个明显就不是json字符串,咋办,只能写个函数了,在网上找了个效果不错。

2025-11-12 23:35:45 615

原创 [C++]使用纯opencv去部署yolov9的onnx模型

使用 OpenCV 的 C++ 接口,我们可以轻松加载和部署 YOLOv9 ONNX 模型,实现实时的目标检测。通过准备模型文件、配置开发环境、加载模型、预处理输入数据、执行推理和后处理输出,我们可以在各种应用场景中快速集成 YOLOv9 的强大功能。无论是安全监控、自动驾驶还是智能家居,YOLOv9 与 OpenCV 的结合都为我们提供了强大的工具来检测和识别图像中的目标。部署 YOLOv9 ONNX 模型在 OpenCV 的 C++ 环境中涉及一系列步骤。以下是一个简化的部署方案概述,以及相关的文案。

2025-11-12 23:35:28 655

原创 [C++]C++使用yolov9结合bytetrack实现目标追踪演示

ByteTrack是一种多目标追踪算法,它结合了目标检测和目标追踪两个步骤。YOLOv9(You Only Look Once,版本9)是一种实时目标检测算法,它通过在单个网络中同时预测所有目标的位置和类别来实现高效的目标检测。总的来说,在C++中实现YOLOv9和ByteTrack的多目标追踪是一个具有挑战性的任务,但它为实时目标检测和追踪提供了强大的工具。在C++中实现YOLOv9的目标检测与ByteTrack的多目标追踪是一个相对复杂的过程,涉及到深度学习、计算机视觉和实时数据处理等多个领域。

2025-11-12 23:35:10 636

原创 [C++][正则表达式]常用C++正则表达式用法

结果为have,但是你把str换成abc123就是no,因为它需要全字匹配,你可以把正则表达改成abc\\d+,如果你需要部分匹配可以使用下面例子。1、匹配字符串是否包含某些字符,可以使用regex_match,但是这个是全字匹配,不能部分匹配,比如。4、求出字符串所有匹配到的结果,比如提取字符串中所有数字。代码语言:javascript。代码语言:javascript。代码语言:javascript。代码语言:javascript。代码语言:javascript。代码语言:javascript。

2025-11-12 23:34:27 587

原创 【C++数据结构】:栈和队列的奥秘

适配器是一种设计模式(是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。STL标准库中stack和queue的底层结构虽然stakc于queue中也存放元素,但是它俩并不属于容器行列,而是属于容器适配器。因为stack于queue只是对其他容器的接口进行了包装。,STL中stack和queue默认 使用deque。

2025-11-11 23:40:24 548

原创 Linux配置C++ boost库与filesystem模块的方法

运行上述代码,可以看到上述程序已经运行——其输出了指定文件夹下的文件目录,如下图所示。安装完成后,系统会自动配置好所有必要的文件和依赖项;库的配置成功与否——这里给出一个示例代码,其遍历并输出指定文件夹下的内容。随后,逐行输入如下代码。首先,输入如下代码,更新软件包列表。接下来,输入如下代码,开始安装。代码语言:javascript。代码语言:javascript。代码语言:javascript。输入上述代码,并稍等按下。文件,并将上述代码放入这个。键确认安装,如下图所示。的编译命令,用于将上述。

2025-11-11 23:39:07 912

原创 高精度算法:突破整型限制的算法实现【C++实现】

大数计算,如计算 11112345678901234567890 和 111198765432109876543210的运算;竞赛场景,如 CCF CSP、NOI、ACM 等常考题型;科学/金融/密码学计算,需处理任意长度的大整数。常规整型变量无法满足精度需求,因此我们需要模拟竖式运算的过程,通过字符串或数组逐位计算来实现。

2025-11-11 23:38:38 882

原创 .NET 巅峰对决:微秒级优化,让高频交易系统媲美 C++ 性能

我们将深入内部——低分配(low allocations)、内存固定(pinning)、激进的对象池(aggressive pooling)、无锁结构(lock-free structures)和性能计数器(performance counters)。因此,我们引入了一个无分配的结构化日志记录器(no-allocation structured logger)。在热循环(hot loops)中,我们在专用线程上运行代码——线程亲和(thread-affined)、CPU 绑定(CPU-bound)。

2025-11-11 23:38:03 869

原创 【C++闯关笔记】封装①:类与对象

为了更好地梳理自己的学习脉络巩固对这些基石概念的理解,并希望能为同样踏上C++ OOP学习之旅的朋友们提供一份参考,我决定将我的学习过程、思考和实践心得整理成这个博客系列。这并不是专家居高临下的指导,而是一位同路人边走边记的手记。与君共勉,共同进步。​C++面向对象编程的三驾马车——封装、继承、多态。本文主要介绍“封装”,“封装”是C++面向对象编程的基础,但对于刚接触C++的新人而言,上来直接就讲封装可能不是很友好,所有本文先从“为什么C++被称为面向对象编程,而C语言则被称为面向过程编程了”入手。

2025-11-11 23:37:36 807

原创 从C到C++入门:C++有而C语言没有的基础知识总结

从C语言到C++的转变无疑是巨大的:从面向过程编程到面向对象编程……如果一门心思扑到”封装、继承、多态“上学习,恐怕学到后面就会被一些语法整的困惑不解。C++常用但C语言却没有的基础知识。本文不仅适合于用做初学C++的入门文章,还可以帮助不清楚C与C++之间差异的读者理清思绪。namespace用法:命名空间需要用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。前面提到C语言将所有的变量、函数都放在全局作用域中,从而造成冲突。

2025-11-11 23:36:13 797

原创 C++继承中的虚函数机制:从单继承到多继承的深度解析

单继承:通过单一vptr和扩展式vtable实现高效多态,结构简单、性能优异,是大多数场景的理想选择;多继承:为支持多个基类的虚函数,引入多个vptr和thunk函数,解决了this指针调整问题,但带来内存开销增加、实现复杂等挑战。理解这些底层机制,不仅能帮助开发者编写更高效、更稳健的代码,更能在设计阶段做出合理决策——优先单继承和接口组合,谨慎使用带数据成员的多继承,在功能需求与性能开销间找到最佳平衡点。对于C++开发者而言,深入对象模型细节,是从“会用”到“精通”的关键一步。

2025-11-11 23:35:48 739

原创 【类与对象(中)】C++类默认成员函数全解析

代码语言:javascriptAI代码解释。

2025-11-11 23:35:24 757

原创 C++ vector越界问题完全解决方案:从基础防护到现代C++新特性

通过继承或组合std::vector可实现安全容器封装。例如重载operator[]自动加入断言检查:代码语言:javascriptAI代码解释cpp复制template<typename T>public:对于高性能场景,可通过预分配内存(reserve)、批量操作(insert/assign)减少频繁边界检查开发阶段始终使用at()或带检查的operator[]封装。发布版本通过编译选项(如-伟Q6.Pura70.Pro)禁用冗余检查。结合CI/CD流程集成静态分析和动态检测工具。

2025-11-11 23:35:00 458

原创 C++面试中的手写快速排序:从基础到最优的完整思考过程

手写快速排序的面试过程,实际上是考察候选人从"能工作"到"优秀"的思维演进能力。从基础实现出发,保证正确性逐步加入优化,展示深度思考主动分析复杂度,体现计算机科学基础讨论工程实践,展现实际经验引导技术对话,掌握面试节奏记住:面试官关心的不是你能否背出算法,而是你解决问题的思路和持续优化的能力。通过这样结构化的应对策略,你就能在排序算法面试中脱颖而出。

2025-11-11 23:34:32 543

原创 【C/C++】C语言内存函数

当有⼀块内存空间需要设置内容的时候,就可以使⽤memset函数,值得注意的是memset函数对内存 单元的设置是以字节为单位的。如果要⽐较2块内存单元的数据的⼤⼩,可以使⽤ memcmp 函数,这个函数的特点就是可以指定⽐较 ⻓度。memcmp 函数是通过返回值告知⼤⼩关系的。

2025-11-10 23:39:03 586

原创 【C/C++】字符函数和字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了⽅便操作字符和字符串,C语⾔标准库中提供了 ⼀系列库函数,接下来我们就学习⼀下这些函数。

2025-11-10 23:38:18 757

原创 C++从0实现百万并发Reactor服务器

但一旦你成功走通这条路,你对系统编程的理解将达到一个新的高度。这个过程中学到的知识,将使你不仅能驾驭C++,更能深刻理解Nginx、Netty等众多高性能开源软件的设计精髓。从零开始实现一个百万并发的Reactor服务器,是一次对操作系统、网络编程、C++语言和多线程技术的深度修炼。它绝非易事,你会反复遇到段错误、死锁、内存泄漏和性能瓶颈。传统的“一个连接一个线程”的同步模型(Thread-Per-Connection)在连接数暴涨时,会因线程上下文切换和内存消耗而崩溃。代码语言:javascript。

2025-11-10 23:37:16 1367

原创 C++强制类型转换操作符 dynamic_cast

public:public:用于多态类安全下的类型转换常用于向下转型指针失败返回nullptr,引用失败抛出需要虚函数表支持(即基类有虚函数)

2025-11-10 23:36:35 850

原创 VC++运行库丢失问题全面解决方案:从下载到修复工具推荐

VC++运行库缺失问题虽然常见,但通过系统化的解决方案完全可以有效解决。优先使用官方渠道安装保持运行库版本更新遇到问题时尝试多种修复方案重要操作前备份系统对于游戏玩家和专业用户,建议定期维护系统环境,确保所有必要的运行库和组件保持最新状态,以获得最佳的使用体验。

2025-11-10 23:36:10 1734

原创 【C++模板编程】:从初阶到进阶

【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2025-11-10 23:35:45 1019

原创 【C++数据结构】:栈和队列的奥秘

适配器是一种设计模式(是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。STL标准库中stack和queue的底层结构虽然stakc于queue中也存放元素,但是它俩并不属于容器行列,而是属于容器适配器。因为stack于queue只是对其他容器的接口进行了包装。,STL中stack和queue默认 使用deque。

2025-11-10 23:35:21 775

原创 【C++篇】“内存泄露”的宝藏手段:智能指针

从C语言到C++的转变无疑是巨大的:从面向过程编程到面向对象编程……如果一门心思扑到”封装、继承、多态“上学习,恐怕学到后面就会被一些语法整的困惑不解。C++常用但C语言却没有的基础知识。本文不仅适合于用做初学C++的入门文章,还可以帮助不清楚C与C++之间差异的读者理清思绪。namespace用法:命名空间需要用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员。前面提到C语言将所有的变量、函数都放在全局作用域中,从而造成冲突。

2025-11-10 23:33:48 1407

原创 C++继承中的虚函数机制:从单继承到多继承的深度解析

单继承:通过单一vptr和扩展式vtable实现高效多态,结构简单、性能优异,是大多数场景的理想选择;多继承:为支持多个基类的虚函数,引入多个vptr和thunk函数,解决了this指针调整问题,但带来内存开销增加、实现复杂等挑战。理解这些底层机制,不仅能帮助开发者编写更高效、更稳健的代码,更能在设计阶段做出合理决策——优先单继承和接口组合,谨慎使用带数据成员的多继承,在功能需求与性能开销间找到最佳平衡点。对于C++开发者而言,深入对象模型细节,是从“会用”到“精通”的关键一步。

2025-11-10 23:33:17 556

原创 【类与对象(中)】C++类默认成员函数全解析

代码语言:javascriptAI代码解释。

2025-11-10 23:32:51 1000

空空如也

空空如也

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

TA关注的人

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