集群开发学习(三)修改用户模块(git 使用,局域网设代理)

news2024/12/27 1:25:44

git 使用

参考:https://blog.csdn.net/weixin_60033897/article/details/136016074
在服务器端创建公钥私钥

git config --global user.email "1686660735@qq.com"
git config --global user.name qinliangql
git config --global -l # 查看信息
# 这样可以生成指定文件的私钥和公钥,避免和本地和服务器的连接私钥公钥冲突
ssh-keygen -t rsa -C "1686660735@qq.com" -f /home/qinl/.ssh/git_private_key 

在这里插入图片描述
查看自己的公钥

cat /home/qinl/.ssh/git_private_key.pub

提交公钥到github
在这里插入图片描述

如果.ssh文件夹下没有config还需要创建config

touch config

输入

Host github.com
  User git
  Hostname ssh.github.com
  PreferredAuthentications publickey
  IdentityFile /home/qinl/.ssh/git_private_key

测试

ssh -T git@github.com

git 提交代码

# 查看修改
git status
# dev 分支是干净的,那么拉取最新分支
git fetch origin dev:dev
# 基于dev创建并切换新分支,没有-b就算直接切换
git checkout -b feature/disabled-mail-ustc
# ...修改并测试代码
# 查看修改
git status
# 保留修改
git add -u
git add 文件绝对路径
# 本地提交 后面这个是一句描述的话
git commit -m "Feature: disabled mail.ustc.edu.cn"
# 上传到远程分支,并提交pr,选择我审核,这里origin只是远程,合并到什么分支到时候还要选择
git push origin feature/disabled-mail-ustc
# 切换为 dev分支
git checkout dev
# dev 分支是干净的,那么拉取最新分支
git fetch origin dev:dev

git 忽略文件权限更改

git config core.filemode false

Debug 理清楚逻辑

先login 获得token,之后把token复制到get里面,token选这个
在这里插入图片描述

GET 只要有params+Au

部署前端

在前端上传在前端生成的ssh私钥,注意这次是在root/…sh中用,所以要改点东西

进入front的pod,自己创建一个文件夹

git clone git@github.com:USTC-MCCLab/aiarena-frontend.git

局域网设代理

下载慢可以直接设定代理到局网上的本机上

export http_proxy=192.168.160.118:7890
export https_proxy=192.168.160.118:7890

在这里插入图片描述
clash中还要allow LAN

修改

修改vite.config.js,和自己的gateway相对应,只修改user和group
在这里插入图片描述
另外注意gateway中有个CORS组件可以控制哪些前端地址可以经过gateway,需要要把自己的前端地址9996添加进去
在这里插入图片描述

aiarena-frontend中启动

# 启动前端
npm install
npm run dev:linux

npm run这个可以用tmux一直跑着,修改代码会自动更新

同时分别在gateway和user的pod中把服务启动起来,可以在tmux中启动避免这个问题

访问前端

访问前端口(这个9996其实就是映射到前端的5086)
http://192.168.4.11:9996/

账户密码和后端的对应,遇到问题可以通过ctrl+shift+c调试看界面和F12效果一样
在这里插入图片描述

邮箱问题

最开始必须限制校内邮箱
在这里插入图片描述
定位代码
在这里插入图片描述

修改为更常见的邮箱格式

  email: [
    { required: true, message: '请输入邮箱', type: 'error' },
    {
      validator: (val) => {
        const regex = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
        return regex.test(val);
      },
      message: '请输入有效的邮箱地址',
      type: 'error',
    },
  ],

现在正常别的邮箱:
在这里插入图片描述
错误地址:
在这里插入图片描述

邮箱格式,正则表达式

  1. 校内邮箱的正则表达式

    /^[a-zA-Z0-9._%+-]+@(ustc\.edu\.cn|mail\.ustc\.edu\.cn)$/
    
    • ^:表示字符串的开始。
    • [a-zA-Z0-9._%+-]+:匹配一个或多个由字母(大小写)、数字、._%+- 组成的字符,这些是邮箱地址中本地部分(即@符号前面的部分)的常见字符。
    • @:匹配@符号,它是邮箱地址的必需部分。
    • (ustc\.edu\.cn|mail\.ustc\.edu\.cn):这是一个捕获组,用于匹配两个可能的域名之一。| 是逻辑或操作符,意味着匹配其中的任意一个。\. 用于匹配.字符(因为在正则表达式中.是一个特殊字符,代表任意字符,所以需要转义)。所以这部分会匹配@ustc.edu.cn@mail.ustc.edu.cn
    • $:表示字符串的结束。

    这个正则表达式确保输入的邮箱地址是校内邮箱(即@ustc.edu.cn@mail.ustc.edu.cn)。

  2. 通用的邮箱正则表达式

    /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
    
    • \w+:匹配一个或多个单词字符(等价于[a-zA-Z0-9_])。
    • ([-+.']\w+)*:可选地匹配一个或多个由-+.' 开头的单词字符序列。
    • @:匹配@符号。
    • \w+:再次匹配一个或多个单词字符。
    • ([-.]\w+)*:可选地匹配一个或多个由-.开头的单词字符序列。
    • \.:匹配.字符。
    • \w+:再次匹配一个或多个单词字符。
    • ([-.]\w+)*:最后,可选地匹配一个或多个由-.开头的单词字符序列。

    这个正则表达式是一个更通用的邮箱验证规则,它尝试匹配大多数常见的邮箱地址格式,但并不保证能匹配所有有效的邮箱地址(因为有些邮箱地址可能包含非ASCII字符或更复杂的结构)。但它足够用于大多数常见的验证场景。

权限认证修改

参考:https://github.com/USTC-MCCLab/aiarena-backend/commit/c265e3c872c39d5e9dfd24bdb9f9b003f2ef0a3c

前端加密

npm install bcryptjs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1847266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于组件的架构:现代软件开发的基石

目录 前言1. 基于组件的架构概述1.1 什么是组件?1.2 组件的分类 2. 基于组件的架构的优势2.1 提高代码的可重用性2.2 增强系统的灵活性2.3 简化维护和升级2.4 促进团队协作 3. 实现基于组件的架构3.1 识别和定义组件3.2 设计组件接口3.3 组件的开发和测试3.4 组件的…

摊牌了,我不装了~各种Amazon Bedrock小样儿、试用装,今天免费!

探索世界顶级的大模型、智能体、文生图、对话机器人……新手?还是专家?加入我们,解锁精彩内容: l 初体验:在 Amazon Bedrock Playground 直接调用强大的大模型,点亮生成式AI技能树。 l 文生图&#xff1a…

代码随想录训练营Day 65|卡码网99岛屿数量 深搜、99.岛屿数量 广搜 、100.岛屿的最大面积

1.岛屿数量 深搜 99. 岛屿数量 | 代码随想录 代码&#xff1a;&#xff08;在符合递归条件时进行递归处理&#xff09; #include <iostream> #include <vector> using namespace std; int dir[4][2] {1,0,0,1,-1,0,0,-1}; // 表示4个方向 上下左右 void dfs(cons…

每日练题(py,c,cpp).6_19,6_20

检验素数 from math import sqrt a int(input("请输入一个数&#xff1a;")) for i in range(2,int(sqrt(a))):if a%i 0:print("该数不是素数")breakelse: print("该数是素数")# # 1既不是素数也不是合数 # #可以用flag做标志位 # b int(…

向“黑公关”开战,比亚迪悬赏500万征集恶意诋毁线索

近日&#xff0c;比亚迪品牌及公关处总经理李云飞在微博发文&#xff0c;面向社会公开征集黑公关证据。 微博中&#xff0c;李云飞写道&#xff1a;“近期&#xff0c;我们收到多方提醒&#xff1a;某车企在使用黑公关手段&#xff0c;对我司品牌及产品进行贬低、拉踩和恶意诋…

c++里对 new 、delete 运算符的重载

&#xff08;1&#xff09;c 里 我们可以用默认的 new 和 delete 来分配对象和回收对象。 new 可以先申请内存&#xff0c;再调用对象的构造函数&#xff1b; delete 则先调用对象的析构函数&#xff0c;再回收内存。当然&#xff0c;当我们为类定义了 operator new () 和 oper…

Qt坐标系统

目录 概述 渲染 逻辑表示 锯齿绘制 转换 模拟时钟示例 Window-Viewport转换 概述 坐标系统由QPainter类控制。与QPaintDevice和QPaintEngine类一起&#xff0c;QPainter构成了Qt绘画系统的基础。QPainter用于执行绘制操作&#xff0c;QPaintDevice是一个二维空间的抽象&…

L54--- 404.左叶子之和(深搜)---Java版

1.题目描述 2.思路 递归遍历左子树 &#xff0c;然后再把左子树的和相加 3.代码实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val …

JavaScript之类(1)

class基础语法结构&#xff1a; 代码&#xff1a; class MyClass {constructor() { ... }method1() { ... }method2() { ... }method3() { ... }... } 解释&#xff1a; 属性解释class是我们定义的类型(类)MyClass是我们定义的类的名称 constructor()我们可以在其中初始化对象m…

linux中Java程序调用C程序中方法的实现方式浅析

在Linux中&#xff0c;Java程序可以通过JNI&#xff08;Java Native Interface&#xff09;来调用C程序的方法。 Linux系统环境&#xff0c;Java调用C的主要流程如下&#xff1a; 1、创建Java类文件&#xff0c;如NativeLibrary.java 2、编写Java代码&#xff0c;加载.so共享库…

HTTP 状态码详解及使用场景

目录 1xx 信息性状态码2xx 成功状态码3xx 重定向状态码4xx 客户端错误状态码5xx 服务器错误状态码 HTTP思维导图连接&#xff1a;https://note.youdao.com/s/A7QHimm0 1xx 信息性状态码 100 Continue&#xff1a;表示客户端应继续发送请求的其余部分。 使用场景&#xff1a;客…

20240621在飞凌的OK3588-C开发板的Buildroot系统中集成i2ctool工具

20240621在飞凌的OK3588-C开发板中打开i2ctool工具 2024/6/21 17:44 默认继承的i2c工具&#xff1a; rootrk3588-buildroot:/# rootrk3588-buildroot:/# i2c i2c-stub-from-dump i2cdump i2cset i2cdetect i2cget i2ctransfer rootrk3588-…

机器学习第四十四周周报 SAMformer

文章目录 week44 SAMformer摘要Abstract1. 题目2. Abstract3. 网络架构3.1 问题提出3.2 微型示例3.3 SAMformer 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程 5. 结论6.代码复现小结参考文献 week44 SAMformer 摘要 本周阅读了题为SAMformer: Unlocking the Potential…

开启文物保护新篇章——智能RFID文物藏品库房管理系统

在历史的长河中&#xff0c;文物不仅是见证文明的瑰宝&#xff0c;更是文化传承的重要载体。这些承载着丰富历史和文化价值的珍贵文物&#xff0c;需要得到科学、精细的保护和管理。为了更好地守护和传承我们的文化遗产&#xff0c;我们荣幸地推出智能RFID文物藏品库房管理系统…

(2024,Vision-RWKV,线性复杂度双向注意力,四向标记移位)通过类似 RWKV 的架构实现高效且可扩展的视觉感知

Vision-RWKV: Efficient and Scalable Visual Perception with RWKV-Like Architectures 公和众与号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 特征聚合机制 3. Vision-RWKV 3.…

怎么看电脑实时充电功率

因为我想测试不同的充电器给电脑充电的速度&#xff0c;所以就想找一款软件可以看电脑当前充电功率的软件&#xff0c;我给一个图 直接搜索就可以下载了&#xff0c;charge rate就是功率&#xff0c;这里是毫瓦&#xff0c;换算单位是 1000mw1w 所以我这里充电功率是65w&…

RocketMQ-记一次生产者发送消息存在超时异常

目录 1、背景说明 2、排查 2.1、防火墙 2.2、超时时间设置 2.3、服务器资源检查 2.3.1、内存、CPU等 2.3.2、磁盘空间 ​编辑 2.3.3、检查文件描述符 2.3.4、swap区 3、增加swap空间 3.1、创建目录 3.2、格式化 3.3、启动swap 3.4、查看效果 1、背景说明 在一次…

音视频开发—FFmpeg 打开摄像头进行RTMP推流

实验平台&#xff1a;Ubuntu20.04 摄像头&#xff1a;普通USB摄像头&#xff0c;输出格式为YUV422 1.配置RTMP服务器推流平台 使用Nginx 配置1935端口即可&#xff0c;贴上教程地址 ubuntu20.04搭建Nginxrtmp服务器) 2.配置FFmpeg开发环境 过程较为简单&#xff0c;这里不…

深度学习Week17——优化器对比实验

文章目录 深度学习Week17——优化器对比实验 一、前言 二、我的环境 三、前期工作 1、配置环境 2、导入数据 2.1 加载数据 2.2 检查数据 2.3 配置数据集 2.4 数据可视化 四、构建模型 五、训练模型 1、将其嵌入model中 2、在Dataset数据集中进行数据增强 六、模型评估 1、Accur…

IMU用于飞行坐姿校正

为了提升长途飞行的舒适度并预防乘客因不良坐姿导致的身体不适&#xff0c;来自荷兰上海两所大学的研究团队携手开发出一种创新的“舒适穿戴”设备&#xff0c;专为识别飞行中的坐姿设计。 研究团队制作了两种原型设备&#xff1a;一种追求极致舒适&#xff0c;另一种为紧身设…