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

nginx-静态资源部署

目录

静态资源概述

静态资源配置指令

listen指令

server_name指令

精确匹配

?编辑

?编辑

使用通配符匹配

使用正则表达式匹配

匹配执行顺序

default_server属性

location指令

root指令

alias指令

root与alisa指令的区别

index指令

error_page指令

直接使用

使用@重定向

使用response

静态资源优化配置语法

sendfile语法

tcp_nopush语法

tcp_nodeplay语法

静态资源压缩

gzip指令

gzip_types指令

gzip_comp_level指令

gzip_vary指令

gzip_buffers指令

gzip_disable指令

gzip_http_version指令

gzip_min_length指令

gzip_proxied指令

压缩功能实例配置

Gzip与sendfile的共存问题

添加模块到nginx中的步骤

①查看nginx的配置信息

②备份二进制文件

③进入nginx安装目录

④清空已有缓存

⑤编译nginx和使用模块

⑥make处理依赖关系

⑦处理对应文件

⑧更新nginx配置

gzip_static指令

静态资源缓存

使用浏览器缓存的优点

HTTP协议中的缓存相关字段

浏览器缓存的相关指令

expires指令

add_header指令

跨域问题

什么是跨域问题

跨域问题的解决

防盗链

HTTP头信息中的Referer

nginx防盗链的实现

valid_referers指令

实现防盗链效果


静态资源概述

静态资源通常指的是那些不会随着用户请求或服务器状态而变化的文件。这些资源包括图片、视频、音频、HTML文件、CSS文件、JavaScript文件、软件安装包、APK文件以及压缩包文件等。一旦这些资源被上传到服务器上,它们的内容就是固定的,服务器会直接返回这些资源的内容给客户端,客户端只需进行渲染或下载即可。

静态资源配置指令

listen指令

配置用来监听的端口号

listen指令表

语法

listen address [:port] | listen port;

默认值

listen *:80 | listen *:8080;

位置

server块

server_name指令

设置虚拟主机的服务名称,可以使用精确匹配,如:www.baidu.com或者使用通配符来匹配更多的范围,如:*.baidu.com 可以匹配更大的范围,甚至可以使用正则表达式来进行匹配,如:^www.(w+).com$

精确匹配

直接使用固定的server_name名称,匹配唯一一个名称

server {listen  8081;server_name www.monkey.cn  www.apple.cn;   #可以书写多个服务名}

06bfe238d33243f4a6e1a03a3f858325.png

caabf440181b442dac86631fe4fe5a55.png

使用www.apple.com和www.monkey.com都可以访问到配置的服务页面,说明已经配置成功

使用通配符匹配

使用通配符匹配时,只能在最前面使用,或者最后面使用

正确示范: *.monkey.com www.monkey.*

错误示范: www.*.com

server {listen 8082server_name *.monkey.com   www.apple.*
}

此时的配置可以匹配 任何字符+.monkey.com和ww.apple.+任何字符

匹配不到的原因:可能是没有配置hosts文件,不能进行dns解析

09b2dc90cbd145c4b57e743e0de97665.png

459c3c96958343b89fafcf7e8f8645a0.png

698b62638de640e4ad21d79ce3553b14.png

ef9d9d7c7ed44f84aeb128f13393a916.png

使用正则表达式匹配

使用正则表达式匹配时,要使用 ~ 字符作为开头标记

server {listen 8083;server_name ~^www.(w+).com$;default_type text/plain;return 200 $1;}

5e487ba5a5e54b69b290de5c0701327a.png

此处使用Linux浏览器不使用本机电脑浏览器的原因:

配置完Linux上面的hosts文件之后,在Linux浏览器就可以完成dns解析,可以直接进行访问,但是此时本机浏览器不能进行访问,因为本机浏览器为进行dns解析,配置的server_name为私有地址,不能再公网进行解析,要使本机可以进行访问,需要配置本机的hosts文件

文件位置:C:WindowsSystem32driversetchosts

匹配执行顺序

当使用三个服务,都可以匹配到www.monkey.com时,系统会返回使用精确匹配的服务

三个匹配的执行顺序: 精确匹配>通配符匹配>正则匹配

default_server属性

可以将虚拟主机配置为默认主机,当没有匹配到ip:port时,则会配置默认的default_server返回结果,如果未配置,第一个serever默认为default_server属性

location指令

可以用来匹配请求的URL

location指令表

语法

location [ = | ~ | ~* | ^~ | @];url {……}

默认值

位置

http块,server块

使用代表使用正则,*代表使用正则而且不区分大小写,使用^~代表不进行贪婪匹配

root指令

设置请求的根目录

root指令表

语法

root path;

默认值

root html;

位置

http,server,location

alias指令

用来更改location的URL

alias指令表

语法

alias path;

默认值

位置

http块,server块,location块

root与alisa指令的区别

使用root的处理结果: URL = root路径+location路径

使用alias的处理结果:URL = alias路径

例如: 使用 root 为/usr/share/nginx/html

location 为 welcome.html 访问的URL为:/usr/share/nginx/html/welcome.html

使用alias为/usr/share/nginx/html/welcome.html

location不管为什么,刚问的URL都为:/usr/share/nginx/html/welcome.html

index指令

设置网络的默认界面

index指令表

语法

index file;

默认值

index index.html;

位置

http块,server块,location块

error_page指令

设置网络的错误页面

error_page指令表

语法

error_page code …[=[response]] url

默认值

位置

http块,server块,location块

当出现对应代码时,对应的处理结果

例如 404 /50x.html 当出现结果为404时,跳转到/usr/share/nginx/html/50x.html页面

或者 404=200 /usr/share/nginx/html/error.html

出现错误404时,返回200并且返回/usr/share/nginx/html/error.html文件

注意: 此处的404 =200

404后面要加空格,但是200前面不需要添加

直接使用

server {listen 8083;server_name localhost;default_type text/plain;location / {root  /home/www/myweb;index index_sr2_location2.html;}error_page 404 https://www.baidu.com/s?wd=%E8%99%8E%E7%89%99&ie=utf-8&tn=15007414_4_pg;
}

使用@重定向

server {listen 8083;server_name localhost;default_type text/plain;location / {root  /home/www/myweb;index index_sr2_location2.html;}error_page 404 @jump_error;location @jump_error {default_type  text/plain;return 404 "Not Found"}
}

使用response

server {listen 8083;server_name localhost;default_type text/plain;location / {root  /home/www/myweb;index index_sr2_location2.html;}error_page 404 =200 "Welcome to You"
}
静态资源优化配置语法

sendfile语法

使用此功能可以使文件在处理时跳过内核态与用户态的切换,直接将进行文件的使用

sendfile指令表

语法

sendfile on | off;

默认值

sendfile off;

位置

http块,server块,location块

tcp_nopush语法

必须在sendfile功能打开时才可以使用,用来提升网络的传输效率

tcp_nodeplay语法

在keep-alive连接开启时生效,提高网络传输的实时性

tcp_deplay指令表

语法

tcp_nodeplay on|off;

默认值

tcp_nodeplay off;

位置

http块,server块,location块

静态资源压缩

在NGINX的配置文件中配置gzip对静态资源进行压缩,可以配置在http块,server块和location块中,NGINX可以通过ngx-http-gzip-module模块,ngx-http-gzip-static-module模块,ngx-http-gunzip-modelu模块对这些指令进行解析和处理

gzip指令

是否开启gzip压缩功能

gzip指令表

语法

gzip on;

默认值

gzip off;

位置

http块,server块,location块

gzip_types指令

根据相应的MIME类型选择性的开启Gzip功能,可以使用*选择全部压缩

gzip_types指令表

语法

gzip_types mime_type;

默认值

gzip_types text/html;

位置

http块,server块,location块

gzip_comp_level指令

设置压缩程度/等级,共有9级,使用的等级越高,压缩程度约高,压缩速度越慢

gzip_comp_level指令表

语法

gzip_comp_level number;

默认值

gzip_comp_level 1;

位置

http块,server块,location块

gzip_vary指令

设置压缩时是否发送“Vary:Accept-Encoding”头部的响应头部,告诉对方数据已经使用了压缩

gzip_vary指令表

语法

gzip_vary on | off;

默认值

gzip_vary off;

位置

http块,server块,location块

gzip_buffers指令

用来处理请求压缩的缓冲区的数量大小

gzip_buffers指令表

语法

gzip_buffers number size;

默认值

gzip_buffers 32 4k| 16 8k;

位置

http块,server块,location块

gzip_disable指令

匹配浏览器正则表达式,成功则不进行压缩

gzip_disable指令表

语法

gzip_disableregex(要使用的正则表达式);

默认值

----

位置

http块,server块,location块

gzip_http_version指令

针对http协议版本,选择性开启与关闭Gzip功能

gzip_http_version指令表

语法

gzip_http_version 1.0 | 1.1 ;

默认值

gzip_http_version 1.1;

位置

http块,server块,location块

gzip_min_length指令

设置文件进行压缩的最小值,只有到达该值,才对文件进行压缩

默认使用单位为:bytes,也可以使用K和M来进行限制

gzip_min_length指令表

语法

gzip_min_length length;

默认值

gzip_min_length 20;

位置

http块,server块,location块

gzip_proxied指令

设置是否对服务器返回结果进行压缩

gzip_proxied指令表

语法

gzip_proxied 参数

默认值

gzip off

位置

http块,server块,location块

off:关闭nginx服务器对后台服务器返回的结果进行压缩

expired:如果服务器header包含Cacha_Control:expired启用压缩

no-cache:如果服务器header包含Cacha_Control:no-cache启用压缩

no-store:如果服务器header包含Cacha_Control:no-store启用压缩

private:如果服务器header包含Cacha_Control:private启用压缩

no_last_modified:如果服务器header中不包含Last_Modified启用压缩

no_etag:如果服务器header不包含Etag启用压缩

auth:如果服务器header包含Authorization启用压缩

any:无条件使用压缩功能

压缩功能实例配置
#使用include引入与压缩相关配置
include nginx_gzip.conf
#展示nginx_zip.conf文件内容
gzip on;   #开启gzip压缩功能
gzip_types *;  #设置所有文件类型均进行压缩
gzip_comp_level 6;  #设置压缩等级为6
gzip_min_length 1024;  #设置文件最小压缩大小为1024bytes
gzip_buffers 4 16k;  #设置压缩空间个数为4,大小为16k
gzip_vary on;    #允许向浏览器头部发送Vary变量,告知数据已进行压缩
gzip_disable "MIME [1-6]";  #禁用对IE6及以下版本的Gzip压缩
gzip_proxied off;      #关闭对后台服务器数据的压缩  
Gzip与sendfile的共存问题

开启sendfile后,读取磁盘上的静态文件时,可以不经过用户进程将静态文件通过网络设备进行发送,但是Gzip要实现对资源的压缩需要用户进程操作,要解决这两个配置的共存问题需要使用ngx_http_gzip_static_modelu模块中的gzip_static指令进行解决

添加模块到nginx中的步骤

①查看nginx的配置信息

(默认要使用的模块暂时不存在)

nginx -V

②备份二进制文件

可以使用find命令找寻自己的nginx二进制可执行文件(默认在/usr/local/nginx/sbin目录下)

mv /usr/local/nginx/sbin/nginx nginx_backup

③进入nginx安装目录

cd /usr/local/nginx

④清空已有缓存

make clean

⑤编译nginx和使用模块

(此处以http-gzip-static-module为例)

./configure  --with-http-gzip-static-module

⑥make处理依赖关系

(此时不要使用make install进行安装)

make

⑦处理对应文件

将make命令生成的objs下的nginx文件移动到nginx安装目录下的sbin下代替源nginx二进制执行文件

mv objs/nginx /usr/local/nginx/sbin/

⑧更新nginx配置

make upgrade

gzip_static指令

静态资源缓存

使用浏览器缓存的优点

①成本最低的缓存实现

②减少网络贷款消耗

③降低服务器压力

④减少网络延迟,加快页面打开速度

HTTP协议中的缓存相关字段

相关字段表

字段名

含义

Expires

缓存过期的日期和时期

Cache-Control

设置和缓存相关的配置信息

Last-Modified

请求资源最后修改时间

Etag

请求变量的实体标签的当前值

浏览器缓存的相关指令

expires指令

expires指令的主要功能是设置资源的过期时间。通过修改HTTP响应头中的“Expires”和“Cache-Control”字段,expires指令可以控制浏览器或其他缓存代理如何缓存这些资源。

expires指令表

语法

expires time; | expires epoch,max,off ;

默认值

expires off;

位置

http块,server块,location块

time可以是正数、负数、零或带有时间单位的字符串(如30s、2h、30d等),表示资源的过期时间;epoch表示将“Expires”字段设置为1970年1月1日00:00:01 GMT,即表示资源不缓存;max表示将“Expires”字段设置为一个遥远的未来日期(如2037年12月31日),并设置“Cache-Control”字段的值为10年,表示资源可以被长时间缓存;off表示不修改响应头中的“Expires”和“Cache-Control”字段。

add_header指令

用来添加指定的响应头和响应值

add_header指令表

语法

add_header name value [always];

默认值

位置

http块,server块,location块

name值:Cache-Control

value表

name

value

must-revalidata

可缓存,需要向源服务器确认

no-cache

缓存前确认有效性

no-store

不缓存

no-transform

代理不可更改媒体类型

public

可以向任意方提供响应缓存

max-age=<值>

相应最大age值

proxy-revalidata

中间服务器对缓存有效性也进行确认

s-maxage=<值>

公共缓存服务器相应的最大值

跨域问题

什么是跨域问题

同源策略: 当协议,域名(服务名),端口号相同时则为同源。当使用的URL不同源时,即产生跨域问题

跨域问题的解决

在server块中添加如下配置解决跨域问题

#添加可以跨域使用的地址
add_header  Access_Control_Allow Origin *;   #使用*表示所有网址均可进行跨域使用此网站资源
#添加使用方式
add_header  Access_Control_Allow_Methods GET,POST,PUT,DELETD;

防盗链

防止别人使用自己网站的资源在其余网站上面使用

HTTP头信息中的Referer

使用此字段Referer告诉浏览器,网页是从那个页面进行链接

nginx防盗链的实现

使用valid_referers限制请求的来源,可以用于防止恶意请求、防止盗链等安全措施

valid_referers指令

valid_referers指令表

语法

valid_referers none | blocked | server_names | string…

默认值

位置

http块,server块,location块

none:直接访问URL,而不使用任何网站或链接的跳转,此时$http_referer变量的值是空的。

blocked:请求标头中存在“Referer”字段,但其值已被防火墙或代理服务器删除。这些值通常是不以“http://”或“https://”开头的字符串。

server_names:使用当前server块中配置的server_name指令中的域名。

string:自定义的域名列表,支持通配符和正则表达式写法。

实现防盗链效果

location ~* .(png|jpg|gif)$ {# 定义一个变量来跟踪引用是否有效set $is_valid_referer 0;# 检查引用是否有效if ($http_referer ~* "www.baidu.com" || $http_referer = "" || $http_referer ~* "^https?://") {set $is_valid_referer 1;}# 如果引用无效,则返回403禁止访问if ($is_valid_referer = 0) {return 403;}# 指定文件根目录root /path/to/html/images;
}

相关文章:

nginx-静态资源部署

目录 静态资源概述 静态资源配置指令 listen指令 server_name指令 精确匹配 ?编辑 ?编辑 使用通配符匹配 使用正则表达式匹配 匹配执行顺序 default_server属性 location指令 root指令 alias指令 root与alisa指令的区别 index指令 error_page指令 直接使用…...

WebGPT: 基于浏览器辅助的问答系统,结合人类反馈优化答案质量

【摘要】 本论文介绍了WebGPT,这是一种通过浏览器辅助问答系统来使用人类反馈进行训练和优化的模型。具体来说,该系统通过与基于文本的网络浏览环境互动,使模型能够搜索和导航网络,从而提高其回答长文本问题的能力。通过将任务设计为人类可以完成的任务,研究人员能够利用…...

C# 异步任务队列封装

在 C# 中&#xff0c;可以使用 Task 和 ConcurrentQueue 来构建一个 异步任务队列&#xff0c;确保任务按照 FIFO&#xff08;先进先出&#xff09;顺序执行&#xff0c;并支持并发安全。 设计方案 任务队列 (ConcurrentQueue<Func>) 存储异步任务&#xff08;每个任务都…...

安装并运行hadoop程序

1.在虚拟机上安装javaJDK &#xff08;1&#xff09;把javaJDK文件上传到服务器 在opt文件夹下新建一个software文件夹&#xff0c;将jdk拖入software &#xff08;2&#xff09;解压文件 在opt文件夹下新建一个module文件夹&#xff0c;确认上传成功之后&#xff0c;在softwa…...

第TR3周:Pytorch复现Transformer

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 Transformer通过自注意力机制&#xff0c;改变了序列建模的方式&#xff0c;成为AI领域的基础架构 编码器&#xff1a;理解输入&#xff0c;提取上下文特征…...

51c视觉~3D~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/13422809 #中科大统一内外参估计和3DGS训练 这下真的不用相机标定了&#xff1f; 同时优化相机的内外参和无序图像数据 在给定一组来自3D场景的图像及其相应的相机内参和外参的情况下&#xff0c;3D高斯喷溅&#xff…...

dify在腾讯云服务器上部署

Dify 是一个开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力&#xff0c;轻松构建和运营生成式 AI 原生应用&#xff0c;比 LangChain 更易用。 首先到dify官方网站上有详细介绍 https://docs.dify.ai/zh-hans/getting-started/ins…...

Redis——缓存穿透、击穿、雪崩

缓存穿透 什么是缓存穿透 缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中&#xff0c;导致请求直接到了数据库上&#xff0c;根本没有经过缓存这一层。举个例子&#xff1a;某个黑客故意制造我们缓存中不存在的 key 发起大量请求&#xff0c;导致大量请求落到数据库…...

Java 并发编程:synchronized 与 Lock 的区别

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Java 并发编程&#xff1a;synchronized 与 Lock 的深度对比 在 Java 多线程编程中&#xff0c;同步机制是保证线程安全的核心手段。synchronized 关键字和 …...

12组复古暖色调旅行电影摄影照片调色Lightroom预设 12 Warm Vintage Film Lightroom Presets

使用这 12 种暖色复古胶片 Lightroom 预设来转换您的照片&#xff0c;旨在将经典胶片的永恒精髓带入您的数字编辑中。每个预设都经过精心制作&#xff0c;以唤起丰富的色彩、微妙的颗粒和怀旧的色调。 这些预设非常适合寻求复古魅力和现代精度融合的摄影师&#xff0c;将毫不费…...

WebSocket:实现实时通信的利器

在现代Web应用中&#xff0c;实时通信变得越来越重要。无论是聊天应用、在线游戏&#xff0c;还是实时数据推送&#xff0c;传统的HTTP请求-响应模式已经无法满足需求。WebSocket作为一种全双工通信协议&#xff0c;应运而生&#xff0c;成为实现实时通信的利器。本文将深入探讨…...

小谈java内存马

基础知识 &#xff08;代码功底不好&#xff0c;就找ai优化了一下&#xff09; Java内存马是一种利用Java虚拟机&#xff08;JVM&#xff09;动态特性&#xff08;如类加载机制、反射技术等&#xff09;在内存中注入恶意代码的攻击手段。它不需要在磁盘上写入文件&#xff0c…...

wordpress自定the_category的输出结构

通过WordPress的过滤器the_category来自定义输出内容。方法很简单&#xff0c;但是很实用。以下是一个示例代码&#xff1a; function custom_the_category($thelist, $separator , $parents ) {// 获取当前文章的所有分类$categories get_the_category();if (empty($categ…...

Flink深入浅出之01:应用场景、基本架构、部署模式

Flink 1️⃣ 一 、知识要点 &#x1f4d6; 1. Flink简介 Apache Flink — Stateful Computations over Data StreamsApache Flink 是一个分布式大数据处理引擎&#xff0c;可对有界数据流和无界数据流进行有状态的计算。Flink 能在所有常见集群环境中运行&#xff0c;并能以…...

react脚手架(creat-react-app)

安装 react脚手架 React官方提供的脚手架工程Create React App&#xff1a;https://github.com/facebook/create-react-app npm install create-react-app -g 全局安装 create-react-app my-react (my-react为项目名称&#xff0c;可以自定义) cd my-react 启动项目&#xff1a…...

TypeError: Cannot set properties of undefined (setting ‘xxx‘)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

使用Node.js从零搭建DeepSeek本地部署(Express框架、Ollama)

目录 1.安装Node.js和npm2.初始化项目3.安装Ollama4.下载DeepSeek模型5.创建Node.js服务器6.运行服务器7.Web UI对话-Chrome插件-Page Assist 1.安装Node.js和npm 首先确保我们机器上已经安装了Node.js和npm。如果未安装&#xff0c;可以通过以下链接下载并安装适合我们操作系…...

考网络安全工程师证要什么条件才能考?

在当今数字化时代&#xff0c;网络安全问题日益凸显&#xff0c;网络安全工程师成为了一个备受瞩目的职业。许多有志于投身这一行业的学子或职场人士&#xff0c;都希望通过考取网络安全工程师证书来提升自己的专业素养和竞争力。那么&#xff0c;考网络安全工程师证需要具备哪…...

【情境领导者】评估情境——准备度水平

本系列是看了《情境领导者》一书&#xff0c;结合自己工作的实践经验所做的学习笔记。 在文章【情境领导者】评估情境——什么是准备度-CSDN博客我们提到准备度是由能力和意愿两部分组成的。 准备度水平 而我们要怎么去评估准备度呢&#xff1f;准备度水平是指人们在每项工作中…...

一套企业级智能制造云MES系统源码, vue-element-plus-admin+springboot

MES应该是继ERP之后制造企业信息化最热门的管理软件&#xff0c;它适应产品个性化与敏捷化制造需求&#xff0c;满足生产过程精益管理而产生和发展起来的信息系统。 作为企业实现数字化与智能化的核心支撑技术与重要组成部分&#xff0c;MES在帮助制造企业走向数字化、智能化等…...

蓝桥杯备考:动态规划线性dp之传球游戏

按照动态规划的做题顺序 step1&#xff1a;定义状态表示 f[i][j] 表示 第i次传递给了第j号时一共有多少种方案 step2: 推到状压公式 step3:初始化 step4:最终结果实际上就是f[m][1] #include <iostream> #include <cstring> using namespace std;const int N …...

网络编程 day05

网络编程 day05 12. SQL 数据库概念常用数据库MySQL与SQLite的区别 SQL基础SQL语句使用基本语句的使用—命令行操作sqlite3系统命令sqlite命令 sqlite3编程—函数接口 13. setsockopt&#xff1a;设置套接字属性 12. SQL 数据库 概念 数据库是“按照数据结构来组织、存储和管理…...

Excel中COUNTIF用法解析

COUNTIF 是 Excel 中一个非常实用的函数&#xff0c;用于统计满足某个条件的单元格数量。它的基本语法如下&#xff1a; 基本语法 COUNTIF(范围, 条件) 范围&#xff1a;需要统计的单元格区域&#xff0c;例如 A1:A10 或整列 A:A。 条件&#xff1a;用于判断哪些单元格需要被…...

使用XShell连接RHEL9并配置yum阿里源

目录 1.先在终端查看本地IP 2.打开XShell进行连接 方法一&#xff1a; 方法二&#xff1a; 3.关闭防火墙及SElinux 4.更改主机名为node2 5.修改YUM源为阿里源&#xff08;将系统中国外的yum文件换成国内的阿里镜像文件&#xff09; 1.找到本机的yum配置文件 2.删除原有…...

FPGA时序约束的几种方法

一,时钟约束 时钟约束是最基本的一个约束,因为FPGA工具是不知道你要跑多高的频率的,你必要要告诉工具你要跑的时钟频率。时钟约束也就是经常看到的Fmax,因为Fmax是针对“最差劲路径”,也就是说,如果该“最差劲路径”得到好成绩,那些不是最差劲的路径的成绩当然比…...

C# 在Excel中插入和操作切片器-详解

目录 使用工具 C# 在Excel中插入切片器 插入切片器到透视表 插入切片器到表格 C# 在Excel中修改切片器 C# 删除Excel中的切片器 切片器&#xff08;Slicer&#xff09;是Excel中的一个强大工具&#xff0c;它提供了直观且交互式的方式来过滤数据。通过切片器&#xff0c;…...

新编大学应用英语综合教程3 U校园全套参考答案

获取全套答案&#xff1a; 链接&#xff1a;https://pan.quark.cn/s/abaa0338724e...

Kubernetes中的 iptables 规则介绍

#作者&#xff1a;邓伟 文章目录 一、Kubernetes 网络模型概述二、iptables 基础知识三、Kubernetes 中的 iptables 应用四、查看和调试 iptables 规则五、总结 在 Kubernetes 集群中&#xff0c;iptables 是一个核心组件&#xff0c; 用于实现服务发现和网络策略。iptables 通…...

操作系统 2.2-多进程总体实现

多个进程使用CPU的图像 如何使用CPU呢&#xff1f; 通过让程序执行起来来使用CPU。 如何充分利用CPU呢&#xff1f; 通过启动多个程序&#xff0c;交替执行来充分利用CPU。 启动了的程序就是进程&#xff0c;所以是多个进程推进 操作系统需要记录这些进程&#xff0c;并按照…...

基于SeaShips数据集的yolov8训练教程

之前已经试过在yolov3和faster-rcnn上训练SeaShips数据集&#xff0c;本次在yolov8上进行训练。 yolov8的训练有两种方式&#xff0c;一种是在mmdetection框架下下载mmyolo运行&#xff0c;另一种是直接采用ultralytics。本文两种方法都会介绍。 目录 一、mmyolo 1.1 创建环…...

【时间序列聚类】从数据中发现隐藏的模式

在大数据时代&#xff0c;时间序列数据无处不在。无论是股票市场的价格波动、天气的变化趋势&#xff0c;还是用户的点击行为&#xff0c;这些数据都随着时间推移而产生。然而&#xff0c;面对海量的时间序列数据&#xff0c;我们如何从中提取有价值的信息&#xff1f;答案之一…...

在线研讨会 | 加速游戏和AI应用,全面认识Imagination DXTP GPU

近日&#xff0c;Imagination宣布推出 Imagination DXTP GPU IP&#xff0c;该产品重新定义了智能手机和其他功耗受限设备的图形和计算加速。它专为高效的效率而设计&#xff0c;能够提供运行AI、游戏和用户界面体验所需的性能&#xff0c;确保这些体验可以全天候流畅且持续地运…...

百度SEO关键词布局从堆砌到场景化的转型指南

百度SEO关键词布局&#xff1a;从“堆砌”到“场景化”的转型指南 引言 在搜索引擎优化&#xff08;SEO&#xff09;领域&#xff0c;关键词布局一直是核心策略之一。然而&#xff0c;随着搜索引擎算法的不断升级和用户需求的多样化&#xff0c;传统的“关键词堆砌”策略已经…...

数据库基础练习1

目录 1.创建数据库和表 2.插入数据 创建一个数据库&#xff0c;在数据库种创建一张叫heros的表&#xff0c;在表中插入几个四大名著的角色&#xff1a; 1.创建数据库和表 #创建表 CREATE DATABASE db_test;#查看创建的数据库 show databases; #使用db_test数据库 USE db_te…...

UVC for USBCamera in Android

基于UVC 协议&#xff0c;完成USBCamera 开发 文章目录 一、目的&#xff1a;二、USBCamera 技术实现方案难点 三、误区&#xff1a;四、基础补充、资源参考架构图了解Camera相关专栏零散知识了解部分相机源码参考&#xff0c;学习API使用&#xff0c;梳理流程&#xff0c;偏应…...

C++学习之路,从0到精通的征途:入门基础

目录 一.C的第一个程序 二.命名空间 1.namespace的价值 2.命名空间的定义 3.命名空间使用 三.C的输入与输出 1.<iostream> 2.流 3.std(standard) 四.缺省参数 1.缺省参数的定义 2.全缺省/半缺省 3.声明与定义 ​五.函数重载 1.参数个数不同 2.参数类型不…...

RSA-OAEP填充方案与定时攻击防护

目录 RSA-OAEP填充方案与定时攻击防护一、前言二、RSA 与 OAEP 填充方案概述2.1 RSA 加密算法基础2.2 OAEP 填充方案的引入2.3 数学公式推导 三、定时攻击原理与防护策略3.1 定时攻击的基本原理3.2 防护定时攻击的策略 四、基于 Python 的 RSA-OAEP 与定时攻击防护实现五、完整…...

探索高性能AI识别和边缘计算 | NVIDIA Jetson Orin Nano 8GB 开发套件测评总结

# NVIDIA Jetson Orin Nano 8GB测评&#xff1a;当边缘计算遇上"性能暴徒"&#xff0c;树莓派看了想转行 引言&#xff1a;比咖啡机还小的"AI超算"&#xff0c;却让开发者集体沸腾 2025年的某个深夜&#xff0c;程序员老王盯着工位上巴掌大的NVIDIA Jets…...

Seata

Seata是一款开源的分布式事务解决方案&#xff0c;由阿里巴巴发起并维护&#xff0c;旨在帮助应用程序管理和协调分布式事务。以下是对Seata的详细介绍&#xff1a; 一、概述 Seata致力于提供高性能和简单易用的分布式事务服务&#xff0c;它为用户提供了AT、TCC、SAGA和XA等…...

STM32之Unix时间戳

时间戳按秒计时&#xff0c;可转换成年月日时分。32有符号存储时间戳&#xff0c;2的32次/2-1到2038年&#xff0c;STM32是2的32次方-1&#xff0c;到2106年溢出。所有时区共用一个时间戳秒计数器&#xff0c;在伦敦和北京都是0&#xff0c;不同经度加上小时即可。...

告别手动复制粘贴:可定时自动备份的实用软件解析

软件介绍 此前不少小伙伴都在找备份工具&#xff0c;其实复制文件用fastcopy就可以&#xff0c;但它需要手动操作。 今天介绍的简易备份工具则能实现定时备份。 这款软件有个小问题&#xff0c;当源目录和目标目录路径太长时&#xff0c;【立即备份】按钮可能会超出软件界面范…...

Django下防御Race Condition

目录 漏洞原因 环境搭建 复现 A.无锁无事务时的竞争攻击 B.无锁有事务时的竞争攻击 防御 A.悲观锁加事务防御 B.乐观锁加事务防御 总结 漏洞原因 Race Condition 发生在多个执行实体&#xff08;如线程、进程&#xff09;同时访问共享资源时&#xff0c;由于执行顺序…...

python从入门到精通(二十三):文件操作和目录管理难度分级练习题

文件操作和目录管理 文件操作基础难度1. 简单文件写入2. 简单文件读取3. 追加内容到文件 中级难度4. 逐行读取文件并统计行数5. 读取文件并提取特定信息6. 复制文件内容到新文件 高级难度7. 处理二进制文件8. 批量文件处理9. 日志文件分析 参考答案示例1. 简单文件写入2. 简单文…...

揭开AI-OPS 的神秘面纱 第二讲-技术架构与选型分析 -- 数据采集层技术架构与组件选型分析

基于上一讲预设的架构图&#xff0c;深入讨论各个组件所涉及的技术架构、原理以及选型策略。我将逐层、逐组件地展开分析&#xff0c;并侧重于使用数据指标进行技术选型的对比。 我们从 数据采集层 开始&#xff0c;进行最细粒度的组件分析和技术选型比对。 数据采集层技术架构…...

jupyter配置多个核心

CMD输入 先创建虚拟环境 "D:\Program Files\Python37\python.exe" -m venv myenv激活虚拟环境 myenv\Scripts\activate"D:\Program Files\Python37\python.exe" -m pip install ipykernel "D:\Program Files\Python37\python.exe" -m ipykern…...

如何优化FFmpeg拉流性能及避坑指南

FFmpeg作为流媒体处理的核心工具&#xff0c;其拉流性能直接影响直播/点播体验。本文从协议优化、硬件加速、网络策略三大维度切入&#xff0c;结合实战案例与高频踩坑点&#xff0c;助你突破性能瓶颈&#xff01; 一、性能优化进阶&#xff1a;从协议到硬件的全链路调优 协议选…...

机器学习:线性回归,梯度下降,多元线性回归

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归&#xff08;Multiple Linear Regression&#xff09;...

笔记五:C语言编译链接

Faye&#xff1a;孤独让我们与我们所爱的人相处的每个瞬间都无比珍贵&#xff0c;让我们的回忆价值千金。它还驱使你去寻找那些你在我身边找不到的东西。 ---------《寻找天堂》 目录 一、编译和链接的介绍 1.1 程序的翻译环境和执行环境 1.1.1 翻译环境 1.1.2 运行环境 …...

SpringUI:打造高质量Web交互设计的首选元件库

SpringUI作为一个专为Web设计与开发领域打造的高质量交互元件库&#xff0c;确实为设计师和开发者提供了极大的便利。以下是对SpringUI及其提供的各类元件的详细解读和一些建议&#xff1a; SpringUI概述 SpringUI集合了一系列预制的、高质量的交互组件&#xff0c;旨在帮助设…...

LeetCode - 神经网络的 反向传播(Sigmoid + MSE) 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/146085177 使用 Python + Numpy,设计带有 Sigmoid 激活函数 的神经网络,实现反向传播以更新神经元的权重和偏置。函数输入:特征向量(Input)、真实标签(Label)、初始…...