云计算复习提纲
第一章
大数据的概念:海量数据的规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策
大数据的特点:①数据量大,存储的数据量巨大,PB级别是常态;②多样,数据的来源及格式多样,数据格式除了传统的结构化数据外,还包括半结构化和非结构化数据;③快速,数据的增长速度快,而且越新的数据价值要求对数据的处理也要快;④价值密度低,要求设计一种在成本可接受的条件下,快速采集,发现和分析,从大量多种类别的数据提取价值的体系架构;⑤复杂度,对数据分析处理的难度大
云计算的概念:云计算是一种商业计算模型,将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力,存储空间等服务
短定义:云计算是通过网络按需提供可动态伸缩的廉价计算服务
云计算的特点:①超大规模②虚拟化,支持用户在任意位置在各种终端获取服务,但实际上不需要了解应用运行的具体位置③高可靠性,采用数据多副本容错,节点同构可互换的措施来保障服务的高可靠性④通用性,云的特殊容错措施使得可以采用及其廉价的节点来构成云⑤高可伸缩,云的规模可以伸缩⑥按需服务⑥极其廉价,云的特殊容错措施可以使得用极其廉价的节点来构成云
云计算的分类:
按照服务类型分类:
①将基础设施作为服务IaaS,给用户提供对所有设施的利用服务,弹性云计算ECS、AWS
②将平台作为服务PaaS,将软件研发的平台作为一种服务,百度BAE,新浪SAE,阿里ACE,京东JAE
③将软件作为服务SaaS,协同OA,CRM,财务系统,企业智能系统和企业邮箱
按照部署模式分类:
①公有云,向公众开放,任何人都能够租赁
②私有云,只向一个企业或单位内的人员使用;分为本地私有云(部署在企业内部,适合运行关键和机密业务),托管私有云(托管在第三方机房)
③混合云,只供两个或以上的特定企业或者单位内的人员使用,其他人无权租赁和使用
④社区云,由两个或者以上不同类型的云组成,但用户使用感觉是一个云端资源
第二章
NAT | 虚拟机可以访问外网,外网不能访问虚拟机,网段不可以调整 |
NAT Network | 虚拟机可以访问外网,外网不能访问虚拟机,网段可调整 |
Bridged | 虚拟机可以访问外网,外网可以访问虚拟机,网段和主机相同 |
Host-Only | 虚拟机不可以访问外网,外网不可以访问虚拟机,网段和主机相同 |
系统环境配置的步骤:①下载安装VirtualBox,下载系统镜像
②最小化安装CentOS,出现安装引导页面时点击Tab键,打开kernel启动选项,增加选项:net.ifnames=0 biosdevname=0,进入后网卡名会按照eth0,eth1的规则命名,同时进入安装页面之后选择最小化安装
③配置虚拟网络,①设置Nat Network网段(192.168.56.0/24)和 Host-only网段(10.0.0.0/24),网卡一用于Nat网段,网卡二用于Host-only网段。②在/etc/sysconfig/network-script/中设置主机网络,自举协议为static,启动开机自启,设置IPADDR、NETMASK、GATEWAY、DNS1和DNS2;③/etc/hostname修改本主机名称;/etc/hosts修改其他主机名称解析,然后测试网络连接
④禁用防火墙和SELinux,关闭防火墙(临时关闭)systemctl stop firewalld ,防止自动启动systemctl disable firewalld ;关闭SELinux:修改配置文件/etc/sysconfig/selinux,设置SELINUX=disabled,检查关闭是否成功(systemctl status firewalld)
⑤配置EPEL,安装wget,然后使用淘宝等镜像源
⑥安装基础软件,安装工具软件包,服务器软件包,和开发工具(JAVA、node.js、gcc)
⑦创建快照并克隆虚拟机,克隆完成后需要进行网络连通性测试,随后对宿主机配置对所有虚拟机的免密登录
第三章
集群:一组相互独立的,通过高速网络互联的计算机,构成了一个组,并以单一系统的模式进行管理
集群的特性:一个用户与集群相互作用时,集群就像是一个独立的服务器
使用集群的目的:①提高性能;②降低成本;③提高可扩展性;④增强可靠性
集群的组织方式:①主从结构,将备份服务器连接到主服务器上,备份服务器一般不主动提供服务
②多级结构,多个服务器组成的集群服务器,对外都有一个统一的地址,每个集群服务器上都装有相同的应用程序
常用的命令:
取消开机启动systemctl disable nginx;
重启systemctl restart nginx ;
检查nginx进程ps aux | grep nginx;
检查端口netstat intp | grep 80或netstat intp | grep nginx
负载均衡的配置搭建
常见的负载均衡方案,分为硬件方案和软件方案;硬件方案采用F5等设备,但是比较贵。软件方案采用在四层使用LVS和在七层使用NginX实现负载均衡
Nginx仅仅是作为Nginx Proxy反向代理使用的,但我们称这个反向代理表现的效果是负载均衡的效果。所以可以称之为负载均衡;真正的负载均衡是转发用户请求的数据包,真正负载均衡是转发用户请求的数据包,而NginX反向代理是接收用户的请求然后重新发起请求去请求其后面的节点。
三个虚拟机都打开nginx服务,并检查nginx的状态
在第三台虚拟机中(NginX服务器)中需要在/etc/nginx/nginx.conf文件中进行配置,在upstream模块中需要添加模块配置
upstream www_servers_pool{server 192.168.0.11;#可以设置weight=10或20来增加访问节点的权重server 192.168.0.12;
}
在server段中配置
server{...location / {proxy_pass http://www_servers_pool;}
}
重启第三台虚拟机的NginX服务,访问10.0.0.13测试,是否能够把流量分布到节点1和节点2中
高可用技术
高可用方案:Keepalived,Heartbeat
VRRP通过竞选机制来将路由的任务交给某台VRRP路由器,工作时主节点发包,备节点接包。当备节点接收不到主节点发送的数据包的时候,就启动接管程序接管主节点中的资源
Keepalived高可用对之间通过VRRP进行通信,在Keepalived服务对之间,只有作为主服务器的一方会一直发送VRRP广播包。
①打开每台虚拟机的NginX服务
②开启第四台虚拟机的NginX服务,配置第四台虚拟主机的/etc/nginx/nginx.conf中的server字段和upstream字段,然后验证访问10.0.0.14是否能够将流量分配到节点1和节点2中
③设置第三个虚拟机/etc/keepalived/keepalived.conf,添加邮箱,router_id,优先级,以及vrrp的虚拟IP地址
notification_defs {rainsa@163.com···}priority 101router_id lb01vrrp_instance VI_1 {virtual_ipaddress {10.0.0.200/8 dev eth1}}
systemctl start keepalived开启keepalived服务,验证访问10.0.0.200时能否将流量分配至节点1和节点2中
④同理在第四个交换机中配置keepalived,只需要修改优先级为99,并且state为BACKUP即可
如何验证节点3和节点4之间keepalived是否配置成功:在虚拟机3中关闭keepalived服务,然后检查虚拟机的eth1中是否会出现10.0.0.200这个网段,且能负载分担;节点三关机后,访问10.0.0.200仍然能实现负载分担;节点三重新开机后又能成为主设备实现负载分担
NginX即使失效,Keepalived仍然有效,虚拟IP地址并不会自动迁移。只有当Keepalived服务关闭后迁移虚拟IP地址。
#!/bin/bash
if [ `netstat -lntp | grep nginx | wc -l` -lt 1 ];
thensystemctl stop keepalived
fi#赋予权限chmod 777 check_status.sh
#./check_status.sh
但是存在一定的问题,当NginX恢复时,Keepalived并不会自动恢复。Keepalived可以根据返回的状态修改服务状态,例如降低实例的优先级
#check_nginx.sh#!/bin/bash
if [ `netstat -lntp | grep nginx | wc -l` -lt 1 ];
then exit 2#代表非正常退出
else exit 0
fi
vrrp_script check_nginx { script "/root/bin/check_nginx.sh"interval 2 #执行时间间隔weight -50 #设置脚本的权重为-50fall 3 #连续执行失败的阈值次数为3,连续三次执行中,执行失败就返回失败rise 3 #连续三次执行中,执行成功就返回成功timeout 2 #超时内没有得到执行结果就返回执行失败
}vrrp_instance VI_1 {...track_script {check_nginx#跟踪脚本的执行状态}
}
网站动静分离
动静分离的拓扑:动态网站+静态网站+负载均衡器,采用NginX实现
动态网站:配置开发环境(Eclipse/IDEA,Gradle/Maven),建立springBoot项目,springBoot项目打包,jar包部署,为网站建立服务,开机自动启动
注意:NginX默认的负载均衡机制无法支持动态网站,必须修改请求头的内容才能在动态网站之间进行负载均衡
server{···location / {proxy_pass http://www.servers_pool;proxy_set_header Host $host;proxy_set_header X-Forward-For $remote_addr}}
静态网站:Html、css、js文件;静态网站与动态网站之间通过Ajax技术或WebSocket技术相互通信完成前后端对接
最后,在NginX处实现动态网站和静态网站的分离,主要依靠配置不同的路径对应的网址。首先为动态和静态部分配置不同的uptream
upstream static_servers_pool {server 192.16.56.14;
}
upstream dynamic_servers_pool {server 192.168.56.11server 192.168.56.12
}
然后为不同的路径配置不同的upstream:
location /static/ {proxy_passs http://static_servers_pool;
}
location / {proxy_pass http://dynamic_servers_pool;
}
session保持
session问题的出现是由于负载均衡会将同一个用户的请求往不同的服务器转发,而服务器之间无法共享其他服务器的session数据
主要的解决方案:①服务器之间共享session②使用session集群③使得同一个用户的请求永远转发到同一个服务器
ip-hash的原理:根据用户请求包中的五元组来判断是不是同一个用户的请求
文件上传
文件上传只能上传到单个服务器,不同的用户将负载均衡器分配到不同的服务器节点,则访问的文件可能完全不同
解决的策略:设置一个(或多个)文件共享节点,然后用户的文件主要上传到这些共享文件节点,不同的用户都能从这个共享文件节点获取;常用的技术是NFS
磁盘阵列
RAID0 | 使用条带化,适用于不需要容错环境中的大型文件 |
RAID1 | 使用镜像,写入到一个硬盘的数据同时写入到另一个硬盘 |
RAID5 | 在所有硬盘上使用硬盘条带化和分布式奇偶校验 |
RAID6 | 分布式奇偶校验(每个带区有两个独立奇偶校验块) |
条带:将数据分割成离散的数据块,并分布到硬盘阵列中的每个物理硬盘上
RAID0:提供高带宽,但是不提供任何的冗余,硬盘发生故障会导致整个阵列数据丢失
RAID1:能提供双倍的读速度,一个硬件发生故障其它硬盘的内容也能运行系统,硬盘要求最少2块硬盘,且必须是偶数;有效容量小,存储空间利用率低
RAID5:适用于读取请求率高但是写入请求率低,需要数据冗余的情况。以最低的容量损失提供数据冗余,高性能读取;缺点是不适合大量的写入工作;最少需要三块硬盘,允许阵列中的1块硬盘发生故障
RAID6:适用于读取请求率高但写入率低,且需要较高的数据冗余的情况;较高的数据冗余和数据读取率;缺点是双奇偶校验会导致写入性能下降,需要损失两块硬盘的容量来存放奇偶校验块
RAID10:最多支持8个阵列跨接,有较高的读取性能和数据冗余。缺点是有效容量小,且存储空间利用率较低;每个RAID1阵列允许1块硬盘发生故障
RAID50:最多支持8个阵列跨接每个RAID5阵列允许1个硬盘发生故障,适用于高可靠性,高速率,高速读写的中大型容量环境;需要浪费部分存储空间做奇偶校验
RAID60:每个RAID阵列允许2个硬盘发生错误,最多支持8个硬盘阵列跨接;提供较高的读取性能和数据冗余;不适合大量的写入工作
第四章
分布式的概念:一组独立的计算机展现给用户的是一个系统来完成一个统一的工作,但是系统内可以动态地分配任务。分散的物理和逻辑资源通过计算机网络实现信息的交换
分布式的特点:计算速度加快,对等性(没有主从之分)、并发性、缺乏全局时钟、故障总会发生
分布式与集群的区别:①原理上,集群中每台服务器执行的任务都是一样的。本质上是将几台服务器集合到一起来实现同一业务。分布式是按照一定的算法将任务分配给多台服务器,提高的是执行任务的时间,业务被分配到不同的地方
②容错能力上,集群服务器中如果有故障的服务器,可以自动隔离,问题解决后再自动恢复;而分布式服务器一旦出现问题,任务就无法正常执行
Reidis的基本操作
Redis不区分命令大小写,但是区分键名的大小写
help @获取组中的所有命令
help获取命令帮助
quit退出
获得符号规则的键名称
keys 表达式 (?,*,[],\?)判断一个键是否存在
exists key删除键
del key
del key1 key2批量删除
redis-cli del `redis-cli keys "key*"`
redis-cli keys "key*": 这是在 redis-cli内部再次执行keys 命令,以匹配所有以 "key" 开头的键。keys` 命令用于获取匹配指定模式的所有键的列表。获得键值的数据类型
type key
返回的值可能是string,hash,list,set,zset
使用config set 可以动态地设置参数信息,服务器重启后就失效了
config set appendonly yes
config set save "90 1 30 10 60 100"
使用config get可以查看所有可以使用config set命令设置的参数
config get *
使用config rewrite命令对启动Redis服务器时所指定的redis.conf文件进行改写。该指令对文件的重写是原子性的,并且是一致的。如果重写失败或出错那么这个文件就不会被修改
IP Hash实现session保持的缺点解决办法:
①持续化session到数据库
②使用Redis共享session
③使用memcache同步session
④通过脚本或守护进程在多台服务器之间同步session
⑤使用NFS共享session
⑥使用cookie共享session
HDFS
两类节点:①namnode,管理文件系统的命名空间,维护系统文件树及整棵树内所有的文件和目录关系
②datanode,以数据块的形式存储具体的数据
缓存与一致性哈希
缓存是存储在计算机上的一个原始数据复制集,介于数据访问者与数据源之间的一种高速存储。当数据读取的时候,直接从高速存储中获取,如果可以获取到结果就无需访问数据库直接返回缓存的内容
如果缓存未命中,就从数据库中获取,一方面可以提高数据的读取速度,另一方面还能降低数据库的性能消耗。没有缓存阻挡,大量的请求直接落到系统的底层,系统很难撑住高并发的冲击
缓存穿透:查询一个根本不存在的数据,大量的缓存穿透直接落到存储层,后端系统容易被压垮
缓存雪崩:缓存层由于某些原因不等你提供服务,导致所有的请求直接到达存储层
预防和解决缓存穿透与缓存雪崩的方案:
①取模法,对键值取节点数的余。存在一定问题:扩展能力差,容错能力不佳
②一致性哈希,首先构建一个哈希环,然后计算缓存集群中服务器的IP或主机名来计算得到Hash值,计算得到的Hash值就是服务节点在环上的位置
然后对每个需要存储的数据key也同样计算一次哈希值,计算之后的哈希值也映射到环上,然后沿着环的顺时针方向寻找到第一个服务器节点,就是存储节点
一致性哈希能把节点宕机造成的影响控制在顺时针相邻节点之间,避免对整个集群造成影响
一致性哈希存在的问题:当服务器节点聚集在一起,容易造成数据倾斜问题,给单个节点造成很大的压力。解决办法是采用虚拟节点,将虚拟节点分散在哈希环的各个部分,打在虚拟节点上的数据实际也是映射到物理节点上
虚拟化
虚拟机迁移:将虚拟机实例从原宿主机迁移到目标宿主机中,并且在目标宿主机上能够将虚拟机运行状态恢复到其在迁移之前相同的状态,以便继续完成应用程序的任务
虚拟机迁移的分类:①从源和目的角度分:物理机到虚拟机,虚拟机到物理机,虚拟机到虚拟机
②按照迁移的状态:虚拟机停机迁移(冷迁移)、虚拟机在线迁移(热迁移、实时迁移)
实时迁移的步骤:①预迁移;②预定资源;③预复制;④停机复制;⑤提交启动
虚拟机和虚拟化容器的区别
Docker
Docker是一个开源的应用容器引擎,基于GO语言并可以让开发者打包他们的应用及依赖包到一个轻量级,可移植的容器中,然后发行到任何流行的Linux机器上
Docker包含三个基本概念:镜像(相当于一个root文件系统)、容器(镜像运行时的实体)、仓库(一个代码中心,可以用来保存镜像)
Docker使用客户-服务器(C/S)的架构模式,使用远程API来管理和创建Docker容器
常见命令:
在容器内运行应用程序
docker run ubuntu:15.10 /bin/echo "Hello world"-t指定一个伪终端,-i允许对容器内的输入进行交互
docker run -i -t ubuntu:15.10 /bin/bash以进程的方式运行容器
docker run -d ubuntu:15.10 /bin/sh -c "命令"查看运行中的容器
docker ps查看容器内的标准输出
docker logs [容器ID或容器名]停止容器
docker stop [容器ID或容器名]从远程仓库载入ubuntu镜像
docker pull ubuntu进入交互模式
docker attach:退出会导致容器停止
docker exec:退出容器终端并不会导致容器停止删除容器
docker rm -f [容器ID或容器名]
docker rmi [ID或镜像名]查看网络端口
docker ps
docker port [容器ID] 将内部的TCP端口映射到外部端口 5000 tcp -> 0.0.0.0:5000查看容器内部运行的进行
docker top列出本地主机上的镜像
docker images搜索镜像
docker search httpd提交容器副本
docker commit -m="has update" -a="镜像作者" [容器ID] [创建的目标镜像名]镜像标签
docker tag [镜像ID] [用户名字] [镜像源名称] [新的标签名]端口映射,让外部也能访问这些应用
docker run -d -p 5000:5000 training/webapp python app.py //先是主机端口,再是容器端口
-p是容器内部端口绑定到指定的主机端口
-P是内部端口随机映射到主机的高端口
OpenStack
OpenStack的核心服务(组件):①计算服务Nova;②存储服务Swift;③镜像服务Glance;
其余主要服务(组件):④身份认证服务keystone;⑤网络管理服务Quantum;⑥存储管理服务Cinder;⑦仪表盘Horizon
计算服务:Nova
是OpenStack云中的计算组织控制器,处理OpenStack云中实例生命周期内的所有活动,不具备虚拟化能力
组件:API Server:向外提供与云基础设施交互的接口
Message Queue:OpenStack节点之间通过消息队列完成通信
computer worker:管理实例生命周期
Network Controller:处理主机的网络配置
Volume Workers:管理基于LVM的实例卷
Scheduler:调度器作为一个守护进程运行,并通过恰当的调度算法从资源池获得计算服务
LibVirt的主要支持功能:
①虚拟机管理
②远程机器支持
③存储管理
④网络接口管理
⑤虚拟NAT和基于路由的网络
OpenStack的版本
采用顺序命名法,用完了再回来重新命名
第五章
数据中心网络与传统Internet网络的区别:高设备利用率,采用虚拟化技术进行系统和数据中心整合,优化资源利用率,简化管理
绿色节能,通过先进的供电和散热技术,降低数据中心的能耗
高可用性,提供大量同质化设备和替代恢复机制,确保资源的可用性和数据的持久性
自动化管理
FatTree
相对于传统层次结构而言,FatTree的特点:①消除了树形结构上层链路对吞吐量的限制,所有交换机配置均相同;②为内部节点间通信提供多条并行链路;③横向扩展的尝试降低了构建数据中心网络的成本;④与现有数据中心网络使用的以太网结构和IP配置的服务器兼容
FatTree的计算
核心层交换机有k个出口,能够建立k个Pod吗,每个pod有k个交换机。接入层与汇聚层有一半的端口是完全关联的。
汇聚层交换机数目=接入层交换机数 = (k/2)* k
核心层交换机数目 = (k/2) * (k/2) 因为一个pod中一个汇聚层交换机向上有k/2个接口
主机数 = (k/2) * (k/2) * k
从终端到接入层的网络容量 = (k/2) * (k/2) * k
接入层到汇聚层的网络流量 = (k/2) * k * (k/2)
汇聚层到核心层的网络流量 = (k/2)*k*(k/2)
改进型树结构:采用VL2架构,将流量统一地分配到网络路径
递归层次数据中心:构建高层次网络时,需要的低层网络的个数等于每个低层网络中的服务器个数加1
光交换数据中心
无线数据中心
相关文章:
![](https://img-blog.csdnimg.cn/direct/775722a3e5174676bafdb7d6007d675e.png)
云计算复习提纲
第一章 大数据的概念:海量数据的规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策 大数据的特点:①数据量大,存储的数据量巨大,PB级别是常态;②多样,数…...
![](https://img-blog.csdnimg.cn/direct/3b802e5051bc4428afca5059b790e15a.png)
Vue-响应式数据
一、ref创建基本类型的响应式数据 vue3可以使用ref、reactive去定义响应式数数据。 知识点汇总 使用ref需要先引入ref,import {ref} from vue在模板 template 中使用了添加ref 的响应式数据,变量的后面不用添加.value所有js代码里面,去操作r…...
![](https://img-blog.csdnimg.cn/direct/370c66f8386043588a84f54063d8811b.png)
Vue开发者必备!手把手教你实现类似Element Plus的全局提示组件!
前言 在Web开发中,用户体验至关重要。有效的信息提示和错误消息对于确保用户更好地理解和操作至关重要。在这个背景下,全局弹框提示组件成为了一个非常有用的工具。Vue.js,作为当前最受欢迎的前端框架之一,为创建灵活、可复用的弹…...
![](https://img-blog.csdnimg.cn/direct/3dbd41f660f946a4835aa9e5c4050f19.png)
大数据 - Hadoop系列《三》- HDFS(分布式文件系统)概述
🐶5.1 hdfs的概念 HDFS分布式文件系统,全称为:Hadoop Distributed File System。 它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集…...
![](https://www.ngui.cc/images/no-images.jpg)
Golang标准库sync的使用
Go语言作为现代编程语言,其并发编程的优势是有目共睹的。在实际编程中,我们常常需要保证多个goroutine之间的同步,这就需要使用到Go语言的sync标准库。sync库提供了基本的同步原语,例如互斥锁(Mutex)和等待…...
![](https://www.ngui.cc/images/no-images.jpg)
判断两张图片是否完全一致
判断两张图片是否为完全相同的图片 批量判断尺寸 大小 图像展示内容体是否完全一致的图片 import os import hashlib from PIL import Imagedef check_img_repeat(directory):"""批量对图片进行重复性校验是检查一组图像中是否有相同或几乎相同的图像副本。一…...
![](https://img-blog.csdnimg.cn/img_convert/80cad1193e0e4751cfe501559982d80f.png)
2024洗地机哪家强?口碑洗地机推荐
现如今,智能家电在人们生活中变得越来越受欢迎,例如智能洗地机的出现,不仅省时省力,还实现了家务清洁的自由。在家庭中,地面清洁一直是一个令人头疼的问题,各种智能家居品牌通过开发各种智能家电产品来解决…...
![](https://img-blog.csdnimg.cn/direct/c596d23d1afb4741bc53e7cda4976472.png)
k8s的资源管理
命令行: kubectl命令行工具优点: 90%以上的场景都可以满足 对资源的增,删,查比较方便,对改不是很友好缺点:命令比较冗长,复杂难记 声明方式:k8s当中的yaml文件实现资源管理----声明式GUI:图形化工具的管理。 查看k8s的…...
![](https://img-blog.csdnimg.cn/direct/90fdb357c0f9474a8e291fd06815a01c.png)
docker应用部署(部署MySql,部署Tomcat,部署Nginx,部署Redis)
Docker 应用部署 一、部署MySQL 搜索mysql镜像 docker search mysql拉取mysql镜像 docker pull mysql:5.6创建容器,设置端口映射、目录映射 # 在/root目录下创建mysql目录用于存储mysql数据信息 mkdir ~/mysql cd ~/mysqldocker run -id \ -p 3307:3306 \ --na…...
![](https://www.ngui.cc/images/no-images.jpg)
非常好用的ocr图片文字识别技术,识别图片中的文字
目录 一.配置环境 二.应用 2.1常见图片识别 2.2排版简单的印刷体截图图片识别 2.3竖排文字识别 2.4英文识别 2.5繁体中文识别 2.6单行文字的图片识别 三.参考 一.配置环境 pip3 install cnocr -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install onnxruntime…...
![](https://img-blog.csdnimg.cn/direct/6affed3b0d2b4d5b8e086410363095da.png)
20231227在Firefly的AIO-3399J开发板的Android11的挖掘机的DTS配置单后摄像头ov13850
20231227在Firefly的AIO-3399J开发板的Android11的挖掘机的DTS配置单后摄像头ov13850 2023/12/27 18:40 1、简略步骤: rootrootrootroot-X99-Turbo:~/3TB$ cat Android11.0.tar.bz2.a* > Android11.0.tar.bz2 rootrootrootroot-X99-Turbo:~/3TB$ tar jxvf Androi…...
![](https://img-blog.csdnimg.cn/direct/f23f62a005f94924a9e105fa4271840d.png)
Unity中Shader裁剪空间推导(透视相机到裁剪空间的转化矩阵)
文章目录 前言一、简单看一下 观察空间—>裁剪空间—>屏幕空间 的转化1、观察空间(右手坐标系、透视相机)2、裁剪空间(左手坐标系、且转化为了齐次坐标)3、屏幕空间(把裁剪坐标归一化设置)4、从观察空…...
![](https://img-blog.csdnimg.cn/img_convert/80f61c880825a8a2f5e0686f075c72ff.png)
企业签名分发对移动应用开发者有什么影响
企业签名分发是移动应用开发者在应用程序发布前测试、内部分发和特定的受众群体分发等方面比较常用的一种工具。那对于应用商城分发有啥区别,下面简单的探讨一下。 独立分发能力 通过企业签名分发开发者可以自己决定应用程序的发布时间和方式,不用受应用…...
![](https://img-blog.csdnimg.cn/img_convert/762850731fe8b931ed27b725c0879096.jpeg)
3D游戏角色建模纹理贴图处理
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 在本文中,我们将介绍 3D 纹理的基础知识,并讨…...
![](https://www.ngui.cc/images/no-images.jpg)
【C++ 单例模式】
正确的析构 静态实例和回收类 SingletonMode.cpp #include <iostream> #include <pthread.h>class Singleton {private:Singleton(){std::cout << "构造" << std::endl;};~Singleton(){std::cout << "析构" << std::…...
![](https://www.ngui.cc/images/no-images.jpg)
React16源码: ConcurrentMode的使用及源码实现
ConcurrentMode 1 ) 概述 ConcurrentMode 是 React 16 出来的一个最令人振奋的功能在2018年年初是 Async Mode,在发布了16.6之后,名字进行了更新然后改成了 ConcurrentMode,中间的API有一个过渡的版本,后续会提到它其实是 React…...
![](https://img-blog.csdnimg.cn/direct/421e49c5a418487697f21a456c7868dc.png)
SQL性能优化-索引
1.性能下降sql慢执行时间长等待时间长常见原因 1)索引失效 索引分为单索、复合索引。 四种创建索引方式 create index index_name on user (name); create index index_name_2 on user(id,name,email); 2)查询语句较烂 3)关联查询太多join&a…...
![](https://img-blog.csdnimg.cn/cc002cbd5c414c5393e19c5e0a0dbf20.gif#pic_center)
Ubuntu本地快速搭建web小游戏网站,公网用户远程访问
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…...
![](https://img-blog.csdnimg.cn/img_convert/281f840d955c518b1f79b9cdc10e8df4.png)
easyrecovery 2024最新免费密钥分享 实用数据恢复软件分享
在日常使用电脑时,我们经常会遇到误删文件的情况,若文件还未被彻底删除,我们还可以通过电脑中的回收站将其恢复,但若是回收站都被清空的话,想要恢复文件就变得比较困难了,而EasyRecovery可以很好的帮助我们…...
![](https://img-blog.csdnimg.cn/direct/21b239a3710f45faa10259f0a3af15ca.png)
2.4信道复用技术
目录 2.4信道复用技术2.4.1频分复用、时分复用和统计时分复用频分复用FDM(Frequency Division Multiplexing)时分复用TDM(Time Division Multiplexing)统计时分复用STDM(Statistic TDM) 2.4.2波分复用2.4.3…...
![](https://img-blog.csdnimg.cn/img_convert/1b1ff1c4744e7861bd0b1de18391ce15.png)
JVM篇:JVM的简介
JVM简介 JVM全称为Java Virtual Machine,翻译过来就是java虚拟机,Java程序(Java二进制字节码)的运行环境 JVM的优点: Java最大的一个优点是,一次编写,到处运行。之所以能够实现这个功能就是依…...
![](https://img-blog.csdnimg.cn/direct/5046549611c544c0b24d216db3201cbd.png)
uniapp 输入手机号并且正则校验
1.<input input“onInput” :value“phoneNum” type“number” maxlength“11”/> 3. method里面写 onInput(e){ this.phoneNum e.detail.value }, 4.调用接口时候校验正则 if (!/^1[3456789]\d{9}$/.test(this.phoneNum)) {uni.showToast({title: 请输入正确的手机号…...
![](https://img-blog.csdnimg.cn/direct/f801f2e1191b426c8db495ebf21d5298.png#pic_center)
经典目标检测YOLO系列(一)复现YOLOV1(3)正样本的匹配及损失函数的实现
经典目标检测YOLO系列(一)复现YOLOV1(3)正样本的匹配及损失函数的实现 之前,我们依据《YOLO目标检测》(ISBN:9787115627094)一书,提出了新的YOLOV1架构,并解决前向推理过程中的两个问题,继续按照此书进行YOLOV1的复现。 经典目标…...
![](https://img-blog.csdnimg.cn/direct/3b8a3eab70f449de817f0cb451e00423.png)
kbdnecat.DLL文件缺失,软件或游戏无法启动运营,快速修复方法
“kbdnecat.DLL文件是什么?为什么一起动游戏或软件,Windows就报错“kbdnecat.DLL文件缺失,软件无法启动””,应该怎么修复呢? 首先,先来了解“kbdnecat.DLL文件”是什么? kbdnecat.DLL是一个动…...
![](https://img-blog.csdnimg.cn/direct/fd4c2135fe5a448db249c0eb7062303f.png)
Dockerfile与DockerCompose
Docker的Image结构是怎样的? 镜像是将应用程序 及其需要的 系统函数库、环境、配置、依赖 打包而成。 镜像结构 入口( Entrypoint ) 镜像运行入口,一般是程序启动的脚本和参数 层( Layer ) 在BaseImage基…...
![](https://img-blog.csdnimg.cn/img_convert/cee36cb3dd3256a6a6fad11572e23db0.png)
【CFP-专栏2】计算机类SCI优质期刊汇总(含IEEE/Top)
一、计算机区块链类SCI-IEEE 【期刊概况】IF:4.0-5.0, JCR2区,中科院2区; 【大类学科】计算机科学; 【检索情况】SCI在检; 【录用周期】3-5个月左右录用; 【截稿时间】12.31截稿; 【接收领域】区块链…...
![](https://www.ngui.cc/images/no-images.jpg)
Stable Diffusion 本地部署详细教程
目录 一、前言二、系统和硬件要求三、安装前说明四、安装步骤5、升级pip(这是管理python环境软件工具),并把资源库换成国内地址为清华镜像。一、前言 虽然MJ和SD都可以生成图像,但是为什么我们要考虑使用本地SD部署呢?原因其实很简单:首先,本地部署的使用成本更低,且更加…...
![](https://img-blog.csdnimg.cn/direct/59290821261c4065b51348d89f9d2d1a.png)
【超图】SuperMap iClient3D for WebGL/WebGPU —— 坐标系位置 —— Cartesian2
作者:taco 说到关于地理必然逃不开位置的关系。借用百度百科的内容来说地理学(geography),是研究地球表层空间地理要素或者地理综合体空间分布规律、时间演变过程和区域特征的一门学科。所以位置&坐标系必然逃不掉了。那么在S…...
![](https://img-blog.csdnimg.cn/direct/5ba87307519d407dadc9922b28789cc5.png)
【Matlab】LSTM长短期记忆神经网络时序预测算法(附代码)
资源下载: https://download.csdn.net/download/vvoennvv/88688439 一,概述 LSTM(Long Short-Term Memory)是一种常用的循环神经网络(Recurrent Neural Network,RNN)结构,由于其对于…...
![](https://img-blog.csdnimg.cn/direct/ee5cf0d8c55643bda37c55eddda17ae2.png)
2.2 设计FMEA步骤二:结构分析
2.2.1 目的 设计结构分析的目的是将设计识别和分解为系统、子系统、组件和零件,以便进行技术风险分析。其主要目标包括: 可视化分析范围结构化表示:方块图、边界图、数字模型、实体零件识别设计接口、交互作用和间隙促进顾客和供应商工程团队之间的协作(接口责任)为功能分…...
![](http://static.oschina.net/uploads/img/201408/15110648_Yg0M.jpg)
网站后台设计培训学校/东莞seo顾问
2019独角兽企业重金招聘Python工程师标准>>> 一、Log4php简介 Log4php是Log4xx系列日志组件之一,是Log4j迁移到php的版本,主要用来记录日志信息,支持多种输入目的地,包括:日志文件、日志回滚文件、数据库、…...
![](/images/no-images.jpg)
网站视频模块配置参数/下载百度搜索
前 言“C语言程序设计”是计算机专业和理工科各类专业重要的公共基础课程之一。C语言功能强大,使用灵活方便,移植性强,兼有高级编程语言和低级编程语言特点,利用C语言可以编写系统软件和各类应用软件。“C语言程序设计”是一门实践…...
自己做的网站上传到/唐山百度seo公司
1、php条件控制语句PHP条件控制语句之“if语句”实例详解<?php $numrand(1,50);if($num%20){echo $num.$num.;echo $num.是偶数;}实例解释:首先使用rand()函数生成一个1,50之间的数,然后判断这个数是不是偶数,如果是偶数,则输…...
![](/images/no-images.jpg)
泰安直聘网官网/seo搜索引擎优化排名
工厂模式之观察者模式...
![](/images/no-images.jpg)
昭通做网站/网站运营推广方式
1.jdk1.7.80的rpm的包的下载地址如下,请自己选择32位还是64位,下载完之后通过vmware的共享功能共享一个文件下,然后使用cp命令copy到linux系统中去。 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javas…...
![](https://img-blog.csdnimg.cn/img_convert/23f987522c5046c33c7069971df59c81.png)
做欧洲电商看哪个网站吗/如何宣传推广自己的产品
最近使用云服务器,学习一下Docker,今天学着使用Docker安装MySQL。首先,从阿里云的Docker Hub 上pull一个MySQL的image.[CentOSlinuxidc~]$ docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.75.7: Pulling from acs-sample…...