Linux WEB服务器的部署及优化
1.用户常用关于web的信息
1.1.什么是www
www是world wide web的缩写,及万维网,也就是全球信息广播的意思。
通常说的上网就是使用www来查询用户所需要的信息。
www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet传递到世界各 处去。
当你连接www网站,该网站会提供一些数据,客户端要使用可以解析这些数据的软件来处理,那就是浏览器。
1.2.网址
URI:Uniform Resource Identifier统一资源标识,分为URL和URN。
URN:Uniform Resource Naming,统一资源命名,P2P下载使用的磁力链接是URN的一种实现。
URL:Uniform Resorce Locator,统一资源定位符用于描述某服务器某特定资源位置
两者区别:URL提供查找该事物的方法;URN仅用于命名,而不指定地址。
1.3.URL组成
URL组成机
<scheme>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag>
2.HTTP简介
2.1.什么是http HTTP协议:
全称为Hyper Text Transfer Protocol(超文本传输协议) 简单来说http就是从服务器传输超文本(html)到本地浏览器的传输协议 HTTP协议工作于B/S架构上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务端发送请 求(Request)Web服务端根据接收到的请求数据后,向客户端发送响应信息(Response)。
https://developer.mozilla.org/zh-CN/docsWeb/
2.2.http工作机制
2.2.1.web中常用的语言介绍
html语言 超文本标记语言
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>HTML语言</title>
</head>
<body>
<h1 style="color:red">欢迎</h1>
<p><a href=http://www.baidu.com>百度</a>你好</p>
</body>
</html>
css 层叠样式表 表述网站的风格
<html>
<head>
<meta http-equiv=Content-Type content="text/htm1;charset=utf-8">
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
<body>
<h1>这是标题</h1>
<p>红色代表喜庆,该段为红色</p>
<p class="ex">蓝色,宁静而深邃的色彩,承载着丰富的寓意和象征意义。该段落中的文本是蓝色的。</p>
</body>
</html>
css文件
--body {color: #e76666}h1 {color: #65c2b1}p.ex {color: #6e6ea2}
js实现html和css实现不了的功能,比如动画效果
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
</head>
<body>
<h2>我的第一个JavaScript</h2>
<button type="button"
onclick="document.getElementById('demo').innerHTML = Date()">
点击这里来显示日期和时间
</button>
<p id="demo"></p>
</body>
</html>
2.2.2.mine(Multipurpose Internet Mail Extensions)多用途因特网邮件扩展
它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处 理
为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据 类型。
其主要功能是让服务器将它们发送的多媒体数据的类型告诉浏览器
服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件
MIME类型存在于HTTP响应报文的响应头部信息里,它是一种文本标记
MIME格式: type/subtype 文件类型后缀(html txt jpg png... ...)
2.3.http访问请求完整过程
1.建立连接:
TCP的3次握手建立链接,向服务器发送http请求,服务器拒绝或允许
2.接受请求
接受客户端请求报文对某个资源的一次请求过程web响应访问模型
a.单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应
b.多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求
c.复用I/O结构:启动一个进程,同时响应N个连接请求
d.复用的多进程I/O模型:启动M个进程,每个进程响应N个连接请求,同时接收M*N个请求
3.处理请求:
服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选 的主体部分对请求进行处理常用请求Method: GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS
4.访问资源:
服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求 的静态资源,或动态运行后生成的资源
5.构建响应报文:
一旦Web服务器识别除了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中包含有响 应状态码、响应首部,如果生成了响应主体的话,还包括响应主体 响应实体:如果事务处理产生了响应主体,就将内容放在响应报文中回送过去。
响应报文中通常包括:
描述了响应主体MIME类型的Content-Type首部
描述了响应主体长度的Content-Length
实际报文的主体内容:
2)URL重定向:web服务构建的响应并非客户端请求的资源,而是资源另外一个访问路径
3)MIME类型:Web服务器要负责确定响应主体的MIME类型。多种配置服务器的方法可将MIME类型 与资源管理起来
6.发送响应报文:
Web服务器通过连接发送数据时也会面临与接收数据一样的问题。服务器可能有很多条到各个客户端的 连接,有些是空闲的,有些在向服务器发送数据,还有一些在向客户端回送响应数据。服务器要记录连 接的状态,还要特别注意对持久连接的处理。对非持久连接而言,服务器应该在发送了整条报文之后, 关闭自己这一端的连接。对持久连接来说,连接可能仍保持打开状态,在这种情况下,服务器要正确地 计算Content-Length首部,不然客户端就无法知道响应什么时候结束
2.4.http协议报文头部结构
2.4.1.请求报文
请求报文由三部分组成:开始行、首部行、实体主体
开始行:请求方法 url 版本 CRLF
首部行通常用键值表示 空格 实体主题数据,一般在post动作中可以提看到
开始行中的请求方法:
2.4.2.响应报文
响应报文由三部分组成即:开始行、首部行、实体主体
开始行:http版本 状态码 短语 CRLF
首部行通常用键值表示 空格 实体主题数据,即获取内容
2.5.状态代码
状态码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值
常见状态代码、状态描述的说明如下:
3.web服务的配置详解
3.1.web服务的常用种类
Apache Nginx openresty 大厂自研
curl -I 163.com
curl -I baidu.com
3.2.Nginx的安装
开源版本的Nginx官网:nginx
[root@localhost 桌面]# dnf install nginx -y
[root@localhost ~]# systemctl enable --now nginx //开启服务
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
查看端口
[root@localhost 桌面]# netstat -antlupe | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 37696 3402/nginx: master
tcp6 0 0 :::80 :::* LISTEN 0 37697 3402/nginx: master
默认配置文件
[root@localhost 桌面]# cd /etc/nginx
默认发布目录
[root@localhost nginx]# cd /usr/share/nginx/html/
修改默认发布目录
[root@localhost nginx]# mkdir /nginx/virtual/aaa.org/{news,bbs}/html -p
[root@localhost nginx]# echo bbs.aaa.org > /nginx/virtual/aaa.org/bbs/html/index.html
[root@localhost nginx]# echo news.aaa.org >/nginx/virtual/aaa.org/news/html/index.html
[root@localhost nginx]# vim nginx.conf
root /nginx/html;
index aaa.html; //默认发布文件
3.4nginx配置文件内容详解
nginx全局配置
user nginx; #nginx程序运行用户
worker_processes auto; #开启work进程数量
error_log /var/log/nginx/error.log notice; #错误日志
pid /var/run/nginx.pid; #pid文件
events {worker_connections 1024; #可接受最大连接数
}
http模块配置
http {include /etc/nginx/mime.types; #可解析的静态资源类型default_type application/octet-stream; #用来配置Nginx响应前端请求默认的MIME类
型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 /var/log/nginx/access.log main; #访问日志sendfile on; # Nginx服务器是否使用sendfile()传输文件#tcp_nopush on; # 当包累计到一定大小后就发送,默认0.2s一次keepalive_timeout 65; # 长连接超时时间子配置文件#gzip on; #可以使网站的css、js 、xml、html 等静态资源在传输时
进行压缩include /etc/nginx/conf.d/*.conf; #指定子配置文件
}
子配置文件
/etc/nginx/conf.d/default.conf
server {listen 80; #监听端口server_name localhost; #服务器的名字location / {root /usr/share/nginx/html; #默认发布目录index index.html index.htm; #默认发布文件}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html; #访问出错呈现错误页面location = /50x.html {root /usr/share/nginx/html;
}
}
3.5.Nginx配置
3.5.1基于IP的虚拟主机
[root@localhost 桌面]# mkdir /nginx/virtual/aaa.org/{news,bbs}/html -p
[root@localhost 桌面]# ls -ld /nginx/virtual/aaa.org/{news,bbs}/html
drwxr-xr-x 2 root root 6 12月 10 16:13 /nginx/virtual/aaa.org/bbs/html
drwxr-xr-x 2 root root 6 12月 10 16:13 /nginx/virtual/aaa.org/news/html
[root@localhost 桌面]# echo bbs.aaa.org > /nginx/virtual/aaa.org/bbs/html/index.html
[root@localhost 桌面]# echo news.aaa.org > /nginx/virtual/aaa.org/news/html/index.html[root@localhost 桌面]# ip a a 172.25.254.101/24 dev ens160
[root@localhost 桌面]# ip a a 172.25.254.102/24 dev ens160[root@localhost conf.d]# vim vhosts.conf
[root@localhost conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost conf.d]# nginx -s reload
[root@localhost conf.d]# cat vhosts.conf
server{listen 172.25.254.101:80;root /nginx/virtual/aaa.org/bbs/html;index index.html;
}
server {listen 172.25.254.102:80;root /nginx/virtual/aaa.org/news/html;index index.html;
}
[root@localhost conf.d]# curl news.aaa.org
news.aaa.org
[root@localhost conf.d]# curl bbs.aaa.org
news.aaa.org
3.5.2基于域名的虚拟主机
[root@localhost conf.d]# vim vhosts.conf
[root@localhost conf.d]# cat vhosts.conf
server{listen 80;server_name bbs.aaa.org;root /nginx/virtual/aaa.org/bbs/html;index index.html;
}
server {listen 80;server_name news.aaa.org;root /nginx/virtual/aaa.org/news/html;index index.html;
}
[root@localhost conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost conf.d]# nginx -s reload
Linux中做域名解析
[root@localhost conf.d]# vim /etc/hosts
[root@localhost conf.d]# curl www.aaa.org
aaa
[root@localhost conf.d]# curl www.bbs.org
^[[A^C
[root@localhost conf.d]# curl bbs.aaa.org
bbs.aaa.org
[root@localhost conf.d]# curl news.aaa.org
news.aaa.org
3.5.3基于认证的访问控制
基于ip的访问控制
root@localhost html]# mkdir admin
[root@localhost html]# echo admin > admin/index.html
[root@localhost html]# curl 172.25.254.100/admin/
admin[root@localhost html]# vim /etc/nginx/nginx.conf
[root@localhost html]# nginx -s reload
[root@localhost html]# curl 172.25.254.100/admin/
admin
基于IP的访问控制
[root@localhost html]# dnf install httpd-tools -y
[root@localhost html]# htpasswd -cm /etc/nginx/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
[root@localhost html]# cat /etc/nginx/.htpasswd
admin:$apr1$wq41crUZ$hLYd97P6s4ceABx4XWZpD.[root@localhost html]# vim /etc/nginx/nginx.conf
[root@localhost html]# nginx -s reload
[root@localhost html]# curl 172.25.254.100/admin/ -uadmin:aaa
aaa
3.6.web服务器的数据加密(https)
3 3.6.1.https简介
- HTTP协议以明文方式发送内容,不提供任何方式的数据加密,
- HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等
- 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。
- HTTPS全称:Hyper Text Transfer Protocol over Secure Socket Layer ),是以安全为目标的HTTP通道
- HTTPS并不是一个新协议,而是HTTP+SSL(TLS)
- 原本HTTP先和TCP直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间。
3.6.2.https握手流程
3.6.3.部署https
1.生成密钥
[root@localhost html]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/nginx/certs/aaa.org.key -x509 -days 365 -out /etc/nginx/certs/aaa.org.crt
[root@localhost 桌面]# mkdir /nginx/virtual/aaa.org/login/html -p
[root@localhost 桌面]# echo login.aaa.org > /nginx/virtual/aaa.org/login/html/index.html[root@localhost html]# cd /etc/nginx/certs/
[root@localhost certs]# ls
aaa.org.crt aaa.org.key
[root@localhost certs]# openssl x509 -in aaa.org.crt -text -noout
[root@localhost certs]# cd /etc/nginx/conf.d/
[root@localhost conf.d]# vim https.confserver {listen 443;server_name login.aaa.org;root /nginx/virtual/aaa.org/login/html/;index index.htmlssl_certificate "/etc/nginx/certs/aaa.org.crt";ssl_certificate_key "/etc/nginx/certs/aaa.org.key";ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers HIGH:!aNULL:!MD5;
}
~
3.7搭建动态网站
动态网站指网站内容可根据不同情况动态变更的网站,一般情况下动态网站通过数据库进行架构。
动态网站除了要设计网页外,还要通过数据库和编程序来使网站具有更多自动的和高级的功能。
动态网页:使用网页脚本语言,比如php、JSP等,通过脚本将网站内容动态存储到数据库,用户访 问网站是通过读取数据库来动态生成网页的方法
配置web服务器对php站点的支持
[root@localhost ~]# mkdir -p /nginx/html/index.php
[root@localhost html]# cat index.php
<?phpphpinfo();
?>
2.配置web服务器对php页面的发布
location ~ \.php$ {fastcgi_pass php-fpm; # 对应前面在 php-fpm.conf 中定义的 upstream 名称fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /nginx/html/$fastcgi_script_name;include fastcgi_params;}
相关文章:

Linux WEB服务器的部署及优化
1.用户常用关于web的信息 1.1.什么是www www是world wide web的缩写,及万维网,也就是全球信息广播的意思。 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以Internet…...

人工智能大模型LLM开源资源汇总(持续更新)
说明 目前是大范围整理阶段,所以存在大量机翻说明,后续会逐渐补充和完善资料,减少机翻并增加说明。 Github上的汇总资源(大部分英文) awesome-production-machine-learning 此存储库包含一系列精选的优秀开源库&am…...

目标跟踪算法:SORT、卡尔曼滤波、匈牙利算法
目录 1 目标检测 2 卡尔曼滤波 3《从放弃到精通!卡尔曼滤波从理论到实践》视频简单学习笔记 3.1 入门 3.2 进阶 3.2.1 状态空间表达式 3.2.2 高斯分布 3.3 放弃 3.4 精通 4 匈牙利算法 5 《【运筹学】-指派问题(匈牙利算法)》视…...

Java版-图论-拓扑排序与有向无环图
拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…...

GTC2024 回顾 | 优阅达携手 HubSpot 亮相上海,赋能企业数字营销与全球业务增长
从初创企业入门到成长型企业拓展,再到 AI 驱动智能化运营,HubSpot 为企业的每步成长提供了全方位支持。 2024 年 11 月下旬,备受瞩目的 GTC2024 全球流量大会(上海)成功举办。本次大会汇聚了全国内多家跨境出海领域企业…...

eclipse启动的时候,之前一切很正常,但突然报Reason: Failed to determine a suitable driver class的解决
1、之前项目都是启动正常的,然后运行以后发现启动不了了,还会报错: 2、这个Reason: Failed to determine a suitable driver class,说是没有合适的驱动class spring:datasource:url: jdbc:sqlserver://192.168.1.101:1433;databa…...
_tkinter.TclError: can‘t find package tkdnd Unable to load tkdnd library.解决办法
Traceback (most recent call last): File “tkinterdnd2\TkinterDnD.py”, line 55, in _require _tkinter.TclError: can’t find package tkdnd During handling of the above exception, another exception occurred: Traceback (most recent call last): File “1.导入总表…...

VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释
《VBA高级应用30例》(版权10178985),是我推出的第十套教程,教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开,这套教程案例与理论结合,紧贴“实战”,并做“战术总结”,以…...
folly库Conv类型转换源码解析
1,普通类型转换 例子1: bool boolV = true;EXPECT_EQ(to<bool>(boolV), true);int intV = 42;EXPECT_EQ(to<int>(intV), 42);float floatV = 4.2f;EXPECT_EQ(to<float>(floatV), 4.2f);double doubleV = 0.42;EXPECT_EQ(to<double>(doubleV), 0.42)…...
UE4 骨骼网格体合并及规范
实现代码 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "SkeletalMeshMerge.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "AceMeshCom…...

Java版企业电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…...
通过源码⼀步⼀步分析 ArrayList 扩容机制
ArrayList 是 Java 中常用的集合类,它底层实现是基于数组的。为了处理元素的动态增加,ArrayList 会在容量不足时进行扩容。以下是通过源码逐步分析 ArrayList 扩容机制的过程。 1. ArrayList 类的基本结构 ArrayList 继承自 AbstractList,实…...
源码分析之Openlayers中默认Controls控件渲染原理
概述 Openlayers 中默认的三类控件是Zoom、Rotate和Attribution 源码分析 defaults方法 Openlayers 默认控件的集成封装在defaults方法中,该方法会返回一个Collection的实例,Collection是一个基于数组封装了一些方法,主要涉及到数组项的添…...
中间件的分类与实践:从消息到缓存
目录 一. 中间件的基本概念 二. 中间件的主要类型 (1)消息中间件(Message-Oriented Middleware, MOM): (2)数据库中间件: (3)Web中间件: &a…...

京东e卡 h5st 4.96
声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…...
《CSS 知识点》滚动条仅在 hover 时才显示(宽度不改变)
很简单! 滚动条的滑动小方块背景色默认透明,仅在hover时设置背景色; 滚动条的轨道背景色默认透明,仅在hover时设置背景色; /*滚动条的滑动小方块*/ ::-webkit-scrollbar-thumb {background: transparent; } /*hover…...

手里有病理切片+单细胞测序的数据,如何开展医工交叉的研究?
小罗碎碎念 这一期推文研究一个问题:病理如何与单细胞结合? 病理与单细胞的结合,时常出现在今年的各大顶刊中。 关于这一领域的研究,其实19年就开始了。我把部分低质量的文献做了剔除,但是也基本能反应这一领域的受关注…...

力矩扭矩传感器介绍
在机械臂(机器人臂)末端使用的力矩扭矩传感器主要用于测量机械臂末端执行器(例如机械手爪、抓取装置等)所受的扭矩和力。这些传感器对机械臂的控制系统至关重要,能够提供精确的力反馈信息,帮助实现更高效、…...

【Appium】AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘
目录 1、报错内容 2、解决方案 (1)检查 (2)报错原因 (3)解决步骤 3、解决结果 1、报错内容 在PyCharm编写好脚本后,模拟器和appium也是连接成功的,但是运行脚本时报错&…...

QT 中 多线程(备查)
基础 一个线程处理窗口事件,其他线程进行逻辑运算 在QT中使用多线程,需要额外注意的: 1)默认的线程在Qt中称之为窗口线程,也叫主线程,负责窗口事件处理或者窗口控件数据的更新 2)子线程负责后台…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...