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

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.comUser gitHostname ssh.github.comPreferredAuthentications publickeyIdentityFile /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.mzph.cn/pingmian/34438.shtml

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

相关文章

Java-内部类成员内部类

类的五大成员 属性 方法 构造方法 代码块 内部类 什么是内部类? 在一个类的里面,再定义一个类。 举例:在A类的内部定义B类,B类就被称为内部类 内部类表示的事物是外部类的一部分 内部类单独出现没有任何意义 内部类的访问特点 1.…

java中的this关键字—调用本类属性

在java中,当成员变量与局部变量发生重名问题时,需要使用this关键字分辨成员变量与局部变量 这里首先说使用this关键字调用本类中的属性 下面是一段代码 lass Student6{private String name;private int age;public Student6(String name,int age) {na…

YOLOv8模型代码学习

1.参考文献 链接1 2.网络模型解析 2.1卷积神经单元(conv.py) 在该文件中定义了yolov8网络中的卷积神经单元,位置如图所示。 def autopad(k, pNone, d1): # kernel(卷积核), padding(填充), dilation(扩张)"""Pad to same…

解决Java中的InstantiationException异常的技术指南

解决Java中的InstantiationException异常的技术指南 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java编程中,InstantiationException异常是开…

Python中位运算详解

✨前言: 在Python中,位运算用于直接操纵数值的二进制位。以下是Python中的几种位运算符,每个位运算符的功能及其使用实例: ✨按位与(AND) - & 当两个操作数的位都为1时,结果的相应位才是…

Nginx日志管理之错误日志配置

Nginx 的错误日志可以帮助用户及时判断 Nginx 配置及运行时出错的原因,错误日志也可以通过 Nginx 内置指令进行配置,但不支持格式定义。配置指令如下表所示。 说明 错误日志指令组成主指令error_log作用域main、http、mail、stream、server、location默…

坐标传送指令

目录 主城传送 联盟 部落 中立 副本传送 旧世界(Vanilla 1.0) 燃烧的远征(TBC 2.0) 巫妖王之怒(WLK 3.0) 大灾变(CTM 4.0) 熊猫人之谜(MOP 5.0) 德…

Xlua三方库Android编译出错解决办法

Xlua三方库Android编译出错解决办法 最近听老师的热更教程,讲到xlua编译android平台会报错,也是看了老师的博客,按照方法去解决,然而问题并没有解决。应该是因为代码更新或者版本不一样,在此简单记录一下解决过程。 参…

Node.js 事件循环的工作流程

Node.js 的事件循环由六个主要阶段组成,每个阶段都有一个或多个回调队列。事件循环依次遍历这些阶段,并在每个阶段执行相应的回调函数。具体的流程如下: Timers(计时器阶段): 执行已到期的 setTimeout 和 s…

js 获取get请求请求时间

要获取GET请求的响应时间,可以使用JavaScript的XMLHttpRequest对象。以下是一个示例: function getResponseTime(url, callback) {var xhr new XMLHttpRequest();var startTime new Date().getTime();xhr.onreadystatechange function() {if (xhr.re…

[RPI4] 树莓派4b安装istoreos及使用 -- 1. 系统安装

最近在研究家庭智能化的一些东西,其中包括网络,智能家居等一系列内容,然后看过的资料有的想再回来看的时候就找不到了,然后就想着开这么一个系列,做一些记录,先从智能家居开始吧。 1 安装istoreos系统 iStoreOS 目标是提供一个人人会用的路由兼轻 NAS 系统,不管是作为路…

Transformer预测 | 基于Transformer的风电功率多变量时间序列预测(Matlab)

文章目录 预测效果文章概述模型描述程序设计参考资料预测效果 文章概述 Transformer预测 | 基于Transformer的风电功率多变量时间序列预测(Matlab) Transformer 模型本质上都是预训练语言模型,大都采用自监督学习 (Self-supervised learning) 的方式在大量生语料上进行训练,…

python桌面应用

py文件 import osimport wx import wx.html2class MyFrame(wx.Frame):def __init__(self, parent):wx.Frame.__init__(self, parent, title"启动啦", size(1000, 700))# 创建一个Web视图组件self.browser wx.html2.WebView.New(self)# 加载本地HTML文件# self.brow…

考研数学|《李林880》正确率多少算合格?

李林880题是针对考研数学三的练习题集,覆盖了考研数学三的主要知识点和题型。如果能够熟练掌握这些题目,意味着对考研数学三的知识点有了较为深入的理解和应用能力。 首先,考研数学三的总分是150分,题型包括单选题、填空题和解答…

RN开发搬砖经验之—“Calculated frame index should never be lower than 0“崩溃问题分析

问题重现 崩溃堆栈: Back traces starts. java.lang.RuntimeException: java.lang.IllegalStateException: Calculated frame index should never be lower than 0at com.facebook.react.animated.NativeAnimatedModule$1.doFrameGuarded(NativeAnimatedModule.ja…

PostgreSQL中 GROUPING SETS、CUBE 和 ROLLUP功能

PostgreSQL 中,GROUPING SETS、CUBE 和 ROLLUP 的功能,允许在查询中更灵活地生成聚合结果,而不需要多次重写查询或使用复杂的 UNION 语句。这些功能在数据分析中特别有用,因为它们允许你以不同的维度对数据进行分组和聚合。 1、测…

持久化容器数据

持久化容器数据 目录 容器卷管理卷试一试 使用卷查看卷内容删除卷 当一个容器启动时,它会使用镜像提供的文件和配置。每个容器可以创建、修改和删除文件,并且不会影响其他容器。当容器被删除时,这些文件更改也会被删除。 虽然容器的这种短…

【因果推断python】53_效应异质性和非线性带来的挑战1

目录 Treatment Effects on Binary Outcomes 合成一些数据 由于缺乏基本事实,在单位层面预测治疗效果极为困难。因为我们只能观察到一个潜在结果 T(t) ,我们无法直接估计它。相反,我们必须依靠目标变换(也可以看作是设计巧妙的损…

【专利】一种光伏产品缺陷检测AI深度学习算法

申请号CN202410053849.9公开号(公开)CN118037635A申请日2024.01.12申请人(公开)超音速人工智能科技股份有限公司发明人(公开)张俊峰(总); 叶长春(总); 廖绍伟 摘要 本发明公开一种光伏产品缺陷检测AI深度…

全国计算机二级C++题库笔记

全国计算机二级C题库笔记 Ⅰ. 选择题专项训练1 公共基础部分2 二级C程序设计第1~4章》每章标题1. C标识符命名规则2. 面向对象的三个主要特征3. C的四个开发步骤4. 关于类和对象的叙述5. !和&&的作用6. C枚举类型初值问题7. ASCII码对照表8. 运算符两边的数据类型&…