自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

泯泷的博客

前端小朋友;公众号:泯泷ML

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

原创 AI能否超越人类?从模仿到创造的智慧进化史

undefined

2025-12-14 15:43:15 274

原创 别再对AI“许愿”了,高手都在用这套“管理学”

摘要:AI已从"聊天伙伴"转变为需要系统管理的"超级实习生"。提示词工程成为关键管理工具,包括:1)系统提示和角色扮演,为AI设定专业边界;2)提供高质量上下文作为决策依据;3)思维链技术确保逻辑严谨;4)思维树方法探索多路径解决方案。这种工程化管理能提升AI输出的确定性,降低业务成本,并形成独特的数字资产壁垒。未来核心竞争力将不再是单一提示词,而是整套AI管理体系,标志着从被动使用到主动管理的范式转变。

2025-12-07 18:33:21 791

原创 Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展

《Tiptap深度教程:自定义扩展开发指南》摘要 本文是Tiptap编辑器系列教程的第四篇,重点讲解如何开发自定义扩展以满足特定需求。文章首先分析了标准功能无法满足的五大场景,包括品牌化组件、业务逻辑集成等行业特殊需求。随后详细解析了Tiptap扩展系统的核心架构,包括其与底层ProseMirror引擎的关系,以及Node、Mark和Extension三种扩展类型的区别与应用场景。 教程采用"渐进式披露"的教学方法,从基础理论到实践操作,指导开发者从零开始构建自定义块级节点(如Callo

2025-12-07 18:29:46 803

原创 Tiptap 深度教程(三):掌握内容 - 核心扩展全面指南

Tiptap富文本编辑器进阶指南:模块化扩展与功能定制 本文介绍了如何超越Tiptap的StarterKit基础配置,掌握其模块化扩展系统。主要内容包括: 模块化优势:通过独立扩展替代StarterKit,实现精确功能控制、性能优化和渐进式增强 核心扩展分类: 交互式标记扩展(如链接扩展):支持链接添加、编辑和预览 富内容节点扩展(如图片扩展):支持多媒体内容插入 实践方法:提供详细的代码示例,展示如何配置和集成各种扩展功能 进阶技巧:介绍链接验证、图片上传等高级功能的实现方式 通过这种模块化方法,开发者可

2025-12-06 22:25:26 803

原创 Tiptap 深度教程(二):构建你的第一个编辑器 - 集成指南

本文介绍了如何基于Tiptap构建React富文本编辑器。主要内容包括:1)环境搭建和核心依赖安装;2)创建基础编辑器组件,解析useEditor Hook、extensions配置和内容格式;3)实现编辑器UI集成和基础样式设置。文章重点讲解了Tiptap的核心设计理念,包括"无头"架构和模块化扩展系统,并提供了React环境下的实战示例代码,帮助开发者快速上手。同时还介绍了TypeScript支持、性能优化建议以及跨框架应用要点。

2025-12-06 22:22:15 740

原创 Tiptap 深度教程 (一):理解 Tiptap 的设计哲学与核心架构

本文深入解析Tiptap富文本编辑器的核心设计思想。Tiptap基于ProseMirror构建,继承了其结构化内容模型、事务处理机制和高性能优势。文章重点阐述了Tiptap的"无头"设计理念,强调其将UI表现层与编辑逻辑层分离的特点,使开发者能够灵活集成各种设计系统。通过架构层级分析,展示了Tiptap作为ProseMirror抽象层的价值,为开发者提供友好API的同时保留底层强大功能。理解这些设计哲学有助于避免使用误区,提升开发效率,并为技术选型提供决策依据。

2025-12-06 22:21:01 1088

原创 AI 界的“USB-C”协议来了:让你的 AI 拥有即插即用的“手和脚”

AI Agent的瓶颈与突破:MCP协议开启AI"即插即用"时代 当前AI应用面临核心困境:大模型虽智能却缺乏与物理世界连接的能力,导致其更像"聊天伙伴"而非"办事员"。Anthropic公司提出的MCP协议(模型上下文协议)正试图解决这一痛点,其核心价值在于: 标准化革命:MCP如同AI世界的USB-C接口,统一了AI与外部工具的通信标准,终结了"定制化连接"的混乱局面。 行业影响: 开发者可实现指数级降本增效 将催生繁荣的&

2025-12-06 21:39:43 420

原创 告别“接口地狱”,MCP 协议如何让 AI Agent 像乐高一样即插即用?

AI Agent协作面临"巴别塔困境",不同AI系统间缺乏通用通信协议。MCP(模型上下文协议)应运而生,它通过标准化初始化、能力协商和三种基础对话格式(请求、响应、通知),为AI间交互建立"普通话"体系。该协议将推动AI生态从手工定制迈向工业化组装,实现多AI的军团式协作,其战略价值堪比互联网的TCP/IP协议。在模型能力趋同的背景下,MCP代表的协作能力将成为下一代AI竞争的关键。

2025-12-06 21:08:54 878

原创 前端模块化:认识CJS, AMD, UMD, ESM, System 和 IIFE

(AMD)AMD脱胎于 CJS,支持异步模块加载。AMD 和 CJS 的主要区别在于它是否支持异步模块加载。RequireJS 使用 AMD 在浏览器端工作。AMD 提供了一些 CJS 相似的特性。它允许在代码中使用类似的exports和require()接口,尽管它自己的define()接口更基础更受欢迎。(UMD)UMD 被设计用于任何地方 — 包括服务端和浏览器端。它试图兼容目前最流行的 script 加载器(如 RequireJS)。在许多情况下,它使用 AMD 作为基础,且兼容 CJS。

2025-03-10 22:52:09 1099

原创 面试官:div模拟button和真实button的区别?

蛮有意思的,之前面试某厂的时候遇到了这个问题,答得不是很好,专门整理一波~

2025-03-10 22:51:17 365

原创 CDN 回源和回源率/缓存命中率

回源是指浏览器在发送请求报文时,响应该请求报文的是源站点的服务器,而不是通过各节点上的缓存服务器(比如Nginx开启缓存),那么这个过程就称作为回源。

2025-02-28 21:12:45 590

原创 域名系统(DNS)应知应会

域名系统DNS是因特网使用的命名系统,用来把便于人们记忆的,具有特定含义的主机名(如 www.baidu.com )转化为便于机器处理的IP地址。DNS系统采用C/S模型,协议运行在UDP上,使用53好端口。

2025-02-28 20:50:55 365

原创 这代码要是这样写会被打吧?类型操作趣题分享,学习堆JavaScript堆内存和栈内存

最近吧,不是备战秋招所以在牛客上面刷题嘛,然后就发现了这神奇的一道题,不过还是有考察价值和值得学习的知识点的,我们来一起看看吧!😗。

2025-02-26 20:49:42 386

原创 axios、XHR、XML、AJAX和Fetch分不清怎么办?

axios 是一个轻量的HTTP客户端,它基于服务,支持丰富的配置,支持Promise。AJAX 不是新的编程语言,而是一种使用现有标准的新方法(编程实践),底层使用了宿主环境的(XHR)。fetch不是对 AJAX 的进一步封装,而是原生JavaScript,没有使用对象。Fetch API 提供了一个 JavaScript接口,用于访问和操纵HTTP管道部分。XHR 是过去和现在很多网络请求方案、工具库的基础,可以用于获取任何类型的数据,而且不仅仅是 XML。

2025-02-26 20:49:03 1135

原创 Nest.js 一键式 CRUD 生成器

在Nest.js项目的整个生命周期中,当我们构建新功能时,我们经常需要向我们的应用程序添加新资源。这个时候第一反应是使用生成器直接开始逐个输入指令,手动创建DTO、实体等等,是不是有点烦?(快说是!

2025-02-23 15:19:35 674

原创 JavaScript 图片的 Base64 编码及转换

Base64 是网络中存储和传输的二进制数据的普遍用法。Base64 一个字节只能表示 64 种情况,且编码格式每个字节的前两位都只能是 0,使用剩下的 6 位表示内容。Base64 最早是应用在邮件传输协议中的。当时邮件传输协议只支持 ASCII 字符传递,使用 ASCII 码来表示所有的英文字符。但是如果要在文件中传输图片、视频等资源的话,这些资源转成 ASCII 的时候会出现非英文数字的情况。而且邮件中还存在很多控制字符,这些控制字符又会成为不可见字符。

2025-02-23 15:18:23 4005 1

原创 04 用Vuex轻松管理组件通信

Vuex作为Vue生态的核心状态管理方案,通过规范化的数据流管理,解决了复杂应用中的状态共享难题。记住以下要点:遵循单向数据流:View → Action → Mutation → State → View合理划分模块,保持store的简洁性严格区分同步和异步操作充分利用DevTools进行调试当你面对以下场景时,Vuex将大显身手:中大型单页应用多组件共享状态需要状态持久化需要历史状态回溯现在,尝试在你的项目中引入Vuex,感受规范化状态管理带来的开发效率提升吧!

2025-02-13 21:31:50 798

原创 03 手把手教你理解Vue Router核心原理(附实战代码)

掌握这些核心原理,你就能像魔法师一样自如地操控Vue Router,构建出丝滑流畅的单页应用!记得根据实际项目需求选择最合适的模式哦~想象你在一本魔法书中翻页,页面内容会变化但书本本身不会重新印刷。企业官网推荐使用History模式 + Nginx配置。使用HTML5的History API实现。后台管理系统可使用Hash模式简化部署。❌ 兼容性要求较高(IE10+)🔧 Node.js服务器端渲染。✅ 兼容性最好(支持IE9)符号(锚点)实现路由切换。✅ 不需要服务器特殊配置。❌ 需要服务器配合配置。

2025-02-13 21:25:49 576

原创 02 Vue2修饰符入门指南:让事件处理更优雅

Vue修饰符就像给指令添加的"小尾巴",它们用点号表示,可以帮助我们更便捷地处理DOM事件细节。就像炒菜时的调味料,能让我们的代码更"美味"!

2025-02-10 13:29:15 564

原创 01 前端必学:Vue2 组件间8种通信方式详解

组件通信是Vue开发的核心知识,本文用生活化比喻+真实案例,带你快速掌握8种通信方式的使用场景和实现方法。

2025-02-10 13:27:50 1545

原创 TS中的内置条件类型:ReturnType

总言之,条件类型就是在类型中添加条件分支,以支持更加灵活的泛型,满足更多的使用场景。表示若类型T可被赋值给类型U,那么结果类型就是X类型,否则就是Y类型。在 2.8 版本中,TypeScript 内置了一些与。条件类型使类型具有了不唯一性,同样增加了语言的灵活性。则是TS内部封装好的一些类型处理,使用起来更加便利。条件类型是一种由条件表达式所决定的类型。从参数位置移动到返回值位置,因此此时。即是表示待推断的返回值类型。条件语句中待推断的类型变量。,type T 将被视为。表示待推断的函数参数。

2025-02-01 16:03:05 516

原创 「Astro 5.0 」Astro新功能概述

**介绍 Astro 5.0!**借助 Astro 内容层从任何来源加载你的内容,并通过服务器岛屿将缓存的静态内容与动态的个性化内容相结合。继续阅读以了解有关这些强大的新功能及更多信息!什么是 Astro? Astro 是用于构建内容驱动型网站(包括博客、营销和电子商务)的网络框架。如果你需要一个加载速度快且具有良好搜索引擎优化的网站,那么 Astro 很适合你。发布亮点包括:访问astro.new可直接在浏览器中试用 Astro 5.0,或者若要使用 Astro 5.0 启动新项目,请为你的包管理器运行命

2025-02-01 16:00:01 1166

翻译 「译」不要将 DTO 传递给用户界面组件

原文链接:https://darios.blog/posts/do-not-pass-dtos-to-ui-components作者:dario’s.blog原标题:Do not pass DTOs to UI components作为前端开发人员,我们经常使用来自后端 API 或服务的数据传输对象 (DTOs, data transfer objects)。这些 DTO 表示用于在网络中传输的原始数据结构。然而,在 UI 组件中直接使用 DTOs 可能会导致可维护性、可重用性和关注点分离方面的问题。

2025-02-01 15:57:13 76

原创 「译」2024 年的 5 个 JavaScript 安全最佳实践

链接:https://thenewstack.io/5-javascript-security-best-practices-for-2024/作者:Alexander T. Williams原标题:5 JavaScript Security Best Practices for 2024网络安全已成为一个瞬息万变的战场,JavaScript 应用程序的安全性也不例外。Web 应用程序已成为黑客试图获取敏感数据和财务详细信息的常见目标,这凸显了2024 年的重要性。

2025-01-30 18:36:29 1371

原创 如何进行API 版本控制

API版本控制是管理和跟踪对API的更改的过程。它还涉及将这些更改传达给API的使用者。更改是API开发的自然组成部分。有时,开发人员必须更新其API的代码以修复安全漏洞,而其他更改则会引入新的特性或功能。有些更改根本不会影响使用者,而另一些称为“破坏性更改”的更改会导致向后兼容性问题,例如意外错误和数据损坏。API版本控制可确保成功推出这些更改,以保持消费者信任,同时保持API安全、无错误和高性能。在这里,我们将回顾API版本控制的好处,并讨论几个需要版本控制的场景。

2025-01-30 18:35:44 1321

原创 BFE-TS TypeScript类型体操练习 Easy 31-40

题目来自TypeScript题目 | BFE.dev - 前端刷题,准备前端面试拿到心仪的Offer,总共60题,带你完爆类型体操!

2024-10-27 13:48:00 746

原创 「译」Nuxt3:新渲染模式-边缘渲染、swr等

文章虽然介绍的是传统渲染模式和 Nuxt 3 采用的新的更细致的渲染模式的区别,但是对学习和区分几种目前主流的渲染模式也有一定帮助。浏览器和服务器都可以解析 JavaScript 代码以将 Vue.js 组件呈现为 HTML 元素。此步骤称为。Nuxt 同时支持和渲染。这两种方法各有利弊,我们将在本节中介绍。

2024-10-27 13:46:25 1422

原创 Vue Router 浅析

这样的配置就可以实现访问 https://a.b.com/main/a/ 或者 https://a.b.com/main/b/, 即访问 https://a.b.com/main/ 下的任意子路径, 都可以直接访问到index.html, 正常访问页面。这样的配置就可以实现访问 https://a.b.com/main/a/ 或者 https://a.b.com/main/b/, 即访问 https://a.b.com/main/ 下的任意子路径, 都可以直接访问到index.html, 正常访问页面。

2024-10-22 22:58:43 762

原创 # VueBus 总线传参数

vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过props向下传数据给子组件,当子组件有事情要告诉父组件时会通过$emit事件告诉父组件。今天就来说说如果两个页面没有任何引入和被引入关系,该如何通信了?如果咱们的应用程序不需要类似Vuex这样的库来处理组件之间的数据通信,就可以考虑Vue中的事件总线,即 **EventBus**来通信。EventBus又称为事件总线。在Vue中可以使用EventBus。

2024-10-22 22:57:19 992

原创 来了解一下 Island Architecture 孤岛架构

本文着眼于岛屿架构,它们存在的原因以及当前应用它们的框架。在接下来的系列文章中,我想更深入地研究上面提到的框架 —— Astro,Marko和Qwik,以及其他框架,如Svelte,Angular和React,以及它们在内部之间的区别。

2024-10-21 23:25:27 1308

原创 URL 设计最佳实践

以下是Kyle Aster关于为什么URL 是通用的。它们适用于 Firefox、Chrome、Safari、Internet Explorer、cURL、wget、iPhone、Android,甚至写在便签上。它们是 Web 的一种通用语法。不要认为这是理所当然的。我喜欢这个无处不在的 URL 提醒。

2024-10-21 23:19:00 1166

原创 高并发常见性能表现评估指标

QPS、TPS、RT、吞吐量。

2024-10-21 23:16:48 473

原创 enquirer 指南

提示在用户键入时自动完成,并将所选值作为字符串返回。await(需要在 async 函数内部运行)遇到多个问题,可以将多个问题对象以数组形式传给。使用 enquirer 的最简单方法是将。方法,返回完整的答案对象。

2024-10-20 11:49:03 608

原创 产品经理基础知识文档

社区团购是电子商务模式之一,它依托社区居民团体购物的需求,通过社区商铺提供的团购优惠活动来促进商铺对核心客户的精准化宣传和消费刺激,是一种能迅速提升商铺区域知名度和美誉度的商务模式。OKR所对应的环境,是动态变化的,业务逻辑和业务结果有的时候无法预测,需要经过实践去验证,是互联网时代的产物。l 幸存者偏差:驳斥的是一种常见的逻辑谬误(“谬误”而不是“偏差”),这个被驳斥的逻辑谬误指的是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。

2024-10-20 11:47:49 917

原创 Web浏览器滚动方案一览| rAF等

在Web开发中,实现流畅的滚动效果对于提升用户体验至关重要。为了实现这一目标,开发人员可以利用一系列的滚动方案。其中,请求动画帧(requestAnimationFrame,简称rAF)是一种常用的技术。rAF通过优化动画效果的渲染,可以避免卡顿和过度绘制的问题。此外,还有其他滚动方案如CSS动画、滚动事件监听等等,开发人员可以根据具体需求选择合适的方案。通过合理选择和应用这些滚动方案,我们可以提供更加流畅和优化的用户体验。

2024-10-14 22:31:59 1055

原创 CDN 内容分发网络

它就是专门为解决“长距离”上网络访问速度慢而诞生的一种网络应用服务。“内容”“分发”和“网络”。先看一下“网络”的含义。CDN 的最核心原则是“就近访问”,如果用户能够在本地几十公里的距离之内获取到数据,那么时延就基本上变成 0 了。所以 CDN 投入了大笔资金,在全国、乃至全球的各个大枢纽城市都建立了机房,部署了大量拥有高存储高带宽的节点,构建了一个专用网络。这个网络是跨运营商、跨地域的,虽然内部也划分成多个小网络,但它们之间用高速专有线路连接,是真正的“信息高速公路”,基本上可以认为不存在网络拥堵。

2024-10-14 22:30:59 1145

原创 JS代码混淆器:JavaScript obfuscator 让你的代码看起来让人痛苦

JavaScript Obfuscator 是一个强大的工具,它通过转换和混淆代码来帮助开发者保护他们的 JavaScript 源代码。这种转换不会改变程序的执行方式,但会使代码难以理解和修改,从而为源代码提供了一层保护。

2024-10-13 13:27:31 7493 2

原创 Web Component 初学者教程

本教程将教你如何构建你的第一个Web Components以及如何在应用程序中使用它们。在我们开始之前,让我们花点时间了解一下Web Components的一般情况:近年来,Web Components(也称为自定义元素)已成为几个浏览器的标准API,允许开发人员只使用HTML、CSS和JavaScript来实现可重用的组件。这里不需要React、Angular或Vue。相反,自定义元素为你提供了将所有结构(HTML)、样式(CSS)和行为(JavaScript)封装在一个自定义HTML元素中的功能。

2024-10-13 13:27:01 1719

原创 Express. js v5.0中的新增功能

详细了解Express v5.0中的主要更改和改进以及如何迁移你的应用程序Express. js终于在GitHub上发布了版本。这是Express.js团队自2014年以来的第一个主要版本。Express. js 5.0带来了一系列重要的更新、优化和删除。虽然它仍处于测试阶段,但此版本正在形成以提高性能并简化未来Node.js项目的开发。Express. js 5.0需要,因此任何仍在使用旧版本的人都需要升级。

2024-10-11 17:13:47 1513

原创 SolidStart 1.0:未来框架的形态

SolidStart 是一个 JavaScript 框架,旨在构建 SolidJS 应用程序并将其部署到各种服务提供者。这听起来与大多数其他 JavaScript 框架没有什么不同。但细节决定成败。

2024-10-11 17:13:14 1305

空空如也

空空如也

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

TA关注的人

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