2023年MathorCup数学建模D题航空安全风险分析和飞行技术评估问题解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛

D题 航空安全风险分析和飞行技术评估问题

原题再现

  飞行安全是民航运输业赖以生存和发展的基础。随着我国民航业的快速发展,针对飞行安全问题的研究显得越来越重要。2022 年 3 月 21 日,“3.21”空难的发生终结了中国民航安全飞行 1 亿零 59 万飞行小时的历史最好安全记录。严重飞行事故的发生,不仅会给航空公司带来巨大的经济损失,更会对乘客造成极大的生命威胁。因而需要聚焦飞行安全问题,强化航空安全研究,综合利用现有数据强化科学管理,通过有针对性、系统性的管控手段有效提升从业人员的素质,监测和预警风险,进而降低飞行事故的发生几率。
  航空安全大数据主要包括快速存取记录器(Quick Access Recorder,QAR)数据,该数据主要记录飞机在飞行过程中的各项飞行参数;在飞行品质监控(Flight Operational Quality Assurance,FOQA)中,QAR 中超出人为设定限制值的数据记为超限数据。除此之外,在实际研究过程中,还会涉及到飞行中的舱音数据等。本问题主要涉及的是 QAR 数据,QAR 数据相对比较规范。
  在飞行品质监控具体研究和应用方面,目前我国民航业内的研究主要分为两个方面,一是针对超限事件的研究、分析和应用;二是对非超限数据的统计分析和应用。对于超限事件的研究,一般是通过规定飞行参数的集中区域设置超限阈值,将超出阈值部分的飞行记录找出来,进行重点分析,防范潜在隐患造成严重飞行事故。目前此类分析是飞行品质监控工作的主体,较好地保证了现阶段的安全工作,其不足之处在于缺少对超限原因的分析。由于超限并非全部是人为因素引发,例如许多是由于特殊环境条件造成的,甚至有可能是飞机本身的设计、制造因素所致,因此仅通过单纯的超限分析很难识别出来;如果仅基于超限事件对飞行机组进行管理,很容易误入歧途。QAR 超限可用于航空安全管理和飞行训练的数据支持。目前并不倾向于仅以少量的 QAR 超限数据为依据开展飞行训练工作,因此飞行品质监控工作逐渐衍生出另外一种倾向性,即通过挖掘 QAR 全航段数据开展分析,形成特定人员的飞行品质记录。基于不同飞行机组、飞行航线、机场、特定飞行条件下的飞行记录,通过对数据进行建模、分析,计算评估风险倾向性,开展有针对性的安全管理,排查安全隐患,改进安全绩效。目前类似研究主要是大规模读取飞行数据,并进行存储和分析,形成飞行品质服务平台,为风险评估和趋势分析提供数据基础。G 值是飞机飞行过程中过载情况的直接反应,在着陆安全分析中,G 值通常是描述落地瞬间安全性的重要指标。着陆瞬间 G 值指的是飞机接地瞬间前 2 秒和后5 秒数据的最大 G 值。
  基于以上背景,请你们团队解决以下问题:
  问题 1:有些 QAR 数据存在错误,需要对数据进行预处理,去伪存真,以减少错误数据对研究分析带来的影响。请你们的队伍对附件 1 的数据质量开展可靠性研究,提取与飞行安全相关的部分关键数据项,并对其重要程度进行分析。
  问题 2:飞机在从起飞到着陆的整个飞行过程中,通过一系列的飞行操纵确保飞行安全,这些操纵主要包括横滚操纵、俯仰操纵等。目前,国内航空公司通过超限监控飞行操纵动作,这种监控方法虽然能够快速分辨出飞机的状态偏差,但是只能告诉安全管理人员发生了什么,而不能立刻得出发生这种偏差的原因。为此,可以通过操纵杆的过程变化情况来分析产生这种偏差的原因。根据附件 1,请你们对飞行操纵进行合理量化描述。下图为 3 次着陆过程中的杆位变化曲线,其中红色曲线描述了一次重着陆(着陆 G 值超过给定限制值)过程,该重着陆主要是由于飞行机组在低空有一次不当松杆操纵所致,红色曲线中的接地前 5 秒有一个明显下凸,这就是需要进行量化描述的一次松杆操纵。
在这里插入图片描述
  问题 3:导致不同超限发生的原因各不相同,有时是特定机场容易出现特定的超限,有时是特定的天气容易出现特定的超限,有时是特定的飞行员容易出现特定的超限。请研究附件 2 的数据,对超限的不同情况进行分析,研究不同超限的基本特征,如分析飞机在哪些航线或者在哪些机场容易出现何种超限等。
  问题 4:飞机运行数据的研究一般分为两大类,一类是通过航线运行安全检查(Line Operations Safety Audit,LOSA)获取的飞行员的运行表现,另外一类是根据相关学者建议,基于飞行参数开展飞行技术评估。根据附件 3,请你们建立数学模型,探讨一种基于飞行参数的飞行技术评估方法,分析飞行员的飞行技术,数据表中的“不同资质”代表飞行员的不同技术级别。
  问题 5:随着技术的进步,未来在民航客机上安装实时传输的 QAR 数据记录系统已成为可能,这种“实时飞行数据”技术,可以在接近实时的情况下把航班飞行数据传输到地面分析系统,极大地提高风险识别能力和预防水平。假设飞行数据已能实现陆空实时传输,如果你是该航空公司的安全管理人员,请建立航空公司实时自动化预警机制,预防可能的安全事故发生,结合附件 1 的数据,给出仿真结果。

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

  本题主要是开发一个基于航空安全风险分析及飞行技术评估的预警模型等问题,展开深入研究。通过熵权法、随机森林等数学模型,使用 Python、Matlab、Spsspro 等软件,对操作进行量化描述,超限不同情况进行统计分析,最后,基于参数评估飞行技术建立一个自动化预警模型。从而降低我国航空事故的发生。
  对于问题一,首先使用拉伊达法则和箱线图对附件 1 数据进行预处理,再用 Python对于附件 1 中异常的 QAR 数据进行去除,之后用 Python 可视化[1]对数据进行可靠性研究,最后用熵权法得出来每个影响因素的具体权重,其中影响最大的因素是飞机重量,其余前五项关键数据项,分别是风速、无线电高度、风向、右发油门杆位置、左发油门杆位置。
  对于问题二,首先用线性回归分析 F 值,验证结果后,可以显着拒绝总回归系数为0 的原假设(P<0.05)。表明之间存在着线性关系并且通过 R²值分析模型拟合情况,同时对 VIF 值进行分析,模型出现共线性后 X 呈现显著性,结合 B 值探究 X、Y 之间关系并确定模型公式。最终得出结论:CAP CLM 1 POSN 和 CAP WHL 1 POSN 的和作为表征量,在其和较大时,说明操作不平稳,反之平稳。
  对于问题三,首先对于附件 2 中数据进行超限分析,得到不同情况下的超限类型(下滑道偏差过高或过低、俯仰角率过高或过低等),随后,利用频数分析算法和智能分析对于超限数据进行频数分析,使用 spsspro 对于飞行超限频数所占比例进行绘图。得出频数分析图表,最终可以得出飞机最容易出现的超限类型为:50 英尺至接地距离远,在飞行阶段为 6 时,目的机场为 68 时,最容易出现超限。
  对于问题四,首先对附件 3 数据进行预处理,去除无关数据以及空白数据等。随后,基于飞行参数评估飞行技术,建立随机森林、逻辑回归、LGBM 等数学模型,运用机器学习算法来衡量训练集准确度和测试集准确度以及平均绝对误差进行模型评估,从两种方法来评估飞行员的飞行技术(训练分数、交叉验证)。从模型最终结果来看,LGBM 模型对于数据的预测精度良好。
  对于问题五,首先进行挖掘学习行为特征的时间序列,设计了一种基于时间记忆增强模型的预警机制,挖掘和预测决策和干预机制。随后选取三种临近最优算法进行对比实验,经过充分的数据训练和测试,计算了图中三个典型数据子集的精度。随着预测戳数的增加,ILA + GAN 的优势更加明显。

模型假设:

  结合本题实际,为确保模型求解准确性和合理性,提出以下几点假设:
  1. 假设本题中给出所有附件中的数据都真是可信。
  2. 假设本题考虑到因素外,其他未考虑的因素都不影响本题的计算。
  3. 假设本题中的样本互不影响、互不关联、相互独立,各指标之间互不干扰。

问题分析:

  针对问题一的分析
  需要我们对 QAR 数据预处理,去伪取真,减少错误数据对研究的影响和误差,根据附件 1 数据进行可靠性研究并且运行数据分析。初步数据处理是指在分类或分组之前,对收集到的数据进行必要的审查、筛选和整理。本题首先我们利用拉依达和箱线图进行数据预处理,去除已知 QAR 数据里的错误数据,进行更深程度的分析,使用熵权法和 python 的可视化[2]计算出权重,对各指标的权重进行分析,得到权重可视化图形,最终得出结论:权重值所在越高,重要程度越高;反之越低。
  针对问题二的分析
  在整个飞行过程中,从起飞到着陆,飞行安全都受到飞行控制(主要包括横滚操纵、俯仰操纵等)的影响,航空公司只能监测飞行操纵动作从而告诉管理者发生了什么,却不能立刻得出这种偏差的原因无法立即确定。因此,我们必须根据附件 1 对飞行控制进行合理描述,通过操纵杆的变化来分析偏差的原因。本题我们采用线性回归(最小二乘法),进行分析 F 的值,分析 F 值能否明显的拒绝总体回归系数为 0 的原始假设(P<0.05),如呈现显著性,则表示 F 值与其存在线性关系并且经过 R²值分析模型拟合状况,并且对VIF 的值开展分析,(VIF 大于 5 或者 10)如若模型呈现出共线性,则使用逐步回归法。开展 X 显著性的分析;(P<0.05)若呈现显著性,则使用其分析 X 对 Y 的影响关系。结合回归因子 B,比较分析 X 对 Y 的影响。确定模型模式(在应用线性回归之前,可以通过正态性检验或残差数据处理等统计方法对数据进行验证和纯化)。
  针对问题三的分析
  本题要求我们根据附件 2,对于不同的超限情况进行分析,分析不同超限时的特征。首先我们对附件 2 数据进行超限分析,得出不同超限情况的不同超限类型,之后,利用频数分析算法对不同机场和不同超限类型进行频数分析,得到频数分析图和分析表,最终得出不同地点和时间出现的不同超限特征。
  针对问题四的分析
  本题要求我们基于飞行参数进行飞行评估并根据附件 3 建立数学模型,使用飞行技术评估方法分析飞行员的飞行技术水平。并且我们基于对给出的附件 3 数据进行预处理,去除了较多无关数据以及附件 3 中空缺数据。随之,我们建立了随机森林、逻辑回归、LGBM 回归等数学模型,运用机器学习算法来衡量训练集准确度和测试集准确度以及平均绝对误差进行模型评估,从飞行员训练分数和交叉验证的评估方法来分析飞行员的飞行技术。
  针对问题五的分析
  对于问题五的分析,我们根据问题一的飞行安全相关的部分关键数据项,问题二的重着陆分析,问题三的不同超限情况的分析,问题四的飞行技术评估,设计了一种基于时间记忆增强模型的预警机制。通过大量的数据训练和测试,该方法对学习行为特征的分析有效,具有较强的有效性和可靠性。其次,挖掘和预测决策和干预机制。本研究分析了三种密度的特征,计算特征之间的相关性,将强相关系数≥0.85的特征聚类。当一个聚类中的特征数量超过总特征的60%时,该数据子集被标记为典型,否则被定义为非典型。选取三种临近最优算法进行对比实验,分别是:(1)将原始行为与递归神经网络(OB + RNN)相结合,(2)基于总频率行为和递归神经网络(TF + RNN)的预警算法,(3)基于LSTM-Autoencoder和注意机制(LA + AM)的预警算法。

模型的建立与求解整体论文缩略图

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

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

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

import numpy
import pandas
from spsspro.algorithm import statistical_model_analysis
#生成案例数据
data_x1 = pandas.DataFrame({
"A": numpy.random.random(size=100),
"B": numpy.random.random(size=100)
})
data_x2 = pandas.DataFrame({"C": numpy.random.choice(["1", "2", "3"],
size=100)})
data_y = pandas.Series(data=numpy.random.choice([1, 2], size=100), nam
e="Y")
#线性回归,输入参数详细可以光标放置函数括号内按 shift+tab 查看,输出结果参考
spsspro 模板分析报告
result = statistical_model_analysis.linear_regression(data_y=data_y, dat
a_x1=data_x1, data_x2=data_x2)
print(result)
import pandas as pd
data=pd.read_excel('附件/附件 3 飞行参数测量数据/附件 3:飞行参数测量数据.xlsx')
data
for i in data.columns:
if data[i].isnull().sum()>0.15*2369:
print(i,data[i].isnull().sum())
del data[i]
data.shape
data.dropna().shape
data.dropna(inplace=True)
tt2=[]
for i in data.columns:
if data[i].dtypes not in ['int64','float64']:
print(i,data[i].dtypes)
else:
tt2.append(i)
tt=['机型', '落地主操控', ' V2_Method', ' Vref_Method', ' RoD_Method', ' MACH_Method', ' Turnoff_GS']
newdata=pd.concat([data[tt2],pd.get_dummies(data[tt])],axis=1)
newdata
机器学习代码
import pandas as pd
from numpy import *
import numpy as np
from sklearn.neural_network import MLPClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
import xgboost as xgb
import lightgbm as lgb
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import accuracy_score,recall_score,f1_score
import matplotlib.pyplot as plt
from sklearn.metrics import mean_absolute_error
import warnings
warnings.filterwarnings("ignore")
from sklearn.model_selection import train_test_split
def mape(actual, pred):
actual, pred = np.array(actual), np.array(pred)
return np.mean(np.abs((actual - pred) / actual))
X=newX
Y=data['落地主操控人员资质']
tr_x,te_x,tr_y,te_y=train_test_split(X ,Y,test_size=0.1,random_state=
5)
model=MLPClassifier(hidden_layer_sizes=10,max_iter=1000).fit(tr_x,tr
_y)
y_pred=model.predict(te_x)
print("\n 逻辑回归:")
logreg = LogisticRegression(C=1,solver='liblinear',multi_class ='auto')
logreg.fit(tr_x, tr_y)
score = logreg.score(tr_x, tr_y)
score2 = logreg.score(te_x, te_y)
print("训练集准确度:{:.3f}".format(logreg.score(tr_x,tr_y)))
print("测试集准确度:{:.3f}".format(logreg.score(te_x,te_y)))
y_pred = logreg.predict(te_x)
print("平均绝对误差:",mean_absolute_error(te_y, y_pred))
print("ACC",accuracy_score(te_y,y_pred))
print("REC",recall_score(te_y,y_pred,average="micro"))
print("F-score",f1_score(te_y,y_pred,average="micro"))
print("\n 决策树:")
tree=DecisionTreeClassifier(max_depth=50,random_state=0)
tree.fit(tr_x,tr_y)
y_pred = tree.predict(te_x)
print("训练集准确度:{:.3f}".format(tree.score(tr_x,tr_y)))
print("测试集准确度:{:.3f}".format(tree.score(te_x,te_y)))
print("平均绝对误差:",mean_absolute_error(te_y, y_pred))
print("ACC",accuracy_score(te_y,y_pred))
print("REC",recall_score(te_y,y_pred,average="micro"))
print("F-score",f1_score(te_y,y_pred,average="micro"))
print("\n 随机森林:")
rf=RandomForestClassifier(max_depth=20,n_estimators=1000,random_state=0)
rf.fit(tr_x,tr_y)
print("训练集准确度:{:.3f}".format(rf.score(tr_x,tr_y)))
print("测试集准确度:{:.3f}".format(rf.score(te_x,te_y)))
y_pred = rf.predict(te_x)
print("平均绝对误差:",mean_absolute_error(te_y, y_pred))
print("ACC",accuracy_score(te_y,y_pred))
print("REC",recall_score(te_y,y_pred,average="micro"))
print("F-score",f1_score(te_y,y_pred,average="micro"))
print("\nLGBM:")
lgb_model=lgb.LGBMClassifier()
lgb_model.fit(tr_x,tr_y)
print("训练集准确度:{:.3f}".format(lgb_model.score(tr_x,tr_y)))
print("测试集准确度:{:.3f}".format(lgb_model.score(te_x,te_y)))
y_pred = lgb_model.predict(te_x)
print("平均绝对误差:",mean_absolute_error(te_y, y_pred))
print("ACC",accuracy_score(te_y,y_pred))
print("REC",recall_score(te_y,y_pred,average="micro"))
print("F-score",f1_score(te_y,y_pred,average="micro"))
# 学习曲线函数
def plot_learning_curve(estimator, title, X, y, ylim=None, cv=None, n_jobs=1, train_sizes=np.linspace(.1, 1.0, 5)):
plt.figure()
plt.title(title)
if ylim is not None:
plt.ylim(*ylim)
plt.xlabel("game num")
plt.ylabel("score")
train_sizes, train_scores, test_scores = learning_curve(
estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)
train_scores_mean = np.mean(train_scores, axis=1)
train_scores_std = np.std(train_scores, axis=1)
test_scores_mean = np.mean(test_scores, axis=1)
test_scores_std = np.std(test_scores, axis=1)
plt.grid()
plt.fill_between(train_sizes, train_scores_mean - train_scores_std, train_scores_mean + train_scores_std, alpha=0.1, color="r")
plt.fill_between(train_sizes, test_scores_mean - test_scores_std, test_scores_mean + test_scores_std, alpha=0.1, color="g")
plt.plot(train_sizes, train_scores_mean, 'o-', color="r", label="Training score")
plt.plot(train_sizes, test_scores_mean, 'o-', color="g", label="Cross-validation score")
plt.savefig('./Q4/%s.jpg'%title)
plt.legend(loc="best")
plt.show()
return plt
cv = ShuffleSplit(n_splits=5, test_size=0.2, random_state=0)
plot_learning_curve(logreg, "逻辑回归", tr_x, tr_y, ylim=None, cv=cv, n_jobs=1)
plot_learning_curve(tree, "决策树", tr_x, tr_y, ylim=None, cv=None, n_jobs=1)
plot_learning_curve(rf, "随机森林", tr_x, tr_y, ylim=None, cv=None, n_jobs=1)
plot_learning_curve(lgb_model, "LGBM", tr_x, tr_y, ylim=None, cv=None, n_jobs=1)
想要模型和程序的请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于ES-EKF的LiDAR/GNSS/IMU传感器融合轨迹估计(附项目源码)

基于改进EKF的LiDAR/GNSS/IMU传感器融合轨迹估计&#xff08;附项目源码&#xff09; 算法概述PredictionCorrectionES-EKF算法融合算法实现轨迹估计实验结果 最近在研究传感器融合&#xff0c;看到一个很好的开源项目&#xff0c;适合小白学习&#xff0c;为以后做传感器融合、…

再谈C语言——理解指针(一)

内存和地址 内存 在讲内存和地址之前&#xff0c;我们想有个⽣活中的案例&#xff1a; 假设有⼀栋宿舍楼&#xff0c;把你放在楼⾥&#xff0c;楼上有100个房间&#xff0c;但是房间没有编号&#xff0c;你的⼀个朋友来找你玩&#xff0c; 如果想找到你&#xff0c;就得挨个房…

Vue 移动端(H5)项目怎么实现页面缓存(即列表页面进入详情返回后列表页面缓存且还原页面滚动条位置)keep-alive缓存及清除keep-alive缓存

一、需求 产品要求&#xff1a;Vue移动端项目进入列表页&#xff0c;列表页需要刷新&#xff0c;而从详情页返回列表页&#xff0c;列表页则需要缓存并且还原页面滚动条位置 二、实现思路 1、使用Vue中的keep-alive组件&#xff0c;keep-alive提供了路由缓存功能 2、因为我项…

《黑马点评》Redis高并发项目实战笔记(上)P1~P43

P1 Redis企业实战课程介绍 P2 短信登录 导入黑马点评项目 首先在数据库连接下新建一个数据库hmdp&#xff0c;然后右键hmdp下的表&#xff0c;选择运行SQL文件&#xff0c;然后指定运行文件hmdp.sql即可&#xff08;建议MySQL的版本在5.7及以上&#xff09;&#xff1a; 下面这…

冲刺2024年思维100春季线上比赛:做做历年思维100真题(附答案)

今天是2024年4月13日&#xff0c;距离2024年春季思维100活动第一阶段的线上比赛4月20日还有7天。今年思维100活动的考试重点是什么呢&#xff1f;虽然主办方未公布&#xff0c;我们可以从历年的思维100真题中来分析和推测&#xff0c;把历年真题和背后的知识点吃透了&#xff0…

宠物领养|基于springboot的宠物领养系统设计与实现(附项目源码+论文)

基于springboot的宠物领养系统设计与实现 目录 一、摘要 二、相关技术 三、系统设计 3.1 整体功能设计图 3.2 功能具体细节设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 如今社会上各行各业&#xff0c;都在用属于自己专用的软件来进行…

记录一下如何腾讯云服务器用客户端连MySQL

我一般喜欢用IDEA连数据库&#xff0c;别问我为啥&#xff08;就喜欢用一个软件解决所有问题&#xff09; 当然写SQL语句个人还是觉得sqlyog体验最佳&#xff01;

llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署

文章目录 简介支持的模型列表2. 添加自定义数据集3. lora 微调4. 大模型 lora 权重&#xff0c;部署问题 参考资料 简介 llama-factory SFT系列教程 (一)&#xff0c;大模型 API 部署与使用本文为 llama-factory SFT系列教程的第二篇&#xff1b; 支持的模型列表 模型名模型…

服务器配置环境步骤

1、创建虚拟环境 conda create --name 名字 pythonpython版本号2、进入虚拟环境 conda activate 名字3、确认自己要安装的torch版本和torchvision版本&#xff0c;进入https://pytorch.org/get-started/previous-versions/ 复制相应的命令&#xff0c;运行即可 注&#xff1a…

Visual Studio Code SSH 连接远程服务器

Visual Studio Code通过 SSH 连接远程服务器并实现免密登录&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. **安装插件**&#xff1a;首先&#xff0c;在 VS Code 中安装 "Remote - SSH" 插件。打开 VS Code&#xff0c;点击左侧的扩展图标&#xff0c;搜索…

C++如何排查并发编程死锁问题?

C如何排查并发编程死锁问题&#xff1f; 最近在Apache arrow里面写一个支持并行的算子&#xff1a;nested loop join&#xff0c;然后既然涉及到并行&#xff0c;这里就会遇到大家常说的死锁问题&#xff0c;假设你碰到了死锁问题&#xff0c;如何调试与定位呢&#xff1f; 那这…

最小均方(LMS)自适应滤波算法

1 LMS函数实现 % ----------------------------LMS(Least Mean Squre)算法------------------------------ % % parm: % xn 输入的信号序列 (列向量) % dn 所期望的响应序列 (列向量) % M 滤波器的阶数 (标量) % mu 收敛因子(步长) …

统信UOS(Linux)安装nvm node管理工具

整篇看完再操作&#xff0c;有坑&#xff01;&#xff01; 官网 nvm官网 按照官网方式安装&#xff0c;一直报 错 经过不断研究&#xff0c;正确步骤如下 1、下载安装包 可能因为网络安全不能访问github&#xff0c;我是链接热点下载的 wget https://github.com/nvm-sh/…

Java Maven项目推送到 Maven 中央仓库

准备阶段 namespace 域名认证 当需要在 sonatype 认证 com.xxx命名空间时&#xff0c;需要将 .xxx.com 配置域名解析。 记录类型&#xff1a;TXT 文本内容&#xff1a;验证的 key。 GPG 公私钥生成 GPG 下载地址&#xff1a;https://www.gnupg.org/download/index.html M…

RestTemplate—微服务远程调用—案例解析

简介&#xff1a;总结来说&#xff0c;微服务之间的调用方式有多种&#xff0c;选择哪种方式取决于具体的业务需求、技术栈和架构设计。RESTful API和HTTP客户端是常见的选择&#xff0c;而Feign和Ribbon等辅助库可以简化调用过程。RPC和消息队列适用于特定的场景&#xff0c;如…

单片机方案 发声毛绒小黄鸭

随着科技的不断进步&#xff0c;智能早教已经成为了新时代儿童教育的趋势。智能早教玩具&#xff0c;一款集互动陪伴、启蒙教育、情感培养于一身的高科技产品。它不仅能陪伴孩子成长&#xff0c;还能在游戏中启迪智慧&#xff0c;是家长和孩子的理想选择。 酷得电子方案开发特…

OV通配符证书:安全、便捷的网络认证新选择

OV通配符证书&#xff0c;即组织验证型通配符证书&#xff0c;其最大特点在于其通配符功能。这意味着&#xff0c;一个OV通配符证书可以覆盖同一主域名下的多个子域名&#xff0c;大大简化了证书管理和维护的复杂性。无论是大型企业还是个人网站&#xff0c;都可以通过OV通配符…

[面向对象] 单例模式与工厂模式

单例模式 是一种创建模式&#xff0c;保证一个类只有一个实例&#xff0c;且提供访问实例的全局节点。 工厂模式 面向对象其中的三大原则&#xff1a; 单一职责&#xff1a;一个类只有一个职责&#xff08;Game类负责什么时候创建英雄机&#xff0c;而不需要知道创建英雄机要…

多因子模型的数据处理

优质博文&#xff1a;IT-BLOG-CN 数据处理的基本目的是从多量的、可能是杂乱无章的、难以理解的数据中抽取并推导出有价值、有意义的数据。特别是金融数据&#xff0c;存在数据缺失&#xff0c;不完整以及极端异常值等问题&#xff0c;对于我们的分析和建模影响很多。 对于我…

Git分布式版本控制系统——Git常用命令(二)

五、Git常用命令————分支操作 同一个仓库可以有多个分支&#xff0c;各个分支相互独立&#xff0c;互不干扰 分支的相关命令&#xff0c;具体如下&#xff1a; git branch 查看分支 git branch [name] 创建分支&#x…