自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 一次 AI 使用的深度思考

本文构建了一个跨语言、覆盖开发全场景且可自进化的AI集成系统,采用五层架构:入口层(意图识别+记忆管理)、路由层(场景与调度决策)、填充层(动态/静态上下文补全)、执行层(智能求解与验证)、沉淀层(经验自动复用)。通过DeepSeek Harness与OpenViking结合,实现低耦合、高复用的AI工作流,尤其在原型验证中显著提升效率,强调“错误可发现、可补救”的容错机制,真正实现系统持续进化。

2026-09-25 17:45:14 281

原创 在混沌系统内的自进化开发

规则候选必须带"产品能力实证"证据(产品锚点或项目实证锚点)才允许 ACCEPT;

2026-08-14 17:43:27 382

原创 所以,程序员为什么要写代码呢?

这件故事的引起,是在今年的3月初,我被很开心的投递到一个项目里。当时说的很好,去学习的,为期两个月。主要是学习AI产品在企业中的落地,去学习RAG应用等等。然后有点意料之外,又在情理之中的事情发生了,我是去当牛马的。我不是主要去学习,我主要是去push项目进度,去开发的。当时,我面对的现况就是这样的,两个重资源项目并行投入(因为原本说的学习,所以我手上还兼顾着其他的项目,我需要保证我的日常产出),而这个AI项目是用python写,哈哈哈,我完全不会Python语法。

2026-04-11 19:51:41 446

原创 图片溯源:从隐形水印到混合方案的三代演进

本文记录了商业标书图片溯源技术的三代演进过程。最初采用LSB隐形水印方案(V2),虽然原图解码准确率高,但截图后信噪比不足导致失效。随后转向可见网格水印(V3),通过RGB色彩编码和菱形网格设计,解决了信号强度问题,但仍面临缩放错位、解码速度慢等挑战。最终V4混合方案创新性地结合了LSB隐写和RGB网格的双通道设计,并引入动态缩放检测技术,通过FFT互相关算法自动适配不同截图工具的缩放比例,实现了85%以上的准确率。这一演进过程展现了从追求"完全隐形"到"实用鲁棒"的

2026-04-08 10:25:58 425

原创 python程序实现图片截图溯源功能

数字水印技术实战:从DCT方案到微纹理追溯的演进 本文探讨了商业标书系统中图片溯源追踪的技术实现过程。最初采用DCT暗水印方案,但由于截图过程中的像素采样、色彩转换和缩放等问题,识别成功率几乎为零。核心问题在于DCT水印依赖于精确的频率域位置,而真实截图破坏了这些前提条件。 作者转而采用微纹理模板方案,通过为每个接收人ID生成独特的纹理图案,轻微修改RGB像素值。这种全局性、统计性的指纹具有尺度不变性,即使图片被缩放或重编码,仍能通过模板匹配识别。技术实现包括四层信号设计:高斯噪声基底、方向正弦载体、象限编

2026-03-30 17:56:06 465

原创 AI浪潮之下,程序员护城河的建立

AI不是终点,它只是工具。在混沌中定义秩序的能力。构建系统的人驾驭复杂性的人为结果负责的人当浪潮再次涌来时,有人被淹没,有人被推高。站在浪潮之上,依然能看清方向的人。

2026-03-21 10:34:04 323

原创 AI场景下的用户画像深度挖掘

一个用户他最近对“星露谷物语”很感兴趣,持续不断的进行有效触达。那么是不是这个“游戏-星露谷物语”的标签,应该上升。那么上升,我这个用户还有很多之前比较热点的标签,他到底是应该成功上升,挤掉某个历史的旧标签、还是上升失败?

2026-01-25 20:45:59 870 1

原创 缓存设计之探了又探

一个靠缓存,一个靠调度与锁。所以架构路径完全不同。

2025-12-10 10:48:05 2424

原创 智能对话系统 2.0

之前的blog地址可以看着 https://blog.csdn.net/TT_4419/article/details/152463564#comments_38682656然后当时主要完成了架构的整体搭建,可行性的测试主要功能点如下:✅ 基础对话聊天✅ 流式对话响应✅ 上下文联想记忆✅ 文档上传解析✅ 向量库存储检索✅ RAG 增强对话✅ 对话历史管理首页这是另外一个账户的个人信息,他是我用来测试的爱好旅游的,所以标签不太一样。

2025-11-30 17:28:03 768

原创 Spring AI 实战:构建智能对话系统

经过半个月的磕磕碰碰的学习与疯狂的和AI的对话,我构建了一个基于 Spring AI 的智能对话系统。本文将分享从零到一的完整开发历程,涵盖核心概念、技术实现和踩坑经验。

2025-10-03 21:22:08 1037 2

原创 反范式项目生存

最后其实还是有很多东西和感想没有写的,但是不怎么想写了。技术经历与项目经历,天生相对但目标一致,坚持自己的底线,坚持多轮UAT客户现场大家都很难,相互理解吧有的时候熟人做事情,效率不一定高哦只做一件事情,做好一件事情,明确自己的职责范围最后,预祝大家少走点坑吧。

2025-07-20 17:08:03 687 1

原创 JAVA并发根源问题的讨论与思考

我认为并发根源问题出现的有三个部分:可见性、原子性、有序性。了解这三个问题,以及背后的原因和处理机制,可以有效的梳理整个并发过程可见性是由CPU缓存引起的,在了解CPU缓存之前,应该先了解JMM内存模型。内存模型如下:JMM 是 Java 对多线程环境下内存访问行为的抽象模型,它定义了线程如何与**主内存(共享内存)及本地内存(工作内存&线程私有)**交互。解释一下有两个点注意一下:那么刚刚说了JMM他是一个抽象模型,他抽象的是什么?本质上抽象的是硬件架构(这就是语言跨平台的魅力)他是对不同CPU的架构

2025-04-23 18:44:46 1093

原创 利用AI与设计原则,对复杂性业务抽象的一次实战

然后注意编译期与运行期的差异,这里的调度,在运行期,我都是具体的子类,只是在这里我将其抽象了父类。而作为一名开发,或者一名立志做架构的开发,我们需要做的是如何在领域专家的建议下,划分模块边界,制定业务规则,明确方案设计,统筹兼顾后续的扩展点,性能点。这里就没有整合,因为感觉没有必要。可以内置一些固定校验规则,再增加预留埋点接口,给不同的系统去填充他们的校验接口,当然格式会统一,然后业务进行触达。在进入我们核心调用链之前,我觉得先要有两个抽象对象,一个是业务事件的抽象触达源,一个是Event的事件的抽象。

2025-04-03 18:17:49 903

原创 本地大模型搭建与webui交互

我们以标准的32G电脑内存为例:如果你是程序员,且主要功能是用于做代码开发的(苦于openAI的外网和deepSeek的网络问题,你可以尝试本地拉着先玩玩。注意一下,我把OPENAI_API_KEY给关闭了,因为正常你不翻墙的话,他连接不了,就导致第一次打开很慢(你要等到他http超时,才往下去load本地模型)整个模型的操作就是这么几步,但是与其考虑这个,不如考虑一下,你的适用场景,能拉什么模型?事实上,你刚刚拉我就可以直接ollama run 对应的模型了,但问题是:这种交互方式极度不友好。

2025-03-01 22:37:53 1512

原创 线上BinLog追溯及衍生问题

上线前夕(我希望是上线前夕,我已经加了很久的班了),客户在UAT环境测试的时候,发现了一张业务单据明细无故消失,导致业务流程失败,经过排查数据库为查到此数据。经过初步判断和review代码,无果。我初步怀疑是上游系统重复推送导致的数据删除,于是决定启用BinLog的日志,先去判断数据是删除还是未生成,事故发生时间点,也可以通过sql语句进行初步判断程序删除与人为删除。

2025-03-01 10:59:56 950

原创 架构知识整理与思考(其四)

架构师的一个重要任务是根据业务和技术需求,动态决定边界的设置和完全性程度。1.预判未来可能的变化识别扩展点:通过分析业务需求,判断哪些模块可能需要更灵活的边界。2.延迟决策控制架构复杂性:在项目初期尽量避免过度设计,推迟对边界完全性的决策。通过接口保护边界:即使是目前的边界不完全,也要通过接口或适配器模式确保模块的逻辑不直接暴露。3.平衡短期与长期利益短期目标:快速交付、降低初始成本。长期目标:保持架构的弹性,支持未来需求的变化。识别哪些地方需要边界。判断边界是否需要完全隔离。

2025-01-30 11:25:18 1013

原创 架构知识整理与思考(其三)

组件是一个可复用的、独立的功能单元,它封装了某种特定的逻辑或行为,并通过标准化的接口对外提供服务。组件是软件系统的基本构造块,广泛应用于前端、后端和系统架构中。​ 1.独立性:组件有明确的边界,可以独立开发、测试和部署。​ 2.复用性:组件可以在多个系统或模块中重复使用。​ 3.封装性:内部逻辑对外隐藏,仅通过定义的接口进行交互。组合性:组件可以组合起来,构建更复杂的功能或系统。

2025-01-28 20:24:04 1409

原创 架构知识整理与思考(其二)

​ •核心理念:小接口、多组合,避免臃肿的大接口。​ •目的:降低耦合,提升灵活性。​ •注意事项:不要盲目拆分接口,拆分后的接口粒度应该合理,不能过细以至于导致类实现过多的接口。

2025-01-25 21:12:20 1239

原创 架构知识整理与思考(其一)

编程范式规范对象核心限制主要优势结构化编程程序的控制权直接转移禁止任意跳转,强制使用结构化控制流提高代码可读性和可靠性,减少逻辑混乱面向对象编程程序的控制权间接转移封装和接口规范化控制权传递路径降低耦合度,提高模块化、可扩展性和灵活性函数式编程程序中的赋值与副作用禁止状态修改,提倡纯函数和不可变性提高并发安全性,增强代码可预测性,便于分布式计算emmm,写在后面的话,最近搞了一个微信公众号,有兴趣的小伙伴可以去看看。公众号主要更多是一些,偏向理论性的知识分享。

2025-01-23 20:05:08 735

原创 如何降低接口的响应时间(RT)

批量处理通过合并多个操作来减少网络交互、资源消耗和事务管理的开销。在数据库操作中,通过批量插入、更新等操作可以显著提升性能。批量处理还可以应用于消息队列、文件处理和缓存更新等多个场景。在实际应用中需要根据系统资源、延迟要求等进行调整,确保批量操作能够提升系统的吞吐量而不会引发其他性能问题。

2024-10-03 22:09:10 2199 2

原创 线上环境排故思路与方法&GC优化策略

这是针对于我之前[博客]的一次整理,因为公司需要一些技术文档的定期整理与分享,我就整理了一下。其实,nginx配置 服务故障转移与自动恢复也是可以的,不过他的技术难度不大,这里可以查看之前的博客。

2024-09-26 23:16:13 1307

原创 一次关于生产环境服务无故宕机的排查过程

线上容器无故重启分析定位过程

2024-09-07 16:10:07 1541 2

原创 使用docker swarm搭建ruoyi集群环境

Docker Swarm 是 Docker 提供的原生容器编排工具。它允许用户将多个 Docker 主机组合在一起,形成一个虚拟的 Docker 集群,并在这个集群上管理和部署容器。Swarm 使得用户可以通过熟悉的 Docker 命令和工具管理大规模的 Docker 容器部署。部署方式就是一个master节点,其他worker节点加入。管理的最小单位是service,可以使用类似docker-compose的文件进行管理service。同时有多个stack,进行一组service的管理。

2024-07-20 19:37:25 1927 1

原创 未来生存法则:AI工具与中国经济的结合(下)

从宏观的意义上讲,国家是一个多维度的社会实体,涵盖政治、经济、文化、法律等多个方面。它不仅是一个拥有主权的政治单位,也是一个社会契约的产物,代表一个特定文化和认同的共同体,并通过法律和制度来实现治理和规范。其中有一个点:国家是被视为文化和认同的载体,代表一个特定的文化、语言、历史和价值观的共同体。而中国作为一个拥有着上下5000年文化的国家,其文化底蕴非同一般,不管是古诗词,建筑,书法,绘画,儒道思想,各种传统文化。而这些都是扎根于我们血脉深处的东西。其实AI时代下讲到了很多机遇1.互补生态位的产生。

2024-06-26 22:41:49 1174

原创 未来生存法则:AI工具与中国经济的结合(上)

本文旨在探讨人工智能(AI)工具的使用及其对生产力发展的影响,并结合中国的经济现状,提供未来生存的实用法则。

2024-06-09 21:37:53 811

原创 基于docker-compose与dockerfile的ruoyi框架搭建

ps:记得他的入口是80,直接输入ip就可以访问了。不用手工敲login,前端会做重定向的,docker-compose 如图(gen服务启动不了了,机器就4c4g)

2024-05-04 20:29:28 2180 4

原创 一次以ruoyi框架为原型的技术知识栈整理

首先是。

2023-07-16 15:08:13 3815

原创 SpringCloud下Seata的使用(docker)

seata docker cloud下的使用

2022-06-12 14:07:44 1020

原创 一次自己搭建springCloud 应用以及思考

前言本次搭建springCloud的根本目偏向于应用,因为之前公司主流框架是SpringBoot那套。基于拓宽视野,我准备搭建一个cloud框架,然后再搭建的过程中,我同时会去引用一些我所知道,但是没有实际引用过的中间件。写下这篇文章的本意在于记录一下,在搭建的过程中,方才明了,知易行难。过程中遇到了许许多多的坑,也做一些统计和记录,方便自己。当然如果有对别有帮助,那最好不过。框架图再聊具体框架之前,我们先思考一下,springCloud,springBoot,Spring之间的关系。(

2022-05-04 19:15:48 881

原创 Redis学习记录笔记

一.前言 在聊Redis之前,我们不妨抽象开来,聊一下关系型数据库与非关系型数据库。我一直认为一门新的技术或者说中间件的诞生,必然是有其自身的应用场景。非关系型数据库的应用场景需要和关系型数据库混合起来看。对于其传统的关系型数据库来看,他的特征是关系,表作为业务单据的载体,表与表之间的联系支撑起来整个复杂的业务系统。但是随着业务的持续发展,数据的大量涌入,表与表之间的关系变得复杂而又冗余。当数据大到一定程度的时候,单纯的纵向扩展变得成本巨大,因此横向扩展变成了新兴话题。于是分库分表,分布式,集群...

2021-10-07 17:17:20 341

原创 一些并发的认知梳理

前景提示: 在日常开发过程中,我们必不可免的在使用着多线程来提高程序执行效率。而多线程的本质无非在于开启多个线程,同时去完成一个任务,来减少时间成本。需要说明的是,在cup单核下,也就是一个线程条件下,多线程也是可以的,只不过他的运行机制是一个线程反复的在多个应用中切换。(PS:这里会牵涉到一个注意点,在某些场景下,过于频繁发使用多线程,造成线程上下文之间反复切换,会导致性能损耗)概念引入: 而在并发过程中,我们不可避免的会遇到许多问题。尤其是在QPS过高场景下,问题会相对来说显得...

2021-01-30 21:02:34 265

原创 算法基础知识整理(数据结构)

算法定义: 在算法导论一书中,对于算法的定义为:任何良定义的计算过程,该过程取某个值或集合作为输入,并产生某个值或值得集合作为输出 我们也可以把算法看成是用于求解良说明的计算问题的工具。一般来说,问题陈述说明了期望的输入/输出关系。算法则描述一个特定的计算过程来实现该输入/输出。算法复杂度:评估一个算法的优劣,是根据算法的复杂度来决定的。复杂度分为两类,一类为时间复杂度,一类为空间复杂度。时间复杂度并不是指的是评估算法运行的绝对时间,而是算法的运算次数。(一般来说,时间...

2020-11-18 22:37:30 555

原创 工作学习总结一(2019)

前言整理了相关工作上的内容,觉得比较有趣的设计思路和实现方式,用于记录一下。一.动态指标配置1.1 需求描述:为了使得客户对于精准化营销手段,有着一系列直观的感受,这边需要有一个会员看板,显示各个门店下会员的动态详情。会员看板有着不同的图形,而每一个图形要求动态数据拉取。概念图如下:1.2需求分析在需求分析之前,笔者要BB。这是一年多前刚刚进公司写的,写了两个多星期,写到差点离职,其实细细的扣细节,还是有很多代码量的。好的,闲话不多说,直接开始吧。首先...

2020-07-09 15:32:40 550

原创 Mysql 数据库锁与事务

关于数据库事务事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务的产生,其实是为了当应用程序访问数据库的时候,事务能够简化我们的编程模型,不需要我们去考虑各种各样的潜在错误和并发问题.可以想一下当我们使用事务时,要么提交,要么回滚,我们不会去考虑网络异常了,服务器宕机了,同时更改一个数据怎么办对吧?因此事务本质上是为了应用层服务的.而不是伴随着数据库系统天生就有的.事务具备以下特性:原子性(Atomic):事务所包含的...

2020-05-28 23:30:03 492

原创 mysql 索引相关整理

一.索引的本质数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据我们常常会说索引会极大的提高检索的效率,这是因为,数据存储在磁盘结构中,每一条数据都有其对应的磁盘地址,在没有建立索引的情况下,我们只能全表扫描,扫到符合条件的数据。假设数据有500W条,那么查询的时间复杂度就是O(n)。索引这是一种存有索引字段和对应物理磁盘地址的数据结构,...

2020-05-05 11:48:45 872 2

原创 Mysql 更新流程

前言 首先这里更新指的是update,insert与delete。在mysql的InnoDB数据引擎中,更新并不是直接去写物理磁盘,他中间会有一个缓冲池(BufferPool)的概念,而这边会引起一系列的故事(关于查询的可以查看之前我写的博客https://blog.csdn.net/TT_4419/article/details/105037194)。关于缓存 ...

2020-04-19 12:01:47 997

原创 MySql 查询流程

前言在实际开发过程中,我们不可避免的与数据产生交互。读取数据,写数据。而整个数据存储在我看来,又统分为两大块。一块为缓存数据,一块为物理数据。缓存数据:服务器缓存,处于内存之中,由服务器关闭而失效。缓存数据的最大作用,在于抗并发,减少数据库IO交互。但是对于那些经常容易发生变化的数据,不宜采用缓存数据,容易引起不可重读读,脏读,幻读磁盘数据:磁盘数据为具体物理存储数据,写入到数...

2020-03-22 22:11:51 806

原创 JVM基础知识整理

生态圈首先,我们先看一下java的生态圈在官网(https://docs.oracle.com/javase/8/docs/index.html)中,如下图显示刚开始的时候,官方文档上就说了,java SE8有两个产品,分别是java开发环境(JDk Java SE Development Kit)以及java运行环境 (JRE Java SE Runtime E...

2020-01-26 22:04:47 376

原创 分布式降级,限流,熔断

雪崩场景:对于一个复杂的分布式服务来说,单个微服务处理自己的业务逻辑,这样做的好处是能够解决服务之间的依赖,降低耦合。同样也能够进行水平扩容,提高吞吐量。但是在实际的过程中,我们往往一个服务会调用多个服务(中间以rpc作为通讯),如果其中一个服务提供者(provider)由于某些原因导致不可用,那么其他服务也会阻塞,最终导致整个系统面临崩溃的危险,而这及时雪崩场景如下图所示A...

2019-12-15 18:03:27 1571

原创 分布式事务解决方案与基本概念

事务基本概念首先事务的基本概念为ABC三个操作缺一不可,要么全部成功要么全部失败。事务具有ACID特性即原子性、一致性、隔离性、持久性。传统单体服务中的事务在传统的单体服务架构与单个数据中,我们只需要增加一个@Transactional注解就能实现事务Transactional事务的核心其实是依托于JDBC的事务,在默认情况下,我们每执行一条SQL语句,就会进行隐式...

2019-11-17 16:17:24 609

简易实现Spring流程代码

简单的处理Spring的初始化,包括配置阶段,初始化阶段和运行等待阶段

2019-02-24

空空如也

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

TA关注的人

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