2017年认证杯SPSSPRO杯数学建模A题(第一阶段)安全的后视镜全过程文档及程序

2017年认证杯SPSSPRO杯数学建模

A题 安全的后视镜

原题再现:

  汽车后视镜的视野对行车安全非常重要。一般来说,汽车的后视镜需要有良好的视野范围,以便驾驶员能够全面地了解车后方的道路情况。同时,后视镜也要使图像的畸变尽可能小,以使驾驶员能够准确地判断距离。如果汽车的后视镜使用平面镜,图像没有畸变,对距离的判断十分准确。但是当镜面大小受限时,视野相对较小。如果使用凸面镜,可以以较小的镜面获得更加宽广的视野,但是图像存在畸变,很难准确判断镜中物体与自己的距离。有的镜面是由平面镜和凸面镜拼合在一起组成,意图兼顾两者的优点。但事实上,驾驶员在观察后视镜时,两者很难同时看清。较受欢迎的做法是构造一个变曲率的后视镜,使后视镜可以兼顾两者的优点,也降低了观察和距离判断上的难度。目前市场上有售不同设计的变曲率后视镜。最常见的是一种双曲率后视镜,内侧接近平面镜,外侧则是一个凸面镜,在它们之间进行了平滑的过渡。图 1 是两个例子,为了便于驾驶员对距离进行判断,镜中由虚线或细实线示意了不同曲率的镜面间的分界线。它们的具体设计有所区别,性能也会有所不同。
  第一阶段问题: 对典型的小型家用轿车而言,共有三面后视镜,左右车门的外侧各装一面外后视镜,车内正中还有一面内后视镜。假设两面外后视镜都设计成如图 1 所示的双曲率后视镜,请你建立相应的数学模型,对外后视镜给出优化的设计方案,包括镜面的曲面外形以及分界示意线的位置。并以一种现有的轿车为例 (可自选),给出具体的计算结果,镜面的边缘轮廓可以沿用现有的设计。由于我们只做理论上的研究,所以在设计时暂不需要考虑和遵循相应的国家标准。
在这里插入图片描述

整体求解过程概述(摘要)

  汽车在换道、超车、转弯、掉头、倒车入库行驶时,汽车后视镜使驾驶者可以间接看清汽车后方、侧方和下方位置的环境状况,起到了“第二只眼睛”的作用。当前汽车的外后视镜多选择双曲率后视镜,内侧接近平面镜,外侧则是一个凸面镜,既扩大视野又减小畸变。镜面设计时需要考虑平面镜与凸面镜的分配比例及凸面镜的曲率大小,并保证平面镜与凸面镜的平滑过渡。针对双曲率外后视镜设计的多目标优化问题,本文进行了下列工作:
  一:建立视野及畸变率量化指标。本文采用视野面积表征视野大小,采用畸变率表征镜像失真程度。首先建立了车体坐标系、镜面坐标系,通过设定人眼、外后视镜及测试屏幕在车体系下的位置,利用后视镜曲面光学原理,求出 40X10镜面光点对应测试屏幕光点坐标,通过连接测试屏幕散乱点,计算无重复三角形面积和,考虑车身遮挡及左右眼点的交集面积表示为视野面积;分别计算测试屏幕光点在不同方向、不同眼点的畸变率,再求取其平均值作为表征畸变程度的物理量,建立畸变率模型。
  二:建立并分析多种双曲率镜面模型。在保证平滑过渡的基础上,对内侧镜面与外侧镜面曲面形式,尝试多类组合方式,建立相应镜面模型。通过计算不同镜面模型视野、畸变率的大小,定量分析了视场角及畸变率的影响因素。
  三:利用第二步得出的结论,建立镜面模型。本文选用球面作为内侧镜面的曲面,选用圆环作为外侧镜面的曲面,球面与圆环外表面完全相切,保证平滑过渡。建立多目标采用拟牛顿法作为非线性方程求解算法,结合模拟退火算法优化,得出最佳的球面与圆环面的结合位置及球面与圆环面的曲率,在保证视野畸变率的前提下,视野面积增加了 15.8%。
  此外,使用 CATIA 三维实体软件,对优化出的镜面进行验证。分析视野在路面的投影区域,验证了本文设计的镜面满足法规的要求,并且视场足够大。本文在建模过程也考虑一些其他因素,如驾驶员高度,安全性等因素对镜面设计的影响,但本文所建立的镜面模型为双曲率镜面,没有分析变曲率镜面的设计因素。考虑左右外后视镜没有耦合问题,且建模原理一致,所以本文仅对左后视镜镜面建模并优化分析。

问题分析:

  左后视镜内侧主要用于观察离车身较近的物体的信息(如图 ),驾驶员需通过该区域的图像信息进行距离的准确判断,因此内侧模型主要考虑图像畸变率。左后视镜外侧主要用于观察离车身较远的物体的信息,这部分信息主要是起到辅助观察的左右,对于该部分的图像可以适当放大失真率,以换求更加广泛的视野范围。因此外侧模型主要考虑在人体可接受的图像畸变率范围内(通常定为 7%),通过改变镜面曲率,尽量增加视野范围。

在这里插入图片描述
  由于内外侧选择不同的曲面模型,那么必然存在曲面模型衔接的问题,为了防止整个镜面的曲率突变,应该保证内外侧模型在结合处进行平滑过渡。针对上述镜面内外侧模型的功能不同,建模时需要对注意以下几点:
  1. 内外侧模型分别选取合适的曲面模型进行建模。
  2. 基于对题意的理解,保证曲面之间进行平滑过渡,本文理解为内外侧模型应该保证相切。
  3. 内外侧模型曲面类型确定之后,应针对该问题的特点,选择合适的优化算法进行模型参数优化。
  4. 对优化的结果进行仿真验证。

模型假设:

  本次建模假设如下:
  1. 人眼高度及左右位置固定,两眼距离固定,且两眼连线垂直于车身纵向平面。
  2. 后视镜的外壳与车身固定,
  3. 不考虑右侧后视镜、车内后视镜对左侧后视镜视野的影响。
  4. 不考虑反射率的问题,认为反射率为 100%。
  5. 镜面垂直垂直于水平地面。
  6. 镜面与镜壳夹角固定,本文设置镜面与镜壳平行。
  7. 后视镜外壳不影响人眼的视线。
  8. 假设镜面边缘为矩形。其他未尽假设在建模时说明。

论文缩略图:

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

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

clc;close all;clear;
%眼点尺寸计算
Peye_v=[-0.7 -0.4 0.25]';%眼点在车体坐标系中的位置
%x 为车头方向,y 为车左侧为正,z 为上为正
leyes=0.065;%双眼点之间的距离
Peyel_v=Peye_v+[0 0.0325 0]';
Peyer_v=Peye_v+[0 -0.0325 0]';
%镜面局部坐标系:垂直镜面向前为 x,沿镜面向后为 y 正
l_mr=0.2;
h_mr=0.1;
%镜子相对车体的安装 角度
afa=60*pi/180;
%镜子离车体的距离 ,延长线方向
dmr=0.08;
%车体坐标原点在镜面坐标系下的坐标
Pmv=[0 -l_mr/2-dmr -h_mr/2]';
%左镜面坐标系原点在车体系下的坐标
Pvm=[-(l_mr/2+dmr)*cos(afa) (l_mr/2+dmr)*sin(afa) h_mr/2]';
%右镜面坐标系原点在车体系下的坐标
Pvm_R=[-(l_mr/2+dmr)*cos(afa) -(l_mr/2+dmr)*sin(afa)-1.8 h_mr/2]';
%从右镜面坐标系到车体坐标系的转换矩阵
AvmR=[cos(pi/2-afa) cos(afa) 0;cos(pi/2+afa) cos(pi/2-afa) 0;0 0 1];
%从车体坐标系到镜面坐标系的转换矩阵
Amv=[cos(pi/2-afa) cos(afa) 0;cos(pi-afa) cos(pi/2-afa) 0;0 0 1];
%从镜面坐标系到车体坐标系的转换矩阵
Avm=Amv';
%车体轮廓,车体坐标下
Pcar_v=[
1 -2.8 -2.8 1 1;
0 0 -1.8 -1.8 0;
0 0 0 0 0
];
%左侧车尾点
Pcarbk=Pcar_v(:,2);
%车体轮廓在镜面坐标下
Pcar_m=Amv*Pcar_v;
Pcar_m(1,:)=Pcar_m(1,:)+Pmv(1);
Pcar_m(2,:)=Pcar_m(2,:)+Pmv(2);
Pcar_m(3,:)=Pcar_m(3,:)+Pmv(3);
%后视镜轮廓坐标 镜面坐标下 %左上 左下 右下 右上 左上
Pmr_m=[0 0 0 0 0;l_mr/2 l_mr/2 -l_mr/2 -l_mr/2 l_mr/2;h_mr/2 -h_mr/2 -h_mr/2 h_mr/2 h_mr/2];
%右后视镜轮廓坐标 镜面坐标下 %左上 左下 右下 右上 左上
Pmr_m_R=[0 0 0 0 0;l_mr/2 l_mr/2 -l_mr/2 -l_mr/2 l_mr/2;h_mr/2 -h_mr/2 -h_mr/2 h_mr/2 h_mr/2];
%左后视镜在车体系下坐标 左上 左下 右下 右上 左上
Pmr_v=[-(dmr+l_mr)*cos(afa) (l_mr+dmr)*sin(afa) h_mr;-(dmr+l_mr)*cos(afa) (l_mr+dmr)*sin(afa) 0;-dmr*cos(afa) dmr*sin(afa) 0;-dmr*cos(afa) dmr*sin(afa) h_mr;-(dmr+l_mr)*cos(afa) (l_mr+dmr)*sin(afa) h_mr]';
%使用方向余弦矩阵处理
Pmr_v=Avm*Pmr_m;
Pmr_v(1,:)=Pmr_v(1,:)+Pvm(1);
Pmr_v(2,:)=Pmr_v(2,:)+Pvm(2);
Pmr_v(3,:)=Pmr_v(3,:)+Pvm(3);
%右后视镜轮廓在车体坐标系下
Pmr_R_v=AvmR*Pmr_m_R;
Pmr_R_v(1,:)=Pmr_R_v(1,:)+Pvm_R(1);
Pmr_R_v(2,:)=Pmr_R_v(2,:)+Pvm_R(2);
Pmr_R_v(3,:)=Pmr_R_v(3,:)+Pvm_R(3);
%投影屏幕轮廓 车体坐标下
%投影屏幕大小
ls=12;
hs=4;%
diss=10;
Ps=[-diss ls/2 0;-diss ls/2 -hs;
-diss -ls/2 -hs-diss -ls/2 0;-diss ls/2 0]';
%转换到镜面坐标下
Psm=Amv*Ps;
Psm(1,:)=Psm(1,:)+Pmv(1,1);
Psm(2,:)=Psm(2,:)+Pmv(2,1);
Psm(3,:)=Psm(3,:)+Pmv(3,1);
%屏幕平面 方程 x=-10
%眼点在镜面坐标系下的坐标值
Peye_m=Amv*Peye_v+Pmv;
Peyel_m=Amv*Peyel_v+Pmv;
Peyer_m=Amv*Peyer_v+Pmv;
%后视镜上的离散点坐标
num_l=40;
num_h=10;
PmEdge=zeros(3,num_l*num_h);
R=1.5;%0.4;%半径
%球心坐标
r=0.7;%环半径
Psphere=[R 0 0]';
%求法向量矩阵
Fm=zeros(3,num_l*num_h);
%反射点到车尾的向量
b2bk=zeros(3,num_l*num_h);
for i=1:num_lfor j=1:num_hPmEdge(2,j+(i-1)*num_h) =-l_mr/2+ l_mr/(num_l-1)*(i-1);PmEdge(3,j+(i-1)*num_h) =h_mr/2- h_mr/(num_h-1)*(j-1);if PmEdge(2,j+(i-1)*num_h)<=0%spherePmEdge(1,j+(i-1)*num_h) 
=-sqrt(R^2-PmEdge(2,j+(i-1)*num_h)^2-PmEdge(3,j+(i-1)*num_h)^2)+R;Fm(:,j+(i-1)*num_h)=[PmEdge(1,j+(i-1)*num_h)-Psphere(1) ...PmEdge(2,j+(i-1)*num_h)-Psphere(2) 
PmEdge(3,j+(i-1)*num_h)-Psphere(3)]/R; elsePmEdge(1,j+(i-1)*num_h)=R-sqrt((R-r+sqrt(r^2-PmEdge(2,j+(i-1)*num_h)^2 ))^2-PmEdge(3,j
+(i-1)*num_h)^2);
Fm(:,j+(i-1)*num_h)=[2*(sqrt((PmEdge(1,j+(i-1)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)-R+r)*((PmEdge(1,j+(i-1
)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)^-0.5*(PmEdge(1,j+(i-1)*num_h)-R); 2*PmEdge(2,j+(i-1)*num_h)2*(sqrt((PmEdge(1,j+(i-1)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)-R+r)*((PmEdge(1,j+(i-1
)*num_h)-R)^2+PmEdge(3,j+(i-1)*num_h)^2)^-0.5*PmEdge(3,j+(i-1)*num_h)];Fm(:,j+(i-1)*num_h)=Fm(:,j+(i-1)*num_h)/sqrt(Fm(1,j+(i-1)*num_h)^2+Fm(2,j+(i-1)*num_h)
^2+Fm(3,j+(i-1)*num_h)^2);endend 
end
%画镜面在镜面坐标下的形状
subplot(3,4,4);hold on;grid on;
%镜面轮廓
plot3(Pmr_m(1,:),Pmr_m(2,:),Pmr_m(3,:));
for i=1:num_l*num_hplot3(PmEdge(1,i),PmEdge(2,i),PmEdge(3,i),'*g')
end
view([-60, 30])
title('镜面形状')
set(gca,'DataAspectRatio',[0.3 1 1])
%入射光线方向向量 左眼
[m n]=size(PmEdge);
FmRL=zeros(m,n);
FmRR=zeros(m,n);
for i=1:nFmRL(:,i)=PmEdge(:,i)-Peyel_m;%入射光线方向向量 左眼FmRR(:,i)=PmEdge(:,i)-Peyer_m;%入射光线方向向量 右眼
end
%入射光线单位方向向量
for i=1:n
d=sqrt(FmRL(1,i)^2+FmRL(2,i)^2+FmRL(3,i)^2);
FmRL(:,i)=FmRL(:,i)/d;
d=sqrt(FmRR(1,i)^2+FmRR(2,i)^2+FmRR(3,i)^2);
FmRR(:,i)=FmRR(:,i)/d;
end
%反射向量
b_left=zeros(m,n);
b_right=zeros(m,n);
for i=1:n
b_left(:,i)=FmRL(:,i)-2*(Fm(:,i)'*FmRL(:,i))*Fm(:,i);
b_right(:,i)=FmRR(:,i)-2*(Fm(:,i)'*FmRR(:,i))*Fm(:,i);
end
%转到车体系
b_v_left=Avm*b_left;
b_v_right=Avm*b_right;
%反射点到车尾的向量
b2bk=zeros(3,num_l*num_h);
%车体系下镜边缘点的位置
P_v_mEedge=zeros(m,n);
for i=1:nP_v_mEedge(:,i)=Avm*(PmEdge(:,i)+Pvm);b2bk(:,i)=Pcarbk- P_v_mEedge(:,i);%镜上点到车尾的向量b2bk(:,i)=b2bk(:,i)/sqrt(b2bk(1,i)^2+b2bk(2,i)^2+b2bk(3,i)^2); 
end
%屏幕边缘坐标转到车体系下
% PmEdgeV=Avm*P_v_mEedge;
%求车体系下的交点 %屏幕交点在车体系下的
Psv_L=-diss*ones(m,n);
Psv_R=-diss*ones(m,n);
for i=1:nKK=(-diss-P_v_mEedge(1,i))/b_left(1,i);
Psv_L(2,i)=KK*b_left(2,i)+P_v_mEedge(2,i);
Psv_L(3,i)=KK*b_left(3,i)+P_v_mEedge(3,i);KK=(-diss-P_v_mEedge(1,i))/b_right(1,i);Psv_R(2,i)=KK*b_right(2,i)+P_v_mEedge(2,i);Psv_R(3,i)=KK*b_right(3,i)+P_v_mEedge(3,i);
end
Psm_L=Amv*Psv_L;
Psm_R=Amv*Psv_R;
%车体系下绘图
subplot(1,4,[1 3]);hold on;grid on;
title('屏幕投影')
%eye 
plot3(Peye_v(1,1),Peye_v(2,1),Peye_v(3,1),'*')
plot3(Peyel_v(1,1),Peyel_v(2,1),Peyel_v(3,1),'*')
plot3(Peyer_v(1,1),Peyer_v(2,1),Peyer_v(3,1),'*')
%car
plot3(Pcar_v(1,:),Pcar_v(2,:),Pcar_v(3,:));
%左镜面轮廓
plot3(Pmr_v(1,:),Pmr_v(2,:),Pmr_v(3,:));
%右镜面轮廓
plot3(Pmr_R_v(1,:),Pmr_R_v(2,:),Pmr_R_v(3,:));
%幕轮廓
plot3(Ps(1,:),Ps(2,:),Ps(3,:));
set(gca,'DataAspectRatio',[1 1 1])
xlim([-10 2]);
view([100 25])
for i=1:nif b2bk(2,i)<=b_left(2,i)plot3(Psv_L(1,i),Psv_L(2,i),Psv_L(3,i),'r*');elseplot3(Psv_L(1,i),Psv_L(2,i),Psv_L(3,i),'g.'); endif b2bk(2,i)<=b_right(2,i)plot3(Psv_R(1,i),Psv_R(2,i),Psv_R(3,i),'bo');elseplot3(Psv_R(1,i),Psv_R(2,i),Psv_R(3,i),'c.');end
end
dt = DelaunayTri(Psv_L(2,:)',Psv_L(3,:)');
k = convexHull(dt);
abs(trapz(dt.X(k,1),dt.X(k,2)))
dt = DelaunayTri(Psv_R(2,:)',Psv_R(3,:)');
k = convexHull(dt);
abs(trapz(dt.X(k,1),dt.X(k,2)))
distortioncalc;
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产品牌GC6609与TM2209的参数分析,为什么适用于3D打印机,医疗器械等产品中

步进电机驱动的应用方案目前市场上大多选用国外品牌的电机驱动器&#xff0c;其中trinamic的TMC2208/2209在这一块的应用很广泛。但是由于市场越来越应激。&#xff0c;当前对于产品开发成本要求也越来越低&#xff0c;国产品地准出了相应的TMC2208/2209&#xff0c;因此trinam…

Vue3+ElementUI 多选框中复选框和名字点击方法效果分离

现在的需求为 比如我点击了Option A &#xff0c;触发点击Option A的方法&#xff0c;并且复选框不会取消勾选&#xff0c;分离的方法。 <el-checkbox-group v-model"mapWork.model_checkArray.value"> <div class"naipTypeDom" v-for"item …

国家急救日倡议活动暨120急救大课堂公益培训在京成功举办

2024年1月20日&#xff0c;由国家卫生健康委员会等多个相关部门指导&#xff0c;中国医院协会急救中心&#xff08;站&#xff09;分会主办&#xff0c;北京急救中心承办的“国家急救日”倡议活动暨急救科普大课堂公益培训系列活动&#xff0c;在全国范围内启动。 健康中国行动…

王晶感慨62岁刘德华的一日三餐,简直不是人过的日子

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 你是否曾对那些身材保持得如此之好的人感到过羡慕&#xff1f…

使用vue-pdf插件加载pdf

安装&#xff1a; // 安装这个版本&#xff0c;其它版本会有千奇百怪的错&#xff0c;这个版本和4.0.0都是可以的 cnpm install vue-pdf4.2.0// 安装pdfjs-dist cnpm install pdfjs-dist2.5.207 使用&#xff1a; // 我的css样式是pxToRem&#xff0c;友友们使用可能样式会有…

HCIP之BGP联邦实验

华子目录 实验拓扑及要求规划网段和IP地址实验步骤配置IP地址先让IGP通建BGP邻居修改ospf下环回接口网络类型修改联邦之间的最大跳数每台运行BGP的路由器批量宣告路由修改本地下一跳测试 实验拓扑及要求 规划网段和IP地址 实验步骤 配置IP地址 r1配置&#xff0c;依次类推 […

什么叫单位矩阵?

单位矩阵&#xff08;Identity Matrix&#xff09;是一个特殊的方阵&#xff0c;其主对角线上的元素全为1&#xff0c;而其他元素全为0。单位矩阵通常用符号 I 或 E 表示。 一个nn 的单位矩阵的表示形式如下&#xff1a; 其中&#xff0c;主对角线上的元素全为1&#xff0c;…

C/Cxx-面向对象中Message的概念

在Programming Abstractions in C pp.129遇到了面向对象中messages这个概念&#xff1a; “In the object-oriented world, objects communicate by sending information and requests from one object to another. Collectively, these transmissions are called messages. Th…

Unity New Input System 及其系统结构和源码浅析【Unity学习笔记·第十二】

转载请注明出处&#xff1a;&#x1f517;https://blog.csdn.net/weixin_44013533/article/details/132534422 作者&#xff1a;CSDN|Ringleader| 主要参考&#xff1a; 官方文档&#xff1a;Unity官方Input System手册与API官方测试用例&#xff1a;Unity-Technologies/InputS…

「优选算法刷题」:在排序数组中查找元素的第一个和最后个位置

一、题目 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&a…

springcloud alibaba sentinel熔断降级

简介 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点&#xff0c;从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 sentinel相当于hystrix的升级版&#xff0c;加入了web界面&#xff0c;能够实时在线的改变流…

小微企业科技创新之策略:人才、投入、模式、技术、支持四管齐下

对于小微企业来说&#xff0c;搞科技创新需要从多个方面入手。以下是一些可供参考的方法&#xff1a; 明确创新方向&#xff1a;首先&#xff0c;企业需要明确自己的创新方向和目标&#xff0c;这有助于聚焦资源&#xff0c;避免盲目投入。同时&#xff0c;企业需要对市场进行…

【2024开年必备】最全面的Macbook/苹果电脑必备实用软件推荐

刚刚入手Macbook/苹果电脑需要安装哪些软件呢&#xff1f;越来越多的人使用 Mac&#xff0c;各种功能、各式各样的 Mac 软件也是五花八门。刚拿到 Mac 的小伙伴们可能会有点迷茫&#xff0c;今天就帮大家分类整理一些装机必备好用的 App&#xff0c;希望可以帮助到大家&#xf…

leetcode:最接近的三数之和---(双指针,排序,数组)

题目&#xff1a; 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;nums [-1…

SpringBoot - SpringBoot手写模拟SpringBoot启动过程

依赖 建一个工程&#xff0c;两个Module: 1. springboot模块&#xff0c;表示springboot框架的源码实现 2. user包&#xff0c;表示用户业务系统&#xff0c;用来写业务代码来测试我们所模拟出来的SpringBoot 首先&#xff0c;SpringBoot是基于的Spring&#xff0c;所以我…

2024最新版Python 3.12.1安装使用指南

2024最新版Python 3.12.1安装使用指南 Installation and Configuration Guide to the latest version Python 3.12.1 in 2024 By Jackson Python编程语言&#xff0c;已经成为全球最受欢迎的编程语言之一&#xff1b;它简单易学易用&#xff0c;以标准库和功能强大且广泛外挂…

使用WAF防御网络上的隐蔽威胁之目录穿越

目录穿越&#xff08;Directory Traversal&#xff09;是一种网络安全攻击手段&#xff0c;也被称为路径穿越。 这种攻击允许攻击者访问存储在Web服务器文件系统上的文件和目录&#xff0c;这些文件和目录原本不应该对用户可见或可访问。 通过利用安全漏洞&#xff0c;攻击者…

Web开发3:数据库使用

欢迎来到Web开发系列的第三篇&#xff01;今天我们将探讨如何在Web开发中使用数据库。数据库是存储和管理数据的重要工具&#xff0c;它在现代应用程序中起着至关重要的作用。无论是社交媒体应用、电子商务平台还是博客网站&#xff0c;数据库都是不可或缺的一部分。 什么是数…

数据库(表的基本操作)

目录 1.1 表的基本操作 1.1.1 创建表 1.1.2 表物理存储结构 1.1.3 数据类型 文本类型&#xff1a; 数字类型&#xff1a; 时间/日期类型&#xff1a; 常用的数据类型&#xff1a; 1.1.4 查看表 SHOW 命令 查看表结构&#xff1a; 1.1.5 删除表 查看表结构&#xf…

[网络编程]UDP协议,基于UDP协议的回显服务器

目录 1.UDP协议介绍 2.UDP协议在Java中的类 2.1DatagramSocket类 2.2DatagramPacket 3.回显服务器 3.1Sever端 3.2Client端 1.UDP协议介绍 UDP协议是一种网络协议&#xff0c;它是无连接的&#xff0c;全双工&#xff0c;并且是面向数据报&#xff0c;不可靠的一种协议…