- 博客(300)
- 资源 (19)
- 收藏
- 关注
原创 继承(Inheritance)
继承允许一个类(称为或另一个类(称为或)的。简单来说:继承通过让你在基类中只定义一次通用逻辑,然后在多个派生类中它,从而实现。这让软件更整洁、模块化,也更易于维护。
2026-08-22 23:40:03
342
原创 封装(Encapsulation)
摘要: 封装是面向对象设计的核心原则,通过将数据和操作封装在类中,并限制直接访问内部细节,实现数据隐藏和受控访问。类比银行保险库通过ATM接口操作,封装隐藏复杂性,仅暴露必要功能。其优势包括数据保护、安全校验、可维护性和系统稳定性。实现方式包括访问修饰符(private/protected/public)和getter/setter方法,确保私有数据安全且可验证。示例展示BankAccount类如何封装余额,通过存款/取款方法强制业务规则,以及PaymentProcessor类如何掩码敏感信息。封装隔离内部
2026-08-22 23:35:45
306
原创 接口(Interfaces)
从根本上说,接口就是一份契约:任何实现类都必须提供的一组方法。它规定了一个类同意实现的一组行为,但把那些行为的具体细节留给了各个实现去决定。接口定义「做什么」,而类负责提供「怎么做」。现实世界类比想象一个遥控器。play()pause()volumeUp()powerOff()使用遥控器的人并不关心它控制的是电视、回音壁还是投影仪——它们都能理解同一套指令。遥控器就是接口。设备(电视、回音壁、投影仪)就是实现。当你按下play()时,每个设备的表现各不相同,但那份契约始终一致。
2026-08-19 22:40:23
344
原创 枚举(Enums)
枚举(Enums)是一种特殊的数据类型,用于定义一组固定的命名常量,确保变量只能取预定义的有效值。与字符串或数字相比,枚举具有类型安全性,能够避免拼写错误和魔法数字问题,提升代码可读性和维护性。枚举适合表示订单状态、用户角色等有限集合的值,还能扩展属性和方法,例如为货币类型绑定面值。通过编译器检查和IDE支持,枚举能显著减少运行时错误,是替代原始字符串或数字的理想选择。
2026-08-18 23:49:11
387
原创 类与对象 介绍
类是一种用于创建对象的蓝图模板或配方。它定义了一个对象将包含什么(其数据)以及它能做什么(其行为)。类本身不是一个对象,它是一个模板,用来创建许多结构相似但状态独立的对象。现实世界的类比把一门课想象成一道蛋糕的食谱这些成分代表字段或属性(面粉、糖、鸡蛋→变量)。指令代表方法或函数(混合、烘焙、装饰→操作)。食谱本身并不制作蛋糕,它只是定义了如何制作蛋糕。当你按照食谱烤蛋糕时,你只是创造了一个物体。用代码来说:食谱就是你的类定义,每个蛋糕都是有自己风味、糖霜和大小的对象。
2026-08-18 17:32:56
167
原创 Agent Skills 完全学习指南
目标:用户丢一篇技术文章(Markdown / 链接),自动完成"总结 → 翻译(如需)→ 改成公众号风格 → 加标题 → 输出 Markdown"。:用 YAML 把多个技能组合成一个斜杠命令(Hermes);条件激活:用让技能按环境自动显隐;Blueprint 定时任务:在 Skill 中声明 Cron 调度,变成可共享的自动化蓝图(Hermes);/learn:把已有知识或参考资料一键转为规范 Skill,无需手写。📚参考资源。
2026-08-07 23:05:09
310
原创 AI Agent(智能体) 入门教程与精通学习手册
这篇AI Agent学习手册摘要(149字): 《AI Agent智能体开发指南》系统讲解智能体开发技术,分为四大模块:基础篇介绍智能体定义(自主执行任务的智能系统)、五大核心能力(编码/理解/审查/调试/自动化)及四种使用方式(App/IDE/CLI/Web);实战篇提供基础到进阶的练习项目;精通篇深入提示工程、多智能体协作等关键技术;扩展篇涵盖主流框架与行业应用。强调"先理解后使用"的学习理念,配套验证任务和资源库,适合具备基础编程能力的开发者提升智能化开发能力。
2026-08-06 23:04:42
710
原创 Codex 团队开发入门到精通学习资料
Codex 团队开发学习资料摘要 本文档为团队学习Codex开发的系统指南,涵盖四大学习阶段: 入门基础:介绍Codex核心概念、适用人群、使用方式和五大核心能力,重点讲解Prompt、Thread、Context等关键概念,并提供安装配置指南。 学习练习:通过实际编码任务掌握Codex应用,从简单功能实现到复杂项目开发。 精通进阶:深入Codex工作机制,学习高级Prompt技巧和团队协作方法。 扩展应用:探索Codex在自动化测试、性能优化等领域的创新应用。 文档包含详细的环境配置说明、CLI使用指南和
2026-08-05 23:38:03
549
原创 04-MySQL 扩展学习资料
面向「能用、也懂原理」之后,向架构、运维、云与工程化方向扩展的开发者 / 技术负责人。涵盖高可用、云数据库、框架集成、安全合规、监控运维、生态工具与学习路线。
2026-08-05 23:35:05
275
原创 03-MySQL 精通学习资料
本文是MySQL高级学习指南,面向已掌握基础CRUD操作的开发者。主要内容包括: 存储引擎对比:重点分析InnoDB与MyISAM的核心差异,推荐99%场景使用支持事务和行锁的InnoDB。 事务与并发:详解四种隔离级别及对应的并发问题,解释MVCC实现机制。 锁机制:介绍行锁、表锁、间隙锁等类型,以及死锁处理策略。 索引优化:剖析B+树结构,讲解聚簇索引、覆盖索引等概念,列举常见索引失效场景。 执行计划分析:指导如何通过EXPLAIN解读查询性能,定位慢查询问题。 高级特性:涵盖分区表、存储过程、触发器、
2026-08-05 23:33:34
846
原创 MySQL 学习练习(配套 01 入门资料)
这篇文章提供了MySQL数据库学习的实践练习指南,主要内容包括: 初始化一个名为shop_demo的示例数据库,包含用户、产品、订单和订单项四张表及测试数据 按照章节顺序设计了一系列练习题,难度分为基础(★)、进阶(★★)和综合(★★★)三个级别: 第三章:数据库和表的创建与修改 第五章:基本的增删改查操作 第六章:条件查询 第七章:排序和分页 第八章:聚合和分组统计 第九章:多表连接查询 第十一章:索引使用 第十四章:事务处理 提供了一些进阶综合练习题,如统计消费金额、热门商品排名、用户分类标签等 所有练
2026-08-04 21:57:55
185
原创 MySQL 入门学习资料
MySQL 入门学习资料摘要 本文提供MySQL关系型数据库的入门学习资源,包含配套练习和进阶资料。主要内容包括: 基础概念:介绍数据库核心术语如表、行、列、主键、外键等。 环境配置:提供Docker、本地安装和在线练习三种安装方式。 基本操作:涵盖数据库/表的创建修改、数据类型选择以及CRUD操作。 查询技巧:详细讲解WHERE条件查询、排序分页、聚合分组和多表连接。 注意事项:强调关键操作风险(如不带WHERE的UPDATE/DELETE)和最佳实践(如使用utf8mb4字符集)。 配套资源包含练习题、
2026-08-04 21:57:20
156
原创 MySQL 入门学习资料
MySQL 入门学习资料摘要 本文提供MySQL关系型数据库的入门学习资源,包含配套练习和进阶资料。主要内容包括: 基础概念:介绍数据库核心术语如表、行、列、主键、外键等。 环境配置:提供Docker、本地安装和在线练习三种安装方式。 基本操作:涵盖数据库/表的创建修改、数据类型选择以及CRUD操作。 查询技巧:详细讲解WHERE条件查询、排序分页、聚合分组和多表连接。 注意事项:强调关键操作风险(如不带WHERE的UPDATE/DELETE)和最佳实践(如使用utf8mb4字符集)。 配套资源包含练习题、
2026-08-04 21:56:15
540
原创 MySQL 团队学习资料包
本文介绍了MySQL团队学习资料包的结构和使用指南。资料包包含4个文档:入门学习(适合零基础)、练习题库(含参考答案)、精通进阶(存储引擎原理等)和扩展学习(高可用架构)。推荐3周学习路径:入门+练习→索引优化→实战项目。提供了团队开发规范建议(如统一字符集、参数化查询等)和快速搭建MySQL测试环境的方法(Docker命令)。附有在线编程工具和云盘资源链接。
2026-08-04 21:55:32
200
原创 PostgreSQL 学习资料大全:从入门到精通
PostgreSQL 学习路径摘要 PostgreSQL 学习分为四个阶段: 入门阶段(7-10天):掌握基础 SQL 操作、安装配置和数据类型,推荐官方文档和 SQL 自学网练习。 进阶阶段(10-15天):学习复杂查询、事务控制、索引设计和 JSONB 特性,可通过 pgExercises 进行交互式练习。 高级阶段(15-20天):深入查询优化、分区表、备份恢复和复制功能,推荐《PostgreSQL 修炼之道》等书籍。 精通阶段(长期):研究内核原理(MVCC/WAL)、高可用架构(Patroni/P
2026-08-02 17:21:04
464
原创 PostgreSQL 学习资料 · 入门 / 练习 / 精通 / 扩展
本文是一份PostgreSQL数据库学习指南,包含从入门到精通的系统化学习路线。主要内容分为四个部分:入门学习资料(安装配置、核心概念、数据类型、CRUD操作等基础内容)、学习练习(基础查询和进阶练习)、精通学习资料(事务隔离、执行计划、分区表、JSONB等高级特性)和扩展学习(生态工具、ORM框架、云数据库等)。文章提供了详细的Linux/macOS/Windows安装指南,介绍了PostgreSQL的核心概念和优势(开源、标准兼容、可扩展等),并包含了丰富的SQL示例代码,涵盖DDL、DML操作和查询技
2026-08-02 14:46:03
215
原创 Last30Days 技能提升实战指南
《三十天技能突破实战指南》摘要 本文针对技术学习中的"收藏不练"现象,提出了一套30天高效学习系统。核心逻辑是以MVP思维逆向推导,将学习周期划分为认知构建、高频实操、综合模拟和成果固化四个阶段。计划强调目标需符合SMART原则,建议第一周快速建立知识框架,第二周高频刻意练习,第三周整合项目实战,第四周作品输出。文章指出每日45分钟专注练习优于突击学习,并提供了瓶颈期调整策略,警告避免"教程地狱"和完美主义陷阱。最后建议将30天方法论转化为长期学习习惯,通过季度性规划持续进阶。附有GitHub案例和编程资源
2026-07-31 17:28:25
244
原创 AI 新手入门:从零搭建你的第一个智能应用
文章摘要(149字): 本文为AI开发新手提供了一份实用入门指南,重点解决大模型开发中的三大痛点:环境配置、概念理解和基础实践。从Python环境搭建、核心概念生活化解读,到完成首个对话机器人Demo,教程采用渐进式教学:①虚拟环境配置与工具安装;②用"超级实习生"类比解释模型原理;③调用API实现Hello World;④构建角色化对话系统;⑤测试验证方法;⑥常见报错解决方案。全文避开学术理论,专注实操落地,配有代码片段和问题排查手册,帮助开发者在半天内快速上手AI应用开发。
2026-07-31 17:19:14
370
原创 Open-Code-Review 智能代码审查实战指南
本文探讨了构建智能化代码审查体系的实践方案。文章指出,传统人工代码审查存在效率低、标准不一等问题,提出通过自动化分层防御机制(IDE实时检查、Git Hooks预提交检查、Merge Request深度扫描)来提升审查效率。重点分析了自动化审查的核心能力,包括代码异味识别、安全漏洞检测、团队规范统一等,并介绍了基于上下文的智能修改建议生成技术。针对遗留系统重构,提出利用热点图和依赖拓扑进行辅助分析。文章还探讨了持续集成中的嵌入方案、误报率优化策略、多语言适配方法,以及如何将审查结果量化为技术债务指数,为项目
2026-07-30 23:30:05
365
原创 MediaCrawler 多平台数据采集实战指南
摘要: 数据驱动的内容营销已成为行业核心,但手动采集多平台数据效率低且易出错。本文探讨主流社交平台的自动化数据采集方案,解决爆款识别、用户画像分析等痛点。从技术实现(反爬策略、数据清洗、存储架构)到应用场景(竞品分析、选题挖掘、效果归因),提供全链路方法论,帮助团队通过数据优化策略,实现精准投放与趋势预判。涵盖小红书、抖音、B站等平台的具体采集技巧,强调跨平台数据融合与自动化报表的决策价值。 关键词: 数据采集、内容营销、竞品分析、用户画像、自动化报表
2026-07-30 23:27:05
626
原创 LLD与HLD
本文通过城市规划的比喻,阐述了软件工程中高层次设计(HLD)和低层设计(LLD)的区别与联系。HLD关注系统整体架构,包括组件划分、通信方式、技术选型等,如同城市规划;LLD则聚焦单个组件的具体实现细节,如类、方法、数据模型等,类似房屋设计。两者相辅相成,HLD为LLD提供框架,LLD实现HLD的构想。文章还以网约车应用为例,对比展示了HLD和LLD的实际应用,并列出二者的主要区别表格。最后强调二者是设计流程中的连续步骤,共同指导系统开发。
2026-07-30 17:51:40
264
原创 Java 新手入门与实战开发指南
这篇文章是Java新手入门与实战开发的完整指南,主要包含以下内容: 环境搭建:详细介绍JDK/JRE/JVM的区别,提供JDK安装和环境变量配置步骤,并验证安装成功。 第一个程序:展示经典的"Hello World"示例,解释基本语法结构,演示编译和运行过程。 核心语法:讲解变量声明、八大基本数据类型、引用类型、类型转换和常量使用,强调命名规范。 流程控制:涵盖条件判断(if/else)、switch多分支、for循环(包括增强for)、while和do-while循环等基础控制结构。 学习路径:从安装环境
2026-07-29 22:37:04
266
原创 Build-Your-Own-X 新手实战指南
本文介绍了从零开始构建嵌入式最小系统的完整实践路径,重点解决了裸机开发和RTOS应用中的核心难点。文章首先分析了项目选型原则,强调理解启动流程和链接脚本的关键作用;随后详细指导开发环境搭建,包括工具链配置和调试器驱动安装;接着系统讲解了基础架构代码初始化,涵盖链接脚本编写、启动文件准备和系统初始化;在核心功能模块部分,提出了模块化设计方法和中断处理原则;最后提供了完整的测试验证方法和常见编译错误排查技巧。全文通过清晰的步骤分解和实践建议,帮助开发者建立稳定的嵌入式开发基础,尤其适合刚接触底层开发或希望夯实基
2026-07-29 16:49:12
380
原创 Book-To-Skill 新手实战指南:从阅读到技能转化
技术书籍阅读与实际编码能力之间存在断层,关键在于缺乏有效的知识转化机制。文章提出通过构建"技能卡片"将书本知识转化为可执行模块,包含场景、问题、解决方案等五要素。具体操作包括:搭建笔记工具链、结构化提取书籍内容、将理论映射为代码实践、构建个人技能模型。这套方法强调"以用促学",通过代码验证、定期回顾和持续迭代,将静态知识转化为动态技能。最终实现从被动阅读到主动创造的转变,建立可复用的个人技术体系。
2026-07-29 16:43:07
205
原创 计数排序Counting Sort
计数排序是一种高效的非比较排序算法,适用于元素范围较小的情况。其核心思想是通过统计元素频率构建计数数组,再计算前缀和实现稳定排序。算法时间复杂度为O(N+M),空间复杂度为O(N+M)。虽然不适合大范围数据或小数排序,但在特定场景(如学生成绩排序)和作为基数排序子程序时表现优异。文中提供了Java实现代码和算法流程图解,并分析了其优缺点和应用场景。
2026-02-10 08:03:22
353
原创 Aho-Corasick 模式搜索算法
Aho-Corasick算法是一种高效的多模式匹配算法,能在O(n+m+z)时间内找出文本中所有给定单词的出现位置,其中n为文本长度,m为所有模式串总长度,z为匹配次数。算法通过构建自动机实现,包含三个核心功能:goto函数(类似Trie结构)、failure函数(处理失配情况)和output函数(记录匹配结果)。预处理阶段先构建Trie树,然后通过广度优先遍历计算failure函数。匹配阶段只需线性扫描文本即可完成所有模式串的查找,相比逐个应用KMP算法显著提高了效率。该算法广泛应用于字符串搜索领域,是U
2026-02-06 07:45:44
371
原创 Z算法(线性时间模式搜索算法)
Z算法是一种高效的字符串匹配算法,能在O(n+m)时间内完成模式匹配。其核心是计算Z数组,该数组记录每个位置与字符串开头的最长匹配长度。算法通过维护Z-box窗口优化计算,实现线性时间复杂度。在模式匹配中,通过组合模式和文本字符串并计算其Z数组,可快速定位所有匹配位置。相比朴素算法,Z算法显著提升了效率,适用于DNA序列比对等需要快速字符串匹配的场景。
2026-02-05 22:57:00
770
原创 拉宾-卡普模式搜索算法 Rabin-Karp算法
Rabin-Karp算法是一种高效的字符串匹配算法,由Michael Rabin和Richard Karp于1987年提出。该算法通过哈希技术优化模式匹配过程,使用滚动哈希将字符串转换为数值进行比较,而非逐个字符匹配。其核心思想是:预先计算模式和文本子串的哈希值,当哈希匹配时再进行字符验证。这种方法特别适合大文本或多模式匹配场景,时间复杂度为O(n+m)。算法实现涉及多项式滚动哈希计算和模运算,能有效应用于抄袭检测、子字符串搜索等领域。虽然存在哈希碰撞的局限性,但采用双哈希策略可提高准确性。
2026-02-04 07:54:51
653
原创 KMP模式搜索算法
KMP算法是一种高效的字符串匹配算法,通过预处理模式字符串构建LPS数组(最长前缀后缀),实现智能匹配。相比朴素算法(O(n×m)),KMP算法将时间复杂度优化至O(n+m)。其核心在于利用LPS数组记录模式串的重复特征,当出现不匹配时能快速调整位置,避免重复比较。算法分为两步:预处理构建LPS数组,以及基于LPS的高效匹配过程。KMP广泛应用于搜索引擎、编译器等领域,特别适合处理重复字符较多的字符串匹配场景。
2026-02-03 21:26:32
815
原创 K‘ 未排序数组中的最小/最大元素 |期望线性时间
摘要:本文介绍了一种基于快速选择算法的解决方案,用于在未排序数组中找到第k小的元素。该方法通过随机选择枢轴进行分区,将数组分为小于和大于枢轴的两部分,然后递归搜索包含第k元素的子数组。算法平均时间复杂度为O(n),最坏情况为O(n²),但实际性能优异。文章提供了Java实现代码,包含分区、随机分区和快速选择三个核心函数,并演示了在示例数组{12,3,5,7,4,19,26}中查找第3小元素(结果为5)的过程。该方案相比完全排序等方法更高效,适合处理大规模数据。(148字)
2026-02-03 21:05:05
160
原创 合并排序 merge sort
摘要:合并排序是一种采用分治策略的稳定排序算法,时间复杂度为O(nlogn)。它通过递归拆分数组、排序子数组并合并来实现排序。算法优势包括稳定性、并行处理能力,但需要额外存储空间。适用于大数据集排序、外部排序等场景,被广泛应用于编程语言库中。本文详细介绍了合并排序的工作原理、复杂度分析、应用场景及优缺点,并提供了JavaScript实现示例和递归关系说明。
2026-02-02 21:26:26
472
原创 快速排序算法java实现
快速排序是一种高效的分治排序算法,通过选择枢轴元素将数组划分为两部分进行递归排序。算法包含三个关键步骤:选择枢轴(通常随机选择以避免最坏情况)、划分数组(将小于枢轴的元素移到左侧)和递归处理子数组。其平均时间复杂度为O(nlogn),最坏情况下为O(n²)。快速排序具有原地排序、缓存友好等优势,但不稳定且对小数据集效率不高。适用于大数据排序、数据库索引等场景。实现时需注意枢轴选择和划分算法的优化。
2026-01-31 08:02:15
1175
原创 二分搜索算方
摘要:二分搜索是一种高效算法,适用于已排序数据结构,时间复杂度为O(logN)。其原理是将搜索区间不断对半分割,通过比较中间值与目标值缩小范围。实现方式包括迭代法(空间O(1))和递归法(空间O(logN))。示例演示了在数组{2,3,4,10,40}中查找10的过程,两种方法均返回正确索引3。最佳情况时间复杂度O(1),最坏情况保持O(logN)。该算法需满足数据有序和随机访问两个前提条件。
2026-01-31 07:26:38
90
原创 图中的表达点(或截顶点)
摘要:本文介绍了两种查找无向图中关节点(Articulation Points)的算法。关节点是移除后会增加连通分量数量的顶点。第一种是朴素DFS方法,时间复杂度O(V*(V+E)),通过逐个移除顶点并检查连通性来识别关节点。第二种是更高效的Tarjan算法,时间复杂度O(V+E),利用DFS树和low/disc数组来判定关节点:根节点有多个子节点或非根节点满足low[v]>=disc[u]。文章提供了两种方法的JavaScript实现代码,并分析了时间/空间复杂度。
2026-01-27 07:56:59
656
原创 拓扑排序是一种顶点的线性排序
摘要:拓扑排序是针对有向无环图(DAG)的顶点线性排序方法,要求每条有向边u→v中u排在v之前。仅适用于DAG,不适用于无向图或循环图。排序结果不唯一,可用于任务调度、课程安排等依赖关系处理。实现方法包括DFS(深度优先搜索)和BFS(卡恩算法)。拓扑排序在项目管理、死锁检测等方面有重要应用,但存在排序结果不唯一的局限性。
2026-01-22 08:07:09
252
原创 Kruskal 最小生成树(MST)算法
摘要: Prim算法是一种用于求解加权连通图最小生成树(MST)的贪婪算法。其核心思想是从任意顶点出发,逐步选择连接已选顶点集与未选顶点集的最小权重边,确保不形成环路。算法通过维护键值数组和优先队列(如最小堆)高效实现,时间复杂度为O((E+V)logV),适用于稀疏图。优势包括保证最优解和易于实现,但可能因依赖堆结构而在密集图中效率降低。文中提供了基于邻接矩阵和邻接列表的Java实现示例,并分析了算法的时间复杂度与空间复杂度。
2026-01-21 22:32:10
874
原创 Prim 最小生成树算法(MST)
Prim算法是一种用于求解最小生成树(MST)的贪心算法。该算法从任意顶点开始,逐步扩展生成树,每次选择连接已选顶点和未选顶点的最小权重边。算法通过维护两组顶点(已选和未选)和键值数组来实现,时间复杂度为O(V²)或优化后O((E+V)logV)。文中提供了Java实现代码,包括邻接矩阵和邻接列表两种实现方式,并分析了算法的优缺点:优点是保证找到MST且实现简单,缺点是在密集图中效率较低且依赖起始节点选择。
2026-01-20 22:39:56
996
原创 弗洛伊德·沃肖算法 Floyd Warshall Algorithm
Floyd-Warshall算法是一种用于计算图中所有节点对之间最短路径的动态规划算法。它通过维护一个距离矩阵,逐步考虑每个节点作为中间节点来更新最短路径。该算法适用于包含正负边权重的有向和无向图(不含负权环),时间复杂度为O(V³)。其核心思想是利用最优子结构性质,即若i到j的最短路径经过k,则i到k和k到j的路径也必须是最短路径。算法实现时需初始化距离矩阵,然后通过三重循环迭代更新路径长度。该算法特别适合稠密图,在计算机网络、航空路线规划等领域有广泛应用。
2026-01-17 00:13:05
1034
放大缩小svg图片工具
2012-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅