自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stay hungry, stay foolish

记录前端学习

  • 博客(178)
  • 收藏
  • 关注

原创 详细教程:在 Docker 中部署 PostgreSQL 并使用 pgAdmin 可视化管理

本文详细介绍了在Docker中部署PostgreSQL与pgAdmin的完整流程。通过docker run命令启动带有端口映射、密码设置和命名卷持久化的PostgreSQL容器,确保数据不因容器重启或删除而丢失。使用docker exec在容器内通过psql验证数据库连通性,并通过pgAdmin 4图形界面连接数据库,创建测试表并插入数据。最后验证了数据持久化功能:即使删除并重建容器,数据依然保留,实现高效、安全的本地数据库开发环境搭建。

2026-10-19 10:58:01 268

原创 windows上安装docker步骤

本文详细介绍了在Windows系统上安装与配置Docker的步骤:首先检查并开启虚拟化功能,随后通过命令行确认WSL版本(建议使用WSL2),安装Docker Desktop并完成初始化。最后,修改Docker镜像源为国内加速地址(如docker.1ms.run),提升镜像拉取速度。整个流程简洁高效,适用于开发者快速搭建本地开发环境。

2026-10-19 10:56:47 170

原创 使用python实现向量化的三种方式

文本向量化将文本转换为可计算的语义向量,支持相似度搜索、语义检索等任务。常用方式包括:本地部署Ollama的bge-m3模型、调用阿里千问在线嵌入模型,以及使用sentence-transformers库加载预训练模型(如BGE-M3或all-MiniLM-L6-v2)。不同模型在维度、多语言支持、速度和资源占用上各有优劣,BGE-M3适合高精度RAG应用,而轻量级模型更适合快速部署。

2026-09-30 10:29:54 181

原创 AI 工程 Harness 工作流模板

本文提出了一套名为 Harness 的 AI 工程化工作流框架,旨在将 AI 辅助编程从"聊天式随手改"升级为"工程化执行"。该框架包含四个核心组件: Codemap - 项目结构文档,帮助 AI 快速理解代码架构 Spec - 需求说明书,明确任务目标、边界和验收标准 Task Package - 具体执行包,限定修改范围和约束条件 Review - 验收检查,确保符合规范 工作流分为五个阶段:项目理解→需求澄清→执行准备→AI 执行→验收沉淀。文章提供了标准化的文档模板和提示词范例,通过这套方法可以显著

2026-08-17 15:58:05 187

原创 在 Cursor 中配置 Obsidian MCP Server

摘要: 通过配置 Obsidian MCP(文件系统方案),实现 Cursor AI 与 Obsidian 笔记库的双向交互。AI 可直接搜索、读取、修改 Markdown 文件,解决知识碎片化问题(如代码调试结论散落聊天记录)。配置步骤包括部署本地 MCP Server、编辑 Cursor 的 JSON 路径、测试连通性。典型场景包括检索旧笔记、追加新结论、合并待办事项,但无法调用插件或精细编辑。核心价值:Cursor 处理即时推理,Obsidian 存储长期记忆,MCP 作为桥梁打通两者数据流。

2026-08-03 10:28:56 354

原创 4个AI 大模型排行榜的对比

面对AI大模型(LLM)层出不穷的评测榜单,如何选择?本文介绍了四大权威排行榜: LMSYS Chatbot Arena:基于人类盲测投票,采用Elo积分制,反映对话体验的"金标准"; Artificial Analysis:综合智力、速度、价格等维度,为企业提供商业选型参考; LiveBench:每月更新防作弊题库,专注硬核推理能力的客观评测; OpenRouter:基于真实API调用数据,反映开发者实际使用偏好。 不同榜单适用场景各异:日常对话看LMSYS,商业决策看Artificial Analysi

2026-06-05 17:01:01 1052

原创 Vibe Coding 实战复盘:从 0 到 1 做一个基金股票 AI 分析面板

整合基金、股票和黄金行情于统一视图。项目采用React+TypeScript技术栈,通过Serverless BFF层聚合异构数据源,提供自选管理、趋势图表、AI复盘(含涨跌分析和操作建议)及问答功能。项目特色在于:1)建立统一数据模型简化前端渲染;2)AI输出采用结构化约束提升可用性;3)通过Vibe Coding方法快速迭代,先定义产品体验再收敛架

2026-06-03 15:14:27 413

原创 在Cursor中配置MCP Server

MCP Server是一个统一的能力接口层,允许AI通过标准化协议访问外部工具、数据源和服务。配置方式有两种:通过marketplace安装现成集成,或手动配置mcp.json文件(支持项目级和全局级)。启动本地MCP Server需使用npx/node/python等命令,配置文件需指定命令路径和参数。常见MCP Server包括文件系统操作、GitHub集成、数据库访问等,使用时需注意权限控制和数据安全。验证方式包括检查服务器状态和尝试调用相关能力。典型应用场景涵盖日常开发、数据库操作、浏览器自动化、团

2026-05-11 13:06:06 688

原创 什么是知识蒸馏?

AI大模型算力需求高昂,模型蒸馏技术应运而生。该技术通过"师带徒"方式,让大模型(教师)指导小模型(学生)学习"暗知识"(软标签概率分布),而非仅记忆硬标签。这使小模型在保留高性能的同时大幅"瘦身",实现:1)降低部署成本,可在普通设备运行;2)提升推理速度;3)性能接近大模型。如DeepSeek-R1通过蒸馏Qwen等开源模型,使32B小模型展现超强推理能力,推动本地AI部署热潮。蒸馏技术正推动AI向轻量化、平民化发展。

2026-04-22 14:55:08 498

原创 词元ID是如何转为嵌入向量? 位置嵌入的作用是什么?

本文介绍了词元ID转换为嵌入向量以及位置嵌入的作用。词元ID通过查词嵌入矩阵转换为连续向量,使语义相近的词向量距离接近。位置嵌入则解决Transformer并行处理导致的语序丢失问题,通过将词向量与位置向量相加,同时保留语义和位置信息。常见的位置编码方式包括绝对位置编码和相对位置编码(如RoPE),后者通过关注词间相对距离提升长文本处理能力。

2026-03-31 13:35:24 430

原创 NumPy入门学习

NumPy是Python科学计算的基础库,提供高性能的N维数组对象ndarray。与Python列表相比,ndarray具有同质性、连续内存存储和矢量化运算优势。文章介绍了NumPy的核心功能:1) 创建数组的多种方式(zeros/ones/arange等);2) 数组属性(shape/ndim/dtype);3) 数组变形(reshape方法);4) 切片索引操作(包括多维数组的...语法)。重点讲解了dtype数据类型对象的作用,以及reshape操作如何在不复制数据的情况下改变数组形状。这些功能为数据

2026-02-28 11:02:21 686

原创 机器学习中的自监督学习和无监督学习的区别是什么?

自监督学习与无监督学习的核心区别在于监督信号的来源:自监督学习通过自动生成伪标签(如BERT的掩码预测)构建监督信号,属于特殊形式的监督学习;而无监督学习完全依赖数据内在结构(如聚类、降维),没有任何标签信息。自监督学习通过设计预测任务(语言模型、对比学习等)训练模型,而无监督学习主要通过概率或距离度量发现数据模式。两者在任务类型、训练方式和监督信号存在本质差异。

2026-02-13 11:25:58 247

原创 如何理解词嵌入的维度?维度越大越好吗?

摘要:词嵌入维度指用多少个数字向量表示一个词,维度越高能捕捉更多语义特征但计算成本也更高。常见维度选择取决于任务需求:小维度(50-100)适合小数据,中等维度(200-300)如Word2Vec平衡性能,大维度(768+)如BERT适合复杂语义。维度并非越大越好,需权衡表达能力与计算效率。词向量的语义信息体现在整体几何关系中,而非单个维度的含义。高维空间能更好区分词义相似性,但需注意过拟合风险。

2026-02-11 15:27:58 811

原创 Python 切片使用与介绍

Python切片是一种从序列(列表、字符串等)中提取子集的强大操作。基本语法为[start:stop:step],其中start是起始索引(包含),stop是结束索引(不包含),step是步长(默认为1)。切片支持正向和负向索引,能实现提取子集、反转序列、间隔取值等操作。例如lst[2:5]提取索引2-4的元素,lst[::-1]反转整个序列。切片还可用于字符串操作和列表修改,如s[::2]获取间隔字符,lst[1:3]=[10,20]修改子列表。常用技巧包括复制列表、取前后N个元素等。

2026-01-30 13:16:09 106

原创 AI Agent是什么?以及主要的应用场景

AI Agent是一种以目标为导向的智能体,能够自主思考、规划并执行任务。它由大语言模型(LLM)作为核心大脑,结合感知、规划、工具使用和记忆四大组件,具备主动完成任务的能力。与传统聊天机器人不同,AI Agent具有自主性、工具调用能力和持续记忆。主要应用包括:1)自动化编程和DevOps;2)企业流程自动化;3)个人智能助理;4)深度知识研究;5)游戏NPC开发;6)多智能体协作系统。当前最成熟的落地场景是软件开发领域,如Devin、Cursor Agent等工具已能实现全自动编程和bug修复。AI A

2026-01-23 10:04:37 1040

原创 LLM 中的自回归模型与非自回归模型:GPT 和 BERT 的区别

本文对比了自回归模型(如GPT)与非自回归模型(如BERT)的核心差异。自回归模型通过逐步预测下一个token实现流式文本生成,适合聊天应用;而BERT基于Transformer Encoder结构,通过双向注意力机制实现文本理解,擅长语义分析但不具备生成能力。关键区别在于:GPT采用单向解码逐词生成,BERT使用双向编码整体理解;GPT训练目标是文本续写,BERT则是填空和句间关系预测。这种架构差异决定了GPT适合生成任务,BERT专精理解任务。

2026-01-09 15:04:42 1444

原创 AI中的函数调用是什么?

摘要: 大模型中的函数调用机制指模型根据自然语言需求自动选择并调用预定义工具(如API/数据库),再将结果整合到回答中。其核心流程包括:1)定义工具名称、功能和参数结构;2)用户自然语言输入;3)模型生成结构化调用指令;4)后端执行并返回结果;5)模型生成最终回答。该机制相比传统文本API生成更安全可靠,支持业务系统集成、结构化输出和多工具组合,典型应用包括实时数据查询、文件处理、图片生成等。系统会根据问题类型自动判断是否调用工具,纯文本任务则直接在模型内部处理。

2025-12-12 10:59:36 914

原创 向量检索:AI 是如何进行语义匹配的?

摘要: 向量检索通过将文本/图片转化为数字向量,利用语义相似度而非关键词匹配查找相关内容,是RAG(检索增强生成)的核心技术。其流程包括:1) 将知识库内容转为向量;2) 用户提问向量化;3) 计算向量距离(如余弦相似度)返回最匹配结果。相比传统关键词搜索,向量检索能理解语义关联(如“重置密码”与“修改登录凭证”),适用于长文档、技术知识库等场景。主流方案结合Embedding模型(如BAAI、OpenAI)与向量数据库(Milvus、Qdrant等),构成高效RAG系统。

2025-12-05 16:51:02 887

原创 如何利用AI提升前端开发效率:生成代码、重构与错误诊断

讨论了AI在前端开发中的应用,包括代码生成、重构、错误诊断和性能优化。文档提供了使用AI生成高质量、可维护代码的正确方法,如何让AI重构代码以提升效率,AI如何解释错误日志和性能瓶颈,以及AI如何根据UI设计稿生成代码。文档强调了工程师与AI合作开发的重要性,以及如何通过链式思考(Chain-of-Thought)方法让AI执行复杂任务。

2025-12-04 14:42:57 990

原创 【基础】Three.js 实现 3D 字体加载与 Matcap 金属质感效果(附案例代码)

本文介绍了在Three.js中创建3D文本的完整流程:首先需要将字体转换为.typeface.json格式;然后使用FontLoader加载字体,通过TextGeometry生成3D几何体并居中处理;接着推荐使用Matcap材质为文字添加高性能的金属质感;最后通过添加随机分布的小元素(如环面和方块)丰富场景层次。文章提供了完整代码示例,展示了如何实现具有金属质感的3D文字效果,并强调了Matcap材质不依赖光照、性能优越的特点。这种技术适用于Logo、标题和展示页等3D可视化场景。

2025-12-04 10:23:33 1300

原创 语音合成:web将文本转成语音

Web Speech API 提供语音合成功能,通过 SpeechSynthesis 接口控制文本转语音播放。核心方法包括 speak() 播放语音、cancel() 清空队列,以及暂停/恢复功能。SpeechSynthesisUtterance 对象可设置文本、语言、音量、语速等参数,并支持播放结束事件回调。示例代码展示了中文语音播放和循环提醒的实现方式,适用于网页语音交互场景。该技术兼容现代浏览器,可实现多语言、多音色的语音输出功能。

2025-11-28 14:30:52 390

原创 UI设计原则和Nielsen 的 10 条可用性原则

本文系统总结了UI/UX设计的核心原则与实践方法。在界面设计方面,提出对齐、对比、留白和层次4大视觉原则;详细解析了色彩、字体、图标等基础视觉元素的使用规范;强调了一致性、反馈等交互设计要点。最后完整阐释了Nielsen十大可用性原则,包括系统状态可见性、错误预防等专业准则。全文为设计师提供了从视觉规范到交互逻辑的完整框架,注重实用性与用户友好性,既包含基础设计要素,也涵盖了高级用户体验原则,是UI/UX设计的综合性指南。

2025-11-20 10:55:44 1633

原创 文件下载中,对Blob类型的错误提示处理

摘要:使用 responseType: 'blob' 下载文件时,axios 会将所有响应转为 Blob 对象,导致无法直接获取 JSON 错误信息。提供两种处理方法:1)在全局响应拦截器中统一处理 Blob 错误,通过异步解析 Blob 为文本并显示错误消息;2)在业务代码中单独处理,先检查 Blob 响应,解析 JSON 错误信息后显示。两种方式都可解决 Blob 响应中错误信息获取问题,全局拦截器适合统一管理,业务代码处理则更灵活。

2025-11-18 15:33:06 343

原创 改善网页设计 |《Don’t Make Me Think》精简易用的内容总结

《Don't Make Me Think》是网页可用性设计的经典著作,核心观点是"不要让用户思考",强调用户只想快速完成任务而非研究界面。作者Steve Krug指出用户行为特点:扫描而非阅读、选择看似可行的选项、追求效率而非探索。优秀设计应做到:界面一目了然(明确按钮、清晰层级)、导航不迷路(稳定结构、搜索功能)、减少负担(简洁表单、智能默认值)。可用性测试至关重要,即使简单测试也能发现关键问题。设计黄金法则包括突出重要元素、保持简洁留白、使用直白文案。最终目标是减少每一步操作阻力,创

2025-11-17 16:32:07 961

原创 <audio> 元素如何避免浏览器自动播放音频限制

摘要:现代浏览器限制页面自动播放音频,需用户交互。解决方案是先将<audio>设为静音自动播放,再解除静音。代码示例展示了如何通过muted属性绕过限制,并推荐了免费音效下载网站。注意音频需放在public目录,播放失败时返回null。该方法利用延迟取消静音实现自动播放效果。(149字)

2025-11-14 13:38:01 321

原创 字体加载导致的布局偏移解决方案(线上环境出现右侧抖动,而本地没有抖动)

摘要:字体加载导致的视觉抖动问题,源于线上首次加载字体时出现1-2秒延迟,触发布局重排。解决方案包括:1)在HTML中预加载字体文件;2)CSS中设置字体度量覆盖(ascent-override等);3)锁定容器尺寸防止偏移;4)为动画元素添加will-change属性优化性能。通过多管齐下的优化措施,有效解决了字体切换时的布局抖动问题。(134字)

2025-11-10 16:22:19 329

原创 前端实现自动版本检测与更新提示机制

摘要 本文介绍了一个系统版本自动检测更新功能的实现方案。该功能在应用启动后每隔10分钟检查服务器版本信息,通过与本地缓存版本比较,当发现新版本时弹出提示对话框。用户可选择立即更新(刷新页面)或稍后提醒(30分钟后再次提示)。 技术实现包含两个核心组件:versionCheck.js工具类负责版本检测、比较和本地存储管理;VersionUpdateDialog.vue提供用户交互界面。系统通过定时请求服务器version.json文件获取最新版本号,使用本地存储记录用户操作偏好。该方案实现了版本更新的自动化检

2025-11-06 15:26:58 1005

原创 【案例】Three.js 模拟水波纹与天空场景(附案例代码)

Three.js实现动态水面与真实天空效果 本文介绍了如何使用Three.js的Water和Sky类创建逼真的水面和天空效果。通过PlaneGeometry创建水面载体,配合法线贴图实现波纹动画,调整参数控制水面扭曲、反射和颜色。Sky类通过大气散射算法渲染动态天空,并能转换为环境贴图影响场景光照。文章还演示了如何添加浮动方块增强场景互动性,完整代码展示了水波动画、天空光照与物体反射的整合实现。关键点包括:使用官方着色器简化开发、参数调优实现自然效果、通过PMREMGenerator生成环境贴图。

2025-09-03 16:05:37 1012

原创 【案例】Three.js 半球光与雪花降落场景(附案例代码)

摘要: 本文介绍了Three.js中半球光(HemisphereLight)的应用,模拟天空与地面的环境光效果,适合室外场景但无法产生阴影,需配合平行光(DirectionalLight)实现阴影。通过代码示例展示了如何创建半球光、平行光、地面和球体,并设置阴影效果。此外,还演示了雪花粒子系统的实现,包括加载雪花纹理、生成随机粒子位置以及下落动画,最终形成完整的冬日场景渲染效果。完整代码提供了场景搭建、光照设置和粒子动画的整合方案。

2025-09-03 14:35:38 989

原创 【基础】Three.js中的粒子系统 (附案例代码)

Three.js 粒子系统教程:创建动态粒子效果 本文介绍了使用Three.js创建粒子系统的方法,包括基础实现和纹理增强效果。核心通过THREE.Points类结合BufferGeometry和PointsMaterial,实现大量粒子的渲染。文章详细讲解了基础方形粒子的创建过程,并解释了默认呈现正方形的原因。随后展示了如何通过纹理贴图实现圆形和雪花粒子效果,包括纹理加载、透明度设置和动画实现。文中还提供了粒子动画代码,演示了上下浮动和螺旋运动效果,并附有完整的代码示例和效果GIF展示。最后给出了纹理图片

2025-09-01 10:07:03 1756

原创 【基础】Three.js中如何添加阴影(附案例代码)

这篇文章介绍了如何使用three.js实现阴影效果,主要包含三个关键步骤:1. 渲染器开启阴影功能;2. 使用支持阴影的光源(定向光、点光源、聚光灯);3. 设置物体材质为支持光照的材质并开启投射/接收阴影。文中提供了完整代码示例,包括场景搭建、光源设置、球体动画和调试面板等,并解释了为什么动画要使用requestAnimationFrame而不是setInterval(更流畅、后台节能等)。最后还给出了相关基础教程链接,适合three.js初学者学习阴影实现。

2025-09-01 09:47:33 1033

原创 ETag + If-Match和ETag + If-None-Match 的区别与使用场景

摘要:HTTP协议通过ETag机制解决资源并发修改和缓存验证问题。ETag是服务器生成的资源版本标识,客户端在修改资源时携带If-Match头验证版本一致性,若冲突则返回412错误;在获取资源时使用If-None-Match头验证缓存有效性,未变更则返回304状态码。前者用于防止多人同时修改导致的冲突,后者用于优化静态资源加载性能。两种机制分别适用于不同的HTTP方法和场景,共同保障Web应用的并发控制和缓存效率。

2025-08-26 09:09:24 609

原创 文件导出时无法获取响应头Content-Disposition的文件名

前端无法直接获取Content-Disposition响应头是因浏览器CORS安全限制,需后端通过Access-Control-Expose-Headers显式暴露。解决方案包括后端配置响应头,前端通过正则解析文件名,并提供完整的文件下载方法(支持zip/csv/xlsx),处理Blob响应及错误类型。代码示例涵盖文件名提取、下载逻辑及异常处理,确保导出功能兼容多种文件格式。

2025-08-20 09:50:55 792

原创 Vuetify日期时间选择器的使用与踩坑

摘要:Vuetify 3中时间选择器(v-time-picker)是需单独引入的实验性组件。本文介绍了如何结合v-date-picker和v-time-picker封装可复用的日期时间选择器组件,使用dayjs处理日期格式。组件包含输入框触发器、日期/时间选择面板及确认/取消功能,支持双向绑定和清空操作。使用时需先安装dayjs,然后在项目中导入封装好的组件即可实现完整的日期时间选择功能。

2025-08-11 09:33:23 729

原创 vue和React中配置Eslint和Prettier

本文介绍了如何在Vue和React项目中配置ESLint代码检查工具。对于Vue项目,需安装ESLint核心包、Vue插件、Prettier等依赖,并创建包含JavaScript和Vue文件特定规则的配置文件,同时配置Prettier格式化规则。React项目则需要额外安装React相关插件,更新ESLint配置以支持JSX和React Hooks等特性。两种配置都包含忽略文件设置、基础规则和自定义规则,并提供了运行检查的npm脚本命令。通过合理配置ESLint,可以统一团队代码风格,提高代码质量。

2025-07-14 15:42:05 374

原创 RAG 推理引擎:如何通过外部知识库提升AI搜索与生成能力?

RAG(检索增强生成)技术解析 RAG是一种让大语言模型实现开卷考试的智能系统,通过结合信息检索与文本生成能力,提升回答的准确性和时效性。其工作流程分为: 离线索引阶段 文档切块处理 文本向量化嵌入 构建向量数据库 在线推理阶段 将用户问题转换为向量 检索相似度最高的Top-K文本片段 组合检索结果与原始问题生成增强提示 大模型基于提示生成最终答案 RAG的核心价值在于:降低AI幻觉、支持知识实时更新、提高答案可追溯性,以及无需微调即可注入领域知识。通过结构化提示工程,RAG将开放问

2025-07-11 17:24:08 1030

原创 WSL/Linux 常用命令速查

这篇文章总结了Linux/WSL中的常用命令,分为5大类别:1)系统基础命令如pwd、ls等目录操作;2)Debian/Ubuntu的软件管理命令apt;3)网络相关命令如ping、ssh;4)文件查看编辑命令cat、vim;5)Git版本控制命令。特别说明了组合命令的用法,如sudo apt update && sudo apt install表示管理员身份更新并安装软件。这些命令涵盖了Linux系统操作、软件管理、网络工具、文件处理及版本控制等核心功能。

2025-06-30 17:28:22 585

原创 使用WSL在Ollama本地模型部署(windows)

本文介绍了如何在Windows系统的WSL(Windows Subsystem for Linux)中安装Ubuntu子系统,并部署Ollama工具来本地运行开源大语言模型。主要内容包括:1)通过PowerShell命令安装WSL和Ubuntu;2)三种方法在Ubuntu中安装Ollama(自动安装脚本、手动安装或本地下载安装);3)启动Ollama服务并运行轻量级AI模型(如deepseek-r1:1.5b)。文章还提供了WSL常用命令和Ollama模型库链接,帮助用户在Windows环境下实现离线AI模

2025-06-30 16:56:20 4556

原创 前端实现导出element-plus表格和从后端获取数据导出,支持勾选导出

本文介绍了如何使用file-saver和xlsx库实现前端Excel文件导出功能。通过element-plus表格组件展示数据,支持选择导出勾选项或默认导出全部数据。代码实现了表头映射、列宽设置、状态格式化等功能,最终将JSON数据转为Excel文件并触发浏览器下载。核心步骤包括:安装依赖、构建工作表、设置格式、生成文件并保存。该方案适用于前端处理表格数据导出需求,提供了灵活的配置选项。

2025-05-26 15:04:53 1606

原创 AI提示怎么写最聪明?来自Google 的提示工程

LLM 并不正式地预测单个 token。相反,LLM 预测下一个 token 可能是什么的概率,LLM 词汇表中的每个 token 都有一个概率。然后对这些 token 概率进行采样,以确定下一个生成的 token 将是什么。

2025-04-29 13:18:11 1033

空空如也

空空如也

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

TA关注的人

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