自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(67)
  • 资源 (6)
  • 收藏
  • 关注

原创 Agentic Workflow 设计与实战指南

为每个 Agent 明确设定身份、目标、工具和约束。Name: "市场分析师"Goal: "生成深度的竞品对标分析报告"Expertise: "产品战略、市场趋势、用户体验分析"Tools:- WebSearch: 搜索竞品信息- DatabaseQuery: 查询内部数据库- DataVisualization: 生成图表- "分析必须基于最近 30 天数据"- "不能访问内部产品路线图"- "报告长度不超过 5000 字"

2026-04-08 20:48:28 268

原创 十大排序算法全解:C/Java/Python/Go/JS 等多语言源码仓库

该仓库收集了10大经典排序算法(冒泡、插入、选择、快速、归并、堆排序、希尔、计数、桶、基数排序)的多语言实现,涵盖C/C++/Java/Python/JavaScript/Go/Rust等11种编程语言。每个算法提供2-6种不同实现思路,包含详细注释说明时间复杂度、空间复杂度和稳定性分析。特色包括性能对比测试、可视化排序过程和多种解法思路,适合学习算法原理、对比语言特性及掌握编程基础。所有代码开源,可作为算法学习和教学参考资源。

2026-04-05 14:07:18 336

原创 AI时代的算法思维:10大经典排序(第二篇)

文章摘要 本文介绍了三种经典排序算法:归并排序(稳定分治,适合外部排序和链表排序)、堆排序(基于堆结构,适合Top-K问题)和计数排序(空间换时间,适合小范围整数排序)。归并排序稳定且时间复杂度稳定为O(n log n),但需额外空间;堆排序原地排序且复杂度稳定,但缓存命中率低;计数排序线性时间复杂度,但仅适用于特定场景。每种算法都配有流程图、伪代码、应用场景和复杂度分析,帮助理解其原理与适用性。

2026-03-26 17:43:10 316

原创 AI时代的算法思维:10大经典排序(第一篇)

AI时代仍需学习经典排序算法,原因有二:1)排序思想广泛适用于信息流、推荐系统等场景;2)排序算法浓缩了分治、贪心等核心计算思想。文章系统介绍了10大排序算法,首先分析冒泡排序:通过相邻元素交换将最大值"冒泡"至末尾,时间复杂度O(n²),适合教学和小规模有序数据。选择排序则通过选择最小元素减少交换次数,同样具有O(n²)复杂度但交换次数更少。这些经典算法虽可由AI生成代码,但理解其思想对指导AI解决实际问题至关重要。

2026-03-26 17:38:30 345

原创 AI编程时代,35岁以上程序员会更吃香

AI替代人工编程已成定局,积极拥抱是唯一出路。以前程序员是“青春饭”,35岁以上就开始焦虑。现在时代变了——AI把"写代码"的门槛大幅降低,反而让"理解问题、做出判断"这些需要时间积累的能力变得更值钱。**这对有经验的程序员来说,何尝不是一个难得的机会。**你怎么看?欢迎聊聊你的看法。

2026-03-22 21:29:19 397

原创 Agentic AI时代,程序员必备的算法思想完全指南

Agentic AI时代,程序员的核心价值已从编写代码转变为掌握算法思想来指导AI。算法思想是解决问题的通用方法论,能帮助程序员快速识别问题类型、选择最优方案、验证AI生成代码并优化性能。本文系统介绍了算法与算法思想的区别、算法解决的问题分类(计算/搜索/排序/优化/组合/图论问题)、算法思想的五大应用场景(问题识别、性能优化、系统理解、AI编程、解题框架),并提供了学习路径和实践方法。

2026-03-16 20:33:25 411

原创 AI时代,人人都是Agent工程师

随着AI编程工具的普及,传统软件开发的职能边界正在消融。产品经理、设计师、程序员等角色都面临转型,需要掌握指导AI完成工作的能力。Agent工程师的核心职责不是亲自编码,而是清晰描述需求、设计系统架构、选择算法方案,并验证AI的工作质量。他们需要具备需求描述、系统设计、算法思想、指导协调和质量验证五大核心能力。

2026-03-14 21:03:38 448

原创 AI时代,人人都是系统设计工程师

AI时代系统设计工程师的核心能力 摘要:随着AI技术的发展,软件开发岗位边界逐渐模糊,传统细分角色正在被"系统设计工程师"取代。这类工程师需要具备三大核心能力:1)需求理解与边界定义能力,明确系统约束条件;2)架构设计与技术权衡能力,在性能、成本、可扩展性之间找到平衡;3)算法思维与系统优化能力。AI时代,程序员的价值从编码转向系统设计,好的设计能显著降低开发成本、提高AI生成代码质量,并避免后期重构。本文详细介绍了系统设计的五大核心维度和实践框架,帮助开发者转型为AI时代的系统设计工程

2026-03-11 20:32:13 371

原创 AI时代,人人都是需求描述工程师

AI时代程序员的核心价值已从编码能力转向需求描述能力。本文系统阐述了在AI编程时代,程序员如何转型为"需求描述工程师",通过精准的需求分析提升AI生成代码质量。文章对比了传统开发与AI开发的流程差异,指出需求描述质量直接决定AI输出效果,并提供了结构化需求描述框架、常见问题解决方案及实战案例。研究表明,在需求阶段投入1小时澄清可节省后期10小时返工,程序员需掌握从业务问题到技术需求的高效转化能力,以充分发挥AI编程优势。

2026-03-10 21:27:42 406

原创 AI时代,程序员都是算法思想工程师

在AI时代,程序员的核心价值正从编写代码转向运用算法思想指导AI解决问题。本文系统阐述了算法思想的五大核心(贪心、分治、动态规划、回溯、分支限界)和两大策略(随机化、搜索策略),揭示了算法思想在问题识别、性能优化、系统架构理解等方面的关键作用。文章强调,掌握算法思想能帮助程序员更有效地指导AI生成高质量代码,验证AI输出,并在职业发展中保持竞争力。通过具体案例展示了如何用算法思想指导AI编程,并提供了学习建议和项目实践方法,为程序员适应AI时代的角色转变提供了实用指南。

2026-03-09 16:11:30 379

原创 AI提示词框架深度对比分析

本文系统分析了7种主流AI提示词框架(BROKE、CRISPE、ROBOTIC等),详细阐述了提示词在AI交互中的核心价值:明确需求、引导思路、控制风格、提高效率和降低成本。文章通过正反案例对比,展示了结构化提示框架如何减少歧义、提高输出质量,并针对不同场景(代码生成、问题诊断、系统设计等)推荐适用框架。最后强调提示工程是驾驭AI的关键技能,需要根据任务复杂度选择合适框架。

2026-03-07 21:00:07 297

原创 程序员必知必会的核心算法思想

摘要:本文介绍了程序员必须掌握的5种核心算法思想和2种常见问题解决策略。算法思想包括:1)贪心算法(局部最优选择);2)分治算法(分解-解决-合并);3)动态规划(状态转移优化);4)回溯算法(试错剪枝);5)分支定界(最优解搜索)。这些思想贯穿编程领域,掌握它们能显著提升问题解决能力。文章详细阐述了每种思想的核心特性、算法流程、适用条件和典型应用场景,帮助开发者根据问题特点选择合适的解题思路。

2026-03-05 13:49:42 362

原创 从程序员到架构师:6大编程范式全解析与实践对比

本文系统解析了6大编程范式(PP、OOP、FP、AOP、EDP、RP)的核心思想与应用场景。通过对比各范式在数据管理、执行模型、代码复用等维度的差异,帮助开发者理解不同编程范式的适用情况。文章还展示了同一问题在不同范式下的解决思路差异,并提供了实际项目中的应用建议。掌握多种编程范式有助于开发者根据具体需求选择最合适的解决方案,提升代码质量和开发效率。

2026-03-03 11:22:51 573

原创 程序员必读的AI Prompt最佳实践

程序员AI Prompt工程实践指南 本文系统介绍了程序员如何优化AI提示词(Prompt)以获得更准确的代码生成结果。核心观点包括: 本质认识:Prompt Engineering是"自然语言编程",相当于写给AI的需求文档。程序员需要像配置Spring Bean一样精准控制AI。 底层原理: LLM是概率预测而非确定性执行 Context相当于依赖注入,必须明确提供项目相关信息。

2026-03-02 09:59:48 627

原创 一款Go语言Gin框架MVC脚手架,满足大部分场景

摘要:Gin-Framework-MVC是一款基于Go语言Gin框架的MVC工程脚手架,适用于中小型到中大型业务系统开发。该项目采用清晰的分层架构(Controller、Service、Repository、Model),支持双数据库(MySQL+PostgreSQL)、RocketMQ事件驱动、统一响应格式和全局中间件。内置用户与订单示例、邮件通知功能,提供开箱即用的工程模板。相比直接混合编写路由、业务和数据访问代码的方式,MVC架构能更好地管理模块复杂度,在清晰度和实现成本间取得平衡。

2026-02-27 21:50:25 303

原创 一款Go语言Gin框架DDD脚手架,适合快速搭建项目

Go语言DDD脚手架摘要 Gin-Framework-DDD是一款基于Gin框架的领域驱动设计(DDD)脚手架,专为快速构建Go语言项目而设计。该脚手架采用严格的四层架构(领域层、应用层、基础设施层和接口层),并整合了RocketMQ实现事件驱动。 核心特性包括: 内置用户与订单领域示例 双数据库支持(MySQL+PostgreSQL) 领域事件与RocketMQ集成 统一响应格式和中间件 可选邮件通知功能 技术栈包含Gin、RocketMQ、MySQL/PostgreSQL和YAML配置。

2026-02-13 09:20:11 692

原创 架构师必备:面向对象7大设计原则正反例实战详解

当前对象本身(this)成员变量:作为类的属性存在的对象方法参数:通过方法参数传入的对象方法内创建的对象:在方法内部实例化的对象静态成员:通过类直接访问的对象面向对象设计的7大原则并不是孤立存在的,它们相互关联、相互补充。在实际项目中,我们需要根据具体情况灵活运用这些原则,在代码质量和开发效率之间找到平衡点,而不是生搬硬套。作为高级程序员和软件架构师,我们应该能够识别出违反设计原则的代码,并通过重构来改进它们。只有这样,我们才能构建出高质量、可维护、可扩展的系统。但设计原则不是银弹。

2026-02-04 13:31:57 589

原创 从零手搓一个类Spring框架,彻底搞懂Spring核心原理

本文介绍了SpringWind框架,一个教学性质的轻量级Java Web框架,旨在帮助开发者深入理解Spring核心原理。该框架实现了IoC容器、依赖注入、组件注解、MVC模式、AOP支持等Spring核心功能,代码约5000行,相比Spring更简化易学。文章详细对比了SpringWind与Spring MVC的异同,包括注解对照表、技术栈和设计理念,并提供了使用示例。通过从零实现Spring核心机制,开发者可以透彻理解框架背后的设计模式和工程化思想。

2026-01-24 10:08:27 1008

原创 一款开箱即用Springboot4DDD工程脚手架,初始化项目就用它

Springboot4DDD是一个基于Spring Boot 4.0.1和Java 21的开箱即用DDD工程脚手架。它采用严格的四层架构(领域层、应用层、基础设施层、接口层),集成了RocketMQ事件驱动、多数据源支持(MySQL+PostgreSQL)、双持久化方案(JdbcTemplate和Spring Data JDBC)等企业级特性。项目提供统一API响应、全局异常处理、接口安全认证等最佳实践,帮助开发者快速构建符合领域驱动设计原则的Web应用。该脚手架结构清晰,模块化设计易于扩展,大幅提升开发效

2026-01-12 08:54:55 1045

原创 API接口安全设计:动态盐值与签名机制的实现与剖析

API接口安全设计方案摘要 本文提出一套动态盐值与签名机制相结合的API接口安全方案,包含两种模式: 前端签名模式(需动态盐值): 通过动态盐值作为中间层保护,解决前端无法安全存储密钥的问题 采用三重请求流程:获取盐值→换取签名→调用业务接口 实现密钥隔离、时效保护和接口隔离 后端签名模式(无需动态盐值): 后端直接使用安全存储的密钥生成签名 简化流程为单次业务接口调用 适用于微服务、定时任务等内部系统调用 方案特点: 双重时间戳验证(长效盐值+短效签名) 支持多种哈希算法 三层权限管理体系 防重放攻击

2026-01-04 12:30:45 984

原创 Go后端架构探索:从 MVC 到 DDD 的演进之路

`MVC`和`DDD`是后台开发两种流行的分层架构思想,`MVC`(Model-View-Controller)是一种设计模式,主要用于分离用户界面、业务逻辑和数据模型,便于分层解耦,而`DDD`(领域驱动设计)则是一种架构方法论,旨在通过构建业务领域模型来解决复杂系统中的设计和维护难题。

2025-03-30 21:01:55 1499

原创 探索MVC、MVP、MVVM和DDD架构在不同编程语言中的实现差异

MVC适用于快速开发 Web 应用,强调职责分离。MVP适用于对视图和业务逻辑分离要求较高的场景,强调展示层对视图和模型的协调。MVVM​适用于复杂视图与模型交互的应用,利用数据绑定机制自动同步视图和模型的状态。DDD适用于复杂业务系统,强调领域建模。核心优势:代码可维护性强,团队协作效率高。选型建议:中小型项目优先考虑 MVC,复杂业务系统可结合 DDD。要用 MVC 吗?90% 的 Web 项目都适合 MVC 架构如何判断适用性?

2025-03-28 17:40:05 1644

原创 一文搞清楚 JavaScript prototype 原型链

每个 JavaScript函数(构造函数)都有一个prototype属性,它是一个对象。所有由该函数创建的实例对象都会继承这个原型对象的属性和方法。// 方法添加到原型,所有实例共享${this} // 方法添加到原型,所有实例共享 Person . prototype . sayHello = function() {

2025-03-27 10:31:38 1197

原创 DDD领域驱动设计详解-Java/Go/JS/Python语言实现

领域驱动设计(Domain-Driven Design,简称 DDD)是一种软件架构方法,旨在通过分层和领域建模的方式来管理复杂业务逻辑。DDD 主要通过分层架构来组织代码,以实现高内聚、低耦合。

2025-03-25 09:29:33 1394

原创 什么是多态?一文彻底搞懂!

多态包括编译时多态和运行时多态。编译时多态,即静态绑定,通常通过方法重载实现。运行时多态则是在代码运行时确定具体调用的方法。从Java的角度看,严格意义上的多态需要满足三个条件:继承、方法覆盖和父类引用子类对象。Java完全符合这些要求,实现了严格意义上的多态。尽管Go语言、Python和JavaScript不完全符合严格意义上的多态,它们仍能够实现多态效果。多态的核心在于动态确定运行的方法,从而使代码更加灵活、易于维护和扩展。Go语言虽然没有继承和方法重载,但仍能实现多态效果。

2024-06-24 11:50:12 4949

原创 Java Lambda 会影响性能吗?

测试代码LamdaTest.java。

2024-05-28 17:05:02 429 2

原创 Java实现数组去重复的18种写法

数组(含List)去重复在日常工作中经常遇到,很多时候用到Set数据结构,但有时候我们需要针对数据进行干预,这时候就需要用其他的实现方式了。以下列出各种的去重方式,基本含括了所有情况。

2023-07-21 13:49:32 7822 1

原创 C、Java、Python实现二分查找比较

【代码】C、Java、Python实现二分查找比较。

2023-07-06 14:47:31 342

原创 JavaScript实现归并排序算法详解

归并排序(Merge Sort)算法,也叫合并排序,是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。归并排序和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。

2023-07-06 14:01:11 1614

原创 【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式。访问者模式的使用频率并不是很高,大多数情况下,你并不需要使用访问者模式,但是当你一旦需要使用它时,那你就是需要使用它了。

2023-05-04 11:04:41 524

原创 【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。以此基于公共的模板,来实现实现不同的功能。模板模式适用于一些复杂操作进行步骤分割、抽取公共部分由抽象父类实现、将不同的部分在父类中定义抽象实现、而将具体实现过程由子类完成。

2023-04-29 21:51:57 768

原创 【策略设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时略有不同,可使用策略模式。

2023-04-28 09:17:01 844

原创 【单例设计模式多种版本】Java/JS/Go/Python/TS不同语言实现

单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安全。不同语言的单例实现略有差异,可以通过查看不同版本的源码来深入理解其中的差异。

2023-04-27 09:11:46 169

原创 【代理设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

代理模式(Proxy Pattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。访问控制(保护代理)。如果你只希望特定客户端使用服务对象,这里的对象可以是操作系统中非常重要的部分,而客户端则是各种已启动的程序 (包括恶意程序), 此时可使用代理模式。

2023-04-25 09:26:26 315

原创 【原型设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

原型模式(Prototype Pattern)是一种创建型设计模式,使你能够复制已有对象,而无需使代码依赖它们所属的类,同时又能保证性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。如果你需要复制一些对象,同时又希望代码独立于这些对象所属的具体类,可以使用原型模式。

2023-04-24 11:14:32 289

原创 【观察者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

观察者模式(Observer Pattern)是一种行为型模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者模式使用三个类Subject、Observer和Client。Subject对象带有绑定观察者到Client对象和从Client对象解绑观察者的方法。我们创建Subject类、Observer抽象类和扩展了抽象类Observer的实体类。

2023-04-21 21:00:00 184

原创 【备忘录设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

备忘录模式(Memento Pattern)是一种结构型设计模式。这种模式就是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并放在外部存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。备忘录模式的角色有三个:备忘录(Memento)角色、发起人(Originator)角色、负责人(Caretaker)角色备忘录模式是由发起人(Originator)对象负责生成状态快照,其他对象不可修改状态。

2023-04-20 11:46:05 343

原创 【中介者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

中介者模式(Mediator Pattern)是一种行为型模式。它限制对象之间的直接交互,它用一个中介对象来封装一系列的动作,以让对象之间进行交流。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。当一些对象和其他对象紧密耦合以致难以对其进行修改时,或当组件因过于依赖其他组件而无法在不同应用中复用时,可使用中介者模式。

2023-04-19 18:53:00 159

原创 【迭代器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

迭代器模式(Iterator Pattern),是一种结构型设计模式。给数据对象构建一套按顺序访问集合对象元素的方式,而不需要知道数据对象的底层表示。迭代器模式是与集合共存的,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像Java中的Collection,List、Set、Map等,这些集合都有自己的迭代器。假如我们要实现一个这样的新的容器,就可以引入迭代器模式,给我们的容器实现一个迭代器。

2023-04-17 12:11:10 328

原创 【解释器设计模式详解】C/Java/Go/JS/TS/Python不同语言实现

解释器模式(Interpreter Pattern)是一种行为型设计模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式常被用在 SQL 解析、符号处理引擎等。解释器模式常用于对简单语言的编译或分析实例中,为了掌握好它的结构与实现,必须先了解编译原理中的“文法、句子、语法树”等相关概念。

2023-04-12 17:59:55 285

JSEclipse 好用的Eclipse下JS开发插件

一款 eclipse下的JavaScript插件,与spket、aptana功能差不多,用过的人都说好。是最早的eclipse JS插件,现在被Adobe收购,一般不好下载啊。

2009-09-10

jspSmartUpload

Java文件上传的一个开源代码库,出现的比较早。jspsmartupload与apache common fileupload 以及orellay upload齐名,我觉得jspsmartupload 挺好用的。感兴趣的可以下载使用。

2009-09-10

C语言的科学和艺术-源代码

C语言的科学和艺术可以说是C语言真正的入门经典,不但介绍了C的一般语法与基本算法,同时还介绍了一种良好的编码、程序模块划分设计思想。这本书不只是适合C语言,而是一般普遍的程序设计思想。 附件是随书的源代码,非常推荐阅读!!!

2010-03-12

2009_4_EMS MySQL Manager crack.rar

EMS MySQL 是强大的MySQL客户端工具,附件是2009版的破解文件

2011-12-08

如何才能学好英语?如何才能学好英语?

如何学好英语?这是一本电子书,告诉你如何才能学好英语,掌握方法,才能事半功倍。同时给出一些常用英语短句。

2010-03-12

空空如也

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

TA关注的人

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