云计算实训09——rsync远程同步、自动化推取文件、对rsyncd服务进行加密操作、远程监控脚本
一、rsync远程同步
1.rsync基本概述
(1)sync同步
(2)async异步
(3)rsync远程同步
2.rsync的特点
可以镜像保存整个目录树和文件系统
可以保留原有权限,owner,group,时间,软硬链接,文件acl,文件属性等
传输效率高,使用同步算法
支持匿名传输,方便网站镜像,安全性高
3、rsync与scp的区别
4.rsyn的使用
安装rsync软件包
[root@localhost ~]# yum -y install rsync[root@localhost ~]# which rsync
/usr/bin/rsync
push 推,相当于上传;
pull 拉,相当于下载;
(1)本地同步
同步文件的内容,文件的属性,文件的新增,文件的修改,文件的删除(--delete)
在家目录中创建一些文件,将文件同步到opt下
[root@localhost ~]# cd
[root@localhost ~]# mkdir folder
在folder目录下创建f1,f2,f3
[root@localhost ~]# mkdir folder/f{1..3}
[root@localhost ~]# tree folder/
folder/
├── f1
├── f2
└── f33 directories, 0 files
在folder目录下的f1下创建file0,file1,file2,file3,file4
[root@localhost ~]# touch folder/f1/file{0..4}
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
├── f2
└── f33 directories, 5 files
同步文件
将folder目录下的文件传到opt目录
rsync -av /目录 /tmp 同步目录
[root@localhost ~]# rsync -av folder/ /opt/[root@localhost opt]# ls
a.txt f1 f2 f3
[root@localhost opt]# tree /opt/
/opt/
├── a.txt
├── f1
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
├── f2
└── f3
使用rsync命令进行同步
rsync -avR 保存相对路径,也就是同步目录
[root@localhost ~]# rsync -avR folder/ /opt/[root@localhost ~]# tree /opt/
/opt/
└── folder
├── f1
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
├── f2
└── f34 directories, 5 files
现在不传输到opt目录,就在本地的及格目录传
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
├── f2
└── f33 directories, 5 files
将f1下的文件同步到f2下
rsync -av /目录/ /tmp/ 同步目录下的文件
[root@localhost ~]# rsync -av folder/f1/ folder/f2/
在f1底下创建file5文件
[root@localhost ~]# touch folder/f1/file5
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
├── f2
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ └── file4
└── f3
3 directories, 11 files
再次将f1下的文件同步到f2下,发现新创建的file5也被同步过去了
[root@localhost ~]# rsync -av folder/f1/ folder/f2/
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
├── f2
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
└── f33 directories, 12 files
删除文件
删除f1下的file0文件
[root@localhost ~]# rm -rf folder/f1/file0
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
├── f2
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
└── f33 directories, 11 files
再次将f1下的文件同步到f2下,发现删除的file0在f2中仍然存在
[root@localhost ~]# rsync -av folder/f1/ folder/f2/
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
├── f2
│ ├── file0
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
└── f33 directories, 11 files
使用--delete 进行删除同步,将f1 下的文件同步到f2下
[root@localhost ~]# rsync -av --delete folder/f1/ folder/f2/
sending incremental file list
deleting file0sent 115 bytes received 21 bytes 272.00 bytes/sec
total size is 0 speedup is 0.00
发现f2中的file0文件也被删除了
[root@localhost ~]# tree folder/
folder/
├── f1
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
├── f2
│ ├── file1
│ ├── file2
│ ├── file3
│ ├── file4
│ └── file5
└── f33 directories, 10 files
由此看出:文件的增加会同步,而文件的删除并不会
rsync语法
rsync [选项] 原数据位置 目录位置
修改文件
对f1中的file1文件进行修改,然后编辑文件内容
[root@localhost ~]# vim folder/f1/file1
[root@localhost ~]# cat folder/f1/file1
大家好,我是阿优,超级无敌阿优!
[root@localhost ~]# cat folder/f2/file1
发现修改了f1中的内容,f2目录中没有发生改变再次使用--delete进行同步
[root@localhost ~]# rsync -av --delete folder/f1/ folder/f2/
sending incremental file list
./
file1sent 217 bytes received 38 bytes 510.00 bytes/sec
total size is 47 speedup is 0.18发现f2中的file1文件也被修改了
[root@localhost ~]# cat folder/f2/file1
大家好,我是阿优,超级无敌阿优!
由此得出:文件的修改也会被rsync同步
[root@localhost ~]# touch folder/f1/file0 -m -d "2024-7-14 00:00"
[root@localhost ~]# rsync -av --delete folder/f1/ folder/f2/
[root@localhost ~]# touch folder/f1/file0 -m -d "2024-7-14 00:00"
[root@localhost ~]# rsync -av --delete folder/f1/ folder/f2/
[root@localhost ~]# ls -l folder/f1/file0
-rw-r--r--. 1 root root 0 7月 14 00:00 folder/f1/file0
#给组用户增加写的权限
[root@localhost ~]# chmod g+w folder/f1/file0
[root@localhost ~]# ls -l folder/f1/file0
-rw-rw-r--. 1 root root 0 7月 14 00:00 folder/f1/file0
[root@localhost ~]# rsync -av --delete folder/f1/ folder/f2/
[root@localhost ~]# ls -l folder/f2/file0
-rw-rw-r--. 1 root root 0 7月 14 00:00 folder/f2/file0
#同步文件内容的修改、文件的删除,以及文件的属性的修改
(2)远程同步
向另一台主机 /tmp目录同步数据
[root@localhost ~]# rsync -av folder/ root@192.168.1.10:/tmp/
root@192.168.1.10's password:
要实现远程同步,要求对另一台主机也要安装rsync
远程主机上操作:
在tmp目录下新建一个大小为300M,名为lajiwenjian的文件
dd if=/dev/zero of=/tmp/lajiwenjian bs=300M count=1
查看tmp下的文件
ls -lh /tmp/
将文件同步到192.168.1.20的原主机上
rsync -a root@192.168.1.20::
关闭防火墙
systemctl stop firewalld
关闭selinux
setenforce 0
原主机上操作:
#从远程主机拉取数据
[root@localhost ~]# rsync -av root@192.168.1.10:/tmp/lajiwenjian /tmp/
root@192.168.1.10's password:
receiving incremental file list
lajiwenjiansent 43 bytes received 314,649,690 bytes 15,348,767.46 bytes/sec
total size is 314,572,800 speedup is 1.00
#查看,发现lajiwenjian已经存在
[root@localhost ~]# ls -l /tmp/
总用量 307200
-rw-r--r--. 1 root root 314572800 7月 18 11:04 lajiwenjian
由此证明:两台主机是可以进行远程同步数据的
(3)服务器项目同步
对原主机进行免密操作
[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xoC7J0cpoMXgcvndhrxNRzX7BVbRtYi1vQC0Md9d2+4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|. .=o.ooB|
|.o . . .O+=.B|
|..* . . .o.= =+|
|.+ o + * . ..o.|
|. + * S . ...|
| + * . . |
| o + . E|
| + |
| |
+----[SHA256]-----+
[root@localhost ~]# ssh-copy-id root@192.168.1.10
再次从远程主机拉取数据
[root@localhost ~]# rsync -av root@192.168.1.10:/tmp/lajiwenjian /tmp/
receiving incremental file listsent 20 bytes received 51 bytes 6.76 bytes/sec
total size is 314,572,800 speedup is 4,430,602.82
启动rsync服务
检查rsync服务是否启动
[root@localhost ~]# systemctl status rsyncd
[root@localhost ~]# systemctl start rsyncd
[root@localhost ~]# netstat -lntup | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2664/rsync
tcp6 0 0 :::873 :::* LISTEN 2664/rsync
找到服务配置文件
[root@localhost ~]# find / -name "rsync*conf"
/etc/rsyncd.conf
[root@localhost ~]# vim /etc/rsyncd.conf
创建多级目录
[root@localhost ~]# mkdir -p /app/studentweb/src/main/java/co/goho/ayou.studentweb
[root@localhost ~]# tree /app/
/app/
└── studentweb
└── src
└── main
└── java
└── co
└── goho
└── ayou.studentweb7 directories, 0 files
在多级目录下创建.java文件
[root@localhost ~]touch /app/studentweb/src/main/java/co/goho/ayou.studentweb/File{0..9}.java
[root@localhost ~]# tree /app/
/app/
└── studentweb
└── src
└── main
└── java
└── co
└── goho
└── ayou.studentweb
├── File0.java
├── File1.java
├── File2.java
├── File3.java
├── File4.java
├── File5.java
├── File6.java
├── File7.java
├── File8.java
└── File9.java7 directories, 10 files
[root@localhost ~]# ls /app/
studentweb
检测app项目
进入app目录下的studentweb目录
[root@localhost ~]# cd /app/studentweb/编辑配置文件
[root@localhost studentweb]# vim /etc/rsyncd.conf重新启动rsyncd服务
[root@localhost studentweb]# systemctl restart rsyncd注:备份服务器不需要启动rsyncd服务
#在y主机提供了一个针对app/下项目的rsync服务
[root@localhost studentweb]# tree /app/
/app/
└── studentweb
└── src
└── main
└── java
└── co
└── goho
└── ayou.studentweb
├── File0.java
├── File1.java
├── File2.java
├── File3.java
├── File4.java
├── File5.java
├── File6.java
├── File7.java
├── File8.java
└── File9.java7 directories, 10 files
远程主机上操作:
从原主机对数据进行同步
rsync -av 原 ::目标目录
[root@dongdong ~]#rsync -a root@192.168.1.20::
[root@dongdong ~]#rsync -ac root@192.168.1.20::app /tmp/查看tmp目录
[root@dongdong ~]# ls -l /tmp/再次同步
[root@dongdong ~]# rsync -av root@192.168.1.20::app /tmp/再次查看
[root@dongdong ~]# ls -l /tmp/
[root@dongdong ~]# tree /tmp/src/
/tmp/src/
└── main
└── java
└── co
└── goho
└── ayou.studentweb
├── File0.java
├── File1.java
├── File2.java
├── File3.java
├── File4.java
├── File5.java
├── File6.java
├── File7.java
├── File8.java
└── File9.java5 directories, 10 files
发现原主机的数据被成功同步给远程主机了
二、自动化推取文件
1.检查并启动rsync服务
检查rsync服务是否启动
[root@localhost ~]# netstat -lntup | grep rsync
启动rsync服务
[root@localhost ~]# systemctl start rsyncd再次检查rsync服务是否启动
[root@localhost ~]# netstat -lntup | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 3368/rsync
tcp6 0 0 :::873 :::* LISTEN 3368/rsync
2.设置每一分钟推送一次代码
(1)查看rsync所在的位置
[root@localhost ~]# which rsync
/usr/bin/rsync
(2)编辑计划任务--每分钟推取一次
[root@localhost ~]# crontab -e
*/1 * * * * /usr/bin/rsync -av /app/studentweb/ root@192.168.1.10:/tmp/
若文件没有被修改,则没必要推送
(3)编辑计划任务,删除计划任务
[root@localhost ~]# crontab -e
crontab: installing new crontab
您在 /var/spool/mail/root 中有新邮件
(4)另外开一台主机进行验证
删除/tmp下的所有内容
[root@dongdong ~]# rm -rf /tmp/*
在原主机计划任务编辑完成后,查看/tmp目录
[root@dongdong ~]# ls /tmp/
src
可以发现/tmp目录下多了src,是从原主机同步过来的
3.给rsyncd服务添加密码
(1)编辑配置文件
添加两属性
[root@localhost ~]# vim /etc/rsyncd.conf
auth users=user0,user1
#secrets file=/etc/rsync.secrets
(2)创建编辑rsync密码文件
账号:密码
[root@localhost ~]# vim /etc/rsync.secrets
tom:tomjerry:jerry
(3) 给密码文件添加权限
[root@localhost ~]# ls -l /etc/rsync.secrets
-rw-r--r--. 1 root root 28 7月 18 15:12 /etc/rsync.secrets[root@localhost ~]# #chmod 600 /etc/rsync.secrets
(4)重启rsyncd服务
[root@localhost ~]# systemctl restart rsyncd
4.安装监听工具
(1)安装inotify-tools软件包
[root@localhost ~]# yum -y install inotify-tools
此处安装完成后,会生成以下两个文件
(2)查看inotifywait的位置
[root@localhost ~]# which inotifywait
/usr/bin/inotifywait
(3)创建并编辑脚本文件
[root@localhost ~]# vim inotify.sh
#!/bin/bash
/usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move /app/studentweb | while read events
dorsync -av /app/studentweb/ root@192.168.1.10:/tmp/
done
(4)进行查看
[root@localhost ~]# ls
anaconda-ks.cfg d0 echo.txt folder inotify.sh list vuehtml000
发现我们创建的inotify.sh脚本文件是存在的
(5)对脚本文件进行改名,将其改为inotiftest.sh
[root@localhost ~]# mv inotify.sh inotiftest.sh
(6)对更改后的脚本文件的用户权限进行修改
[root@localhost ~]# chmod 700 inotiftest.sh
[root@localhost ~]# ls
anaconda-ks.cfg d0 echo.txt folder inotiftest.sh list vuehtml000
(7)创建测试文件,及编辑所创建的文件,以便测试
在studentweb的目录下创建名为 天天好心情!的文件
[root@localhost ~]# touch /app/studentweb/天天好心情!
创建名为天天好心情 的文件
[root@localhost ~]# touch /app/studentweb/天天好心情创建名为/woshidongdong的文件
[root@localhost ~]# touch /app/studentweb/woshidongdong
[root@localhost ~]# vim /app/studentweb/woshidongdong查看编辑文件的内容
[root@localhost ~]# cat /app/studentweb/woshidongdong
天天好心情
(8)运行脚本文件
[root@localhost ~]# ./inotiftest.sh
sending incremental file list
./
.woshidongdong.swp
woshidongdong
天天好心情
天天好心情!
(9)将原主机的脚本转入后台运行
[root@localhost ~]# nohup ./inotiftest.sh &
[3] 17277
[root@localhost ~]# nohup: 忽略输入并把输出追加到"nohup.out"
(10)在另一台主机进行测试
[root@dongdong ~]# rm -rf /tmp/*
[root@dongdong ~]# ls /tmp/
src woshidongdong 天天好心情 天天好心情!
发现我们所创建的文件和内容也被同步到tmp目录下了
相关文章:
云计算实训09——rsync远程同步、自动化推取文件、对rsyncd服务进行加密操作、远程监控脚本
一、rsync远程同步 1.rsync基本概述 (1)sync同步 (2)async异步 (3)rsync远程同步 2.rsync的特点 可以镜像保存整个目录树和文件系统 可以保留原有权限,owner,group,时间,软硬链…...
【DGL系列】DGLGraph.out_edges简介
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 函数说明 用法示例 示例 1: 获取所有边的源节点和目标节点 示例 2: 获取特定节点的出边 示例 3: 获取所有边的边ID 示例 4: 获取所有信息&a…...
掌握品质之钥:ISO9001质量管理体系认证的巨大价值
在当今竞争激烈的市场环境中,企业若要脱颖而出并持续成功,就必须确保其产品和服务质量始终如一。ISO9001质量管理体系认证正是帮助企业实现这一目标的关键工具。本文将深入探讨ISO9001认证的巨大价值以及它如何助力企业提升竞争力、优化内部管理并赢得客…...
网络开局 与 Underlay网络自动化
由于出口和核心设备 部署在核心机房,地理位置集中,业务复杂,开局通常需要网络工程师进站调测。 因此核心层及核心以上的设备(包含核心层设备,旁挂独立AC设备和出口设备)推荐采用WEB网管开局方式或命令行开局方式。 核心以下的设备(包含汇聚层设备、接入层设备和AP)由于数量众…...
MySQL MVCC原理
全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。 1、版本链 对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列: 1、trx_id:每次一个事务对某条…...
编织文字的魔法:探索WebKit的CSS文本效果
编织文字的魔法:探索WebKit的CSS文本效果 在现代网页设计中,文本不仅仅是信息的载体,更是视觉表现的重要元素。WebKit,作为众多浏览器的核心引擎,支持一系列CSS文本效果,使开发者能够创造出引人注目的文本…...
如何在Linux上部署Ruby on Rails应用程序
在Linux上部署Ruby on Rails应用程序是一个相对复杂的过程,需要按照一系列步骤进行。下面是一个基本的部署过程,涵盖了从安装所需软件到部署应用程序的所有步骤。 安装必要的软件 在部署Ruby on Rails应用程序之前,需要确保Linux系统上安装了…...
极狐GitLab 如何管理 PostgreSQL 扩展?
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…...
SpringBoot如何使用Kafka来优化接口请求的并发
在Spring Boot中使用 Kafka 来优化接口请求的并发,主要是通过将耗时的任务异步化到Kafka消息队列中来实现。这样,接口可以立即响应客户端,而不需要等待耗时任务完成。 在Spring Boot应用程序中调用Kafka通常涉及使用Spring Kafka库ÿ…...
全面了解不同GPU算力型号的价格!
这两年人工智能(AI)、机器学习(ML)、深度学习和高性能计算(HPC)领域的快速发展,GPU算力已成为不可或缺的资源。企业、研究机构乃至个人开发者越来越依赖于GPU加速计算来处理大规模数据集和复杂模…...
Linux网络编程之UDP
文章目录 Linux网络编程之UDP1、端口号2、端口号和进程ID的区别3、重新认识网络通讯过程4、UDP协议的简单认识5、网络字节序6、socket编程接口6.1、socket常见接口6.2、sockaddr通用地址结构 7、简单的UDP网络程序7.1、服务器响应程序7.2、服务器执行命令行7.3、服务器英语单词…...
graham 算法计算平面投影点集的凸包
文章目录 向量的内积(点乘)、外积(叉乘)确定旋转方向numpy 的 cross 和 outernp.inner 向量与矩阵计算示例np.outer 向量与矩阵计算示例 python 示例生成样例散点数据图显示按极角排序的结果根据排序点计算向量转向并连成凸包 基本…...
【海外云手机】静态住宅IP集成解决方案
航海大背景下,企业和个人用户对于网络隐私、稳定性以及跨国业务的需求日益增加。静态住宅IP与海外云手机的结合,提供了一种创新的集成解决方案,能够有效应对这些需求。 本篇文章分为三个部分;静态住宅优势、云手机优势、集成解决…...
最新!CSSCI(2023-2024)期刊目录公布!
【SciencePub学术】据鲁迅美术学院7月16日消息,近日,南京大学中国社会科学研究评价中心公布了中文社会科学引文索引(CSSCI)(2023—2024)数据库最新入选目录。 C刊一般指CSSCI来源期刊,即南大核心…...
C语言 | Leetcode C语言题解之第237题删除链表中的节点
题目: 题解: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/void deleteNode(struct ListNode* node) {struct ListNode * p node->next;int temp;temp node->val;node->val…...
linux LED代码设计
设计目标: 写RGB LED灭、亮、闪烁等效果,不同颜色也需要设置 #include <iostream> #include <unistd.h> // 对于usleep() #include <fcntl.h> // 对于open(), close() #include <sys/ioctl.h> // 对于ioctl() #include <li…...
Jvm基础(一)
目录 JVM是什么运行时数据区域线程私有1.程序计数器2.虚拟机栈3.本地方法栈 线程共享1.方法区2.堆 二、对象创建1.给对象分配空间(1)指针碰撞(2)空闲列表 2.对象的内存布局对象的组成Mark Word类型指针实例数据:对齐填充 对象的访问定位句柄法 三、垃圾收集器和内存…...
深入理解FFmpeg--软/硬件解码流程
FFmpeg是一款强大的多媒体处理工具,支持软件和硬件解码。软件解码利用CPU执行解码过程,适用于各种平台,但可能对性能要求较高。硬件解码则利用GPU或其他专用硬件加速解码,能显著降低CPU负载,提升解码效率和能效。FFmpe…...
新的铸造厂通过 PROFIBUS 技术实现完全自动化
钢铁生产商某钢以其在厚钢板类别中极高的产品质量而闻名。其原材料(板坯连铸机)在钢铁厂本地生产,该厂最近新建了一座垂直连铸厂。该项目的一个主要目标是从一开始就完全自动化这座新工厂和整个铸造过程,以高成本效率实现最佳产品…...
【UE5.1】NPC人工智能——04 NPC巡逻
效果 步骤 一、准备行为树和黑板 1. 对我们之前创建的AI控制器创建一个子蓝图类 这里命名为“BP_NPC_AIController_Lion”,表示专门用于控制狮子的AI控制器 2. 打开狮子蓝图“Character_Lion” 在类默认值中将“AI控制器类”修改为“BP_NPC_AIController_Lion” 3…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
