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

清晰易懂的Cursor实现AI编程从安装到实战TodoList开发

一、Cursor简介与安装部署

什么是Cursor?

Cursor是一款基于AI的智能代码编辑器,它集成了强大的AI编程助手功能,能够通过自然语言交互帮助开发者生成、优化和调试代码。与传统的代码编辑器不同,Cursor可以理解你的编程意图,并直接生成可运行的代码片段,大幅提升开发效率。

系统要求

  • 操作系统:Windows 10/11、macOS 10.15+或Linux(Ubuntu 18.04+)
  • 内存:建议8GB以上
  • 存储空间:至少2GB可用空间

安装步骤

  1. 下载安装包

    • 访问Cursor官网下载适合你操作系统的版本
    • Windows用户选择.exe,Mac用户选择.dmg,Linux用户选择.deb.rpm
  2. 运行安装程序

    • Windows:右键以管理员身份运行安装程序
    • Mac:将Cursor图标拖拽到Applications文件夹
    • Linux:使用包管理器安装(如sudo dpkg -i cursor.deb
  3. 首次启动配置

    • 打开Cursor后,点击右上角设置图标
    • 注册账号(推荐使用163邮箱,QQ邮箱可能出现问题)
    • 登录后进入主界面
  4. 中文界面配置(可选):

    • 快捷键Ctrl+Shift+X打开扩展市场
    • 搜索"Chinese",安装中文语言包
    • 重启Cursor生效
  5. AI功能配置

    • 进入设置 → Features
    • 启用Composer功能(这是Cursor的核心AI功能)
    • 根据提示完成AI服务连接

二、Cursor基础操作与核心功能

1. 主要界面介绍

Cursor界面与VSCode类似,主要包含:

  • 资源管理器(左侧):文件目录结构
  • 编辑器区域(中间):代码编辑区
  • AI面板(右侧):与AI交互的对话窗口
  • 状态栏(底部):显示当前文件信息和状态

2. 核心快捷键

  • Ctrl+I:打开AI聊天窗口
  • Ctrl+L:打开新的AI聊天窗口
  • Tab:接受AI的代码建议
  • Ctrl+Enter:执行当前AI生成的代码
  • Ctrl+Shift+P:打开命令面板

3. AI编程模式

Cursor提供两种主要的AI编程模式:

  1. Chat模式

    • 类似ChatGPT的对话方式
    • 可以询问编程问题、请求代码解释等
    • 支持@web联网搜索和@docs知识库查询
  2. Composer模式

    • 更强大的代码生成功能
    • 可以根据自然语言描述生成完整函数或文件
    • 支持迭代修改和优化代码

三、实战:使用Cursor开发TodoList应用

下面我们将通过一个完整的TodoList应用开发示例,展示如何利用Cursor的AI能力高效编程。

1. 创建新项目

  1. 打开Cursor,点击"Open Folder"选择一个空文件夹作为项目目录
  2. 在AI面板中输入:
    请帮我创建一个React TodoList项目的基本结构,使用TypeScript和Vite
    
  3. Cursor会自动生成项目结构和配置文件
  4. 点击"Accept All"接受所有生成的文件

2. 实现核心功能

2.1 状态管理

在AI面板中输入:

请帮我创建一个Todo状态管理的Hook,包含以下功能:
1. 添加新任务
2. 切换任务完成状态
3. 删除任务
4. 使用localStorage持久化数据

Cursor会生成类似以下代码:

// src/hooks/useTodos.ts
import { useState, useEffect } from 'react';interface Todo {id: string;text: string;completed: boolean;
}export function useTodos() {const [todos, setTodos] = useState<Todo[]>(() => {const saved = localStorage.getItem('todos');return saved ? JSON.parse(saved) : [];});useEffect(() => {localStorage.setItem('todos', JSON.stringify(todos));}, [todos]);const addTodo = (text: string) => {setTodos([...todos, {id: Date.now().toString(),text,completed: false}]);};const toggleTodo = (id: string) => {setTodos(todos.map(todo =>todo.id === id ? { ...todo, completed: !todo.completed } : todo));};const deleteTodo = (id: string) => {setTodos(todos.filter(todo => todo.id !== id));};return { todos, addTodo, toggleTodo, deleteTodo };
}
2.2 主组件实现

输入:

请创建主App组件,包含:
1. 任务列表展示
2. 添加任务表单
3. 使用上面创建的useTodos Hook

生成代码示例:

// src/App.tsx
import { useTodos } from './hooks/useTodos';function App() {const { todos, addTodo, toggleTodo, deleteTodo } = useTodos();const [newTodo, setNewTodo] = useState('');const handleSubmit = (e: React.FormEvent) => {e.preventDefault();if (newTodo.trim()) {addTodo(newTodo);setNewTodo('');}};return (<div className="app"><h1>Todo List</h1><form onSubmit={handleSubmit}><inputtype="text"value={newTodo}onChange={(e) => setNewTodo(e.target.value)}placeholder="Add a new task..."/><button type="submit">Add</button></form><ul>{todos.map(todo => (<li key={todo.id}><inputtype="checkbox"checked={todo.completed}onChange={() => toggleTodo(todo.id)}/><span style={{ textDecoration: todo.completed ? 'line-through' : 'none' }}>{todo.text}</span><button onClick={() => deleteTodo(todo.id)}>Delete</button></li>))}</ul></div>);
}export default App;
2.3 添加样式

输入:

请为上面的TodoList添加美观的CSS样式

生成样式代码:

/* src/App.css */
.app {max-width: 600px;margin: 0 auto;padding: 20px;font-family: Arial, sans-serif;
}.app h1 {color: #333;text-align: center;
}.app form {display: flex;margin-bottom: 20px;
}.app input[type="text"] {flex: 1;padding: 10px;font-size: 16px;border: 1px solid #ddd;border-radius: 4px;
}.app button {padding: 10px 15px;background-color: #4CAF50;color: white;border: none;border-radius: 4px;cursor: pointer;margin-left: 10px;
}.app ul {list-style: none;padding: 0;
}.app li {display: flex;align-items: center;padding: 10px;border-bottom: 1px solid #eee;
}.app li input[type="checkbox"] {margin-right: 10px;
}.app li span {flex: 1;
}.app li button {background-color: #f44336;margin-left: 10px;
}

3. 运行与调试

  1. 在AI面板中输入:
    请告诉我如何运行这个React项目
    
  2. Cursor会提供运行指令:
    npm install
    npm run dev
    
  3. 如果遇到错误,可以直接将错误信息粘贴到AI面板中,Cursor会帮助解决

四、Cursor高级技巧与最佳实践

1. 迭代开发技巧

  • 渐进式开发:先让AI生成基础功能,再逐步添加复杂特性
  • 精准提示:给AI明确的指令,如"请添加任务分类功能,每个任务可以属于’工作’、'个人’或’学习’类别"
  • 代码优化:可以要求AI"请优化这段代码的性能"或"请使这段代码更易读"

2. 调试与问题解决

当遇到问题时:

  1. 将错误信息直接复制到AI面板
  2. 描述你期望的行为
  3. 让AI分析问题并提供解决方案

例如:

我遇到了这个错误:TypeError: Cannot read property 'map' of undefined
这个错误发生在TodoList组件渲染时,我的数据明明已经初始化了,请帮我解决

3. 代码解释与学习

对于AI生成的代码,如果不理解可以询问:

请解释这段代码的工作原理:[粘贴代码]

Cursor会详细解释代码的每个部分,这是学习编程的好方法

五、注意事项与常见问题

1. 使用限制

  • Cursor免费版有生成代码行数限制(约750-800行)
  • 频繁使用可能触发机器码锁定(可通过修改机器码文件解决)

2. 安全问题

  • 仔细审查AI生成的代码,特别是涉及敏感操作的部分
  • 不要完全依赖AI,关键业务逻辑应该手动验证

3. 最佳实践

  1. 不要完全依赖AI:将AI作为助手而非替代品
  2. 保持学习:理解AI生成的代码而不仅仅是复制粘贴
  3. 定期保存:虽然Cursor有自动保存功能,但重要更改还是手动保存为好

六、总结

通过本教程,你已经学会了:

  1. 如何安装和配置Cursor
  2. Cursor的基本操作和核心功能
  3. 使用Cursor开发一个完整的TodoList应用
  4. Cursor的高级使用技巧和最佳实践

Cursor作为一款AI编程助手,能够显著提升开发效率,特别是对于初学者来说,它可以帮助你快速实现想法并学习编程概念。记住,AI是强大的工具,但编程的核心仍然是解决问题和创造性思考。

现在,你可以尝试使用Cursor开发自己的项目了!从简单的功能开始,逐步探索Cursor的更多可能性。

相关文章:

清晰易懂的Cursor实现AI编程从安装到实战TodoList开发

一、Cursor简介与安装部署 什么是Cursor&#xff1f; Cursor是一款基于AI的智能代码编辑器&#xff0c;它集成了强大的AI编程助手功能&#xff0c;能够通过自然语言交互帮助开发者生成、优化和调试代码。与传统的代码编辑器不同&#xff0c;Cursor可以理解你的编程意图&#…...

(二) 深入了解AVFoundation - 播放:AVFoundation 播放基础入门

引言 AVFoundation 是 Apple 提供的强大多媒体框架&#xff0c;支持音视频播放、录制、处理等功能。在 iOS 开发中&#xff0c;AVFoundation 是实现视频播放的核心技术之一。 本篇文章将简单介绍如何使用 AVPlayer、AVPlayerItem 和 AVPlayerLayer 进行视频播放&#xff0c;并…...

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案!

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案&#xff01; 稳联技术Profinet转CANopen网关应运而生——它如同一座智能桥梁☺&#xff0c;打通两大主流工业协议&#xff0c;让异构网络无缝互联&#xff0c;助您释放设备潜力&#xff0c;实现真正的“万物互联”&…...

【问题解决】Linux安装conda修改~/.bashrc配置文件后,root 用户下显示 -bash-4.2#

问题描述 在Linux安装conda下的python环境时候&#xff0c;修改了~/.bashrc文件&#xff0c;修改完成后&#xff0c;再次进入服务器后&#xff0c;登录时候显示的不是正常的[rootlocalhost ~]#&#xff0c;而是-bash-4.2# 原因分析&#xff1a; 网上原因有&#xff1a;/root下…...

关于deepseek

DeepSeek&#xff1a;领先的人工智能研究与创新公司 公司简介 DeepSeek&#xff08;深度求索&#xff09;是一家专注于人工智能&#xff08;AI&#xff09;技术研发的创新公司&#xff0c;致力于推动大模型、自然语言处理&#xff08;NLP&#xff09;、机器学习&#xff08;M…...

EtherCAT转ProfiNet协议转换网关构建西门子PLC与海克斯康机器人的冗余通信链路

一、案例背景 某电子制造企业的5G通信模块组装线&#xff0c;采用西门子S7-1200PLC&#xff08;ProfiNet主站&#xff09;进行产线调度&#xff0c;而精密组装工序由3台海克斯康工业机器人&#xff08;EtherCAT从站&#xff09;完成。由于协议差异&#xff0c;机器人动作与PLC…...

李宏毅机器学习笔记(1)—机器学习基本概念+深度学习基本概念

机器学习基本概念 1、获取模型 步骤 1.1、假定未知函数 带未知参数的函数 1.2、定义损失函数 真实值&#xff1a;label MAE MSE 几率分布&#xff0c;cross-entropy? 1.3、优化 单独考虑一个参数 让损失函数最小&#xff0c;找导数为零的点 单独考虑w&#xff0c;w…...

RAG生成中的多文档动态融合及去重加权策略探讨

目录 RAG生成中的多文档动态融合及去重加权策略探讨 一、RAG生成概述 二、多文档动态融合策略 1. 拼接与分段编码 2. 独立编码与后续融合 3. 基于查询的动态加权 三、检索结果的去重与加权策略 1. 去重策略 2. 加权策略 四、实践中的挑战与思考 五、结语 RAG生成中的…...

对匿名认证的理解

概述&#xff1a;在 Spring Security 中&#xff0c;** 匿名认证&#xff08;Anonymous Authentication&#xff09;** 是一种特殊的认证机制&#xff0c;用于处理未提供有效凭证的请求。 匿名认证的本质 目的&#xff1a;允许未认证用户访问特定资源。原理&#xff1a; 当请求…...

leetcoed0044. 通配符匹配 hard

1 题目&#xff1a;通配符匹配 官方难度&#xff1a;难 给你一个输入字符串 (s) 和一个字符模式 ( p ) &#xff0c;请你实现一个支持 ‘?’ 和 ‘*’ 匹配规则的通配符匹配&#xff1a; ‘?’ 可以匹配任何单个字符。 ‘*’ 可以匹配任意字符序列&#xff08;包括空字符序…...

航拍数据集汇总,覆盖车辆/船舶检测/物体评估/城市景观……

随着无人机的普及化和计算机视觉技术的迅猛发展&#xff0c;无人机航拍作为一种创新的摄影方式&#xff0c;正以前所未有的速度走进大众视野。它打破了传统拍摄的局限&#xff0c;为我们开启了「上帝视角」。航拍硬件性能逐渐逼近物理极限&#xff0c;算法优化的难度也日益增大…...

【SECS】初识SECS协议

【SECS】初识SECS协议 基本知识流和功能函数数量官方文件中缩写标注正常是不是都是主机向设备端?对数据信息中第1字节第1-2位官网介绍 S1F1双向指令说明测试H发起端E发起端 参考资料 基本知识 SECS&#xff08;SEMI Equipment Communications Standard&#xff09;即半导体设…...

RL基础以及AlphaGo、AlphaGo Zero原理

RL基础 Q价值函数和状态价值函数 Action-Value function&#xff1a; Q ( s , a ) Q(s, a) Q(s,a)是agent在状态s下执行某一个动作&#xff08;如向上走&#xff09;&#xff0c;所获得的及时奖励和未来折扣的累计奖励 State-Value function&#xff1a; V ( s ) V(s) V(s)是…...

Android R adb remount 调用流程

目的&#xff1a;调查adb remount 与adb shell进去后执行remount的差异 调试方法&#xff1a;添加log编译adbd,替换system\apex\com.android.adbd\bin\adbd 一、调查adb remount实现 关键代码&#xff1a;system\core\adb\daemon\services.cpp unique_fd daemon_service_to…...

uvm sequence

UVM Sequence 是验证环境中生成和控制事务&#xff08;Transaction&#xff09;流的核心机制&#xff0c;它通过动态生成、随机化和调度事务&#xff0c;实现灵活多样的测试场景。以下是Sequence的详细解析&#xff1a; Sequence 的核心作用 事务流生成&#xff1a;通过 uvm_s…...

Java 代理(一) 静态代理

学习代理的设计模式的时候&#xff0c;经常碰到的一个经典场景就是想统计某个方法的执行时间。 1 静态代理模式的产生 需求1. 统计方法执行时间 统计方法执行时间&#xff0c;在很多API/性能监控中都有这个需求。 下面以简单的计算器为例子&#xff0c;计算加法耗时。代码如下…...

《初级社会工作者》考试题,附答案解析

一、单项选择题&#xff08;共 60 题&#xff0c;每题 1 分&#xff09; 1. 社会工作者在社区中开展针对留守儿童的支持小组活动&#xff0c;发现一名儿童因父母长期外出务工而产生严重的分离焦虑。此时&#xff0c;社会工作者应首先采取的介入策略是&#xff08; &#xff09…...

网盘解析工具1.3.0,修改了一些bug,建议更新到此版本

最近问题反馈比较多&#xff0c;本来想着周末再更新了来着&#xff0c;但是账号黑的实在太快了。排查了下应该是某度网盘的一个接口缺少了一些参数&#xff0c;导致一直进黑名单。所幸参数不难找&#xff0c;新版本已经修复了&#xff0c;建议大家赶紧更新到1.3.0版本&#xff…...

Multi-Stage Progressive Image Restoration论文阅读

摘要 图像复原任务在恢复图像时需要在空间细节与高层语境化信息之间取得复杂的平衡。本文提出了一种新颖的协同设计方法&#xff0c;能够最优地平衡这些竞争目标。我们的核心方案是一种多阶段架构&#xff0c;通过逐步学习退化输入的复原函数&#xff0c;将整体恢复过程分解为…...

了解图像质量评价指标PSNR

一、PSNR是什么 1.1 定义与数学公式 峰值信噪比&#xff08;Peak Signal-to-Noise Ratio&#xff0c;PSNR&#xff09;是数字图像处理领域最经典的客观质量评价指标之一。其核心思想是通过计算原始图像与失真图像之间的均方误差&#xff08;MSE&#xff09;来衡量失真程度&am…...

C++概述

1 什么是面向对象】 概念上来说&#xff1a;就是以对象(具体的变量)为导向的编程思路 专注于&#xff1a;一个对象具体能实现哪些过程(哪些功能) 面向对象 n * 面向过程 结论&#xff1a;面向对象需要做的事情 1&#xff1a;我们要想清楚&#xff0c;我们现在需要编写一个…...

axios文件下载使用后端传递的名称

java后端通过HttpServletResponse 返回文件流 在Content-Disposition中插入文件名 一定要设置Access-Control-Expose-Headers&#xff0c;代表跨域该Content-Disposition返回Header可读&#xff0c;如果没有&#xff0c;前端是取不到Content-Disposition的&#xff0c;可以在统…...

如何让 history 记录命令执行时间?Linux/macOS 终端时间戳设置指南

引言:你真的会用 history 吗? 有没有遇到过这样的情况:你想回顾某个重要命令的执行记录,却发现 history 只列出了命令序号和内容,根本没有时间戳?这在运维排查、故障分析、甚至审计时都会带来极大的不便。 想象一下,你在服务器上误删了某个文件,但不知道具体是几点执…...

使用LLaMAFactory微调Qwen大模型

一、环境配置与工具安装 1. 硬件要求 GPU:至少1块NVIDIA GPU(推荐RTX 4090/A100/H100,显存≥16GB)。内存:≥64GB系统内存。存储:≥100GB硬盘空间用于模型与数据集存储。2. 软件依赖 Python 3.8+:需安装CUDA支持的PyTorch版本(如torch==2.0.1+cu117)。 依赖库:通过以…...

CSS3:现代Web设计的魔法卷轴

一、布局革命&#xff1a;从平面到多维空间 1.1 Grid布局的次元突破 星际战舰布局系统 .galaxy {display: grid;grid-template-areas: "nav nav nav""sidebar content ads""footer footer footer";grid-template-rows: 80px 1fr 120p…...

Netty - 从Nginx 四层(TCP/UDP)流量中获取客户端真实/网络出口IP

文章目录 一、背景与原理1.1 问题场景网络架构影响分析1.1 客户端与Nginx之间存在的NAT/VPN1.2 Nginx与RPC服务之间的NAT 1.2 技术原理 二、环境配置验证2.1 Nginx配置2.2 版本要求 三、Netty服务端实现3.1 Pipeline配置&#xff08;核心代码&#xff09;3.2 协议处理器实现3.3…...

基于Spring AI开发本地Jenkins MCP Server服务

前言 首先介绍下MCP是什么&#xff1f; MCP是由开发了 Claude 模型的 Anthropic 公司2024年12月提出并开源的一项开放标准&#xff0c;全称&#xff1a;Model Context Protocol&#xff0c;它是一个开放协议&#xff0c;它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能…...

记录一次TDSQL事务太大拆过binlog阈值报错

记录一次TDSQL事务太大拆过binlog阈值报错处理过程 1、排查任何类型数据库故障的第一步&#xff0c; 同步实例信息、报错内容、报错时间段、当前是否恢复、如何感知到数据库问题的、对应用有什么影响、系统允许的时间窗口。 2、明确报错内容为单次写入binlog量超过阈值 3、登陆…...

1688商品详情接口:深度解析与应用实践

在电商领域&#xff0c;1688作为中国领先的B2B平台&#xff0c;拥有海量的商品信息。对于开发者、商家和数据分析师来说&#xff0c;获取1688商品的详细信息是实现数据分析、竞品研究、自动化管理和精准营销的重要手段。本文将详细介绍1688商品详情接口的使用方法、技术细节以及…...

机试题——村落基站建设

题目描述 假设村落以二叉树的形状分布&#xff0c;我们需要选择在哪些村落建设基站。如果某个村落建设了基站&#xff0c;那么它和它相邻的村落&#xff08;包括本节点、父节点和子节点&#xff09;也会有信号覆盖。目标是计算出最少需要建设的基站数。 输入描述 输入为一个…...

2025年高压电工考试真题分享

以下是一些高压电工考试题&#xff1a; 单选题 1、高压架空线路的档距一般为&#xff08; &#xff09;。 A. 20 - 30m B. 30 - 50m C. 50 - 80m D. 80 - 100m 答案&#xff1a;B。解析&#xff1a;高压架空线路档距一般在 30 - 50m&#xff0c;这样的档距能较好地保证线…...

T-SQL 语言基础:逆透视转换

概念 -- 把数据从列的转台转为行的状态-- 涉及查询数据的透视状态&#xff0c;将来自单个记录中多个列的值扩展为单个列中具有相同值的多个记录-- 也就是把透视表中的每个源行潜在地转换为多个行示例表继续使用上一篇博客&#xff0c;TempDB dbo.Orders 表。 T-SQL 语言基础&a…...

循环神经网络 - 给网络增加记忆能力

为了处理时序数据并利用其历史信息&#xff0c; 我们需要让网络具有短期记忆能力。而前馈网络是一种静态网络&#xff0c;不具备这种记忆能力。在正式学习循环神经网络之前&#xff0c;我们先来了解一下给网络增加短期记忆能力的三种方法。 一、延时神经网络 延时神经网络&am…...

Docker Desktop 界面功能介绍

Docker Desktop 界面功能介绍 左侧导航栏 Containers(容器): 用于管理容器,包括查看运行中或已停止的容器,检查容器状态、日志,执行容器内命令,启动、停止、删除容器等操作。Images(镜像): 管理本地 Docker 镜像,可查看镜像列表、从 Docker Hub 拉取新镜像、删除镜…...

R001-区块链

1.区块链概念 英文名&#xff1a;blockchain 或block chain what: 是一种块链式存储、不可篡改、安全可信的去中心化分布式账本. 特点&#xff1a;它结合了分布式存储、点对点传输、共识机制、密码学等技术&#xff0c;通过不断增长的数据块链&#xff08;Blocks&#xff09;记…...

无人机进行航空数据收集对于分析道路状况非常有用-使用无人机勘测高速公路而不阻碍交通-

无人机进行航空数据收集对于分析道路状况非常有用-使用无人机勘测高速公路而不阻碍交通- 瑞士拥有1,400 多公里长的高速公路网络。这些公路将人和货物从山谷高原运送到阿尔卑斯山的最高山口。维护这些高速公路使国家得以顺利运转。高速公路维护的重要性显而易见&#xff0c;但在…...

StarRocks 证书SRCA和SRCP

目录 引子 SRCA认证 SRCP认证 认证流程 引子 StarRocks介绍&#xff1a;极速全场景 MPP数据库starrocks介绍-CSDN博客 StarRocks中文社区推出了StarRocks 培训与认证&#xff0c;学习并通过考试后&#xff0c;可以得到StarRocks证书。对starrocks感兴趣或需要使用starrocks的…...

String类的模拟实现

我们在使用STL库的时候&#xff0c;不仅需要掌握如何使用&#xff0c;我们还需要了解一些底层的模拟实现。 1&#xff1a;需要模拟实现的string类函数 #pragma once #include<iostream> #include<assert.h> #include<utility> using namespace std;namespa…...

VMware Windows Tools 存在认证绕过漏洞(CVE-2025-22230)

漏洞概述 博通公司&#xff08;Broadcom&#xff09;近日修复了 VMware Windows Tools 中存在的一个高危认证绕过漏洞&#xff0c;该漏洞编号为 CVE-2025-22230&#xff08;CVSS 评分为 9.8&#xff09;。VMware Windows Tools 是一套实用程序套件&#xff0c;可提升运行在 VM…...

【计算机网络ICMP协议详解】

文章目录 一、前言二、ICMP协议概述2.1 ICMP 与 IP 协议的关系2.2 ICMP 的作用 三、ICMP报文格式3.1 字段解释&#xff1a; 四、常见ICMP类型与代码五、ICMP协议工作原理与示例5.1 ping 命令5.2 traceroute 命令 六、ICMP与网络安全6.1 ICMP的安全隐患6.2 防御措施 七、ICMP协议…...

WPF 自定义路由事件

WPF 路由事件的基础 什么是路由事件&#xff1f; 路由事件是一种特殊的事件机制&#xff0c;允许事件在可视化树中传播。它支持三种路由策略&#xff1a; 冒泡&#xff08;Bubbling&#xff09;&#xff1a;事件从源元素向上传播到根元素。隧道&#xff08;Tunneling&#xf…...

从零开始跑通3DGS教程:(一)数据(采集)

写在前面 本文内容 本文所属《从零开始跑通3DGS教程》系列文章; 本文介绍数据准备或者采集准备方式 平台/环境 linux, nvidia GPU, docker 转载请注明出处&#xff1a; https://blog.csdn.net/qq_41102371/article/details/146533367 目录 写在前面系列文章公开数据自己的数…...

DATEDIFF 函数

DATEDIFF 函数概述 DATEDIFF 函数用于计算两个日期之间的差值。 不同的数据库系统对 DATEDIFF 函数的实现和语法可能略有不同&#xff0c;但基本原理是相同的。 通用语法 DATEDIFF(datepart, startdate, enddate)datepart: 指定要计算的日期部分。 例如&#xff0c;day、wee…...

Java 大视界 -- 基于 Java 的大数据隐私计算在医疗影像数据共享中的实践探索(158)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

在Windows下VSCodeSSH远程登录到Ubuntu

Window用VSCode通过SSH远程登录Ubuntu SSH 服务开启Windows远程登录 SSH 服务开启 首先要确保 Ubuntu 的 SSH 服务开启了&#xff0c;开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu 开启 SSH sudo apt-get install openssh-serverWindows远…...

MATLAB 控制系统设计与仿真 - 31

二次型最优控制 考虑到系统如果以状态空间方程的形式给出&#xff0c;其性能指标为&#xff1a; 其中F,Q,R是有设计者事先选定。线性二次最优控制问题简称LQ(Linear Quadractic)问题,就是寻找一个控制,使得系统沿着由指定初态出发的相应轨迹,其性能指标J取得最小值。 LQ问题分…...

基于SpringBoot + Vue 的考勤管理系统

系统环境 开发工具&#xff1a;IntelliJ IDEAJava 版本&#xff1a;JDK 1.8数据库&#xff1a;MySQL项目构建工具&#xff1a;Maven 项目主要技术 后端技术 Spring Boot&#xff1a;简化 Spring 应用开发流程&#xff0c;实现快速搭建和部署。MyBatis&#xff1a;用于实现数…...

JavaScript 中Object.assign()和展开运算符在对象合并时的区别,各自的适用场景是什么?

JavaScript 中Object.assign()和展开运算符在对象合并时的区别&#xff0c;各自的适用场景是什么&#xff1f; 在 JavaScript 里&#xff0c;咱们常常要把多个对象合并成一个新对象。Object.assign()和展开运算符&#xff08;...&#xff09;就像两个得力小助手&#xff0c;能…...

鸿蒙北向应用开发:deveco 5.0 kit化文件相关2

鸿蒙北向应用开发:deveco 5.0 kit化文件相关 在kit化时,有时候会出现这样一种场景即你想把已有的d.ts导出换个名字,这样从名字上更贴合你的kit聚合 什么意思呢?比如现在有 ohos.hilog.d.ts 导出了hilog,现在你想kit化hilog,使得hilog导出名字为usrhilog,这样用户在使用你的k…...

北斗导航 | 改进伪距残差矢量的接收机自主完好性监测算法原理,公式,应用,RAIM算法研究综述,matlab代码

改进伪距残差矢量的接收机自主完好性监测算法研究 摘要 接收机自主完好性监测(RAIM)是保障全球卫星导航系统(GNSS)可靠性的核心技术。本文针对传统伪距残差矢量法在微小故障检测和多故障隔离中的不足,提出一种融合加权奇偶空间与动态阈值调整的改进算法。通过理论推导验证…...