配置git从公网能访问-基于frp
git从公网能访问
- 一个小小的疏忽带来了一下午+上午的工作量
- 起因与上下文与结论
- 主要收获
- 1。公网主机的防火墙需要至少三条
- 3。gitlab的http端口和ssh端口,需要分为两个
- 3。不要用nginx来解析二级域名
- 测试指令
- 最终的成功的指令是:
- 用到的指令
- ssh
- 1. 生成 SSH 密钥对
- 2. 将公钥添加到远程主机
- 方法 1:使用 `ssh-copy-id` 命令
- 方法 2:手动复制公钥
- 3. 配置本地 SSH 客户端
- tcpdump抓包
- 1. 确定网络接口
- 2. 抓取与 SSH 端口 9022 相关的数据包
- 3. 分析抓取的数据包
- 4. 可以尝试将 `-i` 参数设置为 `any`,以捕获所有接口的数据包。
- gitlab相关
- 配置
- 重启
一个小小的疏忽带来了一下午+上午的工作量
可以说,晚上都没有睡好.
只因为在云主机机的防火墙,忘了开同端口UDP.
起因与上下文与结论
我需要全面将工作环境移植到互联网。其中一个是gitlab。
但一直没有成功。
原因是总是ssh git@<公网IP> -p 端口失败。
最终的解决:仅仅是因为 在同端口忘记开UDP。
总结:
如果需要将一个gitlab公布到公网,至少需要开放三条防火墙条目:
http
ssh TCP
ssh UDP
我就是因为忘记了第三条。
网上似乎没有讲解这些东西。那些AI也都不行。
当然,也可能是用腾讯云的人不多,我记得阿里云主机似乎同时在一个端口开以选多种传输模式。
也可以是我买的是轻量云主机。
总之我掉到这个坑里,晚上都没睡好。痛定思痛,早晨没有搞成,就睡了两个小时,吃完午饭,我原想到将frpc的 local和remote,设置成不同的端口时,再一次看到防火墙,看到只有TCP时,我认为是不对的。加入UDP果然就对了。
主要收获
1。公网主机的防火墙需要至少三条
如果需要将一个gitlab公布到公网,至少需要开放三条防火墙条目:
http
ssh TCP
ssh UDP
3。gitlab的http端口和ssh端口,需要分为两个
这条按说不需要解释,因为gitlab装好后,默认就是分为两个的。
但要注意为什么分为两个,以及带来的深远的影响。
分为两个原因是,http协议与ssh协议完全不同。所谓的不同是ssh很复杂,而且与UDP相关。
而http在传输协议角度,就是TCP。很干净。
这一条就导致,gitlab不益使用二级域名来解析。当然不是说不可以,但我打算放弃,永远带着端口。不想再冒风险。实际上,我认为利用nginx来分别解析HTTP和ssh,以实现隐藏端口,也是可能的。但我的目标是发布到公网上,而不是追求完美。在这之前,我最大的困难是无法发布到公网。
所以,这方面的内容(指二级域名解析)本文中没有。
3。不要用nginx来解析二级域名
二级域名对于你花了大价钱买的真正的DNS解析,当然是二级域名,你也可以绑定到指定的IP,即不同的域名指令不同的IP(至少原理是这样,国家法律是否允许不清楚)。
但像我样的穷人,显然二级域名对我们的意思是现代化的nginx这类路由的手段。
当然,我还真很喜欢nginx这种二级域名解析到某个端口的模式。
不过,对于git来说,这却用不着!
4。 frpc的端口,与其它的相同,不需要local和remote配置为不同端口。可以相同。
测试指令
最终的成功的指令是:
ssh -T git@<公网IP或域名> -p <port>
ssh ssh协议。
-T -T 选项的作用是禁用终端分配(Disable pseudo-tty allocation)。具体来说,它会告诉 SSH 客户端不要为当前会话分配一个伪终端(pseudo-terminal)。
git **理解这条也是理解整体git体系的关键之一**。git是一个用户名。也就是gitlab所在的主机中,有这样一个用户名,就叫git
用到的指令
ssh
1. 生成 SSH 密钥对
如果你还没有 SSH 密钥对,可以使用 ssh-keygen
命令生成。打开终端,运行以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t rsa
:指定密钥类型为 RSA。-b 4096
:指定密钥长度为 4096 位,更安全。-C "your_email@example.com"
:添加注释,通常是你的邮箱地址。
运行命令后,系统会提示你输入保存密钥的文件路径(默认路径为 ~/.ssh/id_rsa
),直接按回车键使用默认路径即可。接着,系统会提示你输入一个密码(passphrase),用于保护私钥。如果你不想设置密码,直接按回车键跳过,但这样会降低安全性。
2. 将公钥添加到远程主机
生成密钥对后,需要将公钥(~/.ssh/id_rsa.pub
)添加到远程主机的 ~/.ssh/authorized_keys
文件中。有以下几种方法:
方法 1:使用 ssh-copy-id
命令
这是最简单的方法。运行以下命令:
ssh-copy-id user@remote_host
user
:远程主机的用户名。remote_host
:远程主机的 IP 地址或域名。
系统会提示你输入远程主机的密码,输入后,公钥将自动添加到远程主机的 ~/.ssh/authorized_keys
文件中。
方法 2:手动复制公钥
如果远程主机没有安装 ssh-copy-id
,可以手动复制公钥。首先,将公钥内容复制到剪贴板:
cat ~/.ssh/id_rsa.pub
然后,登录到远程主机,打开或创建 ~/.ssh/authorized_keys
文件:
ssh user@remote_host
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
nano ~/.ssh/authorized_keys
将复制的公钥内容粘贴到 authorized_keys
文件中,保存并退出。
3. 配置本地 SSH 客户端
如果你有多个密钥,需要指定使用哪个密钥连接到远程主机。编辑本地的 SSH 配置文件 ~/.ssh/config
,添加以下内容:
Host remote_hostHostName remote_host_ip_or_domainUser userIdentityFile ~/.ssh/id_rsa
Host
:自定义的主机别名。HostName
:远程主机的 IP 地址或域名。User
:远程主机的用户名。IdentityFile
:指定使用的私钥文件路径。
tcpdump抓包
1. 确定网络接口
首先,需要确定要抓包的网络接口。运行以下命令列出所有可用的网络接口:
sudo tcpdump -D
通常,eth0
或 any
是常用的选择。any
接口可以捕获所有网络接口的数据包。
2. 抓取与 SSH 端口 9022 相关的数据包
使用以下命令抓取与 SSH 端口 9022 相关的数据包:
sudo tcpdump -i any -nnvvXSs 1514 port 9022 -w output.pcap
-i any
:指定抓取所有网络接口的数据包。-nn
:不解析主机名和端口号,直接显示 IP 地址和端口号。-vv
:显示更详细的信息。-X
:以十六进制和 ASCII 格式显示数据包内容。-s 1514
:设置抓取的数据包大小为 1514 字节,避免截断。port 9022
:指定只抓取与端口 9022 相关的数据包。-c 100
:限制抓取的数据包数量为 100 个。
3. 分析抓取的数据包
抓包完成后,可以根据以下内容进行分析:
- TCP 三次握手:检查是否成功建立了 TCP 连接。如果客户端发送了 SYN 包,但服务器没有响应,可能是服务器未监听该端口或防火墙阻止了连接。
- 数据包标志:查看数据包的标志(如 RST、ACK 等)。如果出现 RST 包,可能表示连接被重置。
- 数据包内容:通过
-X
选项查看数据包的十六进制和 ASCII 内容,可能会发现一些错误信息。
4. 可以尝试将 -i
参数设置为 any
,以捕获所有接口的数据包。
- 如果需要将抓取的数据包保存到文件中,可以使用
-w
选项,例如:sudo tcpdump -i any -nnvvXSs 1514 port 9022 -w output.pcap
gitlab相关
这里当然不重要,因为你都已走到要公网发布,对gitlab一般比较熟了。
配置
docker exec -it blgitlab bash
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
vi /etc/gitlab/gitlab.rb
SSH 配置 /etc/ssh/sshd_config 文件
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
sudo systemctl restart ssh"
重启
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
相关文章:
配置git从公网能访问-基于frp
git从公网能访问 一个小小的疏忽带来了一下午上午的工作量起因与上下文与结论主要收获1。公网主机的防火墙需要至少三条3。gitlab的http端口和ssh端口,需要分为两个3。不要用nginx来解析二级域名 测试指令最终的成功的指令是: 用到的指令ssh1. 生成 SSH …...
HarmonyOS:重构万物互联时代的操作系统范式
HarmonyOS:重构万物互联时代的操作系统范式 引言:操作系统的新纪元 在数字化转型的深水区,操作系统作为数字世界的基石正在经历前所未有的变革。当全球科技巨头还在移动终端操作系统领域激烈角逐时,华为推出的HarmonyOS以分布式…...
告别“知识孤岛”:RAG赋能网络安全运营
一、背景 在网络安全运营工作中,我们积累了大量的内部知识内容,涵盖了威胁情报、事件响应流程、安全策略、合规性要求等多个方面。然而,这些知识虽然数量庞大、内容丰富,却因形式多样、结构分散,难以让每一位成员真正…...
A级、B级弱电机房数据中心建设运营汇报方案
该方案围绕A 级、B 级弱电机房数据中心建设与运营展开,依据《数据中心设计规范》等标准,施工范围涵盖 10 类机房及配套设施,采用专业化施工团队与物资调配体系,强调标签规范、线缆隐藏等细节管理。运营阶段建立三方协同运维模式,针对三级故障制定30 分钟至 1 小时响应机制…...
C 语言学习笔记(数组)
C 语言基础:第 08天笔记 内容提要 数组 排序算法:冒泡排序二维数组字符数组 数组 冒泡排序 排序思想(向前冒泡): 一次排好一个数,针对n个数,最差情况需要n - 1次就可以排好每次排序假定第一…...
jvm安全点(二)openjdk17 c++源码垃圾回收安全点信号函数处理线程阻塞
1. 信号处理与桩代码(Stub) 当线程访问安全点轮询页(Polling Page)时: 触发 SIGSEGV 信号:访问只读的轮询页会引发 SIGSEGV 异常。信号处理函数:pd_hotspot_signal_handl…...
uni-app 开发HarmonyOS的鸿蒙影视项目分享:从实战案例到开源后台
最近,HBuilderX 新版本发布,带来了令人兴奋的消息——uni-app 现在支持 Harmony Next 平台的 App 开发。这对于开发者来说无疑是一个巨大的福音,意味着使用熟悉的 Vue 3 语法和开发框架,就可以为鸿蒙生态贡献自己的力量。 前言 作…...
【赵渝强老师】在PostgreSQL中访问Oracle
在PostgreSQL数据库中,oracle_fdw是PostgreSQL数据库支持的外部扩展。通过使用oracle_fdw扩展可以读取到Oracle数据库中的数据。它是一种非常方便且常见的PostgreSQL与Oracle的同步数据的方法。使用oracle_fdw扩展需要依赖Oracle的Instance Client环境。 视频讲解如…...
板凳-------Mysql cookbook学习 (二)
生成一个包含cookbook数据库中的表备份的名为backup.sql的dump文件。 sql C:\Users\lenovo>mysqldump -u root -p --default-character-setutf8mb4 cookbook > D:\sql\Mysql_learning\backup.sql mysqldump 不是内部或外部命令,也不是可运行的程序 或批处理文…...
sudo apt update是什么意思呢?
非常好的问题! ✅ sudo apt update 是什么意思? 它的作用是: 更新你的 Ubuntu 系统中软件列表的信息(但不安装软件) 就像你每天先去超市了解今天上架了哪些新商品(只是“查看”而不是“买”)&a…...
.NET Core 中 Swagger 配置详解:常用配置与实战技巧
随着微服务架构和 RESTful API 的广泛应用,API 文档的管理和自动化生成成为了开发中的重要部分。Swagger(现为 OpenAPI)是一款功能强大的工具,它可以自动生成 API 文档,并提供交互式 UI,帮助开发者、测试人…...
spring cache使用指南
Spring cache Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现。 例如:EHCache,Caffeine,Redi…...
9.DMA
目录 DMA —为 CPU 减负 DMA 的简介和使用场景 DMA 的例子讲解 STM32 的 DMA 框图和主要特性 编辑 DMA 的通道的对应通道外设 – DMA 和哪些外设使用 编辑编辑ADC_DR 寄存器地址的计算 常见的数据滤波方法 ADCDMA 的编程 DMA —为 CPU 减负 DMA 的简介和使用场…...
Python自学笔记3 常见运算符
常用运算符 加减法 python的自动数据类型转换 整形转为浮点型 实数转为复数 数字类型不能和浮点数类型相加减 乘除法 数据转换基本同加减法, 但字符串可以和整数相加减,作用是字符串的自我复制 反斜杠 成员运算符 判断一个元素是不是一个序列的成员…...
【C/C++】C++中constexpr与const的深度对比
文章目录 C中constexpr与const的深度对比1. 编译期确定性2. 更严格的优化保证3. 适用范围更广4. 类型安全与错误检查5. 现代 C 的演进方向何时使用 const?constexpr应用场景1. 配置常量与全局参数2. 数据验证与业务规则检查3. 数学计算与业务逻辑优化4. 模板元编程与…...
劳特巴赫trace32负载率测试
按照下图步骤点击即可...
牛客OJ在线编程常见输入输出练习--Java版
目录 一、链接 二、题目 一、链接 牛客输入输出链接:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 二、题目 1.只有输出 public class Main {public static void main(String[] args) {System.out.println("H…...
STM32 | FreeRTOS 递归信号量
递归信号量 一、概述 互斥量的使用比较单一,因为它是信号量的一种,并且它是以锁的形式存在。在初始化的时候,互斥量处于开锁的状态,而被任务持有的时候则立刻转为闭锁的状态。 递归类型的互斥量可以被拥有者重复获取。拥有互斥量…...
STM32 | 软件定时器
01 一、概述 软件定时器是用程序模拟出来的定时器,可以由一个硬件定时器模拟出成千上万个软件定时器,这样程序在需要使用较多定时器的时候就不会受限于硬件资源的不足,这是软件定时器的一个优点,即数量不受限制。但由于软件定…...
2025年EB SCI2区TOP,多策略改进黑翅鸢算法MBKA+空调系统RC参数辨识与负载聚合分析,深度解析+性能实测
目录 1.摘要2.黑翅鸢优化算法BKA原理3.改进策略4.结果展示5.参考文献6.代码获取7.读者交流 1.摘要 随着空调负载在电力系统中所占比例的不断上升,其作为需求响应资源的潜力日益凸显。然而,由于建筑环境和用户行为的变化,空调负载具有异质性和…...
互联网大厂Java面试:从Spring到微服务的全面探讨
文章简述 本文模拟了一个互联网大厂Java求职者的面试场景,涵盖了Java核心语言与平台、构建工具、Web框架、微服务与云原生等多个技术栈。通过面试问答的形式,展示了在真实业务场景下如何应用这些技术点,帮助初学者理解和学习。 场景介绍 在…...
Python爬虫之路(14)--playwright浏览器自动化
playwright 前言 你有没有在用 Selenium 抓网页的时候,体验过那种「明明点了按钮,它却装死不动」的痛苦?或者那种「刚加载完页面,它又刷新了」的抓狂?别担心,你不是一个人——那是 Selenium 在和现代前…...
Elasticsearch Fetch阶段面试题
Elasticsearch Fetch阶段面试题 🚀 目录 基础原理性能优化错误排查场景设计底层机制总结基础原理 🔍 面试题1:基础原理 题目: 请描述Elasticsearch分布式搜索中Query阶段和Fetch阶段的工作流程,为什么需要将搜索过程拆分为这两个阶段? 👉 点击查看答案 查询流程…...
RAGFlow Arbitrary Account Takeover Vulnerability
文章目录 RAGFlowVulnerability Description[1]Vulnerability Steps[2]Vulnerability Steps[3]Vulnerability Steps RAGFlow RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine developed by Infiniflow, focused on deep document understanding and d…...
框架之下再看HTTP请求对接后端method
在当今的软件开发领域,各类框架涌现,极大地提升了开发效率。以 Java 开发为例,Spring 框架不断演进,Spring Boot 更是简化到只需引入 Maven 包,添加诸如SpringBootApplication、RestController等注解,就能轻…...
机器学习中的过拟合及示例
文章目录 机器学习中的过拟合及示例1. 过拟合的定义2. 过拟合的常见例子例1:图像分类中的过拟合例2:回归任务中的过拟合例3:自然语言处理(NLP)中的过拟合 3. Python代码示例:过拟合的直观演示示例1…...
机器学习-人与机器生数据的区分模型测试 -数据筛选
内容继续机器学习-人与机器生数据的区分模型测试 使用随机森林的弱学习树来筛选相对稳定的特征数据 # 随机森林筛选特征 X data.drop([city, target], axis1) # 去除修改前的城市名称列和目标变量列 y data[target] X_train, X_test, y_train, y_test train_test_split(X…...
第9讲、深入理解Scaled Dot-Product Attention
Scaled Dot-Product Attention是Transformer架构的核心组件,也是现代深度学习中最重要的注意力机制之一。本文将从原理、实现和应用三个方面深入剖析这一机制。 1. 基本原理 Scaled Dot-Product Attention的本质是一种加权求和机制,通过计算查询(Query…...
无监督学习在医疗AI领域的前沿:多模态整合、疾病亚型发现与异常检测
引言 人工智能技术在医疗领域的应用正经历着从辅助决策向深度赋能的转变。无监督学习作为人工智能的核心范式之一,因其无需大量标注数据、能够自动发现数据内在规律的特性,在医疗AI领域展现出独特优势。尤其在2025年,无监督学习技术在医疗AI应用中呈现出多模态整合、疾病亚…...
PostgreSQL内幕剖析——结构与架构
大家好,这里是失踪人口bang__bang_,从今天开始持续更新PostgreSQL内幕相关内容,让我们一起了解学习吧✊! 目录 1️⃣ DB集群、数据库、表 🍙 数据库集群的逻辑结构 🍙 数据库集群的物理结构 &am…...
架构师论文《论模型驱动架构软件开发方法及其应用》
摘要 在当前的软件开发领域,模型驱动架构(MDA)作为一种重要的开发方法,强调通过抽象化模型指导系统设计与实现,能够有效提升开发效率并降低复杂性。本文结合笔者参与的某医疗信息管理系统的开发实践,探讨MD…...
当硅基存在成为人性延伸的注脚:论情感科技重构社会联结的可能性
在东京大学机器人实验室的档案室里,保存着一份泛黄的二战时期设计图——1943年日本陆军省秘密研发的“慰安妇替代品”草图。这个诞生于战争阴霾的金属躯体,与2025年上海进博会上展出的MetaBox AI伴侣形成时空对话:当人类将情感需求投射于硅基…...
最小二乘法拟合直线,用线性回归法、梯度下降法实现
参考笔记: 最小二乘法拟合直线,多个方法实现-CSDN博客 一文让你彻底搞懂最小二乘法(超详细推导)-CSDN博客 目录 1.问题引入 2.线性回归法 2.1 模型假设 2.2 定义误差函数 2.3 求偏导并解方程 2.4 案例实例 2.4.1 手工计算…...
机器学习 day04
文章目录 前言一、线性回归的基本概念二、损失函数三、最小二乘法 前言 通过今天的学习,我掌握了机器学习中的线性回归的相关基本概念,包括损失函数的概念,最小二乘法的理论与算法实现。 一、线性回归的基本概念 要理解什么是线性回归&…...
数据分析_Python
1 分析内容 1.1 数据的整体概述 提供数据集的基本信息,包括数据量、时间跨度、地理范围和主要字段. import pandas as pd# 创建示例数据 data {姓名: [张三, 李四, 王五, 赵六, 钱七, 孙八, 周九, 吴十],年龄: [25, 30, 35, 40, 45, 50, 55, 60],性别: [男, 男, 女, 女, 男,…...
精益数据分析(63/126):移情阶段的深度潜入——从用户生活到产品渗透的全链路解析
精益数据分析(63/126):移情阶段的深度潜入——从用户生活到产品渗透的全链路解析 在创业的移情阶段,成功的关键不仅在于发现用户的表面需求,更在于深入潜入用户的日常生活,理解其行为背后的真实动机与场景…...
【MySQL】第五弹——表的CRUD进阶(三)聚合查询(上)
文章目录 🌅聚合函数🌊1.COUNT();统计所有行🌊2. SUM(列名); 求和🌊3. AVG() 求平均🌊4. MAX(),MIIN() 🌅分组查询🌊GROUP BY 子句🌊HAVING 🌅联合查询🌊联合…...
英语学习5.16
recede 【动词】 👉 关键词:后退、减弱、退去 ✅ 释义: 后退,远离 指物体逐渐远离、移开或变得不明显,常用于描述水面、声音、军队、头发线等的“退却”或“后移”。 如:The floodwaters receded.&#x…...
创建react工程并集成tailwindcss
1. 创建工程 npm create vite admin --template react 2.集成tailwndcss 打开官网跟着操作一下就行。 Installing Tailwind CSS with Vite - Tailwind CSS...
2025 年九江市第二十三届中职学校技能大赛 (网络安全)赛项竞赛样题
2025 年九江市第二十三届中职学校技能大赛 (网络安全)赛项竞赛样题 (二)A 模块基础设施设置/安全加固(200 分)A-1 任务一登录安全加固(Windows,Linux)A-2 任务二 Nginx 安全策略&…...
STM32IIC实战-OLED模板
STM32IIC实战-OLED模板 一,SSD1306 控制芯片1, 主要特性2,I2C 通信协议3, 显示原理4, 控制流程5, 开发思路 二,HAL I2C API 解析I2C 相关 API1,2,3,4…...
BMVC2023 | 多样化高层特征以提升对抗迁移性
Diversifying the High-level Features for better Adversarial Transferability 摘要-Abstract引言-Introduction相关工作-Related Work方法-Methodology实验-Experiments结论-Conclusion 论文链接 GitHub链接 本文 “Diversifying the High-level Features for better Adve…...
C++ deque双端队列、deque对象创建、deque赋值操作
在deque中,front()是头部元素,back()指的是尾部元素。begin()是指向头部的迭代器,end()是指向尾部的下一个元素的迭代器。 push_front 头部进行插入 pop_front 尾部进行删除 push_back 尾部进行插入 pop_back 尾部进行删除 deque如果同时…...
【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理2
文章目录 一、前述二、不同的先验及代表性论文2.1 几何先验(Geometric Prior)2.2 生成式先验(Generative Prior)2.3 codebook先验(Vector Quantized Codebook Prior)2.4 扩散先验 (Diffusion Pr…...
2025年渗透测试面试题总结-百度面经(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 百度面经 百度安全工程师面试深度复盘与优化指南 一、项目经验反思与优化策略 二、技术问题深度解析 …...
muduo库TcpConnection模块详解——C++
muduo库中的TcpConnection模块详解 TcpConnection是muduo库中处理TCP连接的核心模块,负责管理单个TCP连接的生命周期、数据读写、状态转换以及事件回调。每个TCP连接对应一个TcpConnection对象,其设计体现了高性能、线程安全和灵活回调的特点。 一、核心…...
aksharetools:大模型智能体框架agno可直接获取A股金融数据
原创内容第889篇,专注智能量化投资、个人成长与财富自由。 今天说说金融智能体开发。 智能体开发需要一个多agent框架。这样的框架,现在太多了,langchain, langgraph,autogen,crewai等等,还有各种低代码平…...
使用Maven部署WebLogic应用
使用Maven部署WebLogic应用 在Maven项目中部署应用到WebLogic服务器可以通过以下几种方式实现: 1. 使用WebLogic Maven插件 (官方推荐) Oracle提供了官方的WebLogic Maven插件,这是最直接的部署方式。 基本配置 <build><plugins><pl…...
[Java][Leetcode simple] 13. 罗马数字转整数
一、自己想的 只有提到的六种情况是-,其他都是 public int romanToInt1(String s) {int res 0;int n s.length();Map<Character, Integer> map new HashMap<>();map.put(I, 1);map.put(V, 5);map.put(X, 10);map.put(L, 50);map.put(C, 100);map.pu…...
【论文阅读】针对BEV感知的攻击
Understanding the Robustness of 3D Object Detection with Bird’s-Eye-View Representations in Autonomous Driving 这篇文章是发表在CVPR上的一篇文章,针对基于BEV的目标检测算法进行了两类可靠性分析,即恶劣自然条件以及敌对攻击。同时也提出了一…...