- 博客(3449)
- 资源 (11)
- 收藏
- 关注
原创 框架开发与原生开发的权衡:React案例分析(原生JavaScript)
React等框架适合复杂应用和大型团队协作,而原生开发在性能敏感场景和小型精简项目中更具优势。在前端开发领域,选择使用框架还是原生JavaScript进行开发一直是个值得探讨的话题。本文将以React为例,深入分析框架开发与原生开发的优劣势,探讨在不同场景下的最佳选择。直接使用原生JavaScript可以避免框架带来的额外开销,在性能要求极高的场景中更具优势。掌握原生JavaScript的基础知识比学习框架特定的概念和API更加直接。原生开发不依赖特定框架版本,避免了框架升级带来的迁移成本。
2025-05-22 23:47:05
933
原创 杀死父进程,其子进程通常不会自动终止(kill父进程)孤儿进程(kill process tree、pkill -P、杀死进程树、kill进程树)
操作系统为每个进程分配独立的资源(如内存、文件句柄等),并赋予其独立的生命周期。即使父进程被终止,子进程仍可能继续运行,因为它们并不依赖父进程的存在。),子进程结束后会变成“僵尸进程”(Zombie Process)。虽然僵尸进程本身不占用资源,但它们会占用进程表项,可能导致系统无法创建新进程。某些服务(如 Web 服务器、数据库)可能通过父进程启动多个子进程处理请求。仅终止父进程可能留下运行中的子进程,导致服务未完全关闭,干扰后续操作。如果仅终止父进程,子进程仍可能继续运行,导致资源浪费或系统性能下降。
2025-05-22 14:59:26
547
原创 Windows进程号、查看父进程、查看子进程、父子进程、进程树、查看某个进程号PID父进程(Parent Process ID, PPID)ProcessExplore、procexp、进程监控
如果只想查看某个 PID 的详细信息,可以结合。右上角搜索貌似只能通过名称,我是使用。替换为你要查询的进程号。如果需要编程实现,可以使用。
2025-05-22 14:25:18
815
原创 Windows解除占用(解除文件占用、解除目录占用)查看文件进程(查看父进程、查看子进程、查看父子进程)占用文件占用、占用目录占用
可通过工具查看父子进程位置,
2025-05-22 14:21:40
532
原创 RESTful API响应中的嵌入URL设计:提升RESTful服务交互性的关键模式(url返回结果嵌入url嵌url中url返回url)二次请求、HATEOAS原则、客户端与服务端松耦合
嵌入URL的API设计模式虽增加了初始学习曲线,但带来了显著的长期收益:系统弹性、演化自由度和自描述性。随着微服务架构和分布式系统的普及,这种模式将继续发挥重要作用,使API设计更具可持续性和适应性。
2025-05-21 16:42:10
556
原创 微服务中API网关作用(统一入口、路由转发、协议转换、认证授权、请求聚合、负载均衡、熔断限流、监控日志)
API网关使微服务架构更加灵活,允许各服务独立演化的同时,为客户端提供一致的接口。
2025-05-21 16:40:27
982
原创 GraphQL介绍(一种API查询语言和运行时总和,提供更高效、强大且灵活的API开发和使用方式)REST对比(Schema定义语言SDL语言)按需获取、单一端点、强类型系统、层次性查询、演进式API
GraphQL是一种用于API的查询语言和运行时,由Facebook于2012年内部开发,2015年公开发布。它提供了一种更高效、强大且灵活的API开发和使用方式,使客户端能够精确获取所需数据,不多不少。层次性查询# 定义用户类型id: ID!# 非空ID类型# 非空字符串email: String # 可空字符串# 非空Post数组,数组元素也非空# 定义文章类型id: ID!# 关联到User类型# 定义评论类型id: ID!post: Post!
2025-05-21 16:35:52
590
原创 运行时runtime是什么?(程序在运行过程中所依赖的环境、资源管理机制以及动态行为的总和)(包括内存分配、异常处理、线程调度、类型检查、资源访问等)
运行时是程序执行的核心支撑系统,负责资源管理、动态行为处理及异常控制。它既包括底层的运行时环境(如 JVM、V8 引擎),也涵盖语言特性(如反射、动态方法调用)和框架设计(如 Vue 运行时)。理解运行时有助于优化程序性能、解决复杂问题,并适应不同开发场景的需求。
2025-05-21 16:29:23
493
原创 服务器网络配置 netplan一个网口配置两个ip(双ip、辅助ip、别名IP别名)
是的,一个网口可以配置多个IP地址,这在Linux系统中称为IP别名或辅助IP。这两个IP配置可以共用同一个网口而不会直接冲突,因为它们在不同的子网中(192.168.90.0/24和192.168.80.0/24)。在我提供的配置中,设置了两个默认路由(分别通过192.168.90.1和192.168.80.1),并用metric值区分优先级。metric值越小,优先级越高,所以系统会优先使用192.168.90.1作为默认网关。这种配置允许您在主要网关不可用时自动使用备用网关,提高网络连接的可靠性。
2025-05-21 16:08:31
477
原创 X app中Notifications中的All、Verified、Mentions各是什么含义?(全部通知、验证账号通知、被提及)
其他社交平台(如IG、FB)也有类似的通知分类逻辑,通常称为“全部通知”、“重要通知”或“提及通知”。部分用户可能希望关闭某些分类以减少干扰。例如,若不想被普通用户的互动打扰,可关闭。X通常允许用户进一步细化通知规则(如关闭声音、横幅提醒等),建议根据个人需求调整。(如 🐦_blue_circle),确保其真实性。(具体路径可能因版本更新而略有不同)在X中,验证账号通常带有蓝色或金色的。这些分类是X App对通知的。,帮助用户按需筛选信息。
2025-05-21 14:44:19
233
原创 RPC协议(Remote Procedure Call)和gRPC协议(Google Remote Procedure Call)区别(传统RPC:跨平台、兼容性好;gRPC:内部通信,低延迟)
gRPC是传统RPC的现代化升级版本,结合了HTTP/2和Protobuf的优势,适用于高性能、低延迟的分布式系统(如微服务)。而传统RPC更适用于开放API或对灵活性要求较高的场景。选择时需根据具体需求权衡性能、开发效率和场景适配性。
2025-05-21 13:49:42
665
原创 Cursor MCP客户端与MCP服务端进程间通信方式解析(FastMCP框架、mcp.run(transport=‘stdio‘))MCP通信原理、自动工具发现机制、元数据协议、JSON-RPC
以Cursor与本地MCP天气服务器通信为例,FastMCP框架采用了基于标准输入/输出流(stdin/stdout)的通信设计,通过参数配置实现进程间通信。这种机制允许任何能够控制进程IO流的应用程序与MCP服务进行交互。# 核心通信配置mcp.run(transport='stdio') # 使用stdin/stdout作为通信通道。
2025-05-21 10:11:13
919
原创 IDE不可查询(不可跳转)时,查看python文档方法(检查可用方法)vscode指定python解释器路径(python虚拟环境解释器)python解释器位置、获取mcp工具列表
虚拟环境里,在编辑器里没法跳转python文档。效果跟在python交互式环境差不多。如图,我这用了需要手动激活的。虚拟环境,库都安装在。
2025-05-21 09:46:02
448
原创 JS异步请求Fetch对象为什么json()方法需要使用await关键字?(fetch API await json await)因为返回的是Promise对象(Fetch与Axios对比)
方法返回一个Promise对象,而非直接返回解析后的JSON数据。这是现代JavaScript中Fetch API的标准行为,需要使用关键字(或方法)来获取实际解析后的数据。设计原理分析异步JSON解析的必要性时序图#mermaid-svg-7Jig7rZhpCPACWbe {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7Jig7rZhpCPACWbe .erro
2025-05-20 16:58:02
638
原创 【大模型MCP协议】MCP官方文档(Model Context Protocol)一、开始——2. 快速入门——服务端开发者
https://modelcontextprotocol.io/quickstart/server在本教程中,我们将构建一个简单的 MCP 天气服务器,并将其连接到主机 Claude for Desktop。我们将从基础设置开始,然后逐步扩展到更复杂的用例。许多大语言模型(LLM)目前无法获取天气预报和严重天气警报。让我们用 MCP 来解决这个问题!我们将构建一个服务器,暴露两个工具: 和 。然后我们将把服务器连接到一个 MCP 主机(本例中为 Claude for Desktop):MCP 服务器可以提供
2025-05-20 14:09:35
730
原创 《黑马前端ajax+node.js+webpack+git教程》(笔记)——node.js教程+webpack教程(nodejs教程)
if (err) {else {console.log('写入成功')})if (err) {else {})/g表示全局匹配默认导出和导入命名导出和导入唯一出口文件index.js不是必须的,如果不存在,就会到package.json中去找定义的入口文件(main属性指定的入口文件)npm i具体参考文章:webpack介绍(现代JS应用静态模块打包工具,在内部构建依赖图,映射项目所需模块,生成打包后的文件)webpack.config.js。
2025-05-19 23:45:27
1339
原创 reboot命令和systemctl reboot命令区别(后者优雅重启)(Systemd系统中reboot实际上是systemctl reboot的软链接)
都是用于重启 Linux 系统的命令,但它们的实现方式和行为存在一些关键区别。是一个传统的 Linux 命令,最早用于 SysVinit 或早期的初始化系统(如。是 Systemd 系统管理器的一部分,专为现代 Linux 发行版设计。(如 CentOS 7+、Ubuntu 16.04+)中,它直接向内核发送重启信号,绕过现代服务管理器(如。的软链接(见 [2] 和 [10])。(如 CentOS 6 或更早)中,优雅地管理服务关闭和系统重启流程。进程负责关闭服务并重启系统。(运行级别 6),由。
2025-05-19 13:40:36
531
原创 前端sourcemap介绍(Source Map、eval-source-map)(将编译、压缩后的代码映射回原始源代码的技术工具)Base64 VLQ
Source Map 技术是现代前端开发中不可或缺的调试工具,它在保持代码优化的同时提供了良好的调试体验。合理使用 Source Map 可以显著提高开发效率和代码质量,但也需要注意在生产环境中的安全配置。随着前端技术的不断发展,Source Map 也将继续演进,为开发者提供更好的调试体验。
2025-05-18 21:00:05
701
原创 BootCDN介绍(Bootstrap主导的前端开源项目免费CDN加速服务)
BootCDN是Bootstrap中文网联合支持并维护的前端开源项目免费CDN加速服务,致力于为Bootstrap、jQuery、React、Vue.js等优秀的前端开源项目提供稳定、快速的免费CDN加速服务。BootCDN所收录的开源项目主要同步于cdnjs开源项目仓库,目前已收录超过4387个前端开源项目。BootCDN作为国内领先的前端开源项目CDN加速服务,为开发者提供了强大、稳定、免费的资源加载解决方案。随着前端技术的不断发展,BootCDN也在不断扩充资源库,支持越来越多的优秀开源项目。
2025-05-17 22:28:57
898
原创 JS JSON.stringify介绍(JS序列化、JSON字符串 )(遍历输入值的所有可枚举属性,将其转换为文本表示)缓存序列化、状态管理与时间旅行、replacer
/ 序列化内部过程伪代码实现// 检查循环引用// 应用 replacer 函数(如果提供)// 根据数据类型处理${// 序列化内部过程伪代码实现 function pseudoStringify(value , replacer , space) {// 检查循环引用 const seen = new WeakSet();// 应用 replacer 函数(如果提供) if(typeof replacer === 'function') {
2025-05-17 16:57:51
735
原创 Webpack DefinePlugin插件介绍(允许在编译时创建JS全局常量,常量可以在源代码中直接使用)JS环境变量
DefinePlugin是Webpack生态系统中的核心插件,内置于Webpack本身。该插件允许在编译时创建全局常量,这些常量可以在源代码中直接使用。本质上,DefinePlugin执行的是一种"查找和替换"的操作,在编译阶段将代码中的变量替换为指定的值。关键在于,这种替换是在编译时完成的,而非运行时,这带来了显著的性能优势。通过合理使用DefinePlugin,可以实现代码的环境适应性、提高性能并简化配置管理流程,为现代前端工程化提供有力支持。
2025-05-17 14:18:58
881
原创 npm cross-env工具包介绍(跨平台环境变量设置工具)
cross-env是一个简单而强大的npm工具包,它解决了在不同操作系统平台上设置环境变量的一致性问题。无论你使用的是Windows、macOS还是Linux,cross-env都能确保你的npm脚本能够以相同的方式运行。简化开发流程,提高团队协作效率消除平台差异,实现"编写一次,随处运行"与现有工具链轻松集成代码简洁,性能良好通过合理使用cross-env,可以显著提升多平台项目的开发效率和代码可移植性,减少因环境差异导致的问题。
2025-05-16 23:24:23
1365
原创 docker.sock作用(docker sock)(Docker客户端与Docker Daemon守护进程通信的接口)/var/run/docker.sock
(本地 Unix 套接字),而非 TCP 端口。如果容器需要动态管理 Docker(如 CI/CD 工具、自动化脚本),挂载该套接字是必要的。参数将宿主机的套接字文件挂载到容器内,容器内的进程可以直接与 Docker 守护进程通信。,Docker 实现了高效的本地通信机制,是 Docker 生态中不可或缺的组件。与 Docker 守护进程交互,发送请求(如创建容器、管理镜像等)并接收响应。是 Docker 守护进程(Docker Daemon)的。命令行工具与 Docker 守护进程交互时,默认使用。
2025-05-16 23:19:23
760
原创 求职困境:开发、AI、运维、自动化
你的技能组合是典型的「T型人才」——既有广度又有多个深度支点。建议优先寻找能让你发挥「技术架构设计」能力的岗位,这类岗位对复合型人才的需求正在快速增长。同时,持续在GitHub维护技术案例,这将成为你区别于普通工程师的核心竞争力。
2025-05-16 13:51:50
928
1
原创 如何打造MVP(最小可行性产品)(MVP=核心功能+快速验证+用户反馈+持续迭代)
通过以上步骤,你可以高效验证产品假设,降低风险,同时为后续商业化打下基础。,同时避免过度设计。打造MVP的关键在于。
2025-05-16 13:48:06
840
原创 Node.js package.json常用配置字段(Node.js配置、Node项目配置、Node配置)(package-lock.json、yarn.lock)
package.json 作为Node.js项目的核心配置文件,其丰富的字段设置影响着项目的开发、构建、测试和发布全生命周期。掌握这些配置能力,可以构建更加健壮、可维护的Node.js应用。随着Node.js生态的发展,package.json的配置能力也在不断扩展,跟进最新的最佳实践对提升项目质量至关重要。
2025-05-16 11:41:50
596
原创 python venv不适合变更路径(路径变更)的几种解决方案(venvpack、pip download、pip install --no-index --find-links=packages)
而不是跨机器或跨路径的迁移。它的路径依赖特性确实会导致迁移时的不便,但有一些方法可以缓解或解决这个问题。的设计目标是本地开发隔离,而非跨机器迁移。,其中包含 Python 解释器的符号链接(软连接)和依赖包。Docker 容器完全独立于宿主机环境,解决了路径依赖问题。会自动修复路径问题,确保虚拟环境在新路径下正常运行。这种方法完全避免了路径问题,但需要联网下载依赖包。如果路径不一致,还需要检查虚拟环境中的脚本(如。如果目标机器的 Python 环境路径与源机器。)是否有硬编码路径,并手动替换为新路径。
2025-05-13 14:36:42
668
原创 .less代码介绍(css代码的超集)(最终需要编译成标准CSS文件,浏览器才能解析执行)lessc、Gulp
它扩展了 CSS 的功能,使其具备变量、混合(mixin)、嵌套、运算、函数等特性,从而让 CSS 更易维护、扩展和组织。Less 本质上是 CSS 的“超集”,最终需要编译成标准的 CSS 文件,浏览器才能解析执行。定义变量,存储常用值(如颜色、字体大小),方便全局复用和统一修改。将一组样式定义为“混合”,并在其他选择器中调用,实现代码复用。Less 代码需要通过编译器转换为标准 CSS。提供内置函数(如颜色调整、数学计算等),动态生成样式值。支持将子选择器嵌套在父选择器中,避免重复书写层级结构。
2025-05-12 22:56:31
511
原创 为什么在Webpack 5 中,直接添加new CssMinimizerPlugin()到optimization.minimizer数组而不取消注释...语法,会导致JavaScript压缩失效?
通过正确配置,你可以充分利用 Webpack 的优化能力,提升应用性能。,最终输出的 JS 文件体积会比预期大,影响性能。注意:从 Webpack 5.70.0 开始,来压缩 JavaScript 代码。是 Webpack 内置的优化器,在 Webpack 5 中,如果你。,导致 JavaScript 代码。Webpack 5 默认使用。Webpack 会保留默认的。,则需要显式保留它。
2025-05-12 20:42:32
821
原创 【大模型MCP协议】MCP官方文档(Model Context Protocol)一、开始——1. 介绍
开始使用模型上下文协议(MCP)C# SDK已发布!查看其他新功能MCP是一个开放协议,它规范了应用程序如何向LLM提供上下文。可以将MCP想象成AI应用的USB-C接口。就像USB-C为您的设备提供了连接各种外设和配件的标准方式一样,MCP提供了一种标准方式来连接AI模型与不同的数据源和工具。
2025-05-12 17:43:14
918
原创 JS正则表达式介绍(JavaScript正则表达式)
JavaScript正则表达式是一种强大的文本处理工具,掌握其基本语法和高级技巧可以大幅提高文本处理效率。正则表达式由元字符、量词、分组等组成,通过合理组合这些元素,能够实现复杂的模式匹配需求。正确理解和使用标志(flags)可以让正则表达式匹配更精确、更高效,适应不同的文本处理需求。在实际应用中,需要注意正则表达式的可读性和性能问题,避免过于复杂的模式导致难以维护或性能下降。
2025-05-10 23:21:25
1169
原创 MiniCssExtractPlugin插件介绍(提取css)(将CSS提取出来,单独打包成文件,能将样式与脚本分离,优化页面加载性能)(旧版:extract-text-webpack-plugin)
MiniCssExtractPlugin是webpack生态系统中的一个重要插件,专门用于将CSS提取到单独的文件中,而不是将其打包在JavaScript文件中。该插件基于webpack v5构建,能够为每个包含CSS的JS文件创建对应的CSS文件,并支持CSS的按需加载和SourceMap。支持异步加载CSS无重复编译,性能更优更易于使用和配置专为CSS设计的功能// 插入到指定元素后})// 自定义插入函数// 将链接标签插入到指定元素之前})})
2025-05-10 16:04:40
976
原创 CSS Modules介绍(CSS模块、样式模块)(通过自动创建唯一类名,确保样式在组件级别上被封装,解决了全局样式冲突问题)(将CSS文件视为模块,可以被导入和使用).module.css
CSS Modules 是一种用于模块化和局部化 CSS 的系统。它通过自动创建唯一的类名,确保样式在组件级别上被封装,从而解决了全局样式冲突的问题。CSS Modules 将 CSS 文件视为模块,使得样式可以像 JavaScript 一样被导入和使用。CSS Modules 提供了一种平衡性能与开发体验的 CSS 模块化解决方案。它保留了传统 CSS 的熟悉语法,同时解决了全局命名冲突问题。对于中大型项目和组件库开发,CSS Modules 是一个值得考虑的技术选择。
2025-05-09 23:18:34
929
原创 何时需要import css文件?怎么知道需要导入哪些css文件?为什么webpack不提示CSS导入?(导入css导入规则、css导入规范)
这种模块化的CSS导入方式可能一开始不习惯,但它使CSS的管理更加清晰,也是现代前端开发的主流方式。可是即使我不导入它也没有提示,也没有报错信息,但是我确实是需要导入的,因为我需要打包,但是它不提示我要把哪些css文件导入到哪些css,这不是很奇怪吗?在前端工程中使用webpack打包CSS时,确实需要在JavaScript文件中导入CSS文件,这可能会让人感到困惑。你提出了一个很好的问题!直接导入 CSS 文件。在 JavaScript 中,是否需要导入 CSS 文件取决于具体的使用场景和项目需求。
2025-05-09 22:32:38
1088
原创 html object标签介绍(用于嵌入外部资源通用标签)(已不推荐使用deprecated,建议使用img、video、audio标签)
<object> 标签是 HTML 中用于嵌入外部资源的通用机制,支持通过 data 和 type 属性加载资源,并通过 <param> 标签传递配置信息。其核心属性包括 data(资源 URL)、type(MIME 类型)、width 和 height(尺寸)以及 name(对象命名)。<object> 标签可用于嵌入图像、音频、视频、PDF 等多种资源,并通过回退内容处理浏览器不支持或加载失败的情况。尽管 <object> 标签功能强大,但由于兼容性问题,
2025-05-09 11:17:32
979
原创 富文本编辑器如何禁止用户嵌入iframe?(禁用iframe、禁止iframe)
Quill 默认不允许插入 iframe,需通过自定义模块扩展支持,但可直接忽略 iframe 插入逻辑。如果用户直接操作 DOM(如通过开发者工具),可通过 JavaScript 监听并移除 iframe。如果用户使用富文本编辑器(如 TinyMCE、Quill、CKEditor),可配置编辑器禁止插入。指令限制 iframe 的来源,间接阻止用户插入 iframe。通过以上方法,可以有效防止用户在你的网页中插入。仅允许加载同源的 iframe。要禁止用户在你的网页中插入。标签的 HTML 内容。
2025-05-09 10:44:00
861
原创 iframe介绍(HTML内联框架元素,允许HTML文档嵌入另一个独立HTML文档)(Web Components、Server-Side Integration)微前端架构
iframe作为Web平台的基础构建块之一,在特定场景下仍然具有不可替代的价值。通过深入理解iframe的工作原理、掌握安全最佳实践、灵活运用通信机制,可以在现代Web开发中安全高效地使用iframe技术,构建复杂而强大的Web应用。
2025-05-08 18:13:11
819
原创 Nginx日志配置中的main格式详解(Nginx main格式日志)log_format(记录HTTP请求关键信息,便于后续分析和故障排查)access.log(需要配置日志切割以避免文件过大)
main格式是Nginx日志配置中的核心元素,通过合理配置可以记录全面的请求信息,为系统监控、性能分析和安全审计提供重要数据支持。根据实际需求定制main格式,能够在保障性能的同时获取最有价值的访问信息。
2025-05-08 16:03:02
792
原创 Cursor降智找不到文件(Cursor降智)
解决办法,删除codebase index,最好再把那个Index new folders by default给设置为Disabled。这样设置貌似就不会出现找不到文件的情况了。
2025-05-08 15:46:00
833
Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-DSL工程文件(可直接导入)
2025-03-05
Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-Markdown示例文件
2025-03-05
auto.js安装包:app-v6-armeabi-v7a-release-unsigned-signed.apk
2024-02-11
auto.js安装包:app-v6-universal-release-unsigned-signed .apk
2024-02-10
raid卡配置教程(基于Ubuntu 20.04 操作系统安装指导书 (鲲鹏 920 处理器)安装)
2023-12-12
Ubuntu 20.04 操作系统 安装指导书 (鲲鹏920处理器)
2023-12-12
ffmpeg h264编码格式测试视频
2023-12-10
vsftpd-3.0.5
2022-08-22
CMD_right_click_key_menu_with_administration.reg
2019-08-29
Intel-RealSense-D400-Series-Datasheet
2019-07-29
为什么C++对整型常量的指针用const_cast并修改值后,出现了两个不一样的值?
2023-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人