Linux虚拟化————KVM
1、安装kvm虚拟化套件
[root@bogon ~]# yum -y install virt*
2、启动服务
[root@bogon ~]# systemctl start libvirtd
[root@bogon ~]# systemctl status libvirtd
● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; preset: disabled)Active: active (running) since Fri 2024-03-15 18:27:06 CST; 1s ago
......
libvirtd:可以管理虚拟化
3、命令行删除默认的Linux bridge
查看虚拟网桥,这个网桥是在安装虚拟化软件之后会自动创建出来的
[root@bogon ~]# ip a show virbr0
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:2d:af:d0 brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
安装管理libvirt-client,可以使用这个来管理提供的网桥
[root@bogon ~]# yum -y install libvirt-client
[root@bogon ~]# virsh net-list --allName State Autostart Persistent
--------------------------------------------default active yes yess
清理网桥
[root@bogon ~]# virsh net-undefine default
Network default has been undefined[root@bogon ~]# virsh net-list --allName State Autostart Persistent
--------------------------------------------default active no no
4、通过nmcli创建Linux bridge
[root@bogon ~]# nmcli connection add con-name vm-bridge ifname vm-bridge type bridge ipv4.method disabled ipv6.method ignore
5、关闭selinux和防火墙
[root@bogon ~]# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@bogon ~]# setenforce 0
[root@bogon ~]# systemctl disable firewalld.service --now
6、使用cloud镜像
KVM虚拟化创建的虚拟机,虚拟磁盘的后缀名叫做qcow2,当你通过图形创建了一个虚拟机之后,将会生成一个qcow2的虚拟机磁盘文件,里面就有你安装的操作系统,但是作为一个运维人员不可能每次都装系统,一般多多少少都会偷点懒,所以就出现了一个叫做模板化部署虚拟机的方法
无论是ubuntu还是centos还是fedora还是debian这类主流的linux发行版本,官方都会给你qcow2的模板
AlmaLinux:Generic Cloud (Cloud-init) | AlmaLinux Wiki
centos-steam:CentOS Cloud images
rocky:Cloud Images | Rocky Linux
7、下载cloud镜像
[root@bogon ~]# wget https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2
8、创建虚拟机
通过cloud image使用命令行创建虚拟机
下载virt-install
[root@bogon ~]# yum -y install virt-install
[root@bogon ~]# mkdir /opt/image_qcow2 -p
[root@bogon ~]# mv AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2 /opt/image_qcow2/
创建虚拟机
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING KVM acceleration not available, using 'qemu'
WARNING Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain... | 00:00:00
Domain creation completed.
[root@bogon ~]# virsh listId Name State
-----------------------------1 AlmaLinux-1 running
-
--memory
:虚拟机内存 -
--vcpus
:虚拟机cpu -
--import
:将现有虚拟机导入 -
--os-variant
:虚拟机类型 -
--disk
:磁盘路径 -
bus=virtio
:设置驱动磁盘类型可以识别成为vda,vdb等,如果不加,就会识别成sda,sdb -
--network
:设置网卡 -
model=virtio
:设置网卡驱动,使用virtio -
--noautoconsole
:设置命令行启动
进入控制台
[root@bogon ~]# virsh console AlmaLinux-1
Connected to domain 'AlmaLinux-1'
Escape character is ^] (Ctrl + ])
Ctrl + ]
可以退出控制台
已经创建了虚拟机,我们也能访问到虚拟机的控制台,但是我们进不去,我们只能在外面蹭蹭,所以呢,究极难受,因为我们不知道root用户的密码
9、删除虚拟机
virsh destroy [name]
:关机
virsh undefine [name]
:删除
[root@bogon ~]# virsh listId Name State
-----------------------------1 AlmaLinux-1 running
[root@bogon ~]# virsh destroy AlmaLinux-1
Domain 'AlmaLinux-1' destroyed
[root@bogon ~]# virsh undefine AlmaLinux-1
Domain 'AlmaLinux-1' has been undefined
[root@bogon ~]# virsh listId Name State
--------------------
10、自定义cloud image
qcow2文件是可以修改的,但是需要工具,这个工具的名字叫做libguestfs
下载libguestfs
[root@bogon ~]# yum -y install libguestfs libguestfs-tools-c
修改qcow2密码
[root@bogon ~]# virt-customize -a /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2 --root-password password:000000 --selinux-relabel
[ 0.0] Examining the guest ...
[ 55.5] Setting a random seed
[ 55.6] Setting the machine ID in /etc/machine-id
[ 55.6] Setting passwords
[ 70.1] SELinux relabelling
[ 183.0] Finishing off
拉起虚拟机
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING KVM acceleration not available, using 'qemu'
WARNING Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain... | 00:00:00
Domain creation completed.
进入虚拟机
...
localhost login: root
Password:
[root@localhost ~]#
11、配置网络
配置虚拟机AlmaLinux-1
的网络
[root@localhost ~]# nmcli con add con-name static-eth0 type ethernet ipv4.address 172.24.10.20/24 ipv4.method man
[root@localhost ~]# ip a show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 52:54:00:78:34:cc brd ff:ff:ff:ff:ff:ffaltname enp1s0inet 172.24.10.20/24 brd 172.24.10.255 scope global noprefixroute eth0valid_lft forever preferred_lft foreverinet6 fe80::4613:29fd:e79:e20a/64 scope link noprefixroute valid_lft forever preferred_lft forever
配置host的网络
[root@bogon ~]# nmcli connection modify vm-bridge ipv4.address 172.24.10.3/24 ipv4.method manual
[root@bogon ~]# nmcli connection up vm-bridge
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@bogon ~]# ip a show vm-bridge
3: vm-bridge: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ffinet 172.24.10.3/24 brd 172.24.10.255 scope global noprefixroute vm-bridgevalid_lft forever preferred_lft forever
由于网桥是十分脆弱的,当改了网桥之后,就需要重新桥接上去
简单的方式,重启
[root@bogon ~]# virsh destroy AlmaLinux-1
[root@bogon ~]# virsh start AlmaLinux-1
12、重新拉起虚拟机,配置额外的磁盘空间
创建lv
[root@bogon ~]# pvcreate /dev/sda Physical volume "/dev/sda" successfully created.
[root@bogon ~]# vgcreate data /dev/sda Volume group "data" successfully created
[root@bogon ~]# lvcreate -n data -L 9G dataLogical volume "data" created.
重新拉起虚拟机
[root@bogon ~]# virsh destroy AlmaLinux-1
Domain 'AlmaLinux-1' destroyed
[root@bogon ~]# virsh undefine AlmaLinux-1
Domain 'AlmaLinux-1' has been undefined
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --disk path=/dev/data/data,bus=virtio --disk path=/dev/sdb,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
data
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --disk path=/dev/data/data,bus=virtio --disk path=/dev/sdb,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
data
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2,bus=virtio --disk path=/dev/data/data,bus=virtio --disk path=/dev/sdb,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain... | 00:00:00
Domain creation completed.
13、将cloud镜像文件的根分区扩大
因为根分区是标准的分区,所以没办法使用逻辑卷的方法进行扩容,所以我们要用到一个工具叫做virtresize
删除虚拟机
[root@bogon ~]# virsh destroy AlmaLinux-1
Domain 'AlmaLinux-1' destroyed[root@bogon ~]# virsh undefine AlmaLinux-1
Domain 'AlmaLinux-1' has been undefined
查看qcow2的磁盘情况
[root@bogon ~]# virt-filesystems --long -h --all -a /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2
Name Type VFS Label MBR Size Parent
/dev/sda1 filesystem unknown - - 1.0M -
/dev/sda2 filesystem vfat - - 200M -
/dev/sda3 filesystem xfs - - 448M -
/dev/sda4 filesystem xfs - - 9.2G -
/dev/sda1 partition - - - 1.0M /dev/sda
/dev/sda2 partition - - - 200M /dev/sda
/dev/sda3 partition - - - 512M /dev/sda
/dev/sda4 partition - - - 9.3G /dev/sda
/dev/sda device - - - 10G -
创建一个19G的qcow2文件,用来“夺舍”
[root@bogon ~]# qemu-img create -f qcow2 /opt/os_qcow2/os.qocow2 19G
Formatting '/opt/os_qcow2/os.qocow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=20401094656 lazy_refcounts=off refcount_bits=16
查看创建的这个qcow2文件
[root@bogon ~]# qemu-img info /opt/os_qcow2/os.qcow2
image: /opt/os_qcow2/os.qcow2
file format: qcow2
virtual size: 19 GiB (20401094656 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:compat: 1.1compression type: zliblazy refcounts: falserefcount bits: 16corrupt: falseextended l2: false
Child node '/file':filename: /opt/os_qcow2/os.qcow2protocol type: filefile length: 192 KiB (197120 bytes)disk size: 196 KiBFormat specific information:extent size hint: 1048576
使用新创建的9G的qcow2文件来替换原来的qcow2文件,这里的磁盘是指qcow2里的磁盘
[root@bogon ~]# virt-resize --expand /dev/sda1 /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2 /opt/os_qcow2/os.qcow2
[ 0.0] Examining /opt/image_qcow2/AlmaLinux-9-GenericCloud-9.3-20231113.x86_64.qcow2100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
**********Summary of changes:virt-resize: /dev/sda1: This partition will be resized from 1.0M to 9.0G.virt-resize: /dev/sda2: This partition will be left alone.virt-resize: /dev/sda3: This partition will be left alone.virt-resize: /dev/sda4: This partition will be left alone.**********
[ 21.2] Setting up initial partition table on /opt/os_qcow2/os.qcow2
[ 35.6] Copying /dev/sda1
[ 35.6] Copying /dev/sda2
[ 36.8] Copying /dev/sda3100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[ 40.7] Copying /dev/sda4100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00virt-resize: Resize operation completed with no errors. Before deleting
the old disk, carefully check that the resized disk boots and works
correctly.
查看新的文件,可以看到虚拟磁盘变大了
[root@bogon ~]# virt-filesystems --long -h --all -a /opt/os_qcow2/os.qcow2
Name Type VFS Label MBR Size Parent
/dev/sda1 filesystem unknown - - 9.0G -
/dev/sda2 filesystem vfat - - 200M -
/dev/sda3 filesystem xfs - - 448M -
/dev/sda4 filesystem xfs - - 9.2G -
/dev/sda1 partition - - - 9.0G /dev/sda
/dev/sda2 partition - - - 200M /dev/sda
/dev/sda3 partition - - - 512M /dev/sda
/dev/sda4 partition - - - 9.3G /dev/sda
/dev/sda device - - - 19G -
使用新的qcow2拉起虚拟机
[root@bogon ~]# virt-install --name AlmaLinux-1 --memory 1024 --vcpus 1 --import --os-variant almalinux9 --disk path=/opt/os_qcow2/os.qcow2,bus=virtio --disk path=/dev/data/kvm,bus=virtio --network bridge=vm-bridge,model=virtio --noautoconsole
WARNING Requested memory 1024 MiB is less than the recommended 1536 MiB for OS almalinux9Starting install...
Creating domain... | 00:00:00
Domain creation completed.
14、XML文件
[root@bogon ~]# ll /etc/libvirt/qemu/AlmaLinux-1.xml
-rw------- 1 root root 7110 Apr 11 08:26 /etc/libvirt/qemu/AlmaLinux-1.xml
如果virsh destory之后再virsh undefine虚拟机,这个文件就会消失。
如果你的xml文件做过高度定制化修改,那么一定要备份,下次拉起虚拟机就应该是用virsh define/path/xxx.xml,因为有一些xml文件支持的高级部分并不被virt-install的所有参数所支持。
相关文章:
Linux虚拟化————KVM
1、安装kvm虚拟化套件 [rootbogon ~]# yum -y install virt* 2、启动服务 [rootbogon ~]# systemctl start libvirtd [rootbogon ~]# systemctl status libvirtd ● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; di…...

【b站李同学的Lee】Part 2 模块化开发 NodeJS+Gulp基础入门+实战
课程地址:【NodeJSGulp基础入门实战】 https://www.bilibili.com/video/BV1aE411n737/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 4 Node.js模块化开发 4.1 JavaScript开发弊端 4.1.1 文件依赖 4.1.2 命名冲突 4.2 生活中的…...

AI大模型日报#0415:贾佳亚团队新作王炸、马斯克首款多模态大模型、ChatGPT to B
导读: 欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 融合ChatGPTDALLE3,贾佳亚团队新作开源:识图推理生图一站解决 摘要: 贾佳亚团队推出了多模态模型Mini-Gem…...

基于GRU实现评论文本情感分析
一、问题建模 在线评论的细粒度情感分析对于深刻理解商家和用户、挖掘用户情感等方面有至关重要的价值,并且在互联网行业有极其广泛的应用,主要用于个性化推荐、智能搜索、产品反馈、业务安全等。此博文,共包含6大类20个细粒度要素的情感倾…...

【C 数据结构】线性表
文章目录 【 1. 线性表 】【 2. 顺序存储结构、链式存储结构 】【 3. 前驱、后继 】 【 1. 线性表 】 线性表,全名为线性存储结构,线性表结构存储的数据往往是可以依次排列的(不考虑数值大小顺序)。 例如,存储类似 {1…...

C++初级----list(STL)
1、 list介绍 1.1、 list介绍 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 1. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一…...

web安全学习笔记(9)
记一下第十三课的内容。 准备工作:在根目录下创建template目录,将login.html放入其中,在该目录下新建一个reg.html。在根目录下创建一个function.php 一、函数声明与传参 PHP中的函数定义和其他语言基本上是相同的。我们编辑function.php …...
【Python-基础】字符串合集
字符串格式化 f # 例如: # f{train_path}/{f}: 将train_path字符串和f字符串结合 # f{root}.csv:将root字符串和.csv字符串结合判断字符串是否以…结尾 root.endswith(".csv") # True未待完续…...
Scala之List
列表 不可变列表(List) 在Scala中,通过List来定义不可变列表,需要注意的是,List本身是一个抽象类,所以并不能直接使用List来构建对象,需要使用它的伴生对象来构建 package com.fesco.listimport scala.::object ListD…...

Springboot+Vue项目-基于Java+MySQL的在线视频教育平台系统(附源码+演示视频+LW)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…...

Java IO流-字节流
简介 IO流的输入与输出,都在站在内存的角度来看的,因为毕竟是和内促你打交道的嘛! 分类 IO流是可以根据方向,或者最小单位进行划分的 上述两两结合一下,就得到四种大的分类 IO流的继承体系 字节输入流InputStream 创建…...

第十五届蓝桥杯复盘python大学A组——试题B 召唤数学精灵
按照正常思路解决,由于累乘消耗大量时间,因此这不是一个明智的解决方案。 这段代码执行速度非常慢的原因在于它试图计算非常大的数的阶乘(累乘),并且对于每一个i的值都执行这个计算。阶乘的增长是极其迅速的ÿ…...
网络通信——常见结构及强联网游戏和弱联网游戏区别
声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。 网络通信——常见结构及强联网游戏和弱联网游戏区别 文章目录 网络通信——常见结构及强联网游戏和…...

如何安装PyFluent
0.什么是PyFluent? 官方介绍如下: PyFluent 是 PyAnsys 生态系统的一部分, 允许您在所选的 Python 环境中结合使用 Fluent 与其他 PyAnsys 库和外部 Python 库一起使用。 PyFluent 实现了客户端-服务器体系结构。它使用谷歌遥控器 过程调用或 gRPC 接…...
Qt 2 QMapQHashQVector类实例
1. QMap // 1:QMap的使用// 创建一个QMap 实例 key 为 QString value 为 intQMap<QString,int> Grade;// 插入方式有两种插入方式// 1.map[key] valueGrade["语文"] 90;Grade["数学"] 120;// 2.map.insert(key,value);Grade.insert("英语&qu…...
使用Git将文件夹上传到Github以及使用Git LFS上传大文件
使用Git将文件夹上传到Github以及使用Git LFS上传大文件...

1.SCI各模块
1.学会“抄” 写论文,一定要学会“抄”!这样才能事半功倍,尤其是对于初次写作的新手,否则写作过程一定会让你痛不欲生,而且写出来的东西就是一坨shi,不仅折磨自己,也折磨导师。 写论文与建大楼…...

记录shell编程中$1,$@等符号的含义
笔者最近老是遇到shell中的$相关的题目,于是打算写篇文章记录一下。考虑到并没有特别多需要解释的内容,所以并不会进行介绍,上图上表上代码,让机器说话,machine always right test.sh #/bin/bash echo $# $# echo …...

单链表的应用
文章目录 目录1. 单链表经典算法OJ题目1.1 [移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/description/)1.2 [链表的中间节点](https://leetcode.cn/problems/middle-of-the-linked-list/description/)1.3 [反转链表](https://leetcode.cn/problem…...

手机副业赚钱秘籍:让你的手机变成赚钱利器
当今社会,智能手机已然成为我们生活不可或缺的一部分。随着技术的飞速进步,手机不再仅仅是通讯工具,而是化身为生活伴侣与工作助手。在这个信息爆炸的时代,我们时常会被一种焦虑感所困扰:如何能让手机超越消磨时光的定…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...