当前位置: 首页 > news >正文

LLM 应用开发中的常见模式

以下内容根据AI对话生成,如有雷同,纯属巧合

1. 链式调用 (Chaining)

这是最基本也是最常见的模式。它指的是将多个 LLM 调用、数据处理步骤或工具调用按顺序连接起来,形成一个连贯的工作流。前一个步骤的输出是后一个步骤的输入。

  • 要解决的问题:单一 LLM 调用无法完成复杂任务。
  • 核心思想:“分而治之”。将一个复杂任务分解为多个简单的、可顺序执行的子任务。
  • LangChain 实现:使用 LLMChain, SequentialChain, TransformChain 等。
  • 类比:就像在工厂的流水线上,产品(数据)经过一道道工序(LLM或处理函数),每一步都为其增加价值,最终形成完整的产品。

示例:翻译+总结
一个经典的链式调用是先将一段外语文档翻译成中文,再对中文内容进行总结。

  1. 链的第一步:输入 = “一段德语文本”,调用 LLMChain_1(提示:“请将以下德语翻译成中文:{input}”)-> 输出 = “中文翻译文本”。
  2. 链的第二步:输入 = “中文翻译文本”,调用 LLMChain_2(提示:“请总结以下中文文本的要点:{input}”)-> 输出 = “总结要点”。

2. 代理与工具使用 (Agents & Tool Use)

这是最强大、最接近“智能”的模式。代理模式将 LLM 视为一个推理引擎(大脑),它来决定为了回答问题需要采取哪些行动(Actions),即调用哪些工具(Tools)

  • 要解决的问题:LLM 的内部知识可能过时、不专业或无法访问外部世界(如计算、搜索、查询数据库)。
  • 核心思想:“赋予 LLM 使用工具的能力”。让 LLM 自主规划、决策和执行,从而扩展其能力边界。
  • LangChain 实现:使用 AgentToolAgentExecutor。常见的代理类型有 ZERO_SHOT_REACT_DESCRIPTION, CONVERSATIONAL_REACT_DESCRIPTION
  • 类比:你(LLM)是一个经理,有一个任务要做。你手下有各种专家(工具):会计师(计算器)、研究员(搜索引擎)、秘书(日历API)。你分析任务(“我需要先知道今天的天气,然后计算一下出行成本”),然后命令相应的专家去执行,最后综合所有结果做出决策。

示例:回答复杂问题

  • 用户问题:“埃隆·马斯克(Elon Musk)最近在推特上发了什么?他提到的公司当前股价是多少?”
  • 代理的工作流程
    1. 思考:要回答这个问题,我需要做两件事:1. 获取马斯克的最新推文。2. 查询相关公司的股价。
    2. 行动:调用 google_search_tool,输入查询:“Elon Musk latest tweet”。
    3. 观察:获得推文内容,比如是关于 SpaceX 的。
    4. 思考:推文是关于 SpaceX 的,但我需要查的是股价。SpaceX 是私有公司,没有股价。可能用户指的是特斯拉(TSLA)?我应该查一下特斯拉的股价。
    5. 行动:调用 stock_price_tool,输入:“TSLA”。
    6. 观察:获得特斯拉当前股价为 $XYZ。
    7. 最终回答:“埃隆·马斯克的最新推文内容是:‘为SpaceX团队感到骄傲!’。这条推文主要提及了SpaceX,但SpaceX是私有公司,无公开股价。如果您感兴趣的话,特斯拉(TSLA)当前的股价是 $XYZ。”

3. 检索增强生成 (RAG - Retrieval-Augmented Generation)

RAG 模式用于解决 LLM 的“知识滞后”和“幻觉”问题。它通过在生成答案前,先从外部知识库(如你的文档、数据库)中检索相关信息,并将这些信息作为上下文提供给 LLM,从而让 LLM 生成更准确、更相关的答案。

  • 要解决的问题:LLM 的内部知识有截止日期,且无法获取非公开的、私有的或特定领域的信息。
  • 核心思想:“先检索,后生成”。为 LLM 提供相关的参考依据,让它“有据可依”地回答问题。
  • LangChain 实现:使用 Document Loaders, Text Splitters, Vectorstores (Chroma, FAISS), Embeddings, 和 RetrievalQA 链。
  • 类比:开卷考试。LLM 是一个聪明的学生,但它的记忆(闭卷)可能不完整或过时。在考试(回答用户问题)时,允许它先去查阅相关的教科书和笔记(外部知识库),然后基于这些资料组织出最好的答案。

示例:公司内部知识库问答

  1. 预处理(线下):将公司所有的员工手册、API文档、项目报告等加载并分割成块,转换为向量(Embeddings),存入向量数据库。
  2. 用户提问:“我们公司的年假政策是怎样的?”
  3. 检索:系统将用户问题也转换为向量,并在向量数据库中搜索与之最相似的文本块(即最相关的政策段落)。
  4. 增强:将检索到的政策段落作为上下文,和原始问题一起组合成一个新的、更丰富的提示词(Prompt)。
  5. 生成:LLM 根据这个“富含上下文”的提示词生成准确答案:“根据公司2023年员工手册第X章规定,年假政策为...”

4. 记忆 (Memory)

LLM 本身是无状态的(Stateless),这意味着它默认不会记住之前的对话内容。记忆模式旨在让应用能够在多轮对话中记住之前的交互信息,从而实现连贯的对话。

  • 要解决的问题:LLM 的“金鱼记忆”,无法进行连贯的多轮对话。
  • 核心思想:在应用程序层面维护一个“记忆体”,存储历史对话,并在每次调用 LLM 时自动将其作为上下文注入。
  • LangChain 实现:使用 ConversationBufferMemory, ConversationSummaryMemory, ConversationBufferWindowMemory 等。
  • 类比:聊天时看聊天记录。每次你回复对方时,都可以看到之前聊过的所有内容,这样你的回复才能贴合上下文。

示例

  • 用户:“什么是LangChain?” -> AI:(解释LangChain...)
  • 用户:“它用什么语言编写?” -> 如果没有记忆,AI 不知道“它”指代什么。
    • 有记忆:记忆体包含了上一轮对话的历史 [Human: 什么是LangChain?, AI: LangChain是一个...的框架]。系统会将记忆和当前问题组合成提示:“之前的对话:...[如上]...\n当前问题:它用什么语言编写?\n回答:”。LLM 就能明白“它”指的是 LangChain,并回答“主要使用Python编写”。

总结与关系

这些模式并非互斥,而是常常组合使用,构建出极其强大的应用:

  • 一个高级代理很可能内部使用了 RAG 来检索知识,并使用 链式调用 来处理检索到的内容。
  • 一个对话机器人肯定会使用 记忆 模式,并且可能会在后台使用 RAG 来查询产品信息,甚至启动一个代理来完成用户指令(如订餐、查询订单)。
模式 要解决的核心问题 好比是...
链式调用 (Chaining) 单一调用无法处理复杂任务 工厂流水线
代理与工具 (Agents) LLM 无法与外部世界互动 经理指挥专家团队
检索增强生成 (RAG) LLM 知识过时/缺乏内部知识 开卷考试
记忆 (Memory) LLM 无法记住对话历史 查看聊天记录

相关文章:

LLM 应用开发中的常见模式

以下内容根据AI对话生成,如有雷同,纯属巧合1. 链式调用 (Chaining) 这是最基本也是最常见的模式。它指的是将多个 LLM 调用、数据处理步骤或工具调用按顺序连接起来,形成一个连贯的工作流。前一个步骤的输出是后一个步骤的输入。要解决的问题:单一 LLM 调用无法完成复杂任务…...

vue3 与 element-plus

Vue,Vite>> 安装 vue/cli 脚手架最新牍的cli脚本架为 5.0.9 版本, 在高版本的 Node 中安装脚手架时,会提示 版本不匹配; 主要适配 8~22版本的Node, 另外 Vue Cli 已进入维护模式,官方推荐新项目使用 vite 构建工具>> 切换到 22.18.0 版本重新安装 Vue/cli 不会出…...

可爱的二维数据结构们

前置知识 相信大家都学过了:树套树、二维树状数组; 四分树; K-D Tree;正文 给你一个 \(n\times n\) 二维平面,支持单点修改,矩形查询。这是我们树套树、二维树状数组能解决的,时间复杂度 \(\mathcal{O}(n\log^2n)\)。 那如果我们需要支持区间修改呢?此时不太能树套树,…...

网络安全相关职业

1、安全分析师是构建跨组织安全措施、保护公司免受攻击的关键人物。他们负责探索和评估公司网络,以发现可操作的数据和建议,供工程师制定预防措施。该职位需要与各利益相关方合作,以了解安全需求和安全形势。 2、安全工程师利用威胁和漏洞数据(通常来自安全团队)开发和实施…...

202005_CTFHUB_Redis流量

Redis流量分析Tags:流量分析,REDIS 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202005_CTFHUB_Redis.zip 0x01. WP 1. 用Wireshark打开流量包,过滤关键字flag 找到后半部分的flag及前半部分的参数名,过滤…...

langchain学习之路

以下内容是根据与AI对话完成的学习规划,如果有雷同,纯属巧合纯AI生成,阶段一:筑基入门 (1-2周) 这个阶段的目标是理解 LangChain 解决的核心问题、基本概念和核心组件。 学习目标:理解 LLM 应用开发中的常见模式(如链式调用、代理)。 熟悉 LangChain 的核心模块(Models…...

通义灵码产品演示: 数据库设计与数据分析

作者:了哥 演示主题:AI 进行数据库设计以及做数据分析 演示目的 演示通义灵码对于数据库的设计能力以及数据分析能力。 演示准备准备数据库,这里为了简单实用 sqlite3brew install sqlite3使用 vscode,同时安装好通义灵码的插件安装 uvxpip install uvx这里需要注意 python…...

win10安装mysql,MySQL5.7详细教程

还在为Windows10安装MySQL折腾得焦头烂额?作为全球最受欢迎的开源数据库,MySQL在开发环境搭建中必不可少。本文将手把手带你完成从下载到配置的全过程,避开安装过程中的各种"坑"。 下载MySQL安装包 首先访问MySQL官网下载专区,选择社区版(Community)的5.7.22版本…...

第二周作业

问题一 1.1 changeStr:尝试将x赋值为“xyz” changeArr:遍历string数组,把数组的每个元素都接上他们的索引 1.2 main方法里的x没有被改变,因为x的类型是string,非可变对象 1.3 改变了 因为这里对数组进行更改 是可变的 可影响原数组 1.4 来自于命令行参数 如果是命令行就在…...

ubuntu 24编译安装libssl.so.1.0.0

环境: Os:ubuntu 24.04在使用xtrabackup 8.0(percona-xtrabackup-8.0.35-31-Linux-x86_64.glibc2.17.tar.gz)备份数据库的时候报错误 /opt/xtrabackup-8.0.35-31/bin/xtrabackup --defaults-file=/home/middle/mysql8/conf/my.cnf --user=root --password=mysql -P13306 --sock…...

9月8-13日小记 - L

本周主要学习内容:背包DP以及其他DP杂题。 9月8日 大地彩绘,爽读《1984》。 9月9日 1. P8742 [蓝桥杯 2021 省 AB] 砝码称重 (1) bitset法 开一个bitset b,其中b[j]表示重量j能否称到。 边界显然是b[0]=1。 对于每一个w[i],b的每一位都应左移w[i]位,表示某一位所代表的砝码…...

Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片

Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片 1. 什么是显著性检测? 显著性检测的目的是识别图像中最吸引人注意的区域(显著性区域)。对于你的任务,就是将普通图片转换为突出主要对象的显著性图。 输入:普通图片 → 输出:显著性热力图(黑白或彩色) 2. BASNe…...

代码随想录算法训练营第一天| 704.二分查找、27.移除元素、977.有序数组的平方

704.二分查找 题目链接:https://leetcode.cn/problems/binary-search/ 解题思路:定义一个中间索引middle,如果nums[middle]>target,则更新左区间的右边界,如果target>nums[middle],则更新右区间的左边界 注意点!!!始终按照[left,right]左闭右闭的区间定义 代码实现…...

让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动

在云原生与 AI 原生架构加速演进的今天,系统复杂性已远超传统边界。运维与可观测不再只是“看日志、查指标、盯告警”,AI 大模型为 Operation Intelligence 实践指明了新方向。在云原生与 AI 原生架构加速演进的今天,系统复杂性已远超传统边界。运维与可观测不再只是“看日志…...

kuka机器人程序备份

注意: 开始以下步骤前,请确保已经切换到专家模式下,否则将无法识别到 U 盘。 1、将 U 盘插入到机器人控制柜上,在示教器上确认是否识别到 U 盘 。 2、按下示教器的主菜单键,在弹出菜单中依次选择 文件 ‣ 存档 ‣ USB控制柜 ‣ 所有 ,并在弹窗的对话框中单击“ 是 ”。3、…...

AI 测试工具20款

1. Testsigma(https://mp.weixin.qq.com/s/N12p8VFntuojytnuWDKcew) 2. Selenium 3. Testcraft 4. Appvance (https://mp.weixin.qq.com/s/oySDKDCv_k1MEoQlQGBrDw) 5. Worksoft 认证 6. Opentext UFT One 7.Telerik Test Studio 8. Sauce Labs 9. TestComplete 10. Katalon …...

VMware安装NOI linux系统教程

一、 VMware虚拟机和NOI linux系统的下载 VMware虚拟机的下载链接 NOI linux2.0系统的下载链接 下载好后硬盘里长这样 二、 VMware虚拟机的安装...

强制横屏 ios

在AppDelegate.h里面添加 @property(nonatomic,assign)NSInteger allowRotation;在AppDelegate.m文件里面添加- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { if (_allowRotation == 1) { r…...

张量链式法则(下篇):揭秘Transpose、Summation等复杂算子反向传播,彻底掌握深度学习求导精髓!

本文紧接系列的上篇,介绍了 transpose,summation,broadcast_to 等更为复杂的深度学习算子的反向传播公式推导。本文首发于本人的微信公众号,链接:https://mp.weixin.qq.com/s/eEDo6WF0oJtRvLYTeUYxYg 摘要 本文紧接系列的上篇,介绍了 transpose,summation,broadcast_to…...

详细介绍:QT初探TCP(四)

详细介绍:QT初探TCP(四)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size:…...

近期理工类学术会议推荐 | 人工智能、工业设计、电气工程、传感器技术、环境工程等EI会议合集

第五届人工智能与智能制造国际研讨会(AIIM 2025) The 5th International Symposium on Artificial Intelligence and Intelligent Manufacturing 2025年9月19-21日 中国-四川成都 检索类型:EI Compendex, Scopus 2025年智能装备与工业设计国际学术会议(IEID 2025) 2025 In…...

AI访销大脑之“创建及查询数据”新玩法

业代日常使用软件要做很多操作,从做拜访计划、录新门店信息,到执行拜访八步,再到查销量,到查门店信息等等,这样的创建数据、查数据的工作,总是让业代感觉费时间。如果有更多时间,本可以花在更好地谈客情、产品销售上面! 期待总会变为现实,业代的这个愿望,在 AI 的加持…...

史上最薄iPhone 17 Air登场!极致轻薄背后藏有哪些妥协?

北京时间9月10日凌晨,苹果在加州库比蒂诺总部举行了名为“AweDropping”的秋季新品发布会,正式推出了iPhone 17系列。其中最引人注目的当属全新机型——iPhone 17 Air,它以5.6毫米的极致厚度成为苹果史上最薄的手机。 这款新产品被苹果CEO库克称为“将彻底改变智能手机体验”…...

一毛钱好友商城系统介绍

1. 概述总结 一毛钱好友商城系统是一款基于微擎系统交付的多功能程序,微擎系统是一款基于 PHP 开发的开源应用生态系统,主要用于快速搭建微信公众号、小程序等应用,同时支持 Web 系统开发与部署。该商城系统支持多端(公众号、小程序、字节端等),采用 PHP7.4、8.0 开发,代…...

网页转小程序封装机系统介绍

1. 概述总结 本文介绍的网页转小程序封装机是基于微擎系统交付的一款工具,微擎系统是基于 PHP 开发的开源应用生态系统,可用于快速搭建微信公众号、小程序等应用,同时支持 Web 系统开发与部署。该封装机能够将微信公众号开发的网页模块封装成微信小程序,其源码已加密,且为…...

美客分销商城小程序系统介绍

1. 概述总结 美客分销商城小程序系统是一款适用于微信小程序的应用系统,通过微擎系统交付。其交付方式为在线交付,源码已加密,且保障为官方正品。需要注意的是,该系统有全新升级版本,即美客社交电商,可提供更丰富的社交电商模式支持。 微擎系统是一款基于 PHP 开发的开源…...

P12021 面包题

将 \(i\) 向 \(ki\) 连边,发现会变成若干条链,答案即为每条链的答案乘积。 不难发现链的独立集大小就是非伯纳切数列,可以直接做。 现在就变成了求长度为某个值的链的个数,考虑弱化限制可以求出其后缀和,然后差分一下可以得出答案。...

C++ - STL - 静态数组array

array 静态数组 array是固定大小的序列容器,array中包含特定个数并且严格按照线性序列排序的元素。因此array允许对元素进行随机访问,指向某一元素的指针可以通过偏移访问其他元素。在array内部,它只保存自己包含的元素,其他任何信息都不保存,包括自身的大小。 说白了其实…...

C++ - STL - 键值对 map

键值对 map map用于存储键值对(key-value)数据,其内部基于红黑树实现自动排序功能 ‌有序存储‌: 元素默认按键的升序排列,可通过自定义比较函数修改排序规则 键唯一性‌: 每个键在容器中只能出现一次,重复插入会覆盖原有值 平衡二叉树‌: 采用红黑树结构保证O(log n)时间…...

C++ - STL - 集合set(元素具有排他性)

set 集合(用来存储唯一性元素) C++中的set是标准模板库(STL)中的关联容器,用于存储唯一元素并按特定顺序自动排序。 ‌唯一性‌: set中的元素不可重复,插入重复元素会被自动忽略 自动排序‌: 默认按升序排列(可通过自定义比较函数修改排序规则) 底层实现‌: 基于红黑树…...

大三上 大模型系统与工程 第二次课笔记 20250912

一、介绍大模型(如 GPT、LLaMA、Gemini 等)的推理流程。 可以把这个过程想象成让一个博学但“慢思考”的巨人完成一项任务。它的知识已经全部学好了(存储在模型的权重参数中),推理就是它运用这些知识进行“思考”和“输出”的过程。 整个推理流程可以清晰地分为三个核心阶…...

批量删除所有 LXC 容器以及用户名

第 1 步:停止所有正在运行的 LXC 容器 通过 PVE 网页shell或服务器终端,执行以下命令。这将安全地停止所有状态为 running 的容器。bash# 获取所有正在运行的容器列表(ID 和名称) pct list# 停止所有正在运行的容器 for id in $(pct list | awk NR>1 {if ($2 == "r…...

C++ - STL - 动态数组vector(矢量)

vector 动态数组 定义和初始化 vector<int> a; //创建一个空数组vector<int> b(100); //创建100个元素大小的数组vector<char> c(10,a);//创建一个10个元素的数组,元素都是avector<int> d{1,2};//创建一个2个元素的数组,元素是1和2注意上面的小括号…...

彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错

彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错给docker服务配置一个代理mkdir -p /etc/systemd/system/docker.service.dtouch /etc/systemd/system/docker.service.d/http-proxy.confvim /etc/systemd/system/docker.servi…...

Transformer-和扩散模型的生成式-AI-实用指南-预览版--全-

Transformer 和扩散模型的生成式 AI 实用指南(预览版)(全)原文:Hands-On Generative AI with Transformers and Diffusion Models 译者:飞龙 协议:CC BY-NC-SA 4.0第一章:扩散模型 在 2020 年末,一个名为扩散模型的鲜为人知的模型类别开始在机器学习领域引起轰动。研究…...

7. Job与CronJob

Job 与 CronJob 控制器 ​ 接下来给大家介绍另外一类资源对象:Job,我们在日常的工作中经常都会遇到一些需要进行批量数据处理和分析的需求,当然也会有按时间来进行调度的工作,在我们的 Kubernetes 集群中为我们提供了Job 和 CronJob 两种资源对象来应对我们的这种需求。 ​…...

nginx反向代理正则匹配示例及nginx内置变量详解

https://www.cnblogs.com/chenjw-note/p/14388257.html1.匹配url:https://bby.ios.xxx.com:8081/zd?sid=15&key=repx_2530 匹配到sid的值根据sid值进行代理分发 2.达到效果:请求https://bby.ios.xxx.com:8081/xxxx?sid=xxx&xxxxx 根据sid的值转发到对应sid的…...

mt_12

...

完整教程:【QT】-怎么实现瀑布图

完整教程:【QT】-怎么实现瀑布图pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; fo…...

【初赛】二叉树性质和遍历 - Slayer

二叉树的性质与遍历 一、二叉树的基本性质 1. 定义 二叉树是每个节点最多有两个子树的树结构,子树分为左子树和右子树,具有顺序性 2. 关键性质性质1:在非空二叉树中,第 \(i\) 层最多有 \(2^{i-1}个\)节点 性质2:深度为k的二叉树最多有 \(2^k - 1\) 个节点 性质3:对任何一…...

详细解析苹果iOS应用上架到App Store的完整步骤与指南

本指南全面讲解了将iOS应用提交到苹果App Store的整个流程,从注册开发者账号开始,到创建App ID和证书、配置应用元数据、打包IPA文件、上传至App Store Connect、进行TestFlight测试、提交审核以及最终发布。每个步骤都提供了详细说明,旨在帮助开发者避免常见错误,高效完成…...

drawio

目录常见问题如何实现一个矩形里添加一个子矩形,拖动时作为整体 常见问题 如何实现一个矩形里添加一个子矩形,拖动时作为整体选中父矩形,快捷键:ctrl + g;...

bootstrap-select插件在webpack中点击无响应

​ 使用插件:https://github.com/snapappointments/bootstrap-select问题:bootstrap-select插件在webpack中点击无响应解决方案: 1、在入口文件中按顺序引入css和js import bootstrap/dist/css/bootstrap.min.css import "bootstrap-select/dist/css/bootstrap-select.…...

Kali 字体大小设置

Kali 字体大小设置 终端字体颜色调整 调整前调整后在session -> 参数配置终端颜色这里可以改自己喜欢的终端颜色在字体这里可以修改字体大小和字体可以选择图片改终端的背景显示和分辨率 在左上角这里选择全部应用程序 选择显示可以修改kali的分辨率和刷新率桌面图标样式和终…...

如何使用 OCR 提取扫描件 PDF 的文本(Python 实现) - E

从 PDF 中提取文本一直是很多人的需求。市面上的工具虽然能处理大部分数字 PDF,但遇到扫描件 PDF 时往往无能为力,想要直接复制或获取其中的文字并不容易。其实这个问题并不是没有解法 —— 本文将带你了解如何借助 Python + OCR 技术,从扫描 PDF 中提取可编辑文本。 为什么…...

重复从网页复制文字到编辑器的Autohotkey自动化代码

为了下某本小说,用feiyuetools录了一段ahk v1的代码,经过阅读与删改之后,得到了以下代码,备忘一下。 原来记录的脚本有很多垃圾代码,必须手工整理与清洁。好在弄好之后,还是很好用的,稳定性不错。 操作:用chrome打开某网站页面,打开notepad4.exe, 开始记录脚本,修改…...

WeakMap 应用场景与示例

WeakMap 是 JavaScript 中一种非常有用的数据结构,它通过弱引用机制来帮助管理内存,防止内存泄漏。简单来说,当你用一个对象作为 WeakMap 的键时,WeakMap 不会阻止这个对象被垃圾回收器回收。一旦这个对象在其他地方没有被引用了,它以及它在 WeakMap 中对应的值就会被自动…...

node,nvm,nrm,npm扫盲

Node相关Node >> 指 Node.js ,Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起…...

使用 conda 懒加载的方式减少 PowerShell 的启动时间

使用 scoop 安装的 miniconda3,在 PowerShell 中进行了 conda init 初始化(注意:不是 Windows PowerShell,见下图,PowerShell 是在 Microsoft Store 中安装的,link)问题:启动速度太慢,大概需要 4 秒 于是进行优化,原理:不要在 profile 里直接运行 conda 的 heavy ho…...

深入 Spring MVC 底层:从 DispatcherServlet 到自定义组件的全链路解析 - 实践

深入 Spring MVC 底层:从 DispatcherServlet 到自定义组件的全链路解析 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "…...