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

jsp做的简单的图书馆网站/广州seo排名优化服务

jsp做的简单的图书馆网站,广州seo排名优化服务,专业网站优化电话,谷歌推广优化目录 基础配置信息应用场景一:配置web服务器应用场景二:反向代理服务器应用场景三:URL重定向应用场景四:防盗链应用场景五:根据设备类型重定向/代理/访问 不同域名/资源应用场景六:!负载均衡服务…

目录

    • 基础配置信息
    • 应用场景一:配置web服务器
    • 应用场景二:反向代理服务器
    • 应用场景三:URL重定向
    • 应用场景四:防盗链
    • 应用场景五:根据设备类型重定向/代理/访问 不同域名/资源
    • 应用场景六:!负载均衡服务器!
      • 1、轮询策略(Round Robin)
      • 2、加权轮询 (Weighted Round Robin)
      • 3、最少连接(Least Connections)
      • 4、基于 IP 的哈希(IP Hash)
      • 5、基于 URL 的哈希(URL Hash)
      • 6、最短响应时间(Least Time)
      • 7、公平策略(Fair)
    • ==负载均衡服务器的健康检查==
      • 1、健康检查(Health Checks)策略
      • 2、主动健康监控(Active Health Monitoring)策略
      • 3、 被动健康监控(Passive Health Monitoring)策略
      • 4、连接排空(Connection Draining)策略
    • nginx 科普信息
      • 1、常用命令
      • 2、location匹配优先级顺序
  • ★★★创做不易,对你有帮助的话,麻烦给个三连★★★

基础配置信息

# ===========  全局配置  ===========
worker_processes 1;  # 设置工作进程数为1#error_log  logs/error.log;             # 指定了错误日志的位置
#error_log  logs/error.log  notice;     # 设置了错误日志的级别为 notice,表示只记录通知级别的错误
#error_log  logs/error.log  info;       # 设置了错误日志的级别为 info,表示只记录信息级别的错误#pid        logs/nginx.pid;             # 指定了进程 ID 文件的位置# =========== events块 =================
events {worker_connections 1024;  # 设置每个工作进程的最大连接数
}# ===========  http块 ==================
http {include mime.types;  # 包含MIME类型配置文件default_type application/octet-stream;  # 默认文件类型为二进制流sendfile on;  # 启用文件传输优化keepalive_timeout 65;  # 客户端与服务器之间的连接保持时间client_max_body_size 20M; # 设置最大请求体大小为20MB# 定义一个 Nginx 访问日志的格式,称为 main【详情见下方解析,不需要可省略】log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 指定了上面配置的访问日志位置【不需要可省略】access_log  logs/access.log  main;# 启用 Nginx 的 Gzip 压缩功能。将服务器响应的内容进行压缩,以减少传输的数据量。# 这有助于提高网站的加载速度,特别是对于大型文件或文本内容来说效果更明显。# gzip  on;# ======== server块(虚拟主机) 【可配置多个】=============server {# 见下面应用场景,根据具体场景具体配置}}# =========== 日志格式解析 ==============
# 定义一个 Nginx 访问日志的格式,称为 main:
# $remote_addr: 客户端的IP地址。
# $remote_user: 客户端的用户名(如果有)。
# $time_local: 请求的本地时间。
# $request: 客户端请求的内容。
# $status: 服务器响应的状态码。
# $body_bytes_sent: 发送给客户端的字节数。
# $http_referer: 客户端请求的来源页面。
# $http_user_agent: 客户端的用户代理(通常是浏览器信息)。
# $http_x_forwarded_for: 客户端的原始IP地址(如果使用了代理服务器)。
# 这个格式将这些信息按照一定的顺序记录到访问日志中,方便后续分析和监控服务器的访问情况。

应用场景一:配置web服务器


server {listen 80;  # 监听端口80server_name localhost;  # 指定服务器的域名charset utf-8; # 设置字符集为UTF-8# 指定了上面配置的访问日志位置【不需要可省略】# access_log  logs/host.access.log  main;	# 配置静态文件服务和前端应用location / {# 指定前端应用的根目录,路径用 / 符号。root 【路径】;# 尝试匹配文件,如果找不到则重定向到index.htmltry_files $uri $uri/ /index.html;# 指定默认的索引文件index index.html index.htm;}# 配置错误页面error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}

应用场景二:反向代理服务器


server {listen 80;  server_name localhost;  charset utf-8; # access_log  logs/host.access.log  main;	# 配置用于处理请求路径以 /prod-api/ 开头的请求。这通常用于配置反向代理location /prod-api/ {# 设置反向代理请求的头部信息。它将客户端请求中的 Host 头部传递给后端服务器proxy_set_header Host $http_host;# 设置 X-Real-IP 头部,将客户端的真实 IP 地址传递给后端服务器。proxy_set_header X-Real-IP $remote_addr;# 设置自定义的 REMOTE-HOST 头部,同样将客户端的 IP 地址传递给后端服务器。proxy_set_header REMOTE-HOST $remote_addr;# 设置 X-Forwarded-For 头部,将客户端的 IP 地址添加到已有的 X-Forwarded-For 头部中,以便后端服务器知道请求的来源。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 指定了反向代理的目标地址,将请求转发到 http://localhost/,即本地的后端服务器proxy_pass http://localhost/;}}

!!! 反向代理也可以基于请求路径转发到不同服务器 !!!


server {listen 80;server_name example.com;# 转发到北京地区服务器location /beijing/ {proxy_pass http://localhost:81/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 转发到广州地区服务器location /guangzhou/ {proxy_pass http://localhost:82/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 其他路径的请求,可根据需要配置}

!!!反向代理路径结尾加不加 / 符号的区别!!!

#  ------ 结尾带斜杠的情况 ------------
location /beijing/ {proxy_pass http://localhost:81/;
}这个配置中,location /beijing/ 表示匹配以 /beijing/ 开头的请求路径。
当收到类似 /beijing/foo 的请求时,会将请求转发到 http://localhost:81/foo,
即会将原始请求中的 /beijing/ 部分去掉,并将剩余部分 /foo 附加到 proxy_pass 指定的地址后面。
【location/beijing/foo  ==> http://localhost:81/foo】#  ------ 结尾不带斜杠的情况 ------------
location /beijing/ {proxy_pass http://localhost:81;
}
在这个配置中,当收到类似 /beijing/foo 的请求时, 
会将请求转发到 http://localhost:81,不会将原始请求中的 /beijing/ 部分去掉。
因此,代理服务器收到的路径仍然是 /beijing/foo
【location/beijing/foo  ==> http://localhost:81/beijing/foo】

应用场景三:URL重定向

# ============== 域名重定向 ========================server {listen 80;server_name example.com;# 使用 rewrite 实现重定向到新地址,permanent 表示 301 永久重定向,不加则为302 临时重定向# rewrite 重定向配置更加灵活,但它需要在每个请求上执行正则表达式匹配和重写操作,相对而言稍微耗费一些性能location / {rewrite ^/(.*)$ http://new.example.com/$1 permanent;}# 使用return 重定向,不涉及正则表达式的匹配和重写规则,更高效return 302 http://new.example.com$request_uri;}# ============== 路径重定向 =================
server {listen 80;server_name example.com;location / {rewrite ^/old-path/(.*)$ /new-path/$1;}}

如果只是简单的重定向操作,并且不需要进行复杂的路径重写或捕获,推荐使用 return 301 的方式来实现重定向。这样能够更直接、更高效地达到重定向的目的,避免不必要的正则表达式匹配和重写操作。
.
.
.
301 重定向
····性质:301 表示所请求的资源已被永久移动到新的 URL。这意味着浏览器下次访问相同的原始 URL 时应该直接使用新的 URL。
····特点:
Ⅰ、浏览器会缓存重定向的新 URL,下次访问相同的旧 URL 时会直接跳转到新 URL,不再发起请求旧 URL。
Ⅱ、搜索引擎会将原始 URL 的搜索排名转移到新的 URL 上。
.
.
.
302 重定向
····性质:302 表示所请求的资源暂时被移动到新的 URL,但将来可能会恢复到原始 URL。
····特点:
Ⅰ、浏览器会暂时缓存重定向的新 URL,下次访问相同的旧 URL 时会再次请求旧 URL,不直接跳转到新 URL。
Ⅱ、搜索引擎不会更新原始 URL 的搜索排名,认为这种重定向是临时的。
.
选择:
301 应该用于永久性重定向,如果你确定资源将永久地移到新的 URL,并且不再使用旧 URL。
302 应该用于临时性重定向,如果资源只是暂时移动到新的 URL,将来可能会恢复到原始 URL。

应用场景四:防盗链

》防止其他网站引用我们的图片资源,避免资源消耗。


server {listen 80;server_name example.com;# 使用正则表达式匹配请求的 URL,限制只对图片文件(jpg、jpeg、png、gif)生效。location ~* \.(jpg|jpeg|png|gif)$ {# 设置防盗链规则valid_referers none blocked example.com *.example.com;if ($invalid_referer) {# 防盗链规则不匹配的处理,例如返回 403 Forbiddenreturn 403;}# 允许符合防盗链规则的请求访问图片资源# 这里可以配置图片资源的存放路径root /path/to/your/image/directory;}# 其他配置项可以根据需求添加
}# ----------------------------------------------------
valid_referers:设置允许访问资源的 Referer(来源)规则。none:禁止所有 Referer。blocked:允许空 Referer。example.com:允许指定的域名 example.com 的 Referer。*.example.com:允许所有子域名的 Referer。if ($invalid_referer):检查请求的 Referer 是否不符合防盗链规则。
如果 $invalid_referer 为 true,表示请求的 Referer 不在允许的列表中。
在这种情况下,可以返回 403 Forbidden 状态码,拒绝访问资源。root /path/to/your/image/directory;:配置图片资源的存放路径,可以根据实际情况替换为你的图片存放目录。

应用场景五:根据设备类型重定向/代理/访问 不同域名/资源

# 一:根据if判断设备类型,进行 rewrite 重定向。不满足if则正常执行接下去的配置信息(pc端配置)
# ========================== =========================# 定义 resolver,指定 DNS 解析服务器(使用 Google 的公共 DNS)
# 根据情况而定是否需要,有些本地无法解析dns,导致访问失败,则需要用到此命令。
resolver 8.8.8.8;server {listen 8098;server_name example.com;# 判断是否为手机端访问if ($http_user_agent ~* (android|iphone|ipod|mobile|blackberry|webos|incognito|webmate|bada|nokia|symbian|Windows\ Phone|opera\ mini|opera\ mobi|skyfire|up\.browser|ucweb|j2me)) {# 如果是手机端访问,则重定向到 PC 端页面rewrite ^(.*)$ http://app.example.com$request_uri;}# 配置 PC 端页面的根目录和其他配置项root /path/to/pc/website;index index.html index.htm;# 其他 PC 端配置项
}# 二:根据设备类型反向代理不同域名【反向代理会隐藏真实的 url 信息】
# ========================== =========================# 定义设备类型映射表
map $http_user_agent $proxy_backend {default http://pc.example.com;  # 默认设备类型为桌面端(pc端)~*mobile http://app.example.com;  # 匹配包含 mobile 的 User-Agent 为手机端~*tablet http://ipad.example.com;  # 匹配包含 tablet 的 User-Agent 为平板端
}# 定义 resolver,指定 DNS 解析服务器(使用 Google 的公共 DNS)
# 根据情况而定是否需要,有些本地无法解析dns,导致访问失败,则需要用到此命令。
resolver 8.8.8.8;server {listen 80;server_name example.com;location / {# 使用 proxy_pass 将请求代理到根据设备类型选择的后端服务器proxy_pass $proxy_backend;}
}# 三: 根据不同设备类型进行灵活配置
# ========================== =========================# 定义设备类型映射表
map $http_user_agent $device_type {default desktop;  # 默认设备类型为桌面端(pc端)~*mobile mobile;  # 匹配包含 mobile 的 User-Agent 为手机端~*tablet tablet;  # 匹配包含 tablet 的 User-Agent 为平板端
}# 配置服务器块
server {listen 80;server_name example.com;# 根据设备类型进行配置if ($device_type = mobile) {}if ($device_type = tablet) {}# 默认情况下为pc端#进行pc端配置
}

应用场景六:!负载均衡服务器!

1、轮询策略(Round Robin)

》轮询是最常见的负载均衡策略。请求按照顺序依次分配给后端服务器,每个请求都按照列表中服务器的顺序进行分发。当请求达到服务器列表的末尾时,重新开始从第一个服务器分发。轮询适用于后端服务器性能相近、无需特别考虑请求的处理时间等情况。
》也可以理解为是一个特殊的加权策略,不过服务器组中的各个服务器的权重都是1。

upstream my_backend {server backend1.example.com;server backend2.example.com;
}# 后面的均衡策略没有 server ,则说明和这里是一样的,不过多重复。
server {listen 80;server_name myloadbalancer.example.com;location / {proxy_pass http://my_backend;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}

2、加权轮询 (Weighted Round Robin)

》加权轮询在轮询的基础上引入权重因素,即给每个服务器分配一个权重值,用于调节每台服务器处理请求的比例。权重高的服务器将获得更多的请求。这种策略适用于服务器性能不均衡的情况,通过调整权重可以实现更灵活的负载均衡。
》weight和访问比率成正比

upstream my_backend {server backend1.example.com weight=3;server backend2.example.com weight=2;server backend3.example.com weight=1;
}

3、最少连接(Least Connections)

》最少连接策略将请求分配给当前连接数最少的服务器,以保持服务器的负载均衡。这种策略可以避免出现某些服务器连接数过载的情况,从而提高系统的整体性能。

upstream my_backend {least_conn;server backend1.example.com;server backend2.example.com;server backend3.example.com;
}

4、基于 IP 的哈希(IP Hash)

》IP 哈希策略根据请求的源 IP 地址计算哈希值,然后将请求分发到特定的服务器。相同 IP 地址的请求始终被分发到相同的服务器,这有助于保持会话的一致性,适用于需要会话粘性的应用场景。

upstream my_backend {ip_hash;server backend1.example.com;server backend2.example.com;server backend3.example.com;
}

5、基于 URL 的哈希(URL Hash)

》URL 哈希策略根据请求的 URL 计算哈希值,然后将请求分发到特定的服务器。相同 URL 的请求始终被分发到相同的服务器,这对于缓存和特定资源的分发具有一定的优势。

upstream my_backend {hash $request_uri;server backend1.example.com;server backend2.example.com;server backend3.example.com;
}

6、最短响应时间(Least Time)

》最短响应时间策略将请求分配给具有最短平均响应时间的服务器。通过实时监测服务器的响应时间,负载均衡器可以动态调整请求的分发,以确保向用户提供更快的响应和更好的体验。

upstream my_backend {least_time header_response time;server backend1.example.com;server backend2.example.com;server backend3.example.com;
}

7、公平策略(Fair)

》公平策略会根据服务器的响应时间和负载情况动态调整请求的分发,以确保每个服务器获得相等的负载。这种策略可以避免某些服务器被过载或负载不均衡的情况。

upstream my_backend {fair;server backend1.example.com;server backend2.example.com;server backend3.example.com;
}

负载均衡服务器的健康检查

》当后端服务器因为故障或不可用时,负载均衡器可以自动剔除这些服务器,以确保流量不会被发送到无法正常处理请求的服务器上。以下是几种常见的策略以及对应的配置样例:

1、健康检查(Health Checks)策略

》通过定期向后端服务器发送健康检查请求(如 HTTP 请求或 TCP 连接),负载均衡器根据响应结果判断服务器的健康状态。不可用的服务器会自动从负载均衡器的服务器列表中剔除,直到恢复正常后再重新加入。

upstream my_backend {server backend1.example.com;server backend2.example.com;server backend3.example.com;# 健康检查配置check interval=3000 rise=2 fall=3 timeout=1000;
}server {listen 80;server_name myloadbalancer.example.com;location / {proxy_pass http://my_backend;}
}#----------------------------
check:这是一个负载均衡模块的指令,用于配置健康检查参数。
interval=3000:指定健康检查的间隔时间,单位为毫秒(ms)。在此配置中,健康检查每隔 3 秒进行一次。
rise=2:指定服务器被标记为健康的连续成功检查次数。如果服务器连续成功检查的次数达到设定的值,则被标记为健康状态。
fall=3:指定服务器被标记为不健康的连续失败检查次数。如果服务器连续失败检查的次数达到设定的值,则被标记为不健康状态。
timeout=1000:指定健康检查的超时时间,单位为毫秒(ms)。如果健康检查在设定的超时时间内没有收到响应,则认为检查失败。

2、主动健康监控(Active Health Monitoring)策略

》负载均衡器定期向后端服务器发送主动的健康检查请求,而不是等待客户端请求时检测。如果检测到后端服务器不可用,负载均衡器将立即停止将流量发送到该服务器。

upstream my_backend {server backend1.example.com check;server backend2.example.com check;server backend3.example.com check;
}server {listen 80;server_name myloadbalancer.example.com;location / {proxy_pass http://my_backend;}# 健康检查配置location /health_check {access_log off;proxy_pass http://my_backend;proxy_pass_check http://my_backend/health_check;}
}#-----------------------location /health_check:定义一个新的 location 块,用于处理健康检查的请求。
access_log off;:关闭对健康检查请求的访问日志记录,避免将健康检查请求记录到 Nginx 的访问日志中。
proxy_pass http://my_backend;:将健康检查请求代理转发到定义的后端服务器组 my_backend。
proxy_pass_check http://my_backend/health_check;:配置用于健康检查的额外请求。负载均衡器会向后端服务器发送这个额外的检查请求,以确定服务器的健康状态。

3、 被动健康监控(Passive Health Monitoring)策略

》负载均衡器根据实际的流量情况和响应时间来判断服务器的健康状态。如果后端服务器的响应时间超过预设阈值或者出现错误率过高的情况,负载均衡器会将该服务器标记为不可用。

upstream my_backend {fair;server backend1.example.com;server backend2.example.com;server backend3.example.com;
}server {listen 80;server_name myloadbalancer.example.com;location / {proxy_pass http://my_backend;}
}

4、连接排空(Connection Draining)策略

》当负载均衡器检测到后端服务器不可用时,会停止向该服务器发送新的连接和请求,但允许已经建立的连接继续处理直到完成。这样可以确保不影响正在进行中的流量,并逐渐将流量从不可用的服务器转移到其他健康的服务器。

upstream my_backend {server backend1.example.com;server backend2.example.com backup;
}server {listen 80;server_name myloadbalancer.example.com;location / {proxy_pass http://my_backend;proxy_next_upstream error timeout http_502;proxy_connect_timeout 2s;proxy_set_header Connection "";}
}# -----------------------------proxy_next_upstream error timeout http_502;:
定义在出现指定错误时切换到下一个后端服务器的条件。在此配置中,当后端服务器返回错误、超时或 HTTP 502 错误时,将切换到下一个后端服务器处理请求。proxy_connect_timeout 2s;:
设置连接后端服务器的超时时间为 2 秒。如果在指定的时间内无法建立连接,则视为连接超时。proxy_set_header Connection "";:
设置请求头中的 Connection 字段为空字符串,防止 Nginx 将连接保持设置为默认值,避免不必要的连接保持。

nginx 科普信息

1、常用命令


//开启服务:
start nginx//停止服务:nginx停止命令stop与quit参数的区别在于stop是快速停止nginx,可能并不保存相关信息,
//quit是完整有序的停止nginx  ,并保存相关信息。nginx启动与停止命令的效果都可以通过Windows任务管理器中的进程选项卡观察。
nginx -s quit
nginx -s stop//重启服务:
nginx -s reload//检查配置文件是否有语法错误
nginx -t

2、location匹配优先级顺序

精确匹配 > (以 ^~开头)最长前缀匹配 > 正则匹配 > 普通前缀匹配(越长越大)
location = 路径 > location ^~ >location ~ / ~* > location /test > location /

★★★创做不易,对你有帮助的话,麻烦给个三连★★★

相关文章:

Nginx配置大全【六大使用场景、七大负载均衡策略、四大负载健康检查】

目录 基础配置信息应用场景一:配置web服务器应用场景二:反向代理服务器应用场景三:URL重定向应用场景四:防盗链应用场景五:根据设备类型重定向/代理/访问 不同域名/资源应用场景六:!负载均衡服务…...

GDPU Java 天码行空8

文章目录 (一)实验目的(二)实验内容和步骤1、LinkedList 实现队列💖 MyQueueDemo.java💖 运行结果: 2、集合的嵌套遍历💖 StudentDemo.java💖 运行结果: 3、类…...

《前端面试题》- JS基础 - 伪数组

第一次听说伪数组这个概念,听到的时候还以为是说CSS的伪类呢,网上一查,这东西原来还是个很常见的家伙。 何为伪数组 伪数组有两个特点: 具有length属性,其他属性(索引)为非负整数但是却不具备…...

TypeScript 基础语法

文章目录 1. 类型注解2. 接口(Interfaces)3. 类(Classes)4. 泛型(Generics)5. 枚举(Enums)6. 高级类型7. 模块8. 装饰器(Decorators)9. 映射类型(…...

服务器数据恢复—V7000存储raid5数据恢复案例

服务器数据恢复环境: P740AIXSybaseV7000存储阵列柜,阵列柜上有12块SAS机械硬盘(包括1块热备盘)。 服务器故障: 管理员在日常巡检过程中发现阵列柜中有一块磁盘发生故障,于是更换磁盘并同步数据&#xff0…...

扫雷 【搜索,哈希】

9.扫雷 - 蓝桥云课 (lanqiao.cn) #include<bits/stdc.h> using namespace std; #define int long long const int N1e5100; int n,m,res0; struct pt{int x,y,r; }; typedef pair<int,int> pii; map <pii,int> a;//炸雷的map,键是x,y,值是r map <pii,int&…...

如何在CentOS安装Firefox并结合内网穿透工具实现公网访问本地火狐浏览器

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器&#xff0c;由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…...

LlamaIndex 组件 - Loading

文章目录 一、概览加载Transformations将所有内容放在一起抽象 二、文档/节点概览1、概念2、使用模式文件节点 三、定义和定制文档1、定义文档2、自定义文档2.1 元数据2.2 自定义id2.3 高级 - 元数据定制1&#xff09;自定义LLM元数据文本2&#xff09;自定义嵌入元数据文本3&a…...

再见了 wordpress !又一款简洁实用的个人博客,简单好使【文末领福利】

最近想搭一个简单的博客&#xff0c;不想要 wordpress 这类那么臃肿的系统&#xff0c;于是开源站找了下&#xff0c;看看有没有搭建简单&#xff0c;又好使的博客系统。于是还真找到了一个项目 -- VanBlog 简介 VanBlog 是一款简洁优雅的个人博客系统&#xff0c;它拥有很好性…...

【经典算法】LeetCode 136:只出现一次的数字(Java/C/Python3实现含注释说明,Easy)

个人主页&#xff1a; 进朱者赤 阿里非典型程序员一枚 &#xff0c;记录平平无奇程序员在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法&#xff08;公众号同名&#xff09; 目录 题目描述思路及实现方式一&#xff1a;使用异或运算&#xff08;推荐&#xff09;思…...

ST-LINK Utility 4.6.0 下载安装及使用方法介绍

一、介绍 STM32 ST-LINK Utility是针对STM32全系芯片进行编程&#xff08;读、写、擦除、选项字&#xff09;的一款工具。 STM32 ST-LINK Utility软件主要的功能就是量产&#xff08;批量下载代码的工具&#xff09;。它也是比较实用的一个工具&#xff0c;当我们需要查看芯片F…...

【教程】cocos2dx资源加密混淆方案详解

1,加密,采用blowfish或其他 2,自定是32个字符的混淆code 3,对文件做blowfish加密,入口文件加密前将混淆code按约定格式(自定义的文件头或文件尾部)写入到文件 4,遍历资源目录,对每个文件做md5混淆,混淆原始串“相对路径”“文件名”混淆code, 文件改名并且移动到资源目录根…...

【Altium Designer 20 笔记】PCB板框

Altium Designer中设置PCB板框 PCB板框位于Mechanical1层 点击放置中的线条或使用其他绘图工具来绘制板框, 可以绘制矩形、圆形或其他形状的板框,确保板框是闭合的 注意&#xff1a;在绘制板框时&#xff0c;确保线条的起点和终点相连&#xff0c;形成一个闭合的图形。 快捷键D…...

el-date-picker限制只能选择当前时间前/后的时间(包含日期、时、分)

限制只能选择当前时间前/后的时间&#xff08;包含日期、时、分&#xff09; 首先需要给添加一个属性picker-options属性,然后在data中定义这个pickerOptions属性。 <el-date-pickerv-model"saveForm.startTime":picker-options"pickerOptions"format…...

MySQL 5.7 重置root用户密码

MySQL 5.7 重置root用户密码 如果你忘记了 MySQL 5.7 的 root 用户密码&#xff0c;可以按照以下步骤来重置密码&#xff1a; 1、停止 MySQL 服务。 # systemctl stop mysql.service 2、进入MySQL服务的安全启动模式 # mysqld_safe --skip-grant-tables &3、连接到 MyS…...

分布式数据库Polardb-X架构及特点

PolarDB-X架构 计算节点&#xff08;Compute Node&#xff0c;CN&#xff09;是系统的入口&#xff0c;采用无状态设计的sql引擎提供分布式路由和计算&#xff0c;包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度&#xff0c;负责分布式事务2PC协调…...

【spring】@Resource注解学习

Resource介绍 在Spring框架中&#xff0c;Resource 注解是一个JSR-250标准注解&#xff0c;用于自动装配&#xff08;autowiring&#xff09;Spring容器中的bean。Resource 注解可以用于字段、方法和方法参数上&#xff0c;以声明依赖注入。 Resource源码 Target({TYPE, FIE…...

【leetcode面试经典150题】43. 字母异位词分组(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…...

计算机网络 Cisco路由器基本配置

一、实验内容 1、按照下表配置好PC机IP地址和路由器端口IP地址 2、配置好路由器特权密文密码“abcd&#xff0b;两位班内序号”和远程登录密码“star” 3、验证测试 a.验证各个接口的IP地址是否正确配置和开启 b.PC1 和 PC2 互ping c.验证PC1通过远程登陆到路由器上&#…...

Windows Edge 兼容性问题修复:提升用户体验的关键步骤

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…...

Vue 3 性能飞跃:解析其性能提升的关键方面

文章目录 响应式系统优化静态树提升diff算法优化Tree Shaking优化Composition API事件缓存机制 响应式系统优化 Vue双向绑定原理 Proxy 相较于 Object.defineProperty 在性能上的优势主要体现在以下几个方面&#xff1a; 属性检测的全面覆盖&#xff1a; Object.defineProper…...

MySQL 存储过程中,参数的传递主要通过以下两种方式:IN、OUT 和 INOUT

在 MySQL 存储过程中&#xff0c;参数的传递主要通过以下两种方式&#xff1a;IN、OUT 和 INOUT。这些参数类型决定了参数在存储过程中的使用方式以及存储过程执行完毕后参数值的变化。 1. IN 参数 IN 参数是输入参数&#xff0c;它的值在存储过程被调用时传入&#xff0c;并…...

修改当前Git仓库的地址、用户名、密码

1.修改仓库地址 git remote set-url origin 新的仓库地址2.修改用户名和密码 2.1 修改用户名和密码1 分两步操作&#xff1a; 修改用户名&#xff1a; git config --global user.name "Your New Name"修改密码&#xff1a; 如果是 HTTPS 访问方式&#xff0c;并…...

尚鼎环境科技诚邀您参观2024第13届生物发酵展

参展企业介绍 尚鼎环境科技(江苏)有限公司设立于2010年&#xff0c;公司坐落于江南平原南端素有『苏北门户』之称的古城扬州&#xff0c;办公室位在江苏省扬州市邗江区高新技术创业服务中心。 尚鼎环境科技长年致力于食品精炼/环境工程领域全程技术服务&#xff0c;工程实绩遍…...

UE5 C++ 创建3DWidgete 血条 再造成伤害

一&#xff0e;创建 二&#xff0e;&#xff35;&#xff29;里声明变量 创建类 public:UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget")float CurrentHealth 100.0f;UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget"…...

Android 14 vold 分析(1)启动

1.启动 它是从rc文件中启动的&#xff0c;rc文件是second stage init才会解析的&#xff0c;也就是说vold主要作用做second stage mount&#xff0c;那first stage mount是怎么做的呢&#xff0c;第一阶段实际上直接调用的是fs_mgr进行的mount&#xff0c;fs_mgr_do_mount_one…...

【云计算】混合云组成、应用场景、风险挑战

混合云组成及应用场景 1.混合云组成1.1 基础网络1.2 统一的技术平台 2.混合云应用场景2.1 灾备2.2 弹性算力调度2.3 法律合规2.4 成本控制 3.风险与挑战3.1 标准缺乏3.2 网速有限3.3 技术绑定3.4 法律合规 1.混合云组成 根据混合云应用场景的不同&#xff0c;混合云的组件差别…...

spring bean的继承和依赖

bean的继承和依赖 spring除了提供了一般的配置bean的方式之外&#xff0c;还实现了java中继承的特性&#xff0c;设置bean的父子关系&#xff0c;这样对于一些重复的配置就可以进行省略 bean的继承 配置bean的父子关系&#xff0c;父bean有的东西&#xff0c;子bean全部继承过来…...

Swift中的字符串

Swift中的字符串是一个有序的字符集合&#xff0c;用于存储和操作文本数据。字符串由一系列的Unicode字符组成&#xff0c;可以包含任意的字符&#xff0c;包括字母、数字、符号和空格等。 在Swift中&#xff0c;字符串的类型是String&#xff0c;可以使用双引号或者三引号来表…...

MySQL基础-----约束详解

目录 一. 概述: 二.约束演示&#xff1a; 三.外键约束&#xff1a; 3.1介绍&#xff1a; 3.2外键约束语法&#xff1a; 3.3删除&#xff0c;更新行为&#xff1a; 一. 概述: &#x1f9d0;&#x1f9d0;概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制…...