当前位置: 首页 > news >正文

给外国小孩 做 英语题用的网站/广东省自然资源厅

给外国小孩 做 英语题用的网站,广东省自然资源厅,北京中小企业网站建设,企业网站设计的主要目的HAproxy 七层负载均衡 负载均衡技术 负载均衡(Load Balance):一种服务,或基于硬件设备实现的高可用的反向代理技术,是指将特定的业务流量分摊给一个或多个后端的特定服务器或设备,实现高并发处理业务流量…

HAproxy 七层负载均衡

负载均衡技术

负载均衡(Load Balance):一种服务,或基于硬件设备实现的高可用的反向代理技术,是指将特定的业务流量分摊给一个或多个后端的特定服务器或设备,实现高并发处理业务流量,从而保证了业务的高可用性,方便业务后期的水平动态拓展。

优点

1、Web服务器的动态水平扩展:对用户无感知
2、增加业务并发访问及处理能力:解决单服务器瓶颈问题
3、节约公网IP地址:降低T支出成本
4、隐藏内部服务器P:提高内部服务器安全性
5、配置简单:固定格式的配置文件
6、功能丰富:支持四层和七层,支持动态下线主机
7、性能较强:并发数万甚至数十万

四层负载均衡

1、通过识别和改变 IP 地址或端口决定负载均衡的去向;

2、对业务流量请求进行 NAT 处理,转发至后台服务器;

3、记录 TCP 和 UDP 流量分别是由哪台服务器处理,后续该请求连接的流量都通过该服务器处理;

4、支持四层负载均衡的软件:
LVS:重量级四层负载均衡器(无后端检测功能)
Nginx:轻量级四层负载均衡器,可缓存。(nginx四层是通过upstream模块)
Haproxy:模拟四层转发。

七层负载均衡

1、通过虚拟 URL 或主机 IP 进行流量识别,根据应用层信息进行解析,决定是否需要进行负载均衡;

2、代理后台服务器与客户端建立连接,如 NGINX 可代理前后端,与前端客户端进行 TCP 连接,与后端服务器建立 TCP 连接;

3、支持7层代理的软件:
Nginx:基于 http 协议(nginx七层是通过proxy_pass)
Haproxy:七层代理,会话保持、标记、路径转移

四层和七层的区别

所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量

四层的负载均衡,就是通过发布三层的 IP 地址(VIP)加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行 NAT 处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都会转发至同一台服务器处理

七层的负载均衡,就是在四层的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个 Web 服务器的负载均衡,除了根据 VIP 加 80 端口辨别是否需要处理的流量,还可以根据七层的 URL、浏览器类别、语言来决定是否要进行负载均衡

1、分层位置:四层负载均衡在传输层及以下,七层负载均衡在应用层及以下;
2、性能:四层负载均衡架构无需解析报文消息内容,在网络吞吐量与处理能力上较高;七层可支持解析应用层报文消息内容,识别URL、Cookie、HTTP header 等信息;
3、原理:四层负载均衡是基于 IP 和端口来实现的;七层是基于虚拟的 URL 或主机IP等;
4、功能类比:四层负载均衡类似于路由器;七层类似于代理服务器;
5、安全性:四层负载均衡无法识别 DDOS 攻击;七层可防御 SYN Cookie / Flood 攻击

HAproxy 概念

HAproxy 是一款开源、高性能的负载均衡器和代理服务器,专为 TCP 和 HTTP 应用而设计。它可以将客户端的请求分发到多台后端服务器,从而提高应用的可用性和性能。HAProxy支持多种负载均衡算法和健康检查机制,是构建高可用性系统的理想选择。

HAproxy 的优势
高性能:HAProxy采用事件驱动模型,能够处理大量并发连接;
灵活性强:支持多种负载均衡算法和调度策略,适应不同的应用场景;
高可用性:通过健康检查和故障转移机制,确保服务的连续性;
丰富的功能:支持SSL终止、HTTP重写、压缩等多种功能。

HAproxy 基本配置

1、软件包下载

[root@haproxy ~]# yum install haproxy.x86_64 -y

2、启动服务

[root@haproxy ~]# systemctl enable --now haproxy

3、配置文件

[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg

在这里插入图片描述

在这里插入图片描述

HAProxy的配置文件haproxy.cfg由两大部分组成,分别是:

global:全局配置段
1.进程及安全配置相关的参数
2.性能调整相关参数
3.Debug参数

option abortonclose:当服务器负载很高时,自动结束掉当前队列处理比较久的连接,针对业务情况选择开启
option redispatch:当server ID对应的服务器挂掉后,强制定向到其他健康的服务器,重新派发
option http-keep-alive:开启与客户端的会话保持option forwardfor:透传客户端真实IP至后端web服务器(在apachei配置文件中加入:%X-Forwarded-For}i后在webserert中看日志即可看到地址透传信息)
mode http|tcp:设置默认工作类型,使用TCP服务器性能更好,减少压力
timeout http-keep-alive 120s:session会话保持超时时间,此时间段内会转发到相同的后端服务器
timeout connect 120s:客户端请求从haproxy到后端serveri最长连接等待时间(TCP连接之前),默认单位ms
timeout server 600s:客户端请求从haproxy到后端服务端的请求处理超时时长(TCP连接之后),默认单位ms,如果超时,会出现502错误,此值建议设置较大些,访止502错误
timeout client 600s:设置naproxy与客户端的最长非活动时间,默认单位ms,建议和timeout server相同
timeout check 5s:对后端服务器的默认检测超时时间
default-server inter 1000 weight 3:指定后端服务器的默认设置

proxies:代理配置段
defaults:为frontend,backend,listen提供默认配
frontend:前端,相当于nginx中的server{}
backend:后端,相当于nginx中的upstream{}
listen:同时拥有前端和后端配置,配置简单,生产推荐使用

4、日志管理

[root@haproxy ~]# vim /etc/rsyslog.conf 
[root@haproxy ~]# systemctl restart rsyslog.service

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5、多进程和线程

[root@haproxy errorpage]# pstree -p |grep haproxy	----查看进程

在这里插入图片描述

6、在listen字段中server的配置

check:对指定real进行健康状态检查,如果不加此设置,默认不开启检查,check后面没有其它配置也可以启用检查功能----只针对一个server设置默认对相应的后端服务器工P和端口,利用TCP连接进行周期性健康性检查,注意必须指定端口才能实现健康性检查
addr <IP>:可指定的健康状态监测工P,可以是专门的数据网段,减少业务网络的流量
port <num>:指定的健康状态监测端口
inter <num>:健康状态检查间隔时间,默认2000ms
fall <num>:后端服务器从线上转为线下的检查的连续失效次数,默认为3
rise <num>:后端服务器从下线恢复上线的检查的连续有效次数,默认为2
weight <weight>:默认为1,最大值为256,0(状态为蓝色)表示不参与负载均衡,但仍接受持久连接
backup:将后端服务器标记为备份状态,只在所有非备份主机down机时提供服务
disabled:将后端服务器标记为不可用状态,即维护状态,除了持久模式,将不再接受连接,状态
为深黄色,不再接受新用户的请求
redirect prefix http://www.baidu.com/ :将请求临时(302)重定向至其它URL,只适用于http模式
redir http://www.baidu.com :将请求临时(302)重定向至其它URL,只适用于
http模式
maxconn <maxconn>:当前后端server的最大并发连接数

在这里插入图片描述

7、socat工具

对服务器动态权重和其它状态可以利用socat工具进行调整,Socat是Linux下的一个多功能的网络工具,名字来由是Socket CAT,相当于netCAT的增强版,Socat的主要特点就是在两个数据流之间建立双向通道,且支持众多协议和链接方式。如IP、TCP、UDP、IPv6、Socket文件等

$1 :监听的名称;$2 :server名称;$3 :套接字文件名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HAproxy 的算法

1、HAProxy通过固定参数balance指明对后端服务器的调度算法;
2、balance参数可以配置在listen或backend选项中;
3、HAProxy的调度算法分为静态和动态调度算法;
4、有些算法可以根据参数在静态和动态算法中相互转换。

静态算法

按照事先定义好的规则轮询公平调度,不关心后端服务器的当前负载、连接数和响应速度等,且无法实时修改权重(只能为0和1,不支持其它值),只能靠重启HAProxy生效。

static-rr

基于权重的轮询调度

缺点:不支持动态的调整权重(socat工具);不支持服务器的慢启动(服务器刚启动时,只接受一部分数据,没有故障发生后接收全部数据)

优点:后端主机无数量限制
在这里插入图片描述

效果演示:

在这里插入图片描述

无法动态修改权重

在这里插入图片描述

first

基于服务器所在理论位置自上而下的调度

缺点:忽略服务器权重的设置;不支持动态修改权重(socat工具)

优点:当第一台服务器连接数达上限时才会分配链接给下一台服务器,充分利用资源

在这里插入图片描述

动态算法

基于后端服务器状态进行调度适当调整;新请求将优先调度至当前负载较低的服务器;权重可以在naproxyi运行时动态调整无需重启。

roundrobin

基于权重的轮询动态调度

优点:支持慢启动;支持动态的权重调整;默认算法,使用广泛;

缺点:后端主机数量最大支持4095个

在这里插入图片描述

动态修改权重

在这里插入图片描述

leastconn

基于最少链接数调度

支持动态调整权重;正常慢启动;适合于长连接的场景(MySQL等);无视权重,根据链接最少的后端服务器而调度

在这里插入图片描述

效果演示

在这里插入图片描述

可变算法

可通过不同的选项将静态算法变为动态算法

source

源地址hash,基于用户源地址hash并将请求转发到后端服务器,后续同一个源地址请求将被转发至同一个后端web服务器。

此方式当后端服务器数据量发生变化时,会导致很多用户的请求转发至新的后端服务器,默认为静态方式,但是可以通过hash-type支持的选项更改这个算法,一般是在不插入cookie的TCP模式下使用,也可给拒绝会话cookie的客户提供最好的会话粘性

适用于session会话保持但不支持cookie和缓存的场景源地址,有两种转发客户端请求到后端服务器的服务器选取计算方式,分别是取模法一致性hash

在这里插入图片描述

效果演示
在这里插入图片描述

source 取模法

map-based:取模法,对sourcef地址进行hash计算,再基于服务器总权重的取模,最终结果决定将此请求转发至对应的后端服务器。
此方法是静态的,即不支持在线调整权重,不支持慢启动,可实现对后端服务器均衡调度
缺点是当服务器的总权重发生变化时,即有服务器上线或下线,都会因总权重发生变化而导致调度结果整体改变,hash-type指定的默认值为此算法

比如当源hash值时1111,1112,1113,三台服务器abc的权重均为1,
即abc的调度标签分别会被设定为012(1111%3=1,1112%3=2,1113%3=0)
假设a为0,1113主机会被调度到a上
如果a下线后,权重数量发生变化
1111%2=1,1112%2=0,1113%2=1
1112和1113被调度到的主机都发生变化,这样会导致会话丢失

在这里插入图片描述

source 一致性hash

一致性哈希,当服务器的总权重发生变化时,对调度结果影响是局部的,不会引起大的变动hash(o) mod n
该hash算法是动态的,支持使用socat等工具进行在线权重调整,支持慢启动

hash环

1、后端服务器哈希环点keyA=hash(后端服务器虚拟ip)%(2^32)	----0至(2^32-1)的所有数字落在一个环上
2、客户机哈希环点keyl=hash(c1ient_ip)%(2^32),得到的值在[0---4294967295]之间
3、将keyA和keyl都放在hash环上,将用户请求调度到离keyl最近的keyA对应的后端服务器

在这里插入图片描述

服务器在hash环的模拟位置

在这里插入图片描述

hash环偏斜

增加虚拟服务器IP数量,比如:一个后端服务器根据权重为1生成1000个虚拟IP,再hash;而后端服务器权重为2则生成2000的虚拟IP,再bash;最终在hash环上生成3000个节点,从而解决hash环偏斜问题

一致性hash

客户端会顺时针去寻找离自己最近的一台服务器,当一台服务器宕机时,连接在服务器上的链接会顺时针再去寻找一台最近的服务器,保证了服务器已存在会话的连接不会断开。

服务器在线时状态
在这里插入图片描述

某台服务器离线时

在这里插入图片描述

source 一致性hash在HAphroxy配置

在这里插入图片描述

uri

基于对用户请求的UR的左半部分或整个uri做hash,再将hash结果对总权重进行取模后,根据最终结果将请求转发到后端指定服务器;适用于后端是缓存服务器场景
默认是静态算法,也可以通过hash-type指定map-based和consistent,来定义使用取模法还是一致性hash

该算法只支持 mode http(七层);不支持 mode tcp(四层)

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
左半部分:/<path>;<params>
整个uri:/<path>;<params>?<query>.#<frag>

在这里插入图片描述

uri 取模法

在这里插入图片描述

uri 一致性hash

在这里插入图片描述

演示效果:

在这里插入图片描述

url_param

url_param对用户请求的url中的params部分中的一个参数key对应的value值作hash计算,并由服务器总权重相除以后派发至某挑出的服务器,后端搜索同一个数据会被调度到同一个服务器,多用与电商
通常用于追踪用户,以确保来自同一个用户的请求始终发往同一个real server
如果无没key,将按roundrobin算法

url http://www.tym.com/foo/bar/index.html?key=valuehost = "www.timinglee.com"
url_param = "key=value"或"name=name"
url_param 取模法

在这里插入图片描述

演示效果:

在这里插入图片描述

url_param 一致性hash

在这里插入图片描述

演示效果:

在这里插入图片描述

hdr

针对用户每个http头部(header)请求中的指定信息做hash
此处由name指定的http首部将会被取出并做hash计算,然后由服务器总权重取模以后派发至某挑出的服务器,如果无有效值,则会使用默认的轮询调度(roundrobin)

hdr 取模法

在这里插入图片描述

hdr 一致性hash

在这里插入图片描述

演示效果:
在这里插入图片描述
在这里插入图片描述

HAproxy 高级功能

cookie 保持会话长连接

通过设定 cookie 值,在不同的浏览器之间临时绑定一个会话,客户端通过第一次访问浏览器时,浏览器会缓存一个客户端对应的 cookie 值,当客户端再次访问时,会将客户端的 cookie 值与浏览器缓存的 cookie 值进行对比,找到上一次访问的浏览器进行连接会话。cookie 的缓存时间由浏览器决定,也可手动将缓存清除;当缓存

基本配置

listen webclusterbind *:80mode httpbalance roundrobincookie tym(cookie名称) insert(插入新cookie值,默认不插入) nocache(如果客户端以有cookie值,则不再发送cookie信息) indirect(不允许中间缓存器缓存cookie)server web1 192.168.0.10:80 cookie tym1 check inter 2 fall 3 rise 5 weight 2server web2 192.168.0.20:80 cookie tym2 check inter 2 fall 3 rise 5 weight 1

在这里插入图片描述

效果演示
在这里插入图片描述

HAproxy 状态页

修改 HAproxy 配置文件

stats enable	----基于默认的参数启用stats page
stats hide-version	----将状态页中haproxy版本隐藏
stats refresh <delay>	----设定自动刷新时间间隔,默认不自动刷新
stats uri <prefix>	----自定义stats page uri,默认值:/haproxy?stats
stats auth <user>:<passwd>	----认证时的账号和密码,可定义多个用户,每行指定一个用户;默认:no authentication
stats admin{if|unless}<cond>	----启用stats page中的管理功能

在这里插入图片描述

效果演示

在这里插入图片描述
在这里插入图片描述

IP 透传

四层 IP 透传

修改 HAproxy 配置文件

在这里插入图片描述

修改 NGINX 配置文件
在这里插入图片描述
在这里插入图片描述

效果演示

在这里插入图片描述
在这里插入图片描述

七层 IP 透传

修改 HAproxy 配置文件

在这里插入图片描述

修改 apache 配置文件

在这里插入图片描述

修改 nginx 配置文件
在这里插入图片描述

效果演示

apache 日志:
在这里插入图片描述

nginx 日志:
在这里插入图片描述

ACL

访问控制列表ACL(Access Control Lists)
是一种基于包过滤的访问控制技术,它可以根据设定的条件对经过服务器传输的数据包进行过滤(条件匹配)即对接收到的报文进行匹配和过滤,基于请求报文头部中的源地址、源端口、目标地址、目标端口、请求方法、UL、文件后缀等信息,对内容进行匹配并执行进一步操作,比如允许其通过或丢弃。

ACL 配置选项
acl	<aclname>(名称) <criterion>(匹配规范) [flags](匹配模式) [operator](具体操作符) [<value>](操作对象类型)
ACL 命名规则
acl image_service hdr_dom(host) -i img.magedu.comACL名称,可以使用大字母(A-Z)、小写字母(a-z)、数字(0-9)、冒号(:)、点(.)、中横线(-)和下划线(_),并且严格区分大小写,比如:my_acl和My_Acl就是两个完全不同的acl
ACL 匹配

域名解析地址

匹配条件:输入www.ty.org则访问server1,其他访问至server2
在这里插入图片描述

演示效果:

在这里插入图片描述

以什么结尾为匹配规则

在这里插入图片描述

效果演示:
在这里插入图片描述

域名内的某一段匹配

在这里插入图片描述

效果演示:
在这里插入图片描述

正则匹配
在这里插入图片描述

效果演示:
在这里插入图片描述

条件的匹配

在这里插入图片描述

错误页提示

errorfile

指定错误页路径和内容
在这里插入图片描述

效果演示:
在这里插入图片描述

errorloc

重定向 IP 地址

当网页访问错误时,自动跳转至指定的地址

在这里插入图片描述

HAproxy 四层负载-数据库

数据库监听字段:
在这里插入图片描述

效果演示:
在这里插入图片描述

HAproxy https加密认证

创建认证秘钥文件

[root@haproxy ~]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/haproxy/ssl/tym.org.key -x509 -days 365 -out /etc/haproxy/ssl/tym.org.crt

在这里插入图片描述

全站加密:
在这里插入图片描述

效果展示:
在这里插入图片描述

相关文章:

HAproxy 七层负载均衡调度器详解及配置

HAproxy 七层负载均衡 负载均衡技术 负载均衡&#xff08;Load Balance&#xff09;&#xff1a;一种服务&#xff0c;或基于硬件设备实现的高可用的反向代理技术&#xff0c;是指将特定的业务流量分摊给一个或多个后端的特定服务器或设备&#xff0c;实现高并发处理业务流量…...

Python学习笔记--私有属性、构造方法、析构方法、常用内置方法

目录 私有属性 构造方法 析构方法 常用内置方法 私有属性 1. 私有属性是指在类内可以直接访问、而在类外无法直接访问的属性 2. Python中规定&#xff0c;在定义类时&#xff0c;如果一个类属性名是以__&#xff08;两个下划线&#xff09;开头&#xff0c;则该类属性为私…...

4章8节:用R做数据重塑,行列命名和数据类型转换

在R语言中,行列命名和数据类型转换是数据处理中的两个基础性操作。它们不仅对数据的可读性和组织性至关重要,而且在执行数据分析、模型构建和结果解释时也扮演着重要的角色。 一、行和列命名 在数据科学和统计分析中,命名是组织和管理数据的一个重要部分。尤其是在处理复杂…...

浏览器发出请求到响应的过程

客户端发起请求&#xff1a;用户输入URL并回车&#xff0c;浏览器解析URL&#xff0c;生成HTTP请求。 DNS解析&#xff1a;浏览器查看本地hosts文件是否有域名的IP地址映射&#xff0c;如果没有则向DNS服务器发起解析请求&#xff0c;获取域名对应的IP地址。 建立TCP连接&…...

eNSP 华为划分VLAN

SW1&#xff1a; <Huawei>system-view [Huawei]sysname SW1 [SW1]VLAN batch 10 20 //批量划分vlan [SW1]interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1]port link-type access //设置为access口&#xff0c;access口允许单个vlan通过 [SW1-GigabitEth…...

公用事业公司签署大规模电力供应协议

随着人工智能技术的迅猛发展&#xff0c;美国公用事业公司与数据中心运营商之间的电力供应协议数量显著增加&#xff0c;为未来几季度的销售和利润增长奠定了基础。根据高盛今年5月发布的一份报告&#xff0c;到2030年&#xff0c;数据中心的发电量预计将占美国总发电量的8%&am…...

C语言 | Leetcode C语言题解之第341题扁平化嵌套列表迭代器

题目&#xff1a; 题解&#xff1a; struct NestedIterator {int *vals;int size;int cur; };void dfs(struct NestedIterator *iter, struct NestedInteger **nestedList, int nestedListSize) {for (int i 0; i < nestedListSize; i) {if (NestedIntegerIsInteger(neste…...

冷知识:编程第一人是位伟大的女性

冷门智慧&#xff1a;阿达编程先驱的传奇人生揭秘在线播放免费听 - 喜马拉雅手机版欢迎收听由主播壹道徽为您带来的“冷门智慧&#xff1a;阿达编程先驱的传奇人生揭秘”精彩有声内容&#xff0c;该音频时长5分18秒&#xff0c;已被收听1062次&#xff0c;用户嘎嘎呗嘎嘎评价说…...

Python爬虫使用实例

IDE&#xff1a;大部分是在PyCharm上面写的 解释器装的多 → 环境错乱 → error&#xff1a;没有配置&#xff0c;no model 爬虫可以做什么&#xff1f; 下载数据【文本/二进制数据&#xff08;视频、音频、图片&#xff09;】、自动化脚本【自动抢票、答题、采数据、评论、点…...

主成分分析(PCA)

1 主成分分析简介 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;&#xff0c; 将多个变量通过线性变换以选出较少个数重要变量的一种多元统计分析方法。主成分分析是由卡尔皮尔逊(Karl Pearson)于1901年发明的。通过维度约减的方式将高维度…...

python实现生命游戏

“生命游戏”&#xff08;Conway’s Game of Life&#xff09;是由数学家约翰康威提出的一种零玩家游戏。它是一个细胞自动机&#xff0c;由一组简单的规则决定每个细胞的状态。以下是用Python实现“生命游戏”的代码示例&#xff1a; Python代码实现 import numpy as np imp…...

基于vue框架的CIA报价平台的设计与实现1xv02(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,供应商,产品分类,产品信息,在线咨询,资质申请 开题报告内容 基于Vue框架的CIA报价平台的设计与实现 开题报告 一、选题背景 随着市场竞争的日益激烈&#xff0c;企业对于成本控制与效率提升的需求愈发迫切。在采购与供应链管理…...

【Kubernetes】k8s集群Pod控制器

目录 一.Pod控制器作用 二.Pod控制器类型 1.Deployment&#xff08;简称deploy&#xff09; ReplicaSet&#xff08;简称rs&#xff09; 2.StatefulSet&#xff08;简称sts&#xff09; 创建SatefulSet控制器 3.DaemonSet&#xff08;简称ds&#xff09; 4.Job 5.Cron…...

什么是NLP实体识别?

目录 1. 实体识别的基本概念 1.1 什么是实体识别&#xff1f; 1.2 实体识别的应用场景 2. 实体识别的常用方法 2.1 基于规则的方法 2.1.1 规则定义与模式匹配 2.2 基于机器学习的方法 2.2.1 特征工程与传统机器学习模型 2.3 基于深度学习的方法 2.3.1 神经网络模型 …...

掌握Jenkins自动化部署:从代码提交到自动上线的全流程揭秘

Jenkins自动化部署是现代软件开发中不可或缺的一部分&#xff0c;它不仅简化了代码的发布过程&#xff0c;还为整个团队带来了无与伦比的效率和协作力。想象一下&#xff0c;开发者们可以专注于编写高质量的代码&#xff0c;而不是为繁琐的手动部署所烦恼&#xff1b;测试人员能…...

糟糕界面集锦-控件篇09

目前我们还无法确定该把这个问题划到哪个类别中&#xff0c;但是如图所示&#xff0c;在一个列表框中只显示3 个项目无疑是愚蠢的。 这是微软的文件管理器提供的文件关联界面&#xff0c;用户需要把某一个特定类型的文件与一个应用程序关联时会弹出该对话框。如示例&#xff1a…...

喵喵蓝牙热敏打印机(下)

目录 前言一、电量、温度、缺纸检测1.电量检测2.针头温度检测3.缺纸检测 二、蓝牙APP通信打印1.蓝牙初始化2.APP通信打印 三、FreeRTOS任务整合 前言 喵喵蓝牙热敏打印机&#xff08;上&#xff09; 内容有点多&#xff0c;就分为了上下两篇。 一、电量、温度、缺纸检测 先启…...

软件测试第1章 软件测试是什么

目录​​​​​​​ 内容说明 一、软件测试与质量概览需要熟悉什么 二、如何理解质量保证 三、软件测试的误区-程序员和测试的关系 四、软件测试是什么&#xff1f; 五、软件测试的目的 六、软件测试与软件质量保证 七、软件测试的必要性 八、软件测试的基本概念分析 …...

【技术分享】 hysteria2从服务端到客户端部署教程

hysteria2从服务端到客户端部署教程 前言 在如今的网络环境中&#xff0c;尤其是涉及跨国访问的场景中&#xff0c;hysteria2作为一个新兴的传输协议工具&#xff0c;凭借其高效的传输能力和灵活的配置方式&#xff0c;受到了越来越多用户的青睐。本教程将带您一步步完成hyst…...

C++入门基础知识16

C 的关键字&#xff08;接上一篇博文&#xff01;&#xff01;&#xff01;&#xff09; 54. typeid 指出指针或引用指向的对象的实际派生类型。 55. typename typename&#xff08;类型名字&#xff09;关键字告诉编译器把一个特殊的名字解释成一个类型。在下列情况下必须对一…...

浏览器调试工具-Chrome Dev Tools

浏览器调试模式下的各个调试工具是常用的工具集&#xff0c;能够帮助开发者理解、调试和优化网页。 1.打开方式 直接在浏览器中按下F12键右键点击页面上的任一元素&#xff0c;选择“检查”&#xff08;Inspect&#xff09;在浏览器右上角点击菜单按钮&#xff0c;选择“更多…...

基于车联网大数据平台的用户驾驶习惯行为画像分析

近年来&#xff0c;新能源汽车行业的迅速发展推动了汽车智能化的趋势。新能源汽车上配备了成千上万的传感器&#xff0c;这些传感器采集了大量的行车数据被用于车辆运行状况的监控与分析。另一方面&#xff0c;采集到的大量行车数据&#xff0c;也能很好地体现用户的驾驶习惯。…...

Ubuntu24.04搭建maxkb开发环境

接上文&#xff1a;windows10搭建maxkb开发环境&#xff08;劝退指南&#xff09; 上文在windows10环境搭建maxkb开发环境遇到各种坑&#xff0c;后面就转战ubuntu平台&#xff0c;果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…...

C++ 指针和引用的区别

1.引用在定义时必须初始化&#xff0c;而指针没有要求 2.引用一旦引用了一个实体就不能在引用其它实体&#xff0c;指针可以在任何时候指向同一类型的指针 3.没有空引用&#xff0c;但是有空指针 4.在sizeof中含义不同&#xff1a;引用结果为引用类型的大小&#xff0c;但指…...

python绘制蕨菜叶分形

一花一叶一世界,一草一木一浮生. 使用了四个不同的线性变换&#xff0c;根据概率选择其中一个变换并更新 x 和 y 坐标。然后将生成的绿色点绘制出来&#xff0c;形成一片蕨菜叶。 import numpy as np import matplotlib.pyplot as pltdef fern_fractal(num_points):# 初始化坐…...

1分钟了解pandas

Pandas 是一个强大的 Python 库&#xff0c;用于数据分析和数据处理。它为 Python 提供了高效的数据结构和数据分析工具&#xff0c;使得数据操作变得简单而直观。Pandas 由 Wes McKinney 在 2008 年创建&#xff0c;并迅速成为数据科学领域中最受欢迎的库之一。 安装 Pandas …...

django-celery应用-定时执行测试cases

1、celery周期性任务 简介-----celery beat 是一个调度程序&#xff0c;它定期启动任务&#xff0c;然后由集群中的可用工作节点执行这些任务。 django-celery-beat celery默认的调度程序是 celery.beat.PersistentScheduler &#xff0c;它简单地跟踪本地 shelve 数据库文件中…...

【C++深度探索】unordered_set、unordered_map封装

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 &#x1f525; 所属专栏&#xff1a;C从入门至进阶 这里将会不定期更新有关C/C的内容&#xff0c;欢迎大家点赞&#xff0c;收藏&#xff0c;评论&#x1f973;&#x1f973;&#x1f389;&#x1f389;&#x1f389; 文章目录…...

CSS——字体背景(Font Background)

一、字体族 1、字体的相关样式&#xff1a; ① color 用来设置字体颜色&#xff08;前景颜色&#xff09; ② font-size 字体的大小 和font-size相关的单位&#xff1a; em 相对于当前元素的一个font-size rem 相对于根元素的一个font-size ③ font-family 字体族&#x…...

秋招突击——8/15——知识补充——Socket通信

文章目录 引言正文基于TCP协议的Socket通信基于UDP协议的Socket通信服务端如何接收更多项目多进程多线程IO多路复用select轮询IO多路复用epoll事件通知 使用Socket实现同一个机器上的多线程通信服务端创建对应socket监听端口客户端发起对应的连接请求 总结 引言 上次面试腾讯的…...