云计算第四阶段----CLOUD 01-03

CLOUD Day01

一、虚拟化平台搭建

虚拟化技术产品介绍

#黄线标注的,都是比较主流且常用的虚拟化平台。

  虚拟化与云计算的关系

虚拟化是一种技术,它允许在单个物理服务器上创建和运行多个虚拟机(VMs),每个虚拟机都有其独立的操作系统和应用程序。这种技术可以提高资源利用率、简化管理和提高安全性,是云计算实现的基础之一

云计算则是一种服务模式,它通过互联网提供计算资源和服务。用户可以根据需要获取这些资源,而无需直接管理底层的硬件。

虚拟化平台搭建

原理:通过在虚拟机中,构建虚拟网桥VBR 与外部网络进行网络通信连接。

                                                              环境准备
主机名称IP地址配置
ecs192.168.88.1252 CPU, 4G mem

# ##################虚拟机 2 cpu,4G运行内存#####################

内核模块管理命令

安装虚拟化平台

验证指令集
[root@ecs ~]# grep -Po "vmx|svm" /proc/cpuinfo
vmx
vmx
安装虚拟化服务
[root@ecs ~]# dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
[root@ecs ~]# systemctl enable --now libvirtd
[root@ecs ~]# lsmod |grep kvm
kvm_intel             174841  6 
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm
[root@ecs ~]# virsh version
Compiled against library: libvirt 8.0.0
Using library: libvirt 8.0.0
Using API: QEMU 8.0.0
Running hypervisor: QEMU 6.2.0
创建虚拟网桥
# 官网手册: https://libvirt.org/docs.html
[root@ecs ~]# vim /etc/libvirt/qemu/networks/vbr.xml
<network><name>vbr</name><forward mode='nat'/><bridge name='vbr' stp='on' delay='0'/><ip address='192.168.100.254' netmask='255.255.255.0'><dhcp><range start='192.168.100.128' end='192.168.100.200'/></dhcp></ip>
</network>
# 创建网桥
[root@ecs ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml
Network vbr defined from /etc/libvirt/qemu/networks/vbr.xml
# 设置开机自启动
[root@ecs ~]# virsh net-autostart vbr
Network vbr marked as autostarted
# 启动网桥
[root@ecs ~]# virsh net-start vbr
Network vbr started
# 验证状态
[root@ecs ~]# virsh net-list --allName   State    Autostart   Persistent
-----------------------------------------vbr    active   yes         yes[root@ecs ~]# ifconfig vbr # 验证

网桥管理命令

命令命令描述
virsh net-list [--all]列出虚拟网络
virsh net-start启动虚拟网络设备
virsh net-destroy停止虚拟网络设备
virsh net-define根据 xml 文件创建虚拟网络
virsh net-undefine删除一个虚拟网络设备
virsh net-edit修改虚拟网络设备的配置
virsh net-autostart设置开机自启动

二、云主机创建

创建原理:(以VMvare为例)

#创建虚拟机需要配置,两个目录的文件设置。

##########写实复制###############

#将用户的读写操作分离,读操作直接访问原始盘,写操作通过前端盘拷贝原始盘数据执行。

特点:

克隆磁盘

  • 上传真机中的目录下 cirros.qcow2vmbase.xml 到虚拟机中
    [root@localhost ]# rsync -av public/{cirros.qcow2,vmbase.xml} 192.168.88.125:/root/
  • #linux系统中编写好的两个文件,传到虚拟机中。没有的话可以看看操作。
[root@ecs ~]# cp cirros.qcow2 /var/lib/libvirt/images/
[root@ecs ~]# cd /var/lib/libvirt/images/
[root@ecs ~]# qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
[root@ecs ~]# qemu-img info vmhost.img #查看信息

虚拟机配置文件

[root@ecs ~]# vim vmbase.xml                
02: <name>vmhost</name>  # 必改配置               
03: <memory unit="KB">1048576</memory>
04: <currentMemory unit="KB">1048576</currentMemory>
05: <vcpu placement="static">2</vcpu>
25: <source file="/var/lib/libvirt/images/vmhost.img" />  # 必改配置
29: <source bridge="vbr" />

创建虚拟机

[root@ecs ~]# virsh define vmbase.xml
[root@ecs ~]# virsh list --allId    Name                           State
-----------------------------------------------------     vmhost                         shut off
[root@ecs ~]# virsh start vmhost
Domain vmhost started
[root@ecs ~]# virsh console vmhost # 两次回车
Connected to domain vmhost
Escape character is ^]login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
cirros login: 

############下面几个虚拟机管理命令,部署可以多练练############

管理命令(1)

命令命令描述
virsh list [--all]列出虚拟机
virsh start/shutdown启动/关闭虚拟机
virsh destroy强制停止虚拟机
virsh define/undefine创建/删除虚拟机
virsh console连接虚拟机的 console

管理命令(2)

命令命令描述
virsh edit修改虚拟机的配置
virsh autostart设置虚拟机自启动
virsh dominfo查看虚拟机摘要信息
virsh domiflist查看虚拟机网卡信息
virsh domblklist查看虚拟机硬盘信息

三、云计算

特点
可伸缩性、运营效率、访问性和安全性

云计算的虚拟化配置,可以增强服务器的安全性,和隔离大部分的物理硬件安全风险。

#虚拟化好比在森林里面穿了吉利服,云平台的使用,就是再此基础上,居住到隐身的房屋一样。

#云计算行业面试会问到

三大服务模式

IaaS: 基础设施服务,Infrastructure-as-a-service
PaaS: 平台服务,Platform-as-a-service
SaaS: 软件服务,Software-as-a-service

三大使用场景

公有云:是第三方的云供应商,通过互联网为广大用户提供的一种按需使用的服务器资源,是一种云基础设施。
私有云:是一个企业或组织的专用云环境。一般在企业内部使用,不对外提供服务,因此它也被视为一种企业云。
混合云:是在私有云的基础上,组合其他公有云资源,从而允许在不同云环境之间共享应用和数据的使用方式。


后续课程,我们课程中练习合作的是华为云,所以后续云平台的使用,云主机等等的相关配置都是从华为云出发。(PS: (*^▽^*)  没用过云平台的小伙伴可以了解流程,了解过后类似的云平台产品,你可以自己取货比三家。

官网下载地址如下:

如果公司有资金支持和搭建服务器需求,或者个人工作需要配置购买相关服务的话,觉得华为云不错。可以从下方网址注册账号后,灵活购买定制服务器需求。


CLOUD Day2

一、华为云服务

注册与使用账号

#其他 腾讯、百度、阿里等平台也是类似从操作。多看看就能懂。

#你个人或者为公司配置的云服务器相关服务项目,都在控制台可以看到。

服务器区域选择

#可以选择离自己工作学习环境比较近的区域。有的时候,服务器

需要下载外国软件,就可以选香港服务器

 网络配置

安全组配置

#配置网络防火墙规则,放黑客和默认用户肆意登录

#自己实验练习。可以设成开放全部端口

二、华为云管理

构建云主机

镜像配置

#后续就不用,多次购置云主机下基本软件了,只需要把镜像机配置好,以后用镜像机的配置即可。

测试配置情况

#包年、包月 方式  个人不换算,土豪随意。 

#这里为什么要买弹性公网呢?因为个人上网安全隐私需求考虑,绑定公网IP后才可以,在互联网与个人电脑之间自由玩耍

讲完了如何配置和购买云主机相关知识后,进入具体实操环节。

三、华为云案例

首先规划好架构图。

#图中的跳板机,就好比传送门,因为它绑定了弹性公网,既可以作为互联网与本地私有网络的连接入口。又可以在跳板机中远程连接其他云主机。

公有云配置

区域: 同一个区域中的云主机是可以互相连通的,不通区域云主机是不能使用内部网络互相通信的
选择离自己比较近的区域,可以减少网络延时卡顿
华为云yum仓库:https://repo.huaweicloud.com/rockylinux/

#这里使用的是华为云主机自带的YUM仓库

跳板机配置

ansible 管理主机

#用于自动化脚本配置,或作为软件存放仓库

[root@ecs-proxy ~]# dnf install -y ansible-core glibc-langpack-zh
[root@ecs-proxy ~]# 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: 
... ...
[root@ecs-proxy ~]# chmod 0400 /root/.ssh/id_rsa
[root@ecs-proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.125
[root@ecs-proxy ~]# ansible --version

优化系统配置

[root@ecs-proxy ~]# systemctl stop atd kdump nis-domainname
[root@ecs-proxy ~]# dnf remove -y postfix at audit kexec-tools firewalld-* *-firmware unbound-libs 
[root@ecs-proxy ~]# dnf install -y rsync tree bash-completion lrzsz tar iptables patch ipset time
[root@ecs-proxy ~]# echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
[root@ecs-proxy ~]# sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
[root@ecs-proxy ~]# sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
[root@ecs-proxy ~]# vim /etc/hosts
::1             localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@ecs-proxy ~]# reboot

#做了免密、时间同步方面的相关配置,并下载了课程中会使用到的软件

yum仓库原理


代理 Yum 仓库

[root@ecs-proxy ~]# dnf install -y nginx
[root@ecs-proxy ~]# vim /etc/nginx/default.d/dnf_proxy.conf
resolver 100.125.1.250 100.125.129.250 valid=5 ipv6=off;
location ~ ^/rockylinux/(.*)$ {proxy_pass https://repo.huaweicloud.com/rockylinux/$1;
}
[root@ecs-proxy ~]# systemctl enable --now nginx

私有 Yum 仓库

[root@ecs-proxy ~]# dnf install -y createrepo
[root@ecs-proxy ~]# mkdir -p /var/localrepo
[root@ecs-proxy ~]# createrepo --update /var/localrepo
[root@ecs-proxy ~]# ln -s /var/localrepo /usr/share/nginx/html/

 

模板配置

#此处开始配置镜像机器

配置 Yum 客户端

[root@ecs-host ~]# rm -f /etc/yum.repos.d/{epel,Rocky-[!ABE]}*
[root@ecs-host ~]# sed -ri 's,https://repo.huaweicloud.com,http://192.168.1.252,' /etc/yum.repos.d/*.repo
[root@ecs-host ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=Rocky Linux $releasever - Localrepo
baseurl=http://192.168.1.252/localrepo
enabled=1
gpgcheck=0[root@ecs-host ~]# dnf makecache
Rocky Linux 8 - AppStream                        187 kB/s | 4.8 kB     00:00    
Rocky Linux 8 - BaseOS                           172 kB/s | 4.3 kB     00:00    
Rocky Linux 8 - Extras                           105 kB/s | 3.5 kB     00:00    
Rocky Linux 8 - Localrepo                        2.9 MB/s | 3.0 kB     00:00    
Metadata cache created.

优化系统配置

[root@ecs-host ~]# systemctl stop atd kdump nis-domainname
[root@ecs-host ~]# dnf remove -y postfix at audit kexec-tools firewalld-* *-firmware unbound-libs 
[root@ecs-host ~]# dnf install -y rsync tree bash-completion lrzsz tar iptables patch ipset time
[root@ecs-host ~]# echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
[root@ecs-host ~]# sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
[root@ecs-host ~]# sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
[root@ecs-host ~]# vim /etc/hosts
::1             localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@ecs-host ~]# dnf clean all
[root@ecs-host ~]# poweroff

                                  关机以后把主机系统盘制作为模板


CLOUD DAY3

一、网站部署

架构图设计:

环境准备:

名称IP地址配置
nfs192.168.1.101CPU,1G内存
web-0001192.168.1.112CPU,4G内存
web-0002192.168.1.122CPU,4G内存
web-0003192.168.1.132CPU,4G内存

部署NFS服务

#这里我用的是,老师准备的软件资源,小伙伴们知道原理即可

# 拷贝网站页面到 NFS 云主机
[root@ecs-proxy s4]# rsync -av public/website.tar.gz 192.168.1.10:/root/
#----------------------------------------------------------------------#
# 创建共享目录,并部署网站页面
[root@nfs ~]# mkdir -p /var/webroot
[root@nfs ~]# tar -zxf website.tar.gz -C /var/webroot/# 部署 NFS 服务
[root@nfs ~]# dnf install -y nfs-utils
[root@nfs ~]# vim /etc/exports
/var/webroot    192.168.1.0/24(rw,no_root_squash)[root@nfs ~]# systemctl enable --now nfs-server.service

 部署web服务

#这里用到的是云计算第二阶段,开始学习的ansible 剧本知识,记不清楚的可以,倒回去复习复习

[root@ecs-proxy ~]# mkdir website
[root@ecs-proxy ~]# cd website
[root@ecs-proxy website]# vim ansible.cfg
[defaults]
inventory         = hostlist
host_key_checking = False
[root@ecs-proxy website]# vim hostlist
[web]
192.168.1.[11:13]
[root@ecs-proxy website]# vim web_install.yaml
---
- name: web 集群安装hosts: webtasks:- name: 安装 apache 服务 dnf:name: httpd,php,nfs-utilsstate: latestupdate_cache: yes- name: 配置 httpd 服务 service:name: httpdstate: startedenabled: yes- name: 编辑 fstab 文件,添加 NFS 配置lineinfile:path: /etc/fstabregexp: '^192.168.1.10:/.*'line: '192.168.1.10:/var/webroot /var/www/html nfs defaults,_netdev,nolock 1 1'create: yes- name: 挂载 NFSshell:cmd: mount /var/www/html# 执行 playbook 完成安装
[root@ecs-proxy website]# ansible-playbook web_install.yaml

二、负载均衡

#负载均衡负责的集群,而弹性公网只适合单一主机的访问

原理:

负载均衡配置

 算法选择

#多个选轮训,单个选最少

#通过浏览器访问这个公网地址的info.php

三、Elasticsearch安装部署

架构图解

主机IP地址配置
es-0001192.168.1.21最低配置2核4G
es-0002192.168.1.22最低配置2核4G
es-0003192.168.1.23最低配置2核4G
es-0004192.168.1.24最低配置2核4G
es-0005192.168.1.25最低配置2核4G

添加软件包

#在跳板机操作哦

# 添加 ELK 软件包到自定义 Yum 仓库
[root@ecs-proxy s4]# rsync -av elk/ /var/localrepo/elk/
[root@ecs-proxy s4]# createrepo --update /var/localrepo

部署 es-0001

 

[root@es-0001 ~]# vim /etc/hosts
192.168.1.21    es-0001
192.168.1.22    es-0002
192.168.1.23    es-0003
192.168.1.24    es-0004
192.168.1.25    es-0005
[root@es-0001 ~]# dnf install -y elasticsearch
[root@es-0001 ~]# vim /etc/elasticsearch/elasticsearch.yml
17:  cluster.name: my-es
23:  node.name: es-0001
56:  network.host: 0.0.0.0
70:  discovery.seed_hosts: ["es-0001", "es-0002", "es-0003"]
74:  cluster.initial_master_nodes: ["es-0001", "es-0002", "es-0003"]
[root@es-0001 ~]# systemctl enable --now elasticsearch
# 服务启动成功
[root@es-0001 ~]# curl http://127.0.0.1:9200
{"name" : "es-0001","cluster_name" : "my-es","cluster_uuid" : "_na_","version" : {"number" : "7.17.8","build_flavor" : "default","build_type" : "rpm","build_hash" : "120eabe1c8a0cb2ae87cffc109a5b65d213e9df1","build_date" : "2022-12-02T17:33:09.727072865Z","build_snapshot" : false,"lucene_version" : "8.11.1","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}

部署 es-0002

# 验证集群状态失败
[root@es-0002 ~]# curl http://192.168.1.21:9200/_cat/nodes?pretty
{"error" : {"root_cause" : [{"type" : "master_not_discovered_exception","reason" : null}],"type" : "master_not_discovered_exception","reason" : null},"status" : 503
}
# 部署服务
[root@es-0002 ~]# vim /etc/hosts
192.168.1.21    es-0001
192.168.1.22    es-0002
192.168.1.23    es-0003
192.168.1.24    es-0004
192.168.1.25    es-0005
[root@es-0002 ~]# dnf install -y elasticsearch
[root@es-0002 ~]# vim /etc/elasticsearch/elasticsearch.yml
17:  cluster.name: my-es
23:  node.name: es-0002
56:  network.host: 0.0.0.0
70:  discovery.seed_hosts: ["es-0001", "es-0002", "es-0003"]
74:  cluster.initial_master_nodes: ["es-0001", "es-0002", "es-0003"]
[root@es-0002 ~]# systemctl enable --now elasticsearch
# 验证集群状态
[root@es-0002 ~]# curl http://es-0001:9200/_cat/nodes?pretty
192.168.1.21 16 89  2 0.15 0.06 0.04 cdfhilmrstw * es-0001
192.168.1.22  6 88 61 1.00 0.23 0.08 cdfhilmrstw - es-0002
集群扩容
  • 在所有 es 主机安装 Elasticsearch
[root@ecs-proxy ~]# mkdir es
[root@ecs-proxy ~]# cd es
[root@ecs-proxy es]# vim ansible.cfg 
[defaults]
inventory         = hostlist
host_key_checking = False
[root@ecs-proxy es]# vim hostlist
[es]
192.168.1.[21:25]
[root@ecs-proxy es]# rsync -av 192.168.1.21:/etc/elasticsearch/elasticsearch.yml elasticsearch.j2
[root@ecs-proxy es]# vim elasticsearch.j2
23:  node.name: {{ ansible_hostname }}
[root@ecs-proxy es]# vim es_install.yaml 
---
- name: Elasticsearch 集群安装hosts: estasks:- name: 设置 /etc/hostscopy:dest: /etc/hostsowner: rootgroup: rootmode: '0644'content: |::1     localhost localhost.localdomain localhost6 localhost6.localdomain6127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4{% for i in groups.es %}{{ hostvars[i].ansible_eth0.ipv4.address }} {{ hostvars[i].ansible_hostname }}{% endfor %}- name: 安装 ES 服务dnf:name: elasticsearchstate: latestupdate_cache: yes- name: 拷贝配置文件template:src: elasticsearch.j2dest: /etc/elasticsearch/elasticsearch.ymlowner: rootgroup: elasticsearchmode: '0660'- name: 配置 ES 服务 service:name: elasticsearchstate: startedenabled: yes[root@ecs-proxy es]# ansible-playbook es_install.yaml
[root@ecs-proxy es]# curl http://192.168.1.21:9200/_cat/nodes?pretty
192.168.1.21 32 88 0 0.04 0.01 0.00 cdfhilmrstw * es-0001
192.168.1.22 16 87 0 0.13 0.04 0.01 cdfhilmrstw - es-0002
192.168.1.23  6 86 1 0.64 0.21 0.07 cdfhilmrstw - es-0003
192.168.1.24 18 86 0 0.44 0.13 0.05 cdfhilmrstw - es-0004
192.168.1.25  6 86 1 0.67 0.21 0.07 cdfhilmrstw - es-0005

插件管理

Head插件图例

 

 部署插件页面

#传输的软件包是课堂老师准备的,需要练习的话,可以去官网下载正版。

# 拷贝插件 public/head.tar.gz 到 es-0001 主机
[root@ecs-proxy s4]# rsync -av public/head.tar.gz 192.168.1.21:./
#-------------------------------------------------
# 在 es-0001 上安装 web 服务,并部署插件
[root@es-0001 ~]# dnf install -y nginx
[root@es-0001 ~]# systemctl enable --now nginx
[root@es-0001 ~]# tar zxf head.tar.gz -C /usr/share/nginx/html/
  • 通过 ELB 的 8080 端口,发布服务到互联网

 认证和代理

[root@es-0001 ~]# vim /etc/nginx/default.d/esproxy.conf 
location ~* ^/es/(.*)$ {proxy_pass http://127.0.0.1:9200/$1;auth_basic "Elasticsearch admin";auth_basic_user_file /etc/nginx/auth-user; 
}
[root@es-0001 ~]# dnf install -y httpd-tools
[root@es-0001 ~]# htpasswd -cm /etc/nginx/auth-user admin
New password: 
Re-type new password: 
Adding password for user admin
[root@es-0001 ~]# systemctl reload nginx

 

API原语管理

集群状态查询

# 查询支持的关键字
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/_cat/
# 查具体的信息
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/_cat/master
# 显示详细信息 ?v
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/_cat/master?v
# 显示帮助信息 ?help
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/_cat/master?help
# 显示易读格式 ?pretty
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/_cat/master?pretty

创建索引

  • 指定索引的名称,指定分片数量,指定副本数量
# 创建 tedu 索引
[root@es-0001 ~]# curl 'http://127.0.0.1:9200/tedu?pretty' \-X PUT -H 'Content-Type: application/json' -d '{"settings": {"number_of_shards": 5,"number_of_replicas": 1}}'
增加数据
[root@es-0001 ~]# curl -XPUT -H "Content-Type: application/json" \http://127.0.0.1:9200/tedu/teacher/1?pretty -d '{"职业": "诗人","名字": "李白","称号": "诗仙","年代": "唐"}' 
查询数据
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/tedu/teacher/_search?pretty
[root@es-0001 ~]# curl -XGET http://127.0.0.1:9200/tedu/teacher/1?pretty
修改数据
[root@es-0001 ~]# curl -XPOST -H "Content-Type: application/json" \http://127.0.0.1:9200/tedu/teacher/1/_update -d '{ "doc": {"年代":"公元701"}}'
删除数据
# 删除一条
[root@es-0001 ~]# curl -XDELETE http://127.0.0.1:9200/tedu/teacher/1
# 删除索引
[root@es-0001 ~]# curl -XDELETE http://127.0.0.1:9200/tedu

以上就是云计算 CLOUD模块的前三天内容了。

需要小伙伴们了解,云平台服务器相关服务的购置与使用 。镜像机的制作,ELK 中Elasearch软件的配置(更多内容AI),API 网络查询语句的使用(了解大体用法)。

       或许那一天你个人做游戏,或者为公司购置云平台服务器时会用到以上知识,平台不重要,重要的是你知道如何更划算的使用与搭配。根据剧本和云平台的搭配,合理配置云服务器相关服务,提升资源利用效率。

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

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

相关文章

python编程知识(实现数据加密和解密)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

JavaScript使用高德API显示地图

前言 在JavaScript中&#xff0c;使用Leaflet库显示地图是一种常见的做法。Leaflet是一个开源的JavaScript库&#xff0c;用于在Web应用程序中创建互动地图。它非常轻量级&#xff0c;易于使用&#xff0c;并且提供了多种功能&#xff0c;使开发者能够轻松地将地图集成到他们的…

银行结算业务

1.1 银行本票 银行本票是由银行签发的,承诺自己在见票时无条件支付票款给收款人或持票人的业务。银行本票按票面划分为定额本票和不定额本票,按币种划分为人民币银行本票和外币银行本票。人民币银行本票仅在同一交换区域内使用,资金清算利用当地人民银行组织的资金清算形式…

vite+vue3+typescript+elementPlus前端实现电子证书查询系统

实现背景&#xff1a;之前电子证书的实现是后端实现的&#xff0c;主要采用GD库技术&#xff0c;在底图上添加文字水印和图片水印实现的。这里采用前端技术实现电子证书的呈现以及点击证书下载&#xff0c;优点是&#xff1a;后端给前端传递的是一组数据&#xff0c;不需要传证…

数据分析训练模型后输出模型评估报告

数据分析训练模型后输出模型评估报告 1、模型评估指标 1.1、概念: A:n个正样本,检测到是真值的数量 B:m个负样本,检测到是真值的数量 C:n个正样本,检测到假值的数量 D:m个负样本,检测到假值的数量 1.2、准确率(Accuracy) 正确预测的样本数量与总样本数量的比值。…

笔记整理—内核!启动!—kernel部分(1)从汇编阶段到start_kernel

kernel起始与ENTRY(stext)&#xff0c;和uboot一样&#xff0c;都是从汇编阶段开始的&#xff0c;因为对于kernel而言&#xff0c;还没进行栈的维护&#xff0c;所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。 内核起始部分代码被解压代码调用&#xff0c…

Pinterest账号被封?试试这几种解封方法

Pinterest作为一个充满创意与灵感的视觉社交平台&#xff0c;吸引着大量用户和企业前来展示、收藏和分享他们的作品。然而&#xff0c;如同其他社交媒体平台一样&#xff0c;Pinterest也设立了一套严格的使用规则和监测机制&#xff0c;以保障平台内容的质量和用户的良好体验。…

Helm Deploy Online Rancher v2.9.1

文章目录 准备安装查看下载 准备 $ kubectl get node NAME STATUS ROLES AGE VERSION kube-master01 Ready control-plane 19d v1.29.5 kube-node01 Ready <none> 19d v1.29.5 kube-node02 Ready <none&…

SpringBoot+Redis极简整合

1 前言 Redis是现在最受欢迎的NoSQL数据库之一&#xff0c;下面将以最简洁的代码演示&#xff0c;在SpringBoot中使用redis。 2 下载安装Redis 2.1 下载 Redis3.x windows安装版下载地址 2.2 安装到任意位置 一直Next到完即可。 2.3 启动 打开安装目录&#xff0c;点击…

Bootstrap前端框架Glyphicons字体图标

115工具网收集提供Bootstrap前端框架Glyphicons字体图标库对照表​​​​​​​&#xff0c;Bootstrap前端UI,Glyphicons字体图标调用,Bootstrap按钮字体图标对照表,包括250多个来自Glyphicon Halflings的字体图标.项目中引用Bootstrap相关文件后即可直接调用下列图标class&quo…

HTML生日蛋糕

目录 写在前面 完整代码 代码分析 系列文章 写在最后 写在前面 HTML实现的生日蛋糕来喽&#xff0c;小编亲测&#xff0c;发给好友可以直接打开哦。在代码的第183行可以写下对朋友的祝福&#xff0c;快拿去送给你的好朋友吧&#xff01; 完整代码 <!DOCTYPE html>…

整合Redis和RedisCacheManger

整合redis springboot在现在的版本中操作Redis数据库用到了lettuce&#xff0c;而不是Jedis&#xff0c;他们各有各的特点。Jedis以Redis命令作为方法名称&#xff0c;学习成本低&#xff0c;简单实用。但是Jedis实例是线程不安全的&#xff0c;多线程环境下需要基于连接池来使…

VSCode安装配置C语言(保姆级教程)

目录 引言 一、VS Code的卸载 1.卸载VS Code应用 ​编辑2.删除安装的插件 3.删除配置的信息 二、VS Code的安装 1.下载vscode 2.安装VS Code 三、VS Code配置C语言环境 1.安装插件 2.下载MinGW 3.添加路径 4.确认gcc位置 ​四、运行C语言程序 ​总结 引言 Vi…

揭开面纱--机器学习

一、人工智能三大概念 1.1 AI、ML、DL 1.1.1 什么是人工智能? AI&#xff1a;Artificial Intelligence 人工智能 AI is the field that studies the synthesis and analysis of computational agents that act intelligently AI is to use computers to analog and instead…

MASt3R:从3D的角度来实现图像匹配(更新中)

Abstract 图像匹配是 3D 视觉中所有性能最佳算法和pipeline的核心组件。 然而&#xff0c;尽管匹配从根本上来说是一个 3D 问题&#xff0c;与相机姿态和场景几何结构有内在联系&#xff0c;但它通常被视为一个 2D 问题。因为匹配的目标是建立 2D 像素字段之间的对应关系&#…

STM32的GPIO使用

一、使用流程 1.使用RCC开启GPIO时钟 2.使用GPIO_Init 函数初始化GPIO 3.使用输出或输入函数控制GPIO口 二、RCC的常用函数 函数内容可通过这两个文件进行查看&#xff1a; RCC常用函数如下&#xff1a; void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalS…

我与Linux的爱恋:yum和vim以及gcc的使用

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;Linux的学习 文章目录 ​1.Linux软件包管理器yum2.Linux开发工具3.Linux编译器 vimvim的基本概念vim的基本操作vim正常模式命令集vim末行模式命令集vim操作总结批量化注释批量化去注释简…

2024国赛数学建模A题B题C题D题E题思路资料模型

开始在本帖实时更新2024国赛数学建模赛题思路代码&#xff0c;文章末尾获取&#xff01; 持续更新参考思路

Qt多语种开发教程

Qt作为跨平台的开发工具&#xff0c;早已应用到各行各业的软件开发中。 今天讲讲&#xff0c;Qt开发的正序怎么做多语言开发。就是说&#xff0c;你设置中文&#xff0c;就中文显示&#xff1b;设置英语就英文显示&#xff0c;设置繁体就繁体显示&#xff0c;设置发育就显示法语…

中国剩余定理和扩展中国剩余定理(模板)

给你一元线性同余方程组&#xff0c;如下&#xff1a; 其中&#xff0c;当 , , ... , 两两互质的话就是中国剩余定理 &#xff0c; 不互质的话就是扩展中国剩余定理。 给出中国剩余定理的计算过程和扩展中国剩余定理的推理过程&#xff1a; #include<bits/stdc.h> us…