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

2024华中杯数学建模参考思路+完整代码+后续成品论文预约

(完整版资料获取在文末哦)

关于24年华中杯的更新进度,大家可以参考我们前年比赛。

22年华中杯思路:

大家也可以看这一篇

A题思路

一订单包含多种货品,每种商品有不同的数量,题目没说订单的需求时间,那就考虑怎么最短时间内分拣完

题目介绍中我们可以得知,一个货架放一种货品

下面就是我们要解决的问题

其实大家只要先把背景理解了,就特别简单,我们直接来看第一问怎么编程

第一问将当日订单分为多个批次。要求每个批次的订单所含货品种类数均不超过N=200 ,且批次越少越好(相应转运次数也越少,效率越高)。就是说将附件1中的订单进行打包,这里不是聚类哈,别乱搞,反正一个批次就放200多种货品,这里没讲一个货架能放多少数量,那我们也就无所谓了,我们程序怎么编,首先923个订单,是我,我就直接用randperm函数来一个随机序列再说,然后每个通过返回索引,依次遍历用矩阵保存并通过unique函数去重,直到货品种类不超过200为止作为第一个批次,后面类推,当然,肯定是用优化算法解决,这里就是说我们的每个个体都是randperm函数生成的随机序列,然后目标函数则是通过依次打包订单后的批次次数,直接来程序吧

这是完整第一问程序,用的是遗传算法,种群大小和迭代次数等相关参数自己修改,想用其他算法的可以自己改框架

clear
clc
%% 第一问最优批次
%第一问最终结果在PC矩阵中
%数据准备
[~,~,X]=xlsread('附件1:订单信息.csv');
X=string(X);
X(1,:)=[];
Y=unique(X(:,1));
n=length(Y);
Z=[];
V=[];
for i=1:size(Y)z=X(find(X(:,1)==Y(i)),2);Z{i,1}=z;%记录每个订单下的货品数V(i,1)=sum(double(X(find(X(:,1)==Y(i)),3)));
end
%生成初始个体
N=200;%货架数
num=10;%种群大小
num_gen=10;%最大迭代次数
q1=0.7;%交叉率
q2=0.7;%变异率
chrom=[];
f=[];
for i=1:numchrom(i,:)=randperm(n);%计算目标函数%U=[];UU=[];u=1;for j=1:nUU=[UU;Z{chrom(i,j),1}];UU=unique(UU);if length(UU)<=N %如果小于200,那么就直接记录%U{u,1}=UU;else%如果大于,那么记录于下一批次u=u+1;UU=[];UU=[UU;Z{chrom(i,j),1}];%U{u,1}=UU;endendf(i,1)=u;%记录最大批次,目标函数
end
trace(1)=min(f);
%迭代
for k_gen=1:num_genselchrom=chrom;%选择,寻优维度较高,这里就全部进行交叉遗传selchrom=jiaocha(selchrom,q1,k_gen,num_gen);selchrom=bianyi(selchrom,q2,k_gen,num_gen);ff=[];for i=1:num%计算目标函数%U=[];UU=[];u=1;for j=1:nUU=[UU;Z{selchrom(i,j),1}];UU=unique(UU);if length(UU)<=N%如果小于200,那么就直接记录%U{u,1}=UU;else%如果大于,那么记录于下一批次u=u+1;UU=[];UU=[UU;Z{selchrom(i,j),1}];%U{u,1}=UU;endendff(i,1)=u;%记录最大批次,目标函数end%两代合并排序f=[f;ff];chrom=[chrom;selchrom];[f,b]=sort(f);chrom=chrom(b,:);f=f(1:num,:);chrom=chrom(1:num,:);trace=[trace;min(f)];
end
%迭代图
figure
plot(trace)
xlabel('迭代次数')
ylabel('批次');
%记录最优
[bestf,b]=min(f);
bestchrom=chrom(b,:);
%计算最优方案下每个批次的货品数和货物数
F=[];%第一列是每个批次货品数,第二列是货物数
U=[];%记录每批次具体货品种类
UU=[];
YY=[];
YYY=[];
u=1;
f1=0;
f2=0;
for j=1:nUU=[UU;Z{bestchrom(j),1}];YY=[YY;Y(bestchrom(j),1)];UU=unique(UU);if length(UU)<=N%如果小于200,那么就直接记录U{u,1}=UU;YYY{u,1}=YY;f1=length(UU);f2=f2+V(bestchrom(j),1);F(u,:)=[f1,f2];else%如果大于,那么记录于下一批次u=u+1;f1=0;f2=0;UU=[];YY=[];UU=[UU;Z{bestchrom(j),1}];YY=[YY;Y(bestchrom(j),1)];U{u,1}=UU;YYY{u,1}=YY;f1=length(UU);f2=f2+V(bestchrom(j),1);F(u,:)=[f1,f2];end
end
PC=[];%订单对应批次
for i=1:length(YYY)PC=[PC;YYY{i,1},repmat(string(i),length(YYY{i,1}),1)];
end
function x=jiaocha(x,a,k_gen,num_gen)
%交叉率变化
a = a*exp(-k_gen/num_gen);
for i = 1:size(x,1)if rand < a%选择交叉位点b = randi(size(x,2))-1;x(i,:)=[x(i,b+1:end),x(i,1:b)];end
end
function x=bianyi(x,a,k_gen,num_gen)
%变异率变化
a = a*exp(-k_gen/num_gen);
for i = 1:size(x,1)if rand < a%选择变异位点b1 = randi(size(x,2));b2 = randi(size(x,2));%产生变异(针对序列问题,产生两个变异点进行两两交换)c = x(i,b1);x(i,b1)=x(i,b2);x(i,b2)=c;end
end

第一问结果矩阵说一下最优结果,上面程序运行完后,工作区中bestx矩阵为最优排序,bestf为最少批次,最少批次是九十多次,自己算下

F矩阵是每个批次的种类数和货物总数,U矩阵是每个批次的具体种类

第一问最终结果在PC矩阵中

第二问,在第一问结果基础上,考虑货架编号,第二问程序思路为:遍历每个批次通过模拟退火算法分别寻找最优位置分布,每个颗粒对应一组随机生成位置编号,然后遍历批次中的订单,通过ismember函数匹配并抽取出其货品对应的位置,按题目距离公式计算,目标函数为总距离最小化对位置分布进行寻优,每个批次的位置寻优是单独的

这是完整第一二问程序,用的是遗传算法+模拟退火算法,种群大小和迭代次数、颗粒数和温度等相关参数自己修改,想用其他算法的可以自己改框架

 clear
clc
%% 第一问最优批次
%第一问最终结果在PC矩阵中
%数据准备
[~,~,X]=xlsread('附件1:订单信息.csv');
X=string(X);
X(1,:)=[];
Y=unique(X(:,1));
n=length(Y);
Z=[];
V=[];
for i=1:size(Y)z=X(find(X(:,1)==Y(i)),2);Z{i,1}=z;%记录每个订单下的货品数V(i,1)=sum(double(X(find(X(:,1)==Y(i)),3)));
end
%生成初始个体
N=200;%货架数
num=10;%种群大小
num_gen=10;%最大迭代次数
q1=0.7;%交叉率
q2=0.7;%变异率
chrom=[];
f=[];
for i=1:numchrom(i,:)=randperm(n);%计算目标函数%U=[];UU=[];u=1;for j=1:nUU=[UU;Z{chrom(i,j),1}];UU=unique(UU);if length(UU)<=N %如果小于200,那么就直接记录%U{u,1}=UU;else%如果大于,那么记录于下一批次u=u+1;UU=[];UU=[UU;Z{chrom(i,j),1}];%U{u,1}=UU;endendf(i,1)=u;%记录最大批次,目标函数
end
trace(1)=min(f);
%迭代
for k_gen=1:num_genselchrom=chrom;%选择,寻优维度较高,这里就全部进行交叉遗传selchrom=jiaocha(selchrom,q1,k_gen,num_gen);selchrom=bianyi(selchrom,q2,k_gen,num_gen);ff=[];for i=1:num%计算目标函数%U=[];UU=[];u=1;for j=1:nUU=[UU;Z{selchrom(i,j),1}];UU=unique(UU);if length(UU)<=N%如果小于200,那么就直接记录%U{u,1}=UU;else%如果大于,那么记录于下一批次u=u+1;UU=[];UU=[UU;Z{selchrom(i,j),1}];%U{u,1}=UU;endendff(i,1)=u;%记录最大批次,目标函数end%两代合并排序f=[f;ff];chrom=[chrom;selchrom];[f,b]=sort(f);chrom=chrom(b,:);f=f(1:num,:);chrom=chrom(1:num,:);trace=[trace;min(f)];
end
%迭代图
figure
plot(trace)
xlabel('迭代次数')
ylabel('批次');
%记录最优
[bestf,b]=min(f);
bestchrom=chrom(b,:);
%计算最优方案下每个批次的货品数和货物数
F=[];%第一列是每个批次货品数,第二列是货物数
U=[];%记录每批次具体货品种类
UU=[];
YY=[];
YYY=[];
u=1;
f1=0;
f2=0;
for j=1:nUU=[UU;Z{bestchrom(j),1}];YY=[YY;Y(bestchrom(j),1)];UU=unique(UU);if length(UU)<=N%如果小于200,那么就直接记录U{u,1}=UU;YYY{u,1}=YY;f1=length(UU);f2=f2+V(bestchrom(j),1);F(u,:)=[f1,f2];else%如果大于,那么记录于下一批次u=u+1;f1=0;f2=0;UU=[];YY=[];UU=[UU;Z{bestchrom(j),1}];YY=[YY;Y(bestchrom(j),1)];U{u,1}=UU;YYY{u,1}=YY;f1=length(UU);f2=f2+V(bestchrom(j),1);F(u,:)=[f1,f2];end
end
PC=[];%订单对应批次
for i=1:length(YYY)PC=[PC;YYY{i,1},repmat(string(i),length(YYY{i,1}),1)];
end
%% 第二问就是在第一问结果基础上寻优不同种类货品摆放位置,一个批次的种类有200个货架可以摆放
%第二问遍历每个批次通过模拟退火算法分别寻找最优位置分布
%程序逻辑是随机生成位置编号,然后遍历批次中的订单,通过ismember函数匹配并抽取出其货品对应的位置,按题目距离公式计算
%每个批次的位置寻优是单独的,最后结果保存在P矩阵中,与每个批次的货品种类U矩阵对应
%最终的记过在PP矩阵里
T=100; %初始化温度值
T_min=1; %设置温度下界
alpha=0.99; %温度的下降率
num=10; %颗粒总数
P=[];
for i=1:length(U)a=find(PC(:,2)==string(i));%依次遍历每个批次XX=[];%记录订单及货品种类,后续调用for j=1:length(a)XX{j,1}=PC(j,1);XX{j,2}=X(find(X(:,1)==PC(a(j),1)),2);end%初始颗粒分布x=[];y=[];for j=1:numy1=0;x{j,1}=randperm(N);x{j,1}=x{j,1}(1:length(U{i,1}));for k=1:size(XX,1)%ismember函数可批量匹配自字符串b=find(ismember(U{i,1},XX{k,2})==1);c=x{j,1}(b);y1=y1+max(c)-min(c);%距离endy(j,1)=y1;end[besty,b]=min(y);bestx=x{b,1};%以最小化while(T>T_min)xx=[];yy=[];for j=1:numy1=0;xx{j,1}=randperm(N);xx{j,1}=x{j,1}(1:length(U{i,1}));for k=1:size(XX,1)%ismember函数可批量匹配自字符串b=find(ismember(U{i,1},XX{k,2})==1);c=xx{j,1}(b);y1=y1+max(c)-min(c);%距离endyy(j,1)=y1;%是否更新最优delta=yy(j,1)-y(j,1);if delta<0y(j,1)=yy(j,1);x(j,:)=xx(j,:);elsep=exp(-delta/T);if p>randy(j,1)=yy(j,1);x(j,:)=xx(j,:);endend  endif min(y)<besty[besty,b]=min(y);bestx=x{b,1};endT=T*alpha;endP{i,1}=bestx;
end
PP=[];
for i=1:length(P)PP=[PP;U{i,1},repmat(string(i),length(U{i,1}),1),string(P{i,1}')];
end

第二问结果,最后结果保存在P矩阵中,与每个批次的货品种类U矩阵对应,最终结果见PP矩阵

第三问,在第二问结果基础上,又考虑多个技术工,第三问编程稍微复杂些,入手的话一个一个规则写进去,注意别弄错了。

三个问都是单目标寻优,别想的太复杂

C题思路

C题非常简单,数据不用多说了吧,数据有相应解释,但是要注意题目没有给你们将缺陷的数据是怎样的,需要你们建立模型后通过设置阈值判断,题目也说了五中波形情况

如果不会读取数据就用matlab导入功能

1)文件格式:

1号电压,2号电压,3号电压,4号电压,5号电压,6号电压,方向, 脉冲, 时间戳

1.61, 1.06, 0.97, 0.95, 0.98, 1.47, 1, 1, 102070423

2)电压值一共有六个,对应了六根钢丝绳的数据。一行数据就是一帧数据。第一列表示第一根绳子的电压值,第二列表示第二根绳子的电压值,…,第六列表示第六根绳子的电压值。

3)方向“0”代表下行,方向“1”表示上行。

4)脉冲:其实就是距离,通过距离传感器得到。从1到n递增,每一帧(一行数据代表一帧数据)对应一个脉冲数字,脉冲数每增加1,代表距离增加了0.4米。

可能有多帧数据对应一个脉冲(表示在0.4米内进行了多次测量)。在绘制波形图时,每一帧所对应的距离等于0.4米除以帧数。

5)时间戳主要用来给文件命名,避免重复。这个数据可以忽略。

6)钢丝绳长为960米,断丝的位置可以用帧表示。

7)每一个文件记录一次运行的监测数据,10个文件记录了10次往返运行的监测数据。注意上行和下行的监测数据不是从同一端记录。

第一问,既然题目说了存在噪音,那就小波降噪就可以了,然后进行异常检验,注意这里的异常检验不是说用个LOF算法将所有异常数据带进去检验,而是取片段根据时间戳依次遍历取片段数据来检验,取的数据长度自定,最简单异常检测可以就按题目说的片段数据中的电压值和平均值之差的绝对值与平均值的百分比,设定阈值识别相应的异常点位,注意一个电压对应的是一条钢丝,脉冲1对应的是0.4米。

小波降噪给个案例程序

 %%初始化程序
clear,clc
t1=clock;%% 载入噪声信号数据,数据为.mat格式,并且和程序放置在同一个文件夹下
load('filename.mat');%matrix
YSJ= filename;%% 数据预处理,数据可能是存储在矩阵或者是EXCEL中的二维数据,衔接为一维的,如果数据是一维数据,此步骤也不会影响数据
[c,l]=size(YSJ);
Y=[];
for i=1:cY=[Y,YSJ(i,:)];
end
[c1,l1]=size(Y);
X=[1:l1];%% 绘制噪声信号图像
figure(1);
plot(X,Y);
xlabel('横坐标');
ylabel('纵坐标');
title('原始信号');%% 硬阈值处理
lev=3;
xd=wden(Y,'heursure','h','one',lev,'db4');%硬阈值去噪处理后的信号序列
figure(2)
plot(X,xd)
xlabel('横坐标');
ylabel('纵坐标');
title('硬阈值去噪处理')
set(gcf,'Color',[1 1 1])%% 软阈值处理
lev=3;
xs=wden(Y,'heursure','s','one',lev,'db4');%软阈值去噪处理后的信号序列
figure(3)
plot(X,xs)
xlabel('横坐标');
ylabel('纵坐标');
title('软阈值去噪处理')
set(gcf,'Color',[1 1 1])
%% 固定阈值后的去噪处理
lev=3;
xz=wden(Y,'sqtwolog','s','sln',lev,'db4');%固定阈值去噪处理后的信号序列
figure(4)
plot(X,xz);
xlabel('横坐标');
ylabel('纵坐标');
title('固定阈值后的去噪处理')
set(gcf,'Color',[1 1 1])
%% 计算信噪比SNR
Psig=sum(Y*Y')/l1;
Pnoi1=sum((Y-xd)*(Y-xd)')/l1;
Pnoi2=sum((Y-xs)*(Y-xs)')/l1;
Pnoi3=sum((Y-xz)*(Y-xz)')/l1;
SNR1=10*log10(Psig/Pnoi1);
SNR2=10*log10(Psig/Pnoi2);
SNR3=10*log10(Psig/Pnoi3);
%% 计算均方根误差RMSE
RMSE1=sqrt(Pnoi1);
RMSE2=sqrt(Pnoi2);
RMSE3=sqrt(Pnoi3);
%% 输出结果
disp('-------------三种阈值设定方式的降噪处理结果---------------'); 
disp(['硬阈值去噪处理的SNR=',num2str(SNR1),',RMSE=',num2str(RMSE1)]);
disp(['软阈值去噪处理的SNR=',num2str(SNR2),',RMSE=',num2str(RMSE2)]);
disp(['固定阈值后的去噪处理SNR=',num2str(SNR3),',RMSE=',num2str(RMSE3)]);
t2=clock;
tim=etime(t2,t1);
disp(['------------------运行耗时',num2str(tim),'秒-------------------'])

第二问,需要挖掘出一些指标,然后通过评价算法进行评价,得到的值是相对的,将其作为安全性能的高低,指标可以是信号异常次数、方差等,可以尽可能多挖掘一些指标出来。

B题思路

整个题没有组合投资就比较简单,给的是宏观数据,首先宏观数据都是需要进行预测的,然后选择相关性较高的指标用于预测股票走势,不管是线性回归还是其他算法都可以,数据可以做插值拟合进行补充,以股票时刻为准。插值拟合推荐使用保形样条插值法,在matlab使用filliming函数的pchip参数实现。关于很多人说的指标时间刻度不一样的问题,一种是以股票时刻为准,其他的指标按趋势拆为每5分钟的数据,或者是都按天取平均,不管怎么样,需要统一下时间刻度

K线图怎么画就通过Kplot函数实现,这个肯定论文里需要放一个图的,一般股票的预测都是拿收盘价来预测。

来看看第一问,刚刚说了一般都是拿股票收盘价来预测,那么这里的主要指标,肯定是与收盘价相关性较高的指标,第一问就比较简单,直接通过相关性方法(推荐余弦相似度、方差分析)来做就行,不是主成分哈,那求得是映射基向量,是用来反映数据整体特征的,虽然是主要成分,但是这道题要求是找到与“数字经济”板块有关的重要指标,别用错算法了,后问也提到了成交量,这里在做一个关于成交量的相关性分析,找出相关性较强的指标。

第二问第三问就是分别用主要指标作为输入,成交量和收盘价分别作为输出,带入机器学习算法(推荐神经网络、Xgboost)中训练,最后记得做误差验证。

第四问这里普及下,可以买多也可以买空,买多就是股票涨了,你买入就赚了,买空就是股票降低买入你就赚了,一个是买多一个是买空,别绕进去了,程序中一定要记录好,关于交易多少,这个是需要大家构建一个风控模型的,股票价格就假设收盘价是一笔的价格,后面买入和卖出,都按整数笔交易,虽然题目是有2022年1月4日至2022年1月28 日的数据,你如果参考的话那肯定你的收益很高,要理解题目背景,肯定是你不知道未来的数据,通过预测得到的结果,也就是第三问的结果,然后在这基础上,依次取预测数据片段例如k+1:k+n的n数据分析看是买入还是卖出,买入的话是买多还是买空,同样依次取真实数据片段,如果预期会亏损那么会触发风控机制,会清空股票,当然也可以设定不同阈值,在不同阈值时的清空比例不一样,比如说到风险值0.5了,清空一部分,到风险值0.8了,清空全部,还有就是你把钱花去买了股票了,股票的价值可不是你的现金,卖了后到手里的钱才能用来再次做投资,关于回撤率再说一下,你在1日交易了一笔,在2日交易了一笔,这是分开的,如果1日买的一笔在遇到风险触发风控机制卖出的就算是回撤了,2日买的刚好达到卖出条件卖出了,那么此时的回撤率是50%,如果是触发你的卖出机制,那么就不算回撤,这个要理解。第四问可不是简单的预测买入卖出,肯定需要还原真实股票交易场景,风控、买入、卖出机制都需要构建模型,怎么风控,就取真实片段数据例如k+1:k+n的n数据去进行风险评估,最简单的就是计算方差,怎么买入,预测后面一段时间都是上涨,取预测片段数据如果上升的次数较多,那么可以买入,同样取预测片段数据,如果下降的次数多就卖,这是买多的情况,那么买空也是同样道理,一般股票操作软件中也会设置卖出线,比如说上涨15%自动平仓,下降15%自动平仓。

不建议大家把第四问想的太复杂,可以适当简化,第一个要注意的是风控和卖出是用的真实数据,买入是用的预测数据,第二要注意的是买多和买空要区分好。

点击链接加入群聊【2024华中杯数学建模资料汇总】:

相关文章:

2024华中杯数学建模参考思路+完整代码+后续成品论文预约

&#xff08;完整版资料获取在文末哦&#xff09; 关于24年华中杯的更新进度&#xff0c;大家可以参考我们前年比赛。 22年华中杯思路&#xff1a; 大家也可以看这一篇 A题思路 一订单包含多种货品&#xff0c;每种商品有不同的数量&#xff0c;题目没说订单的需求时间&am…...

ARM_day8:基于iic总线的通信

一、IIC总线的基本概念&#xff1a; iic总线是一种带应答的同步的、串行、半双工的通信方式&#xff0c;支持一个主机对应多个从机。它有一根SCL&#xff08;时钟线&#xff09;和一根SDA&#xff08;数据线&#xff09;组成&#xff0c;由于只有一根数据线&#xff0c;所以它是…...

33、Lua Cocos2d-x使用Luajit实现加密

项目要求对lua脚本进行加密&#xff0c;查了一下相关的资料 &#xff0c;得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密&#xff0c;试了一下&#xff0c;确实可行。下面是使用原生的lua解释器编译字节码&#xff1a; 新建一个名为1.lua的文件&#xff0c;…...

spring 集成 mybatis

spring 集成 mybatis 1、spring对junit的支持1.1、对junit4的支持1.2 对junit5的支持 2、Spring6集成MyBatis3.52.1 实现步骤2.2 实现 1、spring对junit的支持 1.1、对junit4的支持 依赖 <?xml version"1.0" encoding"UTF-8"?> <project xml…...

rtpengine 的端点学习模式

端点学习模式&#xff08;endpoint-learning&#xff09; delayed|immediate|off|heuristic delayed 延迟模式&#xff0c;等待 3 秒钟&#xff0c;然后再提交到端点地址 immediate 立即模式&#xff0c;收到第一个 rtp 包之后立即学习&#xff0c;不等 3 秒 off 关闭模式…...

Windows 安装 A UDP/TCP Assistant 网络调试助手

Windows 安装 A UDP/TCP Assistant 网络调试助手 0. 引言1. 下载地址2. 安装和使用 0. 引言 需要调试一个实时在线聊天程序&#xff0c;安装一个UDP/TCP Assistant 网络调试助手&#xff0c;方便调试。 1. 下载地址 https://github.com/busyluo/NetAssistant/releases 2. 安…...

web自动化系列-selenium的3种等待方式(十一)

在ui自动化测试中&#xff0c;几乎出现问题最多的情况就是定位不到元素 &#xff0c;当你的自动化在运行过程中 &#xff0c;突然发现报错走不下去了 。很大概率就是因为找不到元素 &#xff0c;而找不到元素的一个主要原因就是页面加载慢 &#xff0c;代码运行速度快导致 。 …...

每日OJ题_完全背包④_力扣279. 完全平方数(一维和二维)

目录 力扣279. 完全平方数 问题解析 解析代码 优化代码&#xff08;相同子问题分析和滚动数组&#xff09; 力扣279. 完全平方数 279. 完全平方数 难度 中等 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值…...

web项目中jsp页面不识别el表达式

如果使用el表达式出现下图问题 ** 解决办法 ** 这是因为maven创建项目时&#xff0c;web.xml头部声明默认是2.3&#xff0c;这个默认jsp关闭el表达式 修改web.xml文件开头的web-app的版本 <?xml version"1.0" encoding"UTF-8"?> <web-app x…...

【Python基础】字典

文章目录 [toc]什么是字典键值对示例键异常 遍历列表什么是遍历遍历字典的键keys()方法 遍历字典的值values()方法 遍历字典的键值对items()方法 字典操作增加键值对修改键值对查询键值对get()方法 删除键值对delclear()方法 个人主页&#xff1a;丷从心 系列专栏&#xff1a;…...

2024HW --> 安全产品 Powershell无文件落地攻击

在HW中&#xff0c;除了了解中间件&#xff0c;web漏洞&#xff0c;这些攻击的手法&#xff0c;还得了解应急响应&#xff0c;安全产品&#xff0c;入侵排查&#xff0c;溯源反制...... 那么今天&#xff0c;就来说一下安全产品&#xff08;安全公司我就不说了&#xff0c;这个…...

力扣哈哈哈哈

public class MyStack {int top;Queue<Integer> q1;Queue<Integer> q2;public MyStack() {q1new LinkedList<Integer>();q2new LinkedList<Integer>();}public void push(int x) {q2.offer(x);//offer是入队方法while (!q1.isEmpty()){q2.offer(q1.pol…...

RUM 最佳实践-视觉稳定性的探索与实践

写在前面的话 在当今数字时代&#xff0c;网页的视觉稳定性对于提供良好的用户体验至关重要。其中一个衡量视觉稳定性的关键指标就是累积布局偏移&#xff08;Cumulative Layout Shift&#xff0c;简称 CLS&#xff09;。CLS 作为 Web Vitals 指标之一&#xff0c;它衡量的是网…...

PostgreSQL的学习心得和知识总结(一百三十八)|深入理解PostgreSQL数据库之Protocol message构造和解析逻辑

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…...

爬虫开发教程

一、爬虫概述 爬虫&#xff08;也称为网络爬虫或蜘蛛&#xff09;是一种自动化程序&#xff0c;能够模拟人类在互联网上浏览和抓取数据的行为。它通过发送HTTP请求&#xff0c;获取网页的HTML代码&#xff0c;然后解析这些代码以提取有用的数据。爬虫在数据分析、价格监测、竞…...

【Python】高级进阶(专版提升3)

Python 1 程序结构1.1 模块 Module1.1.1 定义1.1.2 作用1.1.3 导入1.1.3.1 import1.1.3.2 from import 1.1.4 模块变量1.1.5 加载过程1.1.6 分类 1.2 包package1.2.1 定义1.2.2 作用1.2.3 导入1.1.3.1 import1.1.3.2 from import 2 异常处理Error2.1 异常2.2 处理 3 迭代3.1 可…...

LeetCode 1378、1277、2944

1378 二级排序&#xff0c;compare函数必须是static的 class Solution { public:struct node {int val;int priority;};static bool compare(const node &n1, const node &n2) {if (n1.priority n2.priority) {return n1.val < n2.val;}return n1.priority < n…...

【缓存常见问题】

在使用缓存时特别是在高并发场景下会遇到很多问题&#xff0c;常用的问题有缓存穿透、缓存击穿、缓存雪崩以及缓存一致性问题。 1、缓存穿透 首先&#xff0c;什么是缓存穿透呢&#xff1f; 缓存穿透是指请求一个不存在的数据&#xff0c;缓存层和数据库层都没有这个数据&…...

Python爬取猫眼电影票房 + 数据可视化

目录 主角查看与分析 爬取可视化分析猫眼电影上座率前10分析猫眼电影票房场均人次前10分析猫眼电影票票房占比分析 主角查看与分析 爬取 对猫眼电影票房进行爬取&#xff0c;首先我们打开猫眼 接着我们想要进行数据抓包&#xff0c;就要看网站的具体内容&#xff0c;通过按F12…...

Spring Boot深度解析:是什么、为何使用及其优势所在

在Java企业级应用开发的漫长历史中&#xff0c;Spring框架以其卓越的依赖注入和面向切面编程的能力&#xff0c;赢得了广大开发者的青睐。然而&#xff0c;随着技术的不断进步和项目的日益复杂&#xff0c;传统的Spring应用开发流程逐渐显得繁琐和低效。为了解决这一问题&#…...

面向对象——类与对象

文章目录 类与对象构造函数、析构函数get/set方法函数&#xff1a;类内声明、类外定义static 类与对象 #include<iostream> #include<string> using namespace std; /* 类与对象 */ class Person{public:string name;// 固有属性&#xff0c;成员变量 int age;pu…...

Golang的[]interface{}为什么不能接收[]int?

在 Go 中&#xff0c;[]interface{} 和 []int 是两种不同的类型&#xff0c;虽然它们的底层数据结构都是切片&#xff0c;但是它们的元素类型不同。[]interface{} 是一个空接口切片&#xff0c;可以容纳任意类型的元素&#xff0c;而 []int 是一个整数切片&#xff0c;只能容纳…...

重启服务器或重启docker,导致emqx的Dashboard的密码重置为public

最近在项目中突然发现重启服务器,或者重启docker 修改好的emqx的Dashboard的密码重置为public 技术博客 http://idea.coderyj.com/ 1.解决办法就是固定 emqx的节点 # 拉取镜像 docker pull emqx/emqx# 创建目录&#xff0c;进行目录挂载 mkdir -p /docker/emqx/{etc,lib,data,…...

就业班 第三阶段(ansible) 2401--4.16 day2 ansible2 剧本+角色

六、Ansible playbook 简介 playbook 是 ansible 用于配置&#xff0c;部署&#xff0c;和管理被控节点的剧本。   通过 playbook 的详细描述&#xff0c;执行其中的一系列 tasks &#xff0c;可以让远端主机达到预期的状态。playbook 就像 Ansible 控制器给被控节点列出的的…...

常用的过滤网站扫描网站攻击的路径是那些,比如:/etc/passwd等

网站攻击中经常被尝试的路径主要包括利用漏洞获取敏感文件、执行系统命令或者注入恶意代码的尝试。以下是一些常见的被攻击者尝试访问的路径和文件&#xff0c;这些通常在网络入侵检测系统&#xff08;IDS&#xff09;和网络防火墙的过滤规则中被特别关注&#xff1a; 系统文件…...

考研数学|《1800》《660》《880》如何选择和搭配?(附资料分享)

直接说结论&#xff1a;基础不好先做1800、强化之前660&#xff0c;强化可选880/1000题。 首先&#xff0c;传统习题册存在的一个问题是题量较大&#xff0c;但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大&#xff0c;但有些题目难度不够平衡&#xff0c;有些过于简单…...

论文笔记:Are Human-generated Demonstrations Necessary for In-context Learning?

iclr 2024 reviewer 评分 6668 1 intro 大型语言模型&#xff08;LLMs&#xff09;已显示出在上下文中学习的能力 给定几个带注释的示例作为演示&#xff0c;LLMs 能够为新的测试输入生成输出然而&#xff0c;现行的上下文学习&#xff08;ICL&#xff09;范式仍存在以下明显…...

C语言 | Leetcode C语言题解之第28题找出字符串中第一个匹配项的下标

题目&#xff1a; 题解&#xff1a; int strStr(char* haystack, char* needle) {int n strlen(haystack), m strlen(needle);if (m 0) {return 0;}int pi[m];pi[0] 0;for (int i 1, j 0; i < m; i) {while (j > 0 && needle[i] ! needle[j]) {j pi[j - …...

「Python大数据」数据采集-某东产品数据评论获取

前言 本文主要介绍通过python实现数据采集、脚本开发、办公自动化。数据内容范围:星级评分是1-3分、获取数据页面是前50页。 友情提示 法律分析:下列三种情况,爬虫有可能违法,严重的甚至构成犯罪: 爬虫程序规避网站经营者设置的反爬虫措施或者破解服务器防抓取措施,非法…...

ORACLE错误提示概述

OceanBase分布式数据库-海量数据 笔笔算数 保存起来方便自己查看错误代码。 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程…...

php服装网站模板/webview播放视频

21. 为集群安装 Oracle Grid Infrastructure 仅在集群的一个 Oracle RAC 节点 (racnode1) 上执行以下安装过程。Oracle Universal Installer 将把 Oracle Grid Infrastructure 软件&#xff08;Oracle Clusterware 和自动存储管理&#xff09;安装到集群中的两个 Or…...

wordpress 停止/成人短期培训能学什么

使用WebView加载一个网页&#xff0c;很可能会出现横向的滚动条&#xff0c;让界面看起来很不方便&#xff0c;就像打开了一个为电脑设计的网页&#xff0c;尽管这个网页本身只有一个div。 我发现绝大多数情况下是因为图片大小超过屏幕所引起的&#xff0c;因为文字是会自动换行…...

做网站前端网址可以自己写吗/新闻投稿

无论是在论文排版中也好&#xff0c;在编写书籍也好&#xff0c;我们都需要在Word文档中每一页的底部插入该页面的数目&#xff0c;用于统计书籍的面熟&#xff0c;这样可以更好的方便用户阅读&#xff0c;和查阅。当然插入页码的方式有很多种&#xff0c;在不同的情况下我们需…...

flash网站免费源码带后台/seo对网店推广的作用

目录 概述 使用 创建springboot工程 创建一个Controller 写页面 配置文件 概述 Thymeleaf&#xff1a; 是使用java开发的模板技术&#xff0c; 在服务器端运行。 把处理后的数据发送给浏览器。 模板是作视图层工作的。 显示数据的。 Thymeleaf是基于Html语言。 Thymle…...

基于java的音乐网站开发/做seo必须有网站吗

Entity Framwork 学习笔记 (二) 生成 数据 ADO.NET 数据实体模型 Entity Framwork 学习笔记 (二) 生成 数据 ADO.NET 数据实体模型 添加 ADO.NET 实体数据模型项模板 在“解决方案资源管理器”中选择 CourseManager 项目&#xff0c;右键单击&#xff0c;指向“添加”&#xff…...

网站加速器quickq/企业管理培训班哪个好

点击上方“Java基基”&#xff0c;选择“设为星标”做积极的人&#xff0c;而不是积极废人&#xff01;每天 14:00 更新文章&#xff0c;每天掉亿点点头发...源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框…...