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

【AI】AI编程助手:Cursor、Codeium、GitHub Copilot、Roo Cline、Tabnine

文章目录

  • 一、基本特性对比
  • 二、收费标准
  • 三、私有部署能力
    • 1、Tabnine
    • 2、Roo Code
  • 三、代码补全与自然语言生成代码
  • 四、安装
    • 独立的IDE安装
    • 插件安装
  • 五、基本使用
    • (一)Cursor
    • (二)GitHub Copilot
      • 1、获取代码建议
      • 2.聊天
        • 1)上下文
        • 2)Chat participants
        • 3)Slash Commands
        • 4)切换AI模型
        • 5)Inline Chat
        • 6)Terminal Inline Chat
        • 7)智能操作
      • 3、Copilot Edits
      • 4、自定义指令
    • (三)Windsurf/Codeium
  • 参考

一、基本特性对比

在这里插入图片描述

二、收费标准

Cursor:https://www.cursor.com/pricing
Windsurf/Codeium: https://codeium.com/pricing
GitHub Copilot: https://github.com/features/copilot/plans
Tabnine: https://www.tabnine.com/pricing/

三、私有部署能力

Tabnine与Roo Code均支持私有部署。

1、Tabnine

它仅支持企业客户,可以选择部署一个私有的、自托管版本的 Tabnine 集群。

部署选项

  • 在 AWS、GCP 或 Azure 上的虚拟私有云(VPC)
  • 在您自己的服务器上进行本地部署

私有安装可以部署在完全隔离的环境中。

官方文档:https://docs.tabnine.com/main/administering-tabnine/private-installation

2、Roo Code

它是通过Ollama 或 LM Studio实现的。
官方文档:https://docs.roocode.com/advanced-usage/local-models

三、代码补全与自然语言生成代码

除Tabnine外,其他均支持所有的主流语言,Tabnine仅完全支持JavaScript、TypeScript、Python、Java、C++、PHP,明细见https://docs.tabnine.com/main/welcome/readme/supported-languages

四、安装

独立的IDE安装

Cursor:https://www.cursor.com/

Windsurf/Codeium:https://codeium.com/windsurf/download_confirmation?code=ma

插件安装

GitHub Copilot:vscode://GitHub.copilot/
Tabnine:支持多个IDE

  • vscode:vscode:extension/TabNine.tabnine-vscode

Roo Cline:vscode:extension/RooVeterinaryInc.roo-cline

五、基本使用

(一)Cursor

https://mp.weixin.qq.com/s/tCpW_Dt-Vy2CYjyUHeFL4g

(二)GitHub Copilot

官方文档:https://code.visualstudio.com/docs/copilot/overview

安装完VSCode插件后,可以在这里打开它:
在这里插入图片描述

1、获取代码建议

与Cursor类似,输入后Copilot会自动建议函数的剩余部分,如果接受,按Tab;如果拒绝,按Esc。
在这里插入图片描述
根据注释生成代码:
在这里插入图片描述
它也支持多个建议:
在这里插入图片描述
支持快捷键切换:
在这里插入图片描述

如果只想接收部分建议,可以使用快捷键⌘→。

2.聊天

安装完VSCode插件后,可以在这里打开聊天窗口,或使用快捷键Control+Command+i (Mac) / Ctrl+Alt+i (Windows/Linux):
在这里插入图片描述

1)上下文

默认上下文是你当前打开正在看的文件,或当前选中代码,如果你想更改上下文,有的几种方式:

  • 拖拽文件进聊天窗口
  • 点击链接的按钮(⌘/),然后从Quick Pick 菜单中选择一种上下文类型:

在这里插入图片描述
通过输入# 字符,也可以使用聊天变量(Chat Variables),并看到可用的变量列表。

  • #codebase:将整个代码库作为上下文提供给 Copilot Chat,当希望 Copilot 参考整个项目结构、文件关系或全局逻辑时使用。
  • #editor:将当前活动的编辑器内容作为上下文,当希望 Copilot 基于当前编辑器中的完整内容进行解释、修复或优化时使用。
  • #file:从工作区中添加特定文件的内容或路径。
  • #selection:将当前编辑器中选中的代码添加到聊天提示中。
  • #sym:添加工作区中的某个符号(如函数名、类名或变量名)。
  • #terminalLastCommand:将终端中最近运行的命令作为上下文提供给 Copilot Chat,当需要调试、优化或解释终端命令时使用。
  • #terminalSelection:将终端中选中的文本作为上下文提供给 Copilot Chat,当需要详细分析选中的终端输出内容时使用,比如错误日志。
  • #vscodeAPI:将 Visual Studio Code 提供的 API 作为上下文,用于帮助开发扩展或自动化工作流程,当需要了解 VS Code API 的功能或如何使用特定 API 时使用。
    在这里插入图片描述
  • 直接右击文件选择:
    在这里插入图片描述
2)Chat participants

这个就像领域专家,可以在其专业领域提供帮助。使用时直接在聊天输入框中键入@会展示所有的:
在这里插入图片描述

@github:了解并具备处理 GitHub 仓库、问题(Issues)、拉取请求(PRs)等相关操作的技能;它额外还可以使用 Bing API 执行网络搜索。比如:

  • 检查或管理 GitHub 仓库中的问题和 PR。
  • 查询代码库相关的信息。
  • 搜索与开发或代码相关的网络资源。

@terminal:了解集成终端(shell)及其内容。比如:

  • 协助调试终端命令。
  • 解释终端输出内容。
  • 帮助优化或修复终端中的命令操作。

@vscode:了解 Visual Studio Code 的功能、设置及其 API。比如:

  • 指导使用 VS Code 的特性或快捷键。
  • 帮助调整 VS Code 设置。
  • 提供与 VS Code API 相关的开发建议或示例代码。

@workspace:了解工作区中的代码。比如:

  • 帮助导航代码库。
  • 查找相关的类、函数或文件。
  • 提供有关代码结构、交互或设计模式的建议。

你也可以从Visual Studio Code Marketplace或GitHub Marketplace安装其他的Chat participants。

  • Visual Studio Code Marketplace:https://marketplace.visualstudio.com/search?term=tag%3Achat-participant&target=VSCode&category=All%20categories&sortBy=Relevance
  • GitHub Marketplace:https://github.com/marketplace
3)Slash Commands

它提供了一种快捷方式,用于执行特定的指令,从而避免编写复杂的提示。只需输入/字符,然后输入命令即可,Chat participants也可以贡献自己的斜杠命令。

在这里插入图片描述

常用内置斜杠命令:

  • /clear:开始一个新的聊天会话。
  • /help:获取关于使用 GitHub Copilot 的帮助。
  • @workspace /explain(或/explain):解释选定代码的功能。
  • @workspace /fix(或/fix):提出修复选定代码问题的建议。
  • @workspace /new(或/new):为新工作区或新文件生成代码框架。
  • @vscode /runCommand:搜索或运行一个 VS Code 命令。
4)切换AI模型

可以在聊天窗口点击AI模型切换:
在这里插入图片描述
以下是当前Copilot Chat 使用的模型:

  • GPT 4o: 这是 Copilot Chat 的默认模型,它是一个多功能的多模态模型,在文本和图像处理方面表现出色,旨在提供快速可靠的响应;它在非英语语言方面也有出色表现;该模型部署在 Azure 上。
  • Claude 3.5 Sonnet: 该模型在整个软件开发生命周期的编码任务中表现出色,包括初始设计、bug修复、维护和优化;GitHub Copilot 使用部署在 Amazon Web Services 上的 Claude 3.5 Sonnet。
  • Gemini 2.0 Flash: 该模型具有强大的编码、数学和推理能力,非常适合协助软件开发;该模型部署在 Google Cloud 上。o1: 该模型专注于高级推理和解决复杂问题,特别是在数学和科学领域;响应速度比 GPT 4o 模型慢;每天可向该模型发出 10 次请求;该模型部署在 Azure 上。o3-mini: 这是继 o1 和 o1-mini 之后的新一代推理模型;
  • o3-mini 模型在编码基准测试上优于 o1,响应时间与 o1-mini 相当,以几乎相同的延迟提供更好的质量;最适合代码生成和小上下文操作;每 12 小时可向该模型发出 50 次请求;该模型部署在 Azure 上。
5)Inline Chat

支持在编辑器内直接提交prompt并获取代码建议,无需离开当前工作环境;要启动编辑器行内聊天,在任何文件中使用⌘I快捷键;或者打开文件后,从标题栏的Copilot菜单中选择编辑器行内聊天即可。
在这里插入图片描述
Copilot在编辑器中直接显示代码建议,你可以:

  • 接受建议:⌘
  • Enter丢弃建议:Esc

不满意时可以为相同的prompt生成新的代码建议
在这里插入图片描述
当然,你也可以在编辑器中选中某段代码进行询问,不过该行为将限定你的问题限定在该选区范围内(即添加聊天上下文)。

如果想对比行内聊天建议,可以配置 inlineChat.mode 设置为preview:
在这里插入图片描述
设置后效果:
在这里插入图片描述

6)Terminal Inline Chat

和Inline Chat类似,但它作用于命令行,使用的是@terminal聊天参与者,能访问集成终端的 shell 和内容上下文,在命令行中按 ⌘I 快捷键即可启动终端行内聊天:

在这里插入图片描述
若接受建议,可以采用以下快捷键:

  • 执行:⌘Enter
  • 插入:⌥Enter 插入命令到终端
7)智能操作

选中代码右击即可看到Explain、Fix、Review and Comment、Generate Docs、Generate Tests
在这里插入图片描述
上面的入口有点深,不过使用过程中若发现问题,它也会在行内提示:
在这里插入图片描述
当然,选中某些字符,这一行的前面也会出现一个快捷icon:
在这里插入图片描述
可点击展开快捷操作:
在这里插入图片描述
下面是我通过Review using Coplit的结构,若有建议,当前行将加入留言,可以点击展开,另外在命令行中的Comments也可以看到:

在这里插入图片描述

3、Copilot Edits

与Cursor的Composer类似,Copilot的Edits也是直接在多个文件中快速迭代代码,修改会直接应用在编辑器中。

在这里插入图片描述
可以直接点击右上角的tab切换,或使用快捷键⇧⌘I,还可以在标题上展开Copilot的菜单:
在这里插入图片描述

4、自定义指令

与Cursor的自定义指令类似,可以为Copilot提供团队工作流、工具和项目细节,无需在每次对话中重复,它包含四种指令类型:

  • 代码生成 - 定义代码风格,如私有变量前缀规则
  • 测试生成 - 指定测试框架等测试相关要求
  • 代码审查 - 设置代码审查重点
  • 提交信息生成 - 规范提交信息格式

官网文档讲解很详细,有需要可以直接看官网:https://code.visualstudio.com/docs/copilot/copilot-customization

(三)Windsurf/Codeium

参考

  • AI编程助手
  • 【AI】Cursor基本使用

相关文章:

【AI】AI编程助手:Cursor、Codeium、GitHub Copilot、Roo Cline、Tabnine

文章目录 一、基本特性对比二、收费标准三、私有部署能力1、Tabnine2、Roo Code 三、代码补全与自然语言生成代码四、安装独立的IDE安装插件安装 五、基本使用(一)Cursor(二)GitHub Copilot1、获取代码建议2.聊天1)上下…...

Android audio(8)-native音频服务的启动与协作(audiopolicyservice和audioflinger)

音频策略的构建 1、概述 2、AudiopolicyService 2.1 任务 2.2 启动流程 2.2.1 加载audio_policy.conf(xml)配置文件 2.2.2 初始化各种音频流对应的音量调节点 2.2.3 加载audio policy硬件抽象库 2.2.4设置输出设备 ps:audiopatch流程简介 2.2.5打开输出设…...

光纤通道 VS iSCSI:存储架构选型的关键抉择

光纤通道 VS iSCSI:存储架构选型的关键抉择 在企业运维中,存储网络的选择可以说是至关重要的一环。尤其是光纤通道(Fibre Channel,简称FC)和iSCSI存储,这两种主流解决方案各有千秋,常常让运维工程师在选型时感到纠结。为了帮大家理清头绪,我们今天就从架构、性能、成本…...

HarmonyOS Next中的弹出框使用

HarmonyOS Next弹出框概述及分类 弹出框是一种模态窗口,通常用于在保持当前上下文环境的同时,临时展示用户需关注的信息或待处理的操作。用户需在模态弹出框内完成相关交互任务之后,才能退出模态模式。弹出框可以不与任何组件绑定&#xff0…...

Binder机制源码分析

Binder机制源码分析 一、前言 Binder是Android系统中最重要的进程间通信机制,它不仅是应用程序和系统服务通信的基础,也是Android系统安全机制的重要组成部分。本文将深入分析Binder机制的实现原理,帮助读者理解Android系统的核心通信机制。…...

第5课 树莓派的Python IDE—Thonny

1. Thonny的特点 Thonny是一款面向初学者的Python IDE。它由爱沙尼亚的 Tartu 大学开发,其调试器是专为学习和教学编程而设计的。Thonny具有如下特点 易于上手。Thonny 内置了 Python 3.7,因此只需要一个简单的安装程序,你就可以开始学习编程了(如有必要,您还可以使用单独…...

位运算题目:或运算的最小翻转次数

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:或运算的最小翻转次数 出处:1318. 或运算的最小翻转次数 难度 4 级 题目描述 要求 给定三个正整数 a \texttt{a} a、 b \texttt{b} b…...

Java 实现排序算法 TopK 问题

1. 低级排序 &#xff08;1&#xff09;冒泡排序&#xff08;Bubble Sort&#xff09; 思路&#xff1a; 每次从左到右冒泡&#xff0c;把最大的数推到最后。 public class BubbleSort {public static void bubbleSort(int[] arr) {int n arr.length;for (int i 0; i <…...

【JavaEE】网络编程socket

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

第J3周:DenseNet121算法实现01(Pytorch版)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标 具体实现 &#xff08;一&#xff09;环境 语言环境&#xff1a;Python 3.10 编 译 器: PyCharm 框 架: Pytorch &#xff08;二&#xff09;具体步骤…...

在Ubuntu20.04上交叉编译能在Windows上运行的Qt5应用

参考链接&#xff1a; https://blog.csdn.net/Interview_TC/article/details/146050419 https://bugreports.qt.io/browse/QTBUG-82592 重要设置 sudo update-alternatives --config x86_64-w64-mingw32-g 选择后缀带posix的&#xff0c;&#xff08;/usr/bin/x86_64-w64-min…...

C语言中,memmove和memcpy的区别?

文章目录 1. 内存重叠处理memcpy&#xff1a;memmove&#xff1a; 2. 性能差异总结 在C语言中&#xff0c;memmove和memcpy均用于内存块的复制&#xff0c;但关键区别在于对内存重叠的处理&#xff1a; 1. 内存重叠处理 memcpy&#xff1a; 假设源&#xff08;src&#xff0…...

小程序API —— 54 路由与通信 - 编程式导航

在小程序中实现页面的跳转&#xff0c;有两种方式&#xff1a; 声明式导航&#xff1a;navigator 组件编程式导航&#xff1a;使用小程序提供的 API 编程式导航 API 提供了五个常用的 API 方法&#xff1a; wx.navigateTo()&#xff1a;保留当前页面&#xff0c;跳转到应用内…...

2025 使用docker部署centos7容器并且需要centos7容器能通过ssh登录SSH 登录的CentOS7容器

以下是使用 Docker 部署可 SSH 登录的 CentOS7 容器的步骤&#xff1a; 1.创建 Dockerfile&#xff08;保存为 Dockerfile.centos7&#xff09;&#xff1a; vim Dockerfile.centos7 #复制如下内容 FROM centos:7# 备份原有的 yum 源配置文件 RUN mv /etc/yum.repos.d/CentO…...

docker安装向量数据库Milvus及可视化工具 Attu

前置条件 1.安装了docker 2.服务器网络正常&#xff0c;可以连接到容器下载地址 3.服务器磁盘空间正常&#xff0c;docker磁盘占用过大&#xff0c;请参考docker容量占用过大解决办法 一、下载yml文件 可在文章资源下载或者自行下载&#xff1a;下载yml 下载这个单机版本的…...

从模拟到现实:Sensodrive高精度力反馈技术赋能物流运输的高效与安全

在现代物流行业中&#xff0c;司机短缺、二氧化碳排放增加和利润空间紧张等问题日益凸显。为应对这些挑战&#xff0c;Sensodrive的SensoWheel和SensoPedals产品在自驾卡车中的应用&#xff0c;提供了更为高效的运输解决方案&#xff0c;有效缓解了这些问题。 Fernride公司利用…...

无需qt-creator,使用Trae从0到1生成qt的开发、构建、调试环境

一、安装 Qt 开发环境 确保已经安装了 Qt&#xff0c;没有安装的可以自己在网上搜索怎么安装&#xff0c;安装时可选择不安装qt creator&#xff0c;但是qt开发库和编译器要安装&#xff0c;这里我选择的编译器是MinGW&#xff0c; 安装好以后&#xff0c;记录下qt开发库和Min…...

整理和总结微信小程序的高频知识点

前言 近期萌生了一些想法&#xff0c;感觉可以做一个小程序作为产出。 但小程序做得比较少&#xff0c;因此边做边复习。整理和总结了一些高频知识点和大家一起分享。 一、模板和组件 1.1模板&#xff08;Template&#xff09; 优势 简单灵活&#xff1a;模板定义和使用都较…...

VMware主机换到高配电脑,高版本系统的问题

原来主机是i3 ,windows7系统&#xff0c;vmware 14.0,虚机系统是ubuntu 14.04。目标新机是i7 14700KF,windows11系统。原以为安装虚拟机&#xff0c;将磁盘文件&#xff0c;虚拟机配置文件拷贝过去可以直接用。 新目标主机先安装了vmware 15&#xff0c;运行原理虚机&#xff0…...

“锈化”Python:用Rust重塑Python生态的六大工具深度解析

前言&#xff1a;为何“锈化”Python&#xff1f; Python以其简洁的语法和强大的生态系统成为数据科学、Web开发和自动化领域的首选语言。然而&#xff0c;随着项目规模和性能需求的增长&#xff0c;Python的一些传统工具在速度、内存效率和安全性上面临瓶颈。近年来&#xff…...

6.3考研408数据结构中BFS与DFS的易错点及难点解析

一、广度优先算法&#xff08;BFS&#xff09;易错点 队列操作失误 未正确处理节点入队顺序&#xff08;如未按层序逐层扩展&#xff09;&#xff0c;导致结果混乱。在出队后未立即标记节点为已访问&#xff0c;可能引发重复访问&#xff08;尤其在存在环的图中&#xff09;。示…...

在Ubuntu上安装MEAN Stack的4个步骤

在Ubuntu上安装MEAN Stack的4个步骤为&#xff1a;1.安装MEAN&#xff1b;2.安装MongoDB&#xff1b;3.安装NodeJS&#xff0c;Git和NPM&#xff1b;4.安装剩余的依赖项。 什么是MEAN Stack&#xff1f; 平均堆栈一直在很大程度上升高为基于稳健的基于JavaScript的开发堆栈。…...

如何通过Odoo 18创建与配置服务器操作

如何通过Odoo 18创建与配置服务器操作 服务器操作是Odoo实现业务流程自动化的核心工具&#xff0c;允许你在服务器端执行自动化任务&#xff0c;通常由按钮点击或自动化工作流等事件触发。这些操作使用 Python 编写&#xff0c;能够执行复杂的业务逻辑&#xff0c;从而增强 Od…...

【QGIS_Python】在QGIS的Python控制台生成SHP格式点数据并显示标注

参考文章&#xff1a; 「GIS教程」使用DeepSeek辅助QGIS快速制图 | 麻辣GIS 示例代码说明&#xff1a;使用参考文章中的省会城市坐标点&#xff0c;左侧增加一列城市序号code, 图层标注显示 code 城市名称&#xff0c;同时在指定路径下生成对应SHP格式点数据。 import os fr…...

torcharrow gflags版本问题

问题描述 其实仍然是很简单的编译问题&#xff0c;但是又弄了一整个下午加几乎整个晚上&#xff0c;进度缓慢&#xff0c;又吸取了教训&#xff0c;因而还是来记录一下。 在试图使用torcharrow进行推荐系统模拟的时候&#xff0c;撰写的python程序报错&#xff1a;ERROR: flag…...

Spring IoC DI入门

一、Spring&#xff0c;Spring Boot和Spring MVC的联系及区别 Spring是另外两个框架的基础&#xff0c;是Java生态系统的核心框架&#xff0c;而SpringMVC是Spring 的子模块&#xff0c;专注于 Web 层开发&#xff0c;基于 MVC 设计模式&#xff08;模型-视图-控制器&#xff…...

Vala编程语言教程-语言元素

语言元素 方法 在Vala中&#xff0c;函数无论是否定义在类内部均称为方法。下文将统一使用“方法”这一术语。 int method_name(int arg1, Object arg2) {return 1; } 此代码定义了一个名为 method_name 的方法&#xff0c;接受两个参数&#xff08;一个整数值&#xff0c;一…...

数据可信安全流通实战,隐语开源社区Meetup武汉站开放报名

隐语开源社区 Meetup 系列再出发&#xff01;2025 年将以武汉为始发站&#xff0c;聚焦"技术赋能场景驱动"&#xff0c;希望将先进技术深度融入数据要素流转的各个环节&#xff0c;推动其在实际应用场景中落地生根&#xff0c;助力释放数据要素的最大潜能&#xff01…...

windows 10 系统配置Node

目录 什么是Node.js 什么是Npm Node.js环境搭建 下载 解压 配置环境变量 npm配置 如何运行下载的Node.js项目 什么是Node.js 在 Node.js 之前&#xff0c;JavaScript 只能运行在浏览器中&#xff0c;作为网页脚本使用&#xff0c;为网页添加一些特效&#xff0c;或者和…...

2025年Postman的五大替代工具

虽然Postman是一个广泛使用的API测试工具&#xff0c;但许多用户在使用过程中会遇到各种限制和不便。因此&#xff0c;可能需要探索替代解决方案。本文介绍了10款强大的替代工具&#xff0c;它们能够有效替代Postman&#xff0c;成为你API测试工具箱的一部分。 什么是Postman&…...

城市街拍人像自拍电影风格Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色教程 城市街拍人像自拍的电影风格 Lr 调色&#xff0c;是利用 Adobe Lightroom 软件&#xff0c;对在城市街景中拍摄的人像自拍照片进行后期处理&#xff0c;使其呈现出电影画面般独特的视觉质感与艺术氛围。通过一系列调色操作&#xff0c;改变照片的色彩、明暗、对比等元…...

HTML图像标签的详细介绍

1. 常用图像格式 格式特点适用场景JPEG有损压缩&#xff0c;文件小&#xff0c;不支持透明适合照片、复杂图像PNG无损压缩&#xff0c;支持透明&#xff08;Alpha通道&#xff09;适合图标、需要透明背景的图片GIF支持动画&#xff0c;最多256色简单动画、低色彩图标WebP谷歌开…...

C++进阶——红黑树的实现

目录 1、红黑树的概念 1.1 红黑树的定义 1.2 红黑树的规则 1.3 为什么没有一条路径会比其他路径长出两倍 1.4 红黑树的性能 2、红黑树的实现 2.1 红黑树的结构 2.2 红黑树的插入 2.2.1 红黑树插入一个值的大概过程 2.2.2 情况1&#xff1a;变色 2.2.3 情况2&#xff…...

Linux 文件操作-标准IO函数1-文件指针、文件缓冲区(行缓冲、全缓冲、无缓冲)的验证

目录 1.文件指针 2.文件缓冲区 2.1 行缓冲 2.2. 全缓冲 2.3. 无缓冲 3. 程序验证&#xff1a; &#xff08;1&#xff09;main.c执行test1(),打印hello world&#xff0c;不加 \n 换行符 &#xff08;2&#xff09;刷新缓冲区方法1&#xff1a;使用\n &#xff08;3&am…...

中国历史文化名城分布矢量数据

中国&#xff0c;这片古老而厚重的土地&#xff0c;承载着上下五千年的文明&#xff0c;从北国的冰天雪地到南疆的热带雨林&#xff0c;从东海之滨的波涛汹涌到西域大漠的风沙漫天&#xff0c;无数的历史文化名城如繁星般散布其间。 它们是岁月长河中沉淀下来的瑰宝&#xff0…...

蓝桥杯十天冲刺-day1(日期问题)

日期问题 基础循环遍历模板 对于蓝桥杯所有的日期问题遍历&#xff0c;都可以使用的上 for(year2000;year<2022;year) for(month1;month<12;month) for(day1;day<31;day) {if(month1||month3||month5||month7||month8||month10||month12);else if(month2){if((year…...

漏洞知识点《Tornado框架中RequestHandler的对象》

Tornado框架中RequestHandler的所有对象 [SUPPORTED_METHODS, _INVALID_HEADER_CHAR_RE, __class__, __delattr__, __dict__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __gt__, __hash__, __init__, __init_subclass__, __le__, __lt__, __module__,…...

动态规划(6.不同路径II)

题目链接&#xff1a;63. 不同路径 II - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a; 本题为不同路径的变型&#xff0c;只不过有些地方有「障碍物」&#xff0c;只要在「状态转移」上稍加修改就可解决。 状态表示&#xff1a; 对于这种Γ路径类」的问题&#xf…...

【算法学习】最小公倍数问题

前言&#xff1a; 求最小公倍数的两种算法&#xff1a; 求两个正整数的最小公倍数&#xff0c;比如3和5的最小公倍数是15&#xff0c;6和8的最小公倍数是24。 本片讨论如何求两个数的最小公倍数&#xff0c;第一种方法是通过最大公约数来求&#xff0c;第二种方法是累加法。 由…...

Spring Boot 整合 Apache Flink 教程

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Spring Boot 整合 Apache Flink 教程 一、背景与目标 Apache Flink 是一个高性能的分布式流处理框架&#xff0c;而Spring Boot提供了快速构建企业级应用的…...

进制转换(R转十)(1290. 二进制转换十进制、1292. 十六进制转十进制、1291. 八进制转十进制、1405. 小丽找潜在的素数)

题单地址&#xff1a;题单中心-东方博宜OJ 这里以二进制转十进制为例&#xff08;按位加权求和法&#xff09; 1290. 二进制转换十进制 问题描述 请将一个 25 位以内的 2 进制正整数转换为 1010 进制&#xff01; 输入 一个 25 位以内的二进制正整数。 输出 该数对应的…...

通过启用Ranger插件的Hive审计日志同步到Doris做分析

以下是基于Apache Doris的Ranger Hive审计日志同步方案详细步骤&#xff0c;结合审计日志插件与数据导入策略实现&#xff1a; 一、Doris环境准备 1. 创建审计日志库表 参考搜索结果的表结构设计&#xff0c;根据Ranger日志字段调整建表语句&#xff1a; CREATE DATABASE IF…...

Node.js框架Express、Koa、Koa2、Egg 和 NestJS 的对比分析

以下是 Express、Koa、Koa2、Egg 和 NestJS 的对比分析&#xff0c;从多个维度梳理它们的区别和适用场景&#xff1a; 1. 历史背景与定位 框架背景与定位ExpressNode.js 早期框架&#xff0c;灵活轻量&#xff0c;生态丰富&#xff0c;适合快速开发简单应用。KoaExpress 原班团…...

蓝桥杯--冲刺题单--随时更新

冲刺题单 感谢up主溶金落梧桐&#xff08;uid:40733116&#xff09;&#xff0c;我是看了他的视频后总结的。 简单模拟&#xff08;循环数组日期进制&#xff09; 1.蓝桥19723–分布式队列 package datasimulation;import java.util.Scanner;public class Test3 {//计算数组…...

新一代电子数据取证专家 | 苏州龙信信息科技有限公司

本文关键词&#xff1a;电子取证、手机取证、计算机取证、云取证 关于我们About us 苏州龙信信息科技有限公司专注于电子数据取证、大数据、信息安全等领域&#xff0c;核心业务主要涵盖取证工具研发、大数据融合分析、案件技术支持、取证能力培训等&#xff0c;先后为执法部门…...

SSRF 攻击与防御:从原理到落地实践

1. 什么是 SSRF&#xff1f; SSRF&#xff08;Server-Side Request Forgery&#xff09; 是一种常见的Web安全漏洞。当服务器提供了某种对外请求的功能&#xff0c;如“URL 参数直接转发请求”&#xff0c;攻击者就可以通过精心构造的URL&#xff0c;让服务器“自己”去访问特…...

socks 协议介绍

SOCKS协议详解 一、基本定义与核心功能 SOCKS&#xff08;Socket Secure&#xff09;是一种网络传输协议&#xff0c;主要用于通过代理服务器转发客户端与目标服务器之间的通信请求。其核心功能包括隐藏用户真实IP地址、穿透防火墙限制以及支持多种网络协议&#xff08;如TCP…...

不使用负压电源,ADC如何测量正负压?

电路图来自ZLinear的开源数据采集板卡DL8884_RFN&#xff0c;是一个比较常见的电压偏置采集法 对电路进行分析&#xff0c;所以说可以先看下采集卡的模拟输入部分的参数如下&#xff1a; 通道数量: 8通道单端输入/4通道差分输入 分辨率: 16位逐次逼近型(SAR) ADC 采样速率: 40…...

服务的拆分数据的迁移

参考&#xff1a; 数据迁移调研...

强推 Maven多镜像源快速切换工具,GUI操作超便捷

引言 在开发过程中&#xff0c;配置Maven的settings.xml文件以优化依赖下载速度是一个常见的需求。然而&#xff0c;手动编辑XML文件不仅繁琐&#xff0c;还容易出错。本文将介绍如何使用Python和Tkinter构建一个图形界面工具&#xff0c;帮助开发者快速、安全地切换Maven镜像…...