自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (12)
  • 收藏
  • 关注

转载 浅谈人工智能:现状、任务、构架与统一 | 正本清源(看完有新认知)

浅谈人工智能:现状、任务、构架与统一原创 2017-11-02 朱松纯目录引言第一节 现状:正视现实第二节 未来:一只乌鸦给我们的启示第三节 历史:从“春秋五霸”到“战国六雄”第四节 统一:“小数据、大任务”范式与认知构架第五节 学科一:计算视觉 — 从“深”到“暗”第六节 学科二:认知推理 — 走进内心世界第七节 学科三:语言通讯 — 沟通的认知基础第...

2019-10-25 13:57:30 34524 3

转载 终于有人把云计算、大数据和人工智能讲明白了!

今天跟大家讲讲云计算、大数据和人工智能。这三个词现在非常火,并且它们之间好像互相有关系。一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。但如果是非技术的人员,就可能比较难理解这三者之间的相互关系,所以有必要解释一下。云计算最初的目标我们首先来说云计算。云计算最初的目标是对资源的管理,管理的主要...

2018-06-28 14:37:33 3016

原创 Python内省与反射机制

本文系统介绍了Python编程中内省(Introspection)和反射(Reflection)的高级特性,主要内容包括: 基础概念 使用type()、isinstance()等函数进行类型检查 通过dir()、getattr()等操作对象属性 动态设置和删除属性 内置内省函数 id()和is操作符的内存管理 globals()和locals()命名空间操作 exec()和eval()动态代码执行 inspect模块应用 函数和方法检查 类和模块分析 调用栈检查与调试 动态代码技术 字符串代码生成与执行 模

2025-10-05 19:11:41 59

原创 C++ 面试总结

/ 资源获取即初始化private:FILE* file;// 禁止拷贝// 使用:// 使用文件} // 自动关闭文件,即使发生异常。

2025-10-05 16:29:49 978

原创 测试之道:从新手到专家实战(六)

持续测试是一种软件测试方法,它将自动化测试作为软件交付流水线的一个组成部分,以获得对业务风险的即时反馈。

2025-09-28 17:12:35 864

原创 Python异步编程与事件循环

本文介绍了异步编程的核心概念及其在Python中的应用。主要内容包括:1) 异步编程概述,通过对比同步/异步获取URL的示例展示性能差异;2) 事件循环机制详解,包括基础原理、生命周期和管理方法;3) 常用异步编程模式(生产者-消费者、异步迭代器等)和主流异步库对比;4) 实战项目-高性能Web服务器实现,包含基础框架和增强版功能(静态文件服务、WebSocket支持等)。文章通过具体代码示例,系统性地讲解了从异步基础到高级应用的完整知识体系,适合开发者全面掌握Python异步编程技术。

2025-09-13 16:15:41 53

原创 测试之道:从新手到专家实战(五)

浏览器兼容性测试是确保Web应用在不同浏览器、版本和操作系统上都能正常运行的测试过程。浏览器兼容性测试:确保应用在不同浏览器和版本中的一致性表现响应式设计测试:验证应用在各种设备和屏幕尺寸上的适配效果Web安全测试:识别和防范常见的安全漏洞,保护用户数据安全性能测试:评估应用在不同负载条件下的性能表现实战案例:通过电商网站的完整测试流程,整合所有测试技能。

2025-09-13 08:53:22 1146

原创 测试之道:从新手到专家实战(四)

在软件测试的实际工作中,除了发现缺陷,如何有效地管理缺陷、编写清晰的测试文档同样至关重要。一个成熟的测试团队不仅要有敏锐的发现问题的能力,更要有系统化的管理和沟通能力。

2025-09-10 19:11:21 1107

原创 测试之道:从新手到专家实战(三)

摘要:本文系统介绍了测试用例设计的核心方法与应用场景。主要内容包括等价类划分法、边界值分析法、判定表法、状态转换法、正交试验法和场景法等六大设计方法,每种方法均配有实际案例说明,如年龄验证、银行转账系统等。文章还提供了测试用例设计的最佳实践原则,强调完整性、独立性、经济性等质量标准,并探讨了自动化测试的适配策略。通过综合应用多种设计方法,可有效提升测试覆盖率,发现更多潜在缺陷。文中包含大量代码示例和模板,可直接应用于实际测试工作。

2025-09-10 14:29:41 1078

原创 Python多进程与进程间通信

本文深入探讨了Python multiprocessing模块的高级应用,涵盖了进程管理、进程间通信、同步机制以及分布式计算框架的实现。主要内容包括:1. Process类的多种创建方式,包括直接使用和继承自定义;2. 进程池Pool的高效管理,支持CPU/IO密集型任务处理和回调机制;3. 进程间通信的多种方式,如Queue队列、Pipe管道和共享内存;4. 同步机制包括锁、信号量、条件变量和屏障,确保数据一致性和任务协调;5. 实战案例展示了一个简单的分布式计算框架,支持任务分发和结果收集。这些技术能显

2025-09-09 15:22:29 39

原创 测试之道:从新手到专家实战(二)

本文系统介绍了软件测试的理论与实践方法。首先阐述了软件测试生命周期(STLC)的六个阶段:需求分析、测试计划、测试设计、环境搭建、测试执行和测试关闭。然后详细讲解了单元测试、集成测试、系统测试和验收测试等不同测试级别,并通过代码示例展示了测试用例设计和自动化测试实现。文章还分析了黑盒、白盒、灰盒测试技术,重点演示了边界值分析、等价类划分等黑盒测试方法。最后以电商网站注册功能为例,提供了完整的测试用例设计方案,涵盖功能验证、异常处理和用户流程测试。

2025-09-09 09:19:20 819

原创 Python多线程与GIL深度理解

本文介绍了Python中的全局解释器锁(GIL)及其对多线程编程的影响。GIL是CPython解释器中的互斥锁,确保同一时刻只有一个线程执行Python字节码,导致CPU密集型任务无法充分利用多核处理器。文章通过代码示例展示了GIL对线程性能的影响,比较了单线程与多线程执行CPU和I/O密集型任务的差异。此外,还详细探讨了线程安全、各种锁机制(互斥锁、条件变量、信号量等)、死锁检测与避免策略,并实现了一个自定义线程池和任务优先级调度系统。最后通过一个高并发任务处理系统的实战项目,综合应用了这些并发编程技术。

2025-09-08 09:50:51 166

原创 测试之道:从新手到专家实战(一)

本文探讨了软件测试工程师从基础执行者到质量守护者的思维转变。测试不仅是发现缺陷,更是风险管理与质量保证的多维度工作,涉及功能性、性能、兼容性等九大质量特性。通过对比开发思维与测试思维,文中强调测试人员需具备怀疑精神、用户视角和风险意识。文章还提出了质量意识培养框架、职业发展路径及探索性测试方法,展示了测试人员如何通过系统化思维和持续学习来守护产品质量。

2025-09-08 09:42:25 831

原创 Python异常处理与错误设计

本文介绍了异常链(ExceptionChaining)和异常上下文(ExceptionContext)在异常处理中的关键作用。异常链通过保留原始异常信息,便于调试和错误追踪;而异常上下文则自动维护未捕获的异常信息。文章提供了自定义异常类的设计原则,包括异常层次结构、异常工厂模式,并讨论了异常处理的性能考量,如异常缓存优化。最后通过实战案例展示了一个企业级日志与错误追踪系统的实现,涵盖结构化日志记录、错误追踪和性能分析等功能模块,为构建健壮的异常处理系统提供了完整解决方案。

2025-09-03 17:05:20 55

原创 Python上下文管理器与资源管理

上下文管理器是Python中用于资源管理的重要工具,通过实现__enter__和__exit__方法(或异步版本的__aenter__和__aexit__)来自动管理资源的获取和释放。本文展示了两种实现方式:基于类的上下文管理器和基于生成器的上下文管理器。前者适合复杂资源管理,如数据库连接池、线程锁等;后者代码更简洁,适合简单场景。文章还详细介绍了同步和异步上下文管理器的实现原理,并通过文件操作、数据库连接池等实用示例演示了上下文管理器的典型应用场景。上下文管理器能确保资源正确释放,简化异常处理,是Pyth

2025-09-01 22:41:34 84

原创 python生成器与协程深度剖析

生成器是一种惰性迭代器,能够按需生成值而非一次性加载所有数据,显著节省内存。通过yield关键字实现值生成和双向通信,支持协程和异步编程。异步生成器配合async/await语法,可构建高效的数据处理管道和爬虫框架。现代Python中,生成器广泛应用于流式数据处理、协程调度等场景,结合asyncio库可实现高性能异步IO操作。案例展示了从基础生成器到异步爬虫的实现演进,体现了生成器在内存优化和并发处理中的优势。

2025-09-01 17:17:41 226

原创 python装饰器进阶与设计模式

Python装饰器是遵循开放-封闭原则的优雅特性,广泛应用于企业级开发。本文深入解析装饰器核心机制:1. 执行时机分装饰阶段(模块导入时)和调用阶段(函数运行时);2. 通过闭包实现状态保持;3. 使用functools.wraps保存元数据。高级用法包括参数化装饰器、重试/熔断等容错模式、异步支持和条件装饰。性能优化方面,对比了不同实现的开销(5-10%),并给出缓存、弱引用等优化方案。最后展示了装饰器实现设计模式的范例,如单例、观察者等模式,体现了其在代码复用和功能扩展中的强大能力。

2025-08-27 18:06:24 242

原创 Python元类与描述符的魔法世界

元类是用来创建类的“类”,它控制类的创建过程。默认情况下,Python中所有类的元类是type。通过自定义元类,可以在类创建时动态修改类的属性、方法,甚至控制类的继承行为。类也是对象,在python里一切皆是对象,包括类本身。

2025-08-27 09:43:22 87

原创 程序员的自我修养-链接、装载与库(一、二)

程序员的自我修养:链接、装在与库基础:1、计算机核心部件:CPU、内存和I/O控制芯片;高速的北桥:CPU、内存和高速的图形设备。低速的南桥:磁盘、USB、键盘、鼠标等,汇总链接到北桥上。2、计算机系统的软件体系结构的设计是分层次的,每个层次之间需要相互的通信,互相通信就需要协议,我们称其为接口。应用程序和操作系统内核通过中间的桥梁系统调用接口进行交互,系统调用是通过中断来实现的。操作系统的功能是:提供抽象的接口和控制硬件的资源。3、硬件驱动程序作为操作系统内核的一部分对硬件进行管理。硬盘的

2025-08-26 21:17:03 1012

原创 Python内存模型与对象系统深度解析

1)CPython内存管理的底层机制;2)Python对象的创建、存储和销毁过程;3)垃圾回收算法的工作原理;4)内存泄漏的成因与检测方法;5)开发一个实用的内存泄漏检测工具。

2025-08-26 17:17:45 173

原创 python项目实战 3D宠物狗

这是一个基于Python的3D虚拟宠物游戏项目,包含完整的宠物逻辑模型和3D可视化界面。项目采用模块化架构,分为宠物模型、3D渲染和用户界面三大模块。宠物系统具有五大属性管理(饥饿度、快乐度、健康值、能量值、清洁度),智能心情系统会根据属性自动切换状态(开心、悲伤等),并支持成长升级系统。3D渲染部分使用Pygame实现,支持鼠标拖拽旋转视角和滚轮缩放功能。用户界面提供状态监控、交互按钮和消息系统,可通过数字键1-5快速执行喂食、玩耍等操作。整个项目结构清晰,具有良好的可扩展性和交互体验。

2025-08-25 21:50:40 425

原创 机器学习-线性模型

线性模型形式简单、易于建模,(如简单的二元一次方程线性函数,复杂的线性函数,多维变量与因变量的关系)却蕴涵着机器学习中的一些重要的基本思想。许多功能更为强大的线性模型可以在线性模型的基础上通过引入层级结构或者高维映射而得。几种经典的线性模型(线性回归、对数几率回归、线性判别分析、多分类学习)

2025-06-25 17:12:17 981 1

原创 自动化测试架构搭建

服务健康检查:在 HttpClient 类的 check_service_health 方法中,发送探活请求:resp = self.send_request("GET", f"{endpoint}/health");如果python -m ftfw.cli后面不写测试文件夹,或过滤当前目下所有问价夹进行测试,在heathl check的那一步 resp.status_code in [200,201,404] #为了跳过heath step加入404,正常heathlcheck应该2xx的状态码。

2025-05-04 04:14:53 804

原创 python项目实战-后端个人博客系统

本文分享一个基于 Flask 框架开发的个人博客系统后端项目,涵盖用户注册登录、文章发布、分类管理、评论功能等核心模块。适合初学者学习和中小型博客系统开发。

2025-04-23 10:44:06 722

原创 python面试总结

可重复使用的代码单元,封装特定功能(封装性),python的函数是类的一等对象,意思它可以像基本类型一样的待遇和特性。可以嵌套定义、可作为参数传递、携带状态(通过闭包或类装饰器)

2025-04-16 20:51:23 1745

原创 CI/CD基础知识

CI:持续集成,开发人员频繁地将代码集成到主干(主分支)中每次集成都通过自动化构建和测试来验证,从而尽早发现集成错误,常用的CI工具包括Jenkins、Travis CI、CircleCI、GitLab CI等CD: 持续交付或持续部署,持续交付是指在持续集成的基础上,自动化将代码部署到生产环境或预生产环境的过程。它确保代码在任何时候都可以安全地部署到生产环境。:通过自动化脚本将应用程序部署到服务器,减少手动操作的错误。:代码经过测试后,可以随时选择将其发布到生产环境。

2025-03-27 11:21:05 1201

原创 shell场景题

具体来说,管道的工作机制如下:1)第一个命令的标准输出(stdout)被连接到第二个命令的标准输入(stdin)。eg、提取文件的第1和第3列(假设列以逗号分隔) cut -d ',' -f 1,3 file.csv。eg: 提取文件的第一列(假设列以空格分隔) cut -d ' ' -f 1 file.txt。管道(pipeline)是一种强大的机制,用于将一个命令的输出直接传递给另一个命令作为输入。要打印文件中的第 1 行和第 3 行, awk 'NR==1 || NR==3' data.txt (

2025-03-02 22:12:07 767

原创 C++ STL(五) 无序关联容器

std::unordered_map是 C++ 标准模板库(STL)中的一个无序关联容器,用于存储键值对(key-value pairs)。at(const Key& key): 返回键为 key 的值的引用,如果键不存在则抛出 std::out_of_range 异常。operator[](const Key& key): 返回键为 key 的值的引用,如果键不存在则插入一个默认值。begin(), end(): 返回指向第一个元素和最后一个元素之后位置的迭代器。: 返回第 n 个桶中的元素数量。

2025-03-02 22:09:33 945

原创 shell基本知识

function function_name { # 函数体 } or function_name() { # 函数体 }

2025-03-01 09:10:00 781

原创 C++ STL(四)关联容器

std::multimap 是 C++ 标准模板库(STL)中的一个关联容器,用于存储键值对(key-value pairs),并按照键的顺序自动排序。std::multiset 的迭代器是一个双向迭代器,支持 ++ 和 -- 操作。std::set 的迭代器是一个双向迭代器,支持 ++ 和 -- 操作。与std::set 不同std::multiset允许存储重复的元素。std::set 的迭代器是一个双向迭代器,支持 ++ 和 -- 操作。:std::map 中的键是唯一的,不允许重复。

2025-02-27 21:40:01 1255

原创 C++ STL(三)list

std::list 是 C++ 标准模板库(STL)中的一个双向链表容器。它支持在任意位置高效地插入和删除元素,但随机访问性能较差。:存储元素的值。:指向前一个节点。:指向后一个节点。:在任意位置插入和删除元素的时间复杂度为 O(1)。不需要连续内存,适合频繁插入和删除的场景。:随机访问的时间复杂度为 O(n)。内存开销较大,因为每个节点需要额外存储两个指针。

2025-02-27 14:58:04 788

原创 C++ STL(二)deque

deque的元素在内存中不一定是连续存储的,这使得它在两端的插入和删除操作更高效。与 std::vector 不同std::deque的底层实现通常基于分段连续内存,这使得它在两端操作时具有更高的效率。std::deque 的内存不是完全连续的,而是由多个连续的内存块组成。在两端插入和删除元素的时间复杂度为 O(1)。:随机访问的时间复杂度为 O(1),但由于内存不连续,实际性能可能略低于std::vector。std::deque(双端队列)是 C++ 标准模板库(STL)中的一个容器,支持在队列的。

2025-02-26 20:23:53 898

原创 C++ STL(一)std::vector std::array

需要传入一个已经存在的对象(或对象的副本),会调用该对象的拷贝构造函数(或移动构造函数)。接受构造对象所需的参数并在 vector内部直接构造对象,避免了不必要的拷贝或移动。重新指定容器的长度为num,若容器变长,则以默认值填充新位置。:通常会分配比当前容量大一倍的新内存,以减少频繁的内存分配和拷贝操作。返回指定位置 pos 处的元素的引用,并进行边界检查。返回指定位置 pos 处的元素的引用,不进行边界检查。:将原有元素从旧的内存位置拷贝到新的内存位置。:更新指向新内存的指针,并设置新的容量。

2025-02-26 15:16:14 1139

原创 数据结构与算法再探(七)查找-排序

二分查找时区间的左右端取开区间还是闭区间在绝大多数时候都可以,二分查找中的左闭右开和左闭右闭的本质区别主要体现在搜索范围的定义和边界处理上。这种选择会影响算法的实现细节、边界条件的处理以及最终的查找结果。

2025-02-23 22:12:46 999

原创 kafka基本知识

Apache Kafka 是一个开源的分布式流处理平台,最初由 LinkedIn 开发,后来成为 Apache 软件基金会的一部分。Kafka 主要用于构建实时数据管道和流处理应用程序。它能够高效地处理大量的数据流,广泛应用于日志收集、数据集成、实时分析等场景。Kafka 的:Kafka 采用分布式架构,能够横向扩展。通过增加 broker 的数量,可以轻松提高系统的吞吐量和可用性。:Kafka 使用顺序写入和批量处理的方式来提高写入性能。

2025-02-23 21:39:31 1045

原创 python小项目编程-中级(1、图像处理)

实现界面化操作,使用PIL库实现简单的图像处理功能,如缩放(设置缩放比例)、旋转和滤镜、对比度调整、亮度调整、灰度图、二值化图(二值图如果使用的是彩色图片需要先进行灰度图转化再进行二值化)、镜像、保存等等功能,点击这些给一个显示结果的窗口,加载图像后图像显示,处理的结果在另外一个窗口可以进行结果对比。

2025-02-21 08:58:14 1140

原创 python3+TensorFlow 2.x(六)自编码器

自动编码器是一种无监督学习模型,可以用于特征提取、降维和图像生成等任务。实例中使用了卷积神经网络(CNN)来构建一个简单的自动编码器,并应用于 MNIST 数据集进行训练。通过这段代码,了解如何使用 TensorFlow 2.x 实现自动编码器,训练并评估模型的性能。

2025-02-21 08:57:33 1161

原创 python小项目编程-初级(5、词频统计,6、简单得闹钟)

统计文本文件中每个单词出现的频率。

2025-02-20 13:59:53 337

原创 python小项目编程-初级(3、简单的日历,4、名片随机生成)

简单的日历:1)图形化显示日历,实时显示当前时间。2)列表选择年份与月份,点解显示时间显示本月得日历,和对应阴历。

2025-02-20 10:12:15 473

原创 操作系统知识(二)

I/O操作可以分为以下几类:输入操作:从外部设备(如键盘、鼠标、传感器等)获取数据。输出操作:将数据发送到外部设备(如显示器、打印机、网络等)。存储操作:在存储设备(如硬盘、SSD等)上读写数据。

2025-02-18 21:26:24 1340

CNN实现的图像检索

以卷积网络的核心的图像检索,识别技术,将卷积网络的图像识别技术进一步的应用。以图搜图,未来检索技术的发展方向

2017-09-08

java实现的感知机手写数字识别

迭代50次,动量调节值0.5,隐层数量50,学习率0.3以及训练数据集选取40000,每类2000

2018-08-30

slf4j-api-1.8.0-beta0

包含slf4j-api-1.8.0-beta0和slf4j-api-1.8.0-beta0-sources还有关于日志处理的,slf4j-simple-1.8.0-alpha0和slf4j-simple-1.8.0-alpha0-sources

2018-01-18

统计学习方法-李航

现在的csdn下载积分自动变动,原先0分1分的资源自动上升了,传资料都不能设置1分了。统计学习方法-李航每章末尾的参考文献也方便了想深入理解算法的童鞋直接查到经典论文;本书可以与上面两本书互为辅助阅读。

2017-10-16

手写数字识别数据集

手写数据识别数据集,不过是黑底白字,minist_data.保存资源

2018-08-23

[C++程序设计语言(特别版)]

C++程序设计语言(特别版)pdf

2017-08-25

《MATLAB 神经网络43个案例分析》源代码&数据

《MATLAB 神经网络43个案例分析》源代码&数据

2017-08-25

C++语言程序设计习题集

C++语言程序设计习题集,以习题加深语言

2017-08-25

经典卷积网络字母识别代码

结合代码和文档学习更快,这是最原始的代码,你可以逐步调试理解每步参数的变化,设置网络层次结构修改卷积核数量,大小,迭代次数等,当你修改卷积核大小和层次结构时要注意图像大小的变化,出现图像是奇数,下采样是 偶数就会运行出错

2017-09-08

matlab卷积神经网络cnn代码-绿色版

matlab卷积神经网络cnn代码,最原始的手写字母识别的matlab代码,想接触cnn的可以结合代码和网络参考文档以及博客加速学习理解cnn。全连接结构,可以修改网路层次结构,以及卷积核数量大小,但是这里是valid模式注意卷积核和下采样设计时尺寸大小的改变而设计好结构

2017-09-08

经典的卷积神经网手写字母识别代码

结合代码和文档学习更快,这是最原始的代码,你可以逐步调试理解每步参数的变化,设置网络层次结构修改卷积核数量,大小,迭代次数等,当你修改卷积核大小和层次结构时要注意图像大小的变化,出现图像是奇数,下采样是 偶数就会运行出错

2017-09-08

空空如也

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

TA关注的人

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