开发的设计和重构,为开发效率服务
软件开发有点类似于艺术品的雕刻,需要不断的打磨。在我们基于一套成熟的架构开发一套软件后,往往都还是需要反复的推敲,进行不断的重构优化,使得重复的代码、硬编码等地方越来越少,也使得某些逻辑越来越有弹性化。软件开发和艺术品又有所不同,艺术品可能很容易完工并封刀,而软件开发却是持续的改进,软件最终的持续改... ...
张高兴的大模型开发实战:(三)使用 LangGraph 为对话添加历史记录
目录基础概念环境搭建与配置将对话历史存储至内存将对话历史存储至 PostgreSQL 在构建聊天机器人时,对话历史记录是提升用户体验的核心功能之一,用户希望机器人能够记住之前的对话内容,从而避免重复提问。LangGraph 是 LangChain 生态中一个工具,通过将应用逻辑组织成有向图(Grap ...
入门Dify平台:知识库分析
今天,我们来简单了解一下 Dify 的知识库功能。其实,它并没有想象中那么复杂或难以操作。无论是 Dify 还是其他类似平台,都已经将知识库的功能封装得非常完善。你可以直接把它当作一个云端的记事本,内容存储则完全交由服务器完成,无需过多操心。 知识库 知识库主要用于存储和管理各类业务问答、操作逻辑, ...
Oracle AI应用的LLM模型典型配置
最近在做一些基于Oracle的一些AI应用测试工作,AI肯定离不开配置LLM相关,虽然是简单配置类,但实际还是遇到一些卡点,记录下来供今后参考。 1.配置Embedding模型 2.特殊语法传参JSON格式 3.测试Embedding有效 4.修改MAX_STRING_SIZE 5.配置为DeepS ...
LLM应用落地实施手册
背景 自ChatGPT诞生以来,各个企业都开始尝试引入LLM落地实施“智能”应用,而目前并没有太多文章系统地介绍应该怎么落地实施一个基于LLM的应用,到底应该做哪些步骤。本人从2023年12月份开始,陆陆续续开发了3个LLM应用的项目了。这几个项目都是会话型的应用,都借助了LLM的能力,所以想趁着记 ...
深入理解 Java AQS 原理与 ReentrantLock 实现
目录 一、AQS 简介 二、AQS 核心设计 2.1 核心组成部分 2.2 AQS 的工作原理 2.3 AQS 的关键方法 三、ReentrantLock 与 AQS 的关系 3.1 ReentrantLock 的结构 3.2 ReentrantLock 如何使用 AQS 的 state 四、AQS ...
WebGL 的简易入门教程,实现一个旋转的彩色立方体
目录前言第一节 绘制出了一个点效果演示逐行解释向量类型第二节 动态传递点数据变量修饰符完整代码第三节 缓冲区和画线类型化数组绘制的方式完整代码第四节 彩色线段精度修饰符完整代码第五节 单个 buffer 渲染颜色完整代码第六节 抽离代码 & 画彩色三角形完整代码第七节 图元的七种绘制方式完整代码第八 ...
Obsidian 笔记一键转换发布为 Jekyll 博客
Obsidian 是一款功能强大且灵活的知识管理和笔记软件,与 Jekyll 这一轻量级静态博客框架的结合,既能保留 Obsidian 的网状知识关联优势,又能借助 Jekyll 的高效编译能力快速生成标准化博文。 Obsidian 笔记自动转换为 Jekyll 博客一文介绍了如何把挑选出的 Obs ...
HarmonyOS NEXT 基于原生能力获取视频缩略图
大家好,我是 V 哥。 不得不佩服 HarmonyOS NEXT 原生能力的强大,如果你想在 鸿蒙 APP 开发中获取视频缩略图,不用依赖第三方库,就可以高效和稳定的实现,AVMetadataHelper就是一个好帮手,下面 V 哥整理实现步骤的代码,帮助你快速理解,开整。 想要学习鸿蒙开发,一定绕 ...
【Python】【魔术方法】(一)对象构建和析构方法
1. __new__ 在Python中,__new__ 方法是一个特殊的方法,用于控制对象的创建过程。理解 __new__ 方法的机制对于掌握Python的类和对象模型是很有帮助的。下面是对 __new__ 方法的详细介绍: 1.1 基本概念 __new__ 方法:这是一个类方法,通常用于创建并返回 ...
垂直领域大模型的定制化:理论基础与关键技术
学习笔记:垂直领域大模型的定制化:理论基础与关键技术 由于通用大模型不能完全适配特定行业和应用场景,所以需要垂直领域大模型的定制化。 对特定行业的知识深度不够 垂直领域大模型:训练中使用大量特定领域数据 垂直大模型定制的理论基础 大模型定义 特点: 大数据 大参数 通用性 泛化性:在为止数据域中有良 ...
从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
引言 最近遇到了一个 ActiveMQ 消费端的问题:在没有消息时,日志频繁打印,每秒打印2000多条空消息,导致日志文件迅速膨胀,甚至影响系统性能。经过一番排查,最终定位到问题根源并成功解决。本文将详细记录问题的排查过程、原因分析以及解决方案,希望能为遇到类似问题的同学提供参考。 背景 最近优化了 ...
NextJS CVE-2025-29927 安全漏洞
CVE-2025-29927 是一个存在于 Next.js 框架中的关键安全漏洞。该漏洞允许攻击者通过伪造或篡改 x-middleware-subrequest 请求头,绕过中间件(Middleware)的安全检查,从而访问到原本受保护的路由或 API,进而导致授权绕过(Authorization ... ...
GrapeCity Documents V8.0 新版本特性
GcExcel V8.0 新版本特性丰富,包括:数据导入方面,可从多种数据源(如自定义对象、DataTable 等)导入,为 IRange.ImportData (..) 新增重载;假设分析上,通过 IWorksheet.Scenarios 接口支持 “方案” 功能,可进行多种操作且受保护工作表也能 ...
史上最全EffectiveJava总结(一)
创建和销毁对象 1、静态工厂方法代替构造器 优点 静态工厂方法有名称,能确切地描述正被返回的对象。 不必每次调用都创建一个新的对象。 可以返回原返回类型的任何子类对象。 创建参数化类型实例时更加简洁,比如调用构造 HashMap 时,使用 Map < String,List < String > m ...
解密prompt系列51. R1实验的一些细节讨论
DeepSeek R1出来后业界都在争相复现R1的效果,这一章我们介绍两个复现项目SimpleRL和LogicRL,还有研究模型推理能力的Cognitive Behaviour,项目在复现R1的同时还针对R1训练策略中的几个关键点进行了讨论和消融实验,包括 ...
编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
"AI会让每个人都能成为工具创造者,打破你能力边界,有时候只需要一个想法。" AI粉嫩特攻队,2025年3月23日。 前几天参加了一场行业闭门研讨会,满满1个半小时的干货演讲让我收获颇丰。会后,我迫不及待地想将录音整理成文字,方便日后回顾。却被提示"文件过大"、"超出免费额度"、"需要登录账号".. ...
Netty源码—5.Pipeline和Handler
大纲 1.Pipeline和Handler的作用和构成 2.ChannelHandler的分类 3.几个特殊的ChannelHandler 4.ChannelHandler的生命周期 5.ChannelPipeline的事件处理 6.关于ChannelPipeline的问题整理 7.ChannelP ...
vue实现不同用户权限的方法
Vue 实现不同用户权限的方法 在项目中,实现不同用户的权限控制是常见的需求也是常见的功能模块,例如管理系统中不同角色(管理员、普通用户等)应有不同的访问权限,小程序、App等在不同角色登入的时候显示的首页以及跳转访问不同的页面。本文将以 vue 为主要的代码框架介绍几种常见的权限控制方式。 1. ...