1. 查看是否登陆同一appleID
2. 打开蓝牙,wifi(接入同一网络),接力(系统偏好-通用-允许接力)
3. 保持最新版本
如果完成以上仍然不行,下面的方法亲测有效:
把两台设备的蓝牙,wifi,接力都关闭,关机,等几十秒,开机,然后打开蓝牙,wifi,接力
应该就可以正常跨设备复制粘贴了。
作者简介: 辭七七,目前大二,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏: 七七的闲谈
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
Docker 仓库管理和Docker Dockerfile Docker 仓库管理Docker Hub Docker Dockerfile Docker 仓库管理 仓库(Repository)是集中存放镜像的地方。以下介绍一下 Docker Hub。当然不止 docker hub,只是远程的服务商不一样,操作都是一样的。
Docker Hub 目前 Docker 官方维护了一个公共仓库 Docker Hub。
大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。
注册
在下载地址免费注册一个 Docker 账号。
登录和退出
登录需要输入用户名和密码,登录成功后,我们就可以从 docker hub 上拉取自己账号下的全部镜像。
$ docker login 退出
退出 docker hub 可以使用以下命令:
$ docker logout 拉取镜像
你可以通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令来将它下载到本地。
以 ubuntu 为关键词进行搜索:
$ docker search ubuntu 使用 docker pull 将官方 ubuntu 镜像下载到本地:
文章目录 一、SQL Server配置管理器1.1、在安装好SQL Server的情况下,点击Win搜索SQL Server配置管理器1.2、打开的窗口如下图所示。在左边栏找到 SQL Server网络配置选项,点开下拉,会看到“SQLEXPRESS的协议,选中它,看右边栏。1.3、将Named Pipes 、TCP/IP 点击启用!1.4、打开telnet并测试1433端口1.5、安装完成后,按住win键和R键,输入services.msc打开服务管理器或者按住win键输入服务,打开服务之后找到SQL Server启动。1.6、完成上一步后。开始菜单 → 运行cmd → 输入:telnet 127.0.0.1 1433 二、下载Microsoft JDBC Driver 4.0 for SQL Server2.1、下载JDBC驱动2.2、配置环境变量 三、使用IDEA测试连接SQL Server数据库3.1、打开IDEA,并且导入jar包3.2、代码测试Java连接SQL Server数据库 一、SQL Server配置管理器 1.1、在安装好SQL Server的情况下,点击Win搜索SQL Server配置管理器 如果有搜索不到则Win+R输入cmd打开命令提示符输入
SQLServerManager10.msc
这里的 SQLServerManager10.msc 对应的是SQL Sever 2008
SQL Sever 2019版本的对应的是 SQLServerManager15.msc
1.2、打开的窗口如下图所示。在左边栏找到 SQL Server网络配置选项,点开下拉,会看到“SQLEXPRESS的协议,选中它,看右边栏。 1.3、将Named Pipes 、TCP/IP 点击启用! 双击TCP/IP(右键→属性),在弹出的窗口中选择 “IP地址” 选项卡。
将IP1和IP10的【IP地址】设为127.0.0.1,并将所有【IP+数字】的【已启用】设为是。接着,拖动下拉条到最下方,将IP1、IP10、 IPAll 中的【TCP端口】设成 1433。
 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头. 2.队列的实现 队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。
2.1定义队列 多个值我们使用两个结构体来封装,方便找头和尾。
typedef int QDataType; typedef struct QueueNode { struct QueueNode* next; QDataType data; }QNode; typedef struct Queue { QNode* head; QNode* tail; int size; }Que; 2.2初始化队列 void QueueInit(Que* pq) { assert(pq); pq->size = 0; pq->head = pq->tail = NULL; } 2.3销毁队列 销毁队列需要遍历,并且需要提前保存下一个节点的地址。
void QueueDestroy(Que* pq) { assert(pq); QNode* cur = pq->head; while (cur) { QNode* next = cur->next; free(cur); cur = next; } pq->head = pq->tail = NULL; pq->size = 0; } 2.
Activity 的启动过程分为两种:一种是普通 Activity 的启动过程,另一种是根 Activity 的启动过程。普通 Activity 指的是除应用程序启动的第一个 Activity 之外的其他 Activity。根 Activity 指的是应用程序启动的第一个 Activity,因此,根 Activity 的启动过程一般情况下也可以理解为应用程序的启动过程。
1 普通 Activity 的启动流程 普通 Activity 的启动流程比较复杂,比如用 Activity A 打开 Activity B,这一过程开始于 A.startActivity(Intent) 经过 system_server 进程的处理,最终调用 B.finish() 结束生命周期。
普通 Activity 的启动流程可以分为以下 3 部分:
Activity 请求 ActivityTaskManagerService(ATMS) 的过程ATMS 到 ApplicationThread 的调用过程ActivityThread 启动 Activity; 1.1 Activity 请求 ActivityTaskManagerService(ATMS) 的过程 以下是 Activity 请求 ATMS 的时序图:
Instrumentation 负责调用 Activity 和 Application 的生命周期,具有跟踪 Application 和 Activity 生命周期的功能。 以下是 Instrumentation.
上次发的一篇文章,有很多朋友私信我要后面的部分,那咱们就今天来一起学习一下吧,因为我的数据库这门课选中的课题是学生管理系统,所以今天就以这个课题为例子,从0到1去实现一个管理系统。数据库设计部分我会专门出一个博客的,敬请期待吧~~~
介如很多朋友问源码,我已经将它上传到github上。(内有sql文件,可直接导入数据库使用)
看到这了点个赞再走吧
wuyongch/-Student-management-system: 该学生管理系统使用python+flask框架+mysql数据库 实现学生录入、学生信息修改、学生课程录入和查询、毕业学生去向查询、教师开设课程查看、管理超级用户 (github.com)
效果展现 一、实现登录功能 这里我就不细讲了,感兴趣的可以看下面这个博客👇
(5条消息) python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)_flask web开发实战_吴永畅的博客-CSDN博客
这次有点不同的是 需要把登录功能封装成一个login函数,然后我为了省事呢就把数据库连接放在外部。
代码实现(前端登录界面在上方博客里) # 初始化 app = flask.Flask(__name__) # 使用pymysql.connect方法连接本地mysql数据库 db = pymysql.connect(host='localhost', port=3306, user='root', password='root', database='student', charset='utf8') # 操作数据库,获取db下的cursor对象 cursor = db.cursor() # 存储登陆用户的名字用户其它网页的显示 users = [] @app.route("/", methods=["GET", "POST"]) def login(): # 增加会话保护机制(未登陆前login的session值为空) flask.session['login'] = '' if flask.request.method == 'POST': user = flask.request.values.get("user", "") pwd = flask.request.values.get("pwd", "") # 防止sql注入,如:select * from admins where admin_name = '' or 1=1 -- and password=''; # 利用正则表达式进行输入判断 result_user = re.
这个问题我结合了Claude的解决办法:
这个错误表示conda 在加载conda-libmamba-solver时找不到libarchive.so.19这个共享库文件。
这可能是因为:
libarchive版本不匹配,conda-libmamba-solver依赖的libarchive版本高于当前系统中的版本。
libarchive共享库文件没有正确安装或目录结构失配。
conda环境中的依赖关系错误,导致找不到对应的库文件。
解决方法:
通过conda list查看libarchive版本,确保与conda-libmamba-solver依赖版本匹配。如果不匹配考虑重新安装libarchive。
查看/usr/lib或/usr/local/lib等路径下是否真的存在libarchive.so.19文件。如果不存在考虑重新安装libarchive。
重新创建conda环境,清理可能残留的错误依赖。
升级conda和依赖版本到最新。
使用ldd工具在conda环境中查看conda-libmamba-solver是否缺少依赖库。
编译安装conda时是否缺少依赖库导致问题。考虑重新编译安装conda。
使用conda update --all更新所有包试试。
尝试切换conda版本或使用装在其他位置的conda环境。
通过上述方法排查依赖和版本问题通常可以解决这个错误。如果还不行考虑重新编译安装conda
以上是Claude的解决。
关于我最终解决:
使用conda list我查看到我是安装有libarchive的,所以没有缺少。
使用sudo find / -name 'libarchive.so.*' 2>/dev/nullw我查看到路径下存在libarchive.so文件
这个时候我们需要sudo ln -s /usr/lib64/libarchive.so /usr/lib64/libarchive.so.19
这个操作具体参考联手ChatGPT解决使用conda命令出现的conda-libmamba-solver和load_entrypoints报错问题 - 知乎 (zhihu.com)
此时再sudo find / -name 'libarchive.so.*' 2>/dev/nullw会发现路径下多了一个libarchive.so.19
但是继续随便使用conda的命令还是会出现报错。
后来我继续解决,最终使用conda update -n base -c defaults conda这个命令直接更新了依赖包,
这个命令的意思是:在默认渠道中更新 conda 包管理器在 base 环境中的版本。运行该命令会检查 conda 包管理器是否有可用的更新版本,并将其安装到指定的环境中。此时会出现以下,直接y.
这样之后我的问题就已经解决了,再使用conda 的其他命令就再也没有报错。
一、HTML5基础 1、网页的相关概念 1.1什么是网页? 1.2什么是HTML? 2、常用浏览器 2.1常用的浏览器 2.2浏览器内核 3、Web标准 3.1为啥需要Web标准? 3.2Web标准的构成 : 4、HTML语法规范 4.1基本语法概述: 4.2标签关系: 5、HTML基本结构标签 5.1HTML网页: 6、开发工具 6.1VSCode常用快捷键: 第二篇:前端VSCode常用插件-快捷键-以及常用技巧-pink老师 - 哔哩哔哩
快速复制一行:shift+alt+下/上箭头
选定多个相同的单词:ctrl+d
添加多个光标:ctrl+alt+下/上箭头
全局替换某写单词:ctrl+h
快速定位到某一行:ctrl+g
选择某个区块:shift+alt 然后拖动鼠标
放大缩小整个编辑器页面:ctrl +/-
单行注释:ctrl+/
多行注释:ctrl+shift+/
6.2VSCode工具生成骨架标签新增代码: 7、HTML常用标签 7.1标题标签 7.2段落标签和换行标签 课堂案例:
7.3文本格式化标签 7.4<div>和<span>标签
7.5图像标签和路径 7.6超链接标签 7.7音频标签 7.8视频标签 8、HTML中的注释和特殊字符 8.1注释 8.2特殊字符 9.表格标签 9.1表格的主要作用 9.2表格的基本语法 9.3表格单元格标签 9.4表格属性 9.5表格结构标签 9.6合并单元格 10.列表标签 10.1无序列表 10.2有序列表 10.3自定义列表 11.表单标签 11.1表单作用 11.2表单的组成 11.3表单域 11.4表单控件(表单元素) 11.4.1<input>输入表单元素 11.4.2 label标签 11.4.3 select 下拉表单元素 11.4.4 textarea文本域元素 12.
文章目录 前言一、VSCode(Visual Studio Code)1.1 VSCode介绍与安装1.2 VSCode 常用插件安装1.3 VSCode代码格式化 二、Node.js2.1 Node的介绍与安装2. yarn的安装 三、Webpack3.1 Webpack的介绍与安装 四、Vue CLI4.1 Vue CLI的安装与介绍 五、初始化Vue项目并运行六、前端工程师必备软件6.1 Git6.2 Snipaste6.3 Pxcook 七、VUE开发者工具总结 前言 在当今快速发展的互联网时代,前端开发已经成为一项备受关注和需求不断增长的技术工作。作为一名前端工程师,拥有一台配置良好的电脑是提高工作效率和顺利进行项目开发的关键。在本文中,我们将向大家介绍如何从零开始配置一台新的电脑,以便能够顺利地搭建和运行Vue项目。我们将逐步引导读者完成整个配置过程,包括安装必要的软件和工具,配置开发环境,以及创建和运行Vue项目。
一、VSCode(Visual Studio Code) 1.1 VSCode介绍与安装 VSCode是一款由微软开发的免费开源的代码编辑器。它具有丰富的功能和插件生态系统,可以满足前端开发的各种需求。VSCode支持多种编程语言,提供了代码补全、语法高亮、调试等功能,让开发者可以更高效地编写和调试代码。此外,VSCode还支持自定义配置和快捷键,以及集成终端和Git等工具,方便开发者进行项目管理和团队协作。VSCode 的安装
Visual Studio Code在官网下载好安装包,一路无脑确定(安装路径需要自己更改) 1.2 VSCode 常用插件安装 插件名作用Auto Rename Tag自动重命名标签,当你修改一个 HTML 或 XML 标签的开始或结束标签时,它会自动更新对应的标签ENV将 env 文件 (.env) 的格式和语法高亮显示ESLint用于在编辑器中实时检查和修复 JavaScript 代码中的语法和风格错误的插件Git Graph提供一个可视化的 Git 提交历史图形界面,以便更好地查看和理解项目的版本控制历史GitLens提供了丰富的 Git 功能,如注释、作者、时间线等JavaScript (ES6) code snippets为 JavaScript 开发人员提供了一组代码片段,可以快速生成常用的代码模板Live Server在本地开发环境中提供一个实时预览服务器,用于在浏览器中实时查看和调试One Dark ProVS Code 主题插件,提供了一套漂亮的暗色主题open in browser在浏览器中打开当前文件的快捷方式 (Alt + B)Prettier - Code formatter格式化代码的插件,支持多种编程语言,并提供了一些格式化选项和配置vscode-icons为 VS Code 的文件资源管理器添加了漂亮的文件图标,以增强可视化效果和易用性Vetur适用于vue2项目,语法高亮、代码补全、代码格式化、语法检查Vue Language Features (Volar)适用于vue3项目,语法高亮、代码补全、代码格式化、语法检查 两个vue项目的插件。启用了一者,另外一者一定要禁用,避免冲突
目录
一、环境准备
二、安装部署 2.1 二进制安装 2.2 python 3 支持
三、Data X 初体验 3.1 配置示例
3.1.1. 生成配置模板
3.1.2 创建配置文件
3.1.3 运行 DataX
3.1.4 结果显示
3.2 动态传参 3.2.1. 动态传参的介绍
3.2.2. 动态传参的案例
3.3 迸发设置 3.3.1 直接指定
3.3.2 Bps
3.3.3 tps
3.3.4. 优先级
官方参考文档:https://github.com/alibaba/DataX/blob/master/userGuid.md 一、环境准备 Linux 操作系统
JDK(1.8 及其以上都可以,推荐 1.8):Linux 下安装 JDK 和 Maven 环境_linux安装jdk和maven-CSDN博客
Python(2 或者 3 都可以):Spark-3.2.4 高可用集群安装部署详细图文教程_spark高可用-CSDN博客
Apache Maven 3.x(只有源码编译安装需要):Linux 下安装 JDK 和 Maven 环境_linux安装jdk和maven-CSDN博客
二、安装部署 2.1 二进制安装 1、下载安装 DataX 工具包,下载地址:https://datax-opensource.
1.Flink中的KeyBy 在Flink中,KeyBy作为我们常用的一个聚合类型算子,它可以按照相同的Key对数据进行重新分区,分区之后分配到对应的子任务当中去。
源码解析
keyBy 得到的结果将不再是 DataStream,而是会将 DataStream 转换为 KeyedStream(键控流),KeyedStream 可以认为是“分区流”或者“键控流”,它是对 DataStream 按照 key 的一个逻辑分区。
所以泛型有两个类型:除去当前流中的元素类型外,还需要指定 key 的类型。
KeyBy是如何实现分区的呢
Flink中的KeyBy底层其实就是通过Hash实现的,通过对Key的值进行Hash,再做一次murmurHash,取模运算。
再通过Job的并行度,就能获取每个Key应该分配到那个子任务中了。
2.分组和分区在Flink中的区别 分区:分区(Partitioning)是将数据流划分为多个子集,这些子集可以在不同的任务实例上进行处理,以实现数据的并行处理。
数据具体去往哪个分区,是通过指定的 key 值先进行一次 hash 再进行一次 murmurHash,通过上述计算得到的值再与并行度进行相应的计算得到。
分组:分组(Grouping)是将具有相同键值的数据元素归类到一起,以便进行后续操作(如聚合、窗口计算等)。
key值相同的数据将进入同一个分组中。
注意:数据如果具有相同的key将一定去往同一个分组和分区,但是同一分区中的数据不一定属于同一组。
3.代码示例 package com.flink.DataStream.Aggregation; import org.apache.flink.api.common.RuntimeExecutionMode; import org.apache.flink.api.common.functions.FlatMapFunction; import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.common.typeinfo.Types; import org.apache.flink.api.java.functions.KeySelector; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.util.Collector; public class FlinkKeyByDemo { public static void main(String[] args) throws Exception { //TODO 创建Flink上下文执行环境 StreamExecutionEnvironment streamExecutionEnvironment = StreamExecutionEnvironment.
提示:授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
文章目录 前言一、创建Lightsail实例二、Django环境搭建2.1 安装pip2.2 安装uWSGI环境2.3 测试uWSGI是否正常2.4 设置安全组预览测试环境 三、部署及测试Django环境3.1 安装Django3.2 创建Django3.3 允许所有主机可访问3.4 运行项目 四、配置Nginx方向代理总结 前言 最近新注册了 AWS 的账号,免费领取了12个月的EC2和3个月的Lightsail,准备用来部署一个Django,本篇文章用来记录整个实践过程。
我的常用语言是Python,Python对Web开发的支持非常好,大量的Web框架,如Django、Flask、Tornado等,使得Web开发变得更加容易和高效。
Django介绍 Django是一个开源的Web应用框架,使用Python语言编写,主要用于搭建Web项目。本篇文章介绍如何在Linux服务器中使用Nginx+uWSGI部署Django项目。
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建Lightsail实例 Lightsail 提供了多个地区的节点供开发者选择,我这里选择东京,大家选择距离近点的访问要快一点,特别是生产环境,网络往往会是项目的一大瓶颈,东京也有几个可用区可以选择,大家可以根据需要选择不同的可用区,例如做一些灾备
因为我们后续会使用到Nginx做反向代理,这里 Lightsail 提供 Apps + OS 的模式直接创建实例,我们可以很方便的直接选择带有 Nginx 程序的服务器
再往下就是选择咱们的配置了,根据程序大小,业务情况挑选,因为我是新用户,所以可以免费试用3个月,这里我选择了 2GB 2vCPUs的配置
输入实例标识,然后再确认要创建的实例数量就可以以点击创建按钮完成创建了。创建完成后服务器是自带Nginx的,也就说我们直接访问服务器的公网IP地址就有一个Nginx在运行,我们尝试访问一下:
二、Django环境搭建 我们的项目需要使用 Python3,一般操作系统都是自带一个 Python2.7,我们来运行命令检查一下:
python3 --version 看到如下输出就是系统已经安装好了 Python3,且版本还比较新
2.1 安装pip 然后我们检查一下 pip 是否自带,我们需要安装python的依赖时需要这个包管理工具,通过检查后发现没有
我们需要自己安装一个,安装流程如下:
获取pip wget https://bootstrap.pypa.io/get-pip.py 安装pip python3 get-pip.py 安装好后有一个提示,虽然安装成功了,但是没有设置好环境变量,还是不能全局使用,所以我们还需要设置一下环境变量
WARNING: The script wheel is installed in '/home/bitnami/.local/bin' which is not on PATH.
1.报错内容 tried to access method org.bouncycastle.math.ec.ECPoint$Fp.<init>(Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement; Lorg/bouncycastle/math/ec/ECFieldElement;)V from class SM2Utils.SM2 at......
2.分析 我的SpringBoot项目中,依赖bcprov-jdk15on-1.59版本jar包,本地编译运行都是没问题的,发布到weblogic服务器后,调用加解密接口时就出现了如上的报错。
先去服务器看下bcprov重名的包(只截取了其中一部分),使用命令:
locate bcprov
3.解决方法 3.1方法一 如上分析,weblogic中的jar包和本工程的jar包有版本一致的也有其他版本。bcprov包部分高版本是不向低版本兼容的,项目启动过程中,先默认加载上面的jar包,再加载工程的jar包,才导致了jar包不兼容发生冲突。
可以通过配置weblogic.xml文件,来定义工程中的哪些jar包可以优先加载。package-name节点下配置bouncyCastle。配置完成后部署到weblogic,SM2加解密接口调用成功。
配置如下:
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app https://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"> <container-descriptor> <prefer-application-packages> ... <!--优先配置加载项中的jar--> <package-name>org.bouncycastle.*</package-name> <prefer-application-packages> <container-descriptor> <weblogic-web-app> 3.2方法二 在CSDN搜了很多博客,大佬们的思路是使用maven-shade-plugin插件来重写包名,来解决冲突。本人在引入插件后,打出来的war包下目录乱套了,可能是我插件配置有问题,下去再研究一下。时间紧,也放弃了方法二。
大家可以借鉴:【复盘】bcprov-jdk16包冲突问题(不同版本jar兼容) 以及 maven-shade-plugin的使用_bcprov-jdk16-1.46.jar_qxlxi的博客-CSDN博客https://blog.csdn.net/jia970426/article/details/123342190
最近,项目中需要使用到高版本的jdk,但是我电脑中之前又安装过其他版本的jdk8所以就想在一台主机上安装多个版本的jdk,比如jdk11,jdk17,使得在不同的项目中进行jdk的切换。
下载jdk:Oracle官网 ,在这里我需要使用的是jdk17,并且他是长期支持版,也就是Oracle官方会长期维护该版本的问题及优化
安装都是闭着眼睛点:如果遇到有些进程阻拦,去杀掉进程就行
电脑底部栏搜索
属于PID进程号搜索,结束任务就行
安装完之后,就需要解决多个版本的问题!
好用就多用
通过不同的JAVA_HOME+版本号,指定安装地址,最后由JAVA_HOME变量来进行统一管理
配置CLASSPATH变量
1、为什么要配置classpath变量?
配置classpath变量之后,才能使得java解释器知道到哪里去找标准类库,这些标准类库是别人已经写好了的,我们只管使用。比如我们常用到java.lang包中的类,在配置classpath变量后被设为默认导入,所以在写程序时就不用import这个包了。那么这些标准类库在哪呢?在以JDK的lib目录下以jar为后缀的文件中:一个是dt.jar,一个是tools.jar,这两个jar包都位于jdk安装路径中的lib目录下,所以通常我们都会把这两个jar包加到我们的classpath环境变量的值为:.; JDK安装目录\lib\tools.jar; JDK安装目录\lib\dt.jar;
2、如何配置classpath变量?
在系统环境变量那一栏中点击新建classpath ,跟新建JAVA_HOME一样,指定位置就行:
变量名: CLASSPATH
变量值: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
(注意,CLASSPATH最前面是有个 “.”的,跟Linux系统一样,表示当前目录。用两个%包围JAVA_HOME这个变量的意思是引用变量的值,直接复制上边这个吧!)
最后配置path路径
验证:
修改成jdk11:
dos窗口记得关闭之后重新开一个窗口(就是刷新一下)
数据结构 轨迹预测常用的有场景数据ArgoverseScenario和地图ArgoverseStaticMap
轨迹序列读取的API为scenario_serialization
可视化的API为visualize_scenario
argoverse2和argoverse1不一样的地方是,每一段轨迹序列(Scenario)内有自己的json地图文件(虽然说都是同一幅HD map,但是对应HD map中的不同的位置),而argoverse1是所有轨迹序列共享一个地图文件
# 存放轨迹序列的类 from av2.datasets.motion_forecasting.data_schema import ArgoverseScenario # 用于读取轨迹序列的API from av2.datasets.motion_forecasting import scenario_serialization # 用于可视化的API from av2.datasets.motion_forecasting.viz.scenario_visualization import visualize_scenario # 用于读取地图的API from av2.map.map_api import ArgoverseStaticMap 自己写的一个简单的读取例子,具体的可以参考av2-api文件夹中的generate_forecasting_scenario_visualizations.py文件
def generate_scenarios(argoverse_scenario_dir: Path, num_scenarios: int = 100) -> list: scenario_map_list = [] all_scenario_files = sorted(argoverse_scenario_dir.rglob("*.parquet")) for scenario in all_scenario_files[:num_scenarios]: scenario, static_map = generate_scenario(Path(scenario)) scenario_map_list.append([scenario, static_map]) return scenario_map_list # Build inner function to generate visualization for a single scenario.
经过测试 42 种数据恢复软件产品,发现奇客数据恢复安卓版是 Android 设备的最佳选择。
过去几十年来,我一直在科技行业工作,经常帮助人们应对计算机灾难,包括丢失数据。
Android 数据恢复应用程序不在您的设备上运行,而是在您的计算机上运行。他们通过 USB 连接扫描您的手机。这提供了数据恢复的最佳机会,但速度也相当慢。
奇客数据恢复安卓版是 Windows 用户的最佳选择,因为它快速且有效。它易于使用并支持多种 Android 数据类型。Mac 用户会发现Disk Drill同样有效。
但每种情况都不同。因此,我还回顾了每个类别中最好的数据恢复应用程序。
让我们开始吧。
6 个最佳 Android 数据恢复工具 这里有七个有效且可用的 Android 数据恢复应用程序。
1.奇客数据恢复安卓版 奇客数据恢复安卓版在 Android 手机和其他设备上执行快速有效的扫描。这是有代价的:它需要您手动 root 手机,而其他一些应用程序会为您执行此操作。它适用于 Windows跟Mac。
安卓数据恢复-奇客官网免费下载Android数据恢复软件扫描数据,支持文件、照片、视频、邮件、音频、微信消息等1000+种文件格式。https://www.geekersoft.cn/geekersoft-recovergo-android.html
支持的数据类型:
联系方式
相片
视频
音乐和音频
文档和应用程序数据
通话记录
消息和短信
微信,包括照片、视频、文档等业务数据
微信
它能够扫描多种类型的数据,而无需手机的 root 访问权限,包括已删除的照片和 WhatsApp 消息。要访问其余部分,您需要手动 root 手机并启用 USB 调试。幸运的是,提供了明确的说明。
奇客数据恢复安卓版既快速又有效。iPhone 版本恢复了我的六个测试文件中的三个。不幸的是,这是最好的结果,其他几个应用程序也取得了这样的结果。但 奇客数据恢复安卓版 做得最快,在 49 分钟内完成了扫描。
2.Disk Drill Disk Drill是一种快速有效的桌面数据恢复工具,还支持许多移动设备,包括不运行 MIPS 处理器的 Android 设备。它实际上以一个应用程序的价格提供了两个应用程序。
支持的数据类型:
联系方式
目录
前言
一、总体设计
1、知识背景 2、模块介绍(需求分析)
3、设计步骤
3.1 页面原型设计
3.2 前端页面开发
3.3 后端接口开发
3.4 数据库设计
二、详细设计
1、 系统功能模块划分
2、 数据流程图
3、数据库概念结构设计
4、 数据库逻辑结构设计
三、结果与分析
1、用户登录
2、人员管理
3、课程申请
4、课程审批
5、课程安排
6、选择课程
7、成绩评定
四、源码获取
总结
前言 这两个星期学校进行数据库的课程设计,我利用所学知识做出来了一个较为简单的教务管理系统,具体功能包括登录、人员管理、教师课程申请、管理员审批课程、管理员安排课程、学生选课、教师给学生评分等等。分享一下我的课程设计,记录一下自己的成长过程。( • ̀ω•́ )✧
《教务管理系统》项目演示
技术框架:前端采用Vue2,后端采用Spring,数据库使用MySQL。
一、总体设计 1、知识背景 本次课程设计我脱离了学校既定的GUI图形库操作,理由主要是JUI图形化操作较为繁琐,技术过于陈旧。而相较于图形化开发,Java语言更适合用来做后端服务的开发。因此,在本次课设中,我采用的是前后端分离开发模式,来实现业务所需要的功能。
首先,前端即用来写用户看的到的界面的部分,我采用的是Vue框架携同Element组件库进行快速开发,所需要的前置知识有Html、Css、JavaScript、Node.js。后端即用来处理数据和逻辑操作的部分,我采用的是Java语言主流的Spring框架,利用Meaven进行jar包的管理,Mybatis操作数据库,采用SpringMVC进行开发。
在数据库层面,采用的是MySQL数据库,该数据库免费使用,应用范围较为广泛。在表结构设计上面,采用MySQL自带的MySQL WorkBench进行图形化的操作。
2、模块介绍(需求分析) 系统主要有以下几大模块:用户登录、人员管理、课程申请、课程审批、课程安排、课程选课、成绩评定。
用户登录:根据角色权限的不同,用户分为管理员、学生和教师三类,不同用户输入账号和密码登录后所看到的界面不一样。用户登录之后若不选择退出登录,下次输入网址的时候能直接跳转至首页,无需再次输入账号和密码。此外,用户登录后经过一段时间,网站将提示登录超时,相应页面将不能访问,这时候用户需要重新登录。登录成功之后,用户可以选择修改自己的密码。人员管理:该模块包含两大管理,一是学生管理,二是教师管理,两者功能类似,主要有根据条件对用户进行查询,批量删除人员,新增一名人员,修改一名人员的信息,前端分页和后端分页。课程申请:教师角色可以选择向管理员提交申请,新增一门课程。申请之后,教师可以看到自己的提交记录以及相应的提交状态(待审批、已通过、未通过),点击相应的记录可以查看自己的提交详情。课程审批:管理员可以查看教师的课程申请记录,并进行相应的处理,可以选择通过,也可以选择不通过。当选择通过时,教师的申请记录的提交状态将转变为已通过,此时,该课程将添加进课程安排的页面,并处于等待课程安排的状态;当选择不通过时,教师的申请记录的提交状态将转变为未通过,课程将不会添加进课程安排的页面。课程安排:管理员可以对通过了审批的课程进行排课,也可以自己新增一门课程,此时,课程将处于待选状态。管理员可以选择开启选课,开启后,所有待选状态的课程将变为可选,学生将在选课中心看到这些课程;关闭选课,可选状态的课程将转变为授课中的状态,教师正式进入课程的授课。当某一课程结束后,管理员可以点击结课按钮,该课程转变为结课状态,此时教师可对选了该门课的学生进行评分。管理员可以删除处在待选状态或等待课程安排状态的课程信息。课程选课:当管理员开启选课后,学生可以看到选课中心的课程内容,根据自己的爱好进行课程的选择,选择后若是不满意,也可以选择退课。处在授课中或者已结课的课程不支持退课。成绩评定:教师可以在其课程中查看课程详情,查看选修了该门课的所有学生基本信息,当课程处于已结课状态后,教师可以对学生进行评分,学生也能在其课程中看到最后的成绩。若课程未处于已结课的状态,教师将不能对学生进行评分。 3、设计步骤 3.1 页面原型设计 在正式进行开发之前,需要将具体的页面设计好,这样前端能根据页面进行开发,后端也能根据页面设计出合适的接口,常用的原型设计工具有Axure和墨刀。在这里,由于我是一个人进行工作,且课设时间较为紧迫,因此页面原型我在脑海里面过了一遍,就没有用工具绘制出来了。
3.2 前端页面开发 根据原型,利用Html、Css、JavaScript配合Vue2进行页面的开发。本次开发所采用的UI组件库难免与原型不太一样,因此前端页面的制作大致符合原型的样子即可。
3.3 后端接口开发 根据页面的大致情况,需要设计出合适的接口,接受前端传递过来的请求,如根据学生的id获取学生的信息就适合采用GET请求,而新增一名学生就适合采用POST请求。接口开发完成,与前端正式交互之前,需要先进行接口测试,所采用的测试工具为Postman,以保证接口所传数据的准确性。
3.4 数据库设计 根据模块的功能以及页面的情况,利用所学的数据库知识设计出相应的表结构,通过Java程序连接好数据库,将数据返回给前端显示。
二、详细设计 1、 系统功能模块划分 该系统是多角色登录的系统,不同的角色进行登录,所拥有的权限不同。管理员主要是对人员进行管理,课程进行审批,安排教学工作;教师主要是申请课程和给学生评分;学生主要是进行课程的选择,查看最后的成绩。
2、 数据流程图 数据的流通从登录开始,登录后,用户可以选择退出登录或者修改密码。数据流程中,较为复杂的主要是课程的申请与审批,以及教学任务的安排工作。在课程正式进入到选课前,需要进行课程的安排,使课程处于待选状态。开启选课后,所有待选状态的课程将转变为可选,关闭选课后,可选课程进入授课状态。只有当课程结课之后才能对学生进行成绩的评定。 3、数据库概念结构设计 通过对模块和数据流程的分析,我们需要有学生信息、教师信息、申请信息、审批信息、课程信息、管理员信息、选课信息、课程状态信息、是否开启选课等多种数据。各种数据之间存在一定的联系,如学生与选课之间的关系是多对多的,学院与学生之前的关系是一对多的。
问题: 前端查询请求超时
解决: 找到request.js的timeout属性由10秒改成了20秒,因为默认是10秒,请求肯定是超出了10秒
建议:在此请求检查是否有需要优化的SQL,因为已经超出了正常响应时间,所以改时间治标不治本
祝您万事顺心,没事点个赞呗,关注一下也行啊,有啥要求您评论哈
Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行 设备/引擎:Mac(11.6)/Mac Mini 开发工具:终端 开发需求:让显示已损坏的文件顺利安装到电脑 大家肯定都遇到过下载的dmg文件安装时显示文件已损坏,让丢废纸篓,系统设置也没有需要去手动点击通过允许啥的,这种情况就很头疼,想用又一直用不了。今天就总结一下分享给大家。
1.开启允许“任何来源”的选项
MacOS目前已经去除了允许“任何来源”的选项,这也是导致第三方软件无法安装,或显示已损坏的问题。所以想要安装提示已损坏的第三方文件,首先要做的就是手动打开允许“任何来源”的选项。操作如下:
打开终端。如下图
打开后直接输入
sudo spctl --master-disable 输完后回车会看见让你输入Mac开机密码,输入就行了
界面如下图:
此时你的允许“任何来源”的选项就可以看见并选择了,打开【系统设置】-【隐私与安全性】-【安全性】-查看是否已经是允许“任何来源”的选项。如下图
当然你也可以随时更换选项,这个操作只是帮助你打开允许“任何来源”的选项。
完成以上操作后,你会发现点击下载的安装包还是会提示你【文件已损坏,请移到废纸篓中】,别着急,我们可以进行下一步。
2.允许安装软件
1)找到文件的安转路径
可以先看一下刚刚让你移到废纸篓的软件准备安装的位置,一般点完扔到废纸篓后会在你的应用程序目录中看到你想要安装的软件,只是还不能打开如下图所示
2)放到终端里
直接将软件拖拽到【终端】中,就会显示该软件的路径,这一步是为了方便你去查看文件路径来输入,如下图:
知道路径之后,就可以在【终端】继续输入一下命令了
sudo xattr -r -d com.apple.quarantine 别着急回车,继续空格在后面输入上面的软件路径
sudo xattr -r -d com.apple.quarantine /System/Applications/Launchpad.app 此时就可以回车了,同样会看到让你输入Mac开机密码,输入回车就可以了。
完成上面所有步骤之后,就可以正常打开想要安装的软件了,直接在【应用程序】目录中找到软件,双击即可打开。
希望能给大家带来帮助!!!有什么问题需要讨论的可以评论私信欢迎讨论~
当使用axios.post方法发送请求时,可以同时添加查询参数(query)和请求体参数(body)。具体的方法是将查询参数添加到URL中,并将请求体参数作为data属性传递给axios.post方法。
代码演示: 下面是一个示例,演示了如何将查询参数和请求体参数同时传递给axios.post方法:
import axios from 'axios'; const apiUrl = 'https://api.xxx.com/post'; // 查询参数 const queryParam = { key1: 'juny', key2: 'long', }; // 请求体参数 const bodyParam = { name: 'love Y', age: 25, }; axios.post(apiUrl + '?' + new URLSearchParams(queryParam), bodyParam) .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); 在上述代码中,queryParam对象包含要添加到URL中的查询参数,例如key1和key2。bodyParam对象包含要发送到服务器的请求体参数,例如name和age。
在使用axios.post方法时,使用字符串拼接的方式将查询参数添加到URL中,通过new URLSearchParams(queryParam)创建查询参数的字符串。
然后,将请求体参数作为data属性传递给axios.post方法,这样它们将作为请求的正文发送给服务器。
真实项目举例: // 获取列表 async getlist(){ let that=this that.loading=true // 获取list数据 await axios.post(API+'/warehouse/reconciliationMaster/externalSearchReconciliationList', {...that.queryParams}, {headers: that.