2016年第五届数学建模国际赛小美赛C题对超级细菌的战争解题全过程文档及程序

2016年第五届数学建模国际赛小美赛

C题 对超级细菌的战争

原题再现:

  最近有很多关于我们抗生素耐药性危机的讨论。进化出的能够抵抗抗生素的细菌每年杀死70万人,越来越强大的细菌正在世界各地传播。研究人员担心,我们将进入一个后抗生素时代,在这个时代里,我们被细菌感染,这些细菌可以击败药物提供的每一种药物。下周,联合国将召开一次高级别会议,协调全球打击这些无形敌人的斗争。
  巴顿和其他志同道合的科学家们在60多年前就警告说,抗生素危机即将来临,尽管他们今天大多被遗忘了。他们是对的,但他们被忽视了。他们的失败为今天的新十字军提供了一些重要的教训。
  然而,就在第二次世界大战结束一年后,青霉素的发现者警告说,它可能会变得毫无用处。1945年,亚历山大弗莱明获得诺贝尔奖,他指出了失败的原因。弗莱明说:“无知的人很容易给自己剂量不足,这是一种危险,通过将他的微生物暴露在非致命数量的药物中,使其产生耐药性。”
  这并不是说其他科学家否认了进化论的真实性。这似乎并不重要。当时的科学家发现了更多的抗生素。如果细菌对青霉素产生抗药性,它们总是能够转换成另一种武器。
  在一场持续了十多年的斗争中,改革者推动食品和药品管理局对抗生素进行更严格的监管。他们取得了成功,从市场上撤下了大量违法药品,并制定了更严格的规则,允许新药品进入市场。
  与此同时,抗生素耐药性的真正威胁越来越明显。在20世纪60年代早期,科学家们发现,一旦一种细菌中进化出一种抗性基因,微生物就可以将其捐赠给其他细菌。微生物可以将这些捐赠的基因装载在一块DNA上,进一步加速耐药性的传播。
  1966年,Look杂志上的一篇文章用近乎天启的修辞描述了抗生素耐药性的新观点。“细菌是不是赢得了与人类的战争?”标题写道。文章用一个新的绰号来提及这些细菌:超级细菌。
  然而,事实证明,组织一场对抗抗生素耐药性的斗争比对抗无效或危险的药物要困难得多。早在20世纪50年代,世界卫生组织就组织了关于抗生素耐药性的会议,但最终失败了。参加会议的专家们陷入了关于如何衡量抵抗力以及考虑对公共健康的威胁程度的争论之中。
  同时也很难弄清楚如何对抗抗生素耐药性。为了使劣药退出市场,改革者只有一个目标:FDA。为了减少良药的使用,改革者必须同时达到许多不同的目标:医生、医院管理人员、病人、政府、制药公司——甚至是那些开始给牲畜喂食抗生素以使牲畜长大的农民。
  更糟糕的是,规范抗生素的运动让医生们很生气。他们说,“FDA是谁把这些药拿走的?我已经用了30年了,我的病人似乎越来越好。”
  联合国已经要求你的团队,ICM-FDA帮助你更好地了解抗生素耐药性危机的相关因素。

  任务1:建立一个模型,为抗生素的使用和各方的敏感性提供利益链。在建模过程中,可能需要考虑影响供需的因素的动态性质。
  任务2:在完全竞争市场下预测危机的发展趋势。
  任务3:设计一个便携式抗生素使用管理系统是超级细菌的当务之急。ICM-FDA已被要求参加一个政策策略会议,要求您的团队就您的模型编写一份报告并提出一套政策。
  任务4:制定奖励政策,鼓励饲养者在不使用抗生素的情况下饲养牛。

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

  最近有很多关于我们抗生素耐药性危机的讨论。超级细菌的出现使抗生素耐药危机成为亟待解决的问题。
  针对课题一,通过供需动态因素分析,建立抗生素使用利益链,分析参与各方对抗生素使用的敏感性,并考虑抗生素对易感人群的影响。首先,通过供需链引出关于抗生素使用的利益链。对于敏感度分析,采用单因素敏感度分析方法对各相关方的敏感度进行分析,得出患者对抗生素使用的敏感度最高,政府对抗生素使用的敏感度最低的结论。
  针对任务二,结合任务中的供需关系中的利益链模型,从供给因素、需求因素、细菌因素三个方面,分析抗生素耐药的相关因素。以两个指标共7项为参考数据,利用BP神经网络建立了抗生素耐药危机发展趋势预测模型,并对图像进行拟合,即对发展趋势进行拟合,从而得出结论:在完全竞争的市场下,抗生素耐药危机将向更为严重的方向发展。
  针对任务三,结合任务一的利益链和任务二的危机预测,创建了便携式抗生素使用管理系统。首先确定管理系统的参与者是相关部门,然后创建系统用例模型,最终生成一个综合分类管理系统。最后,根据任务一和任务二,建立管理制度,提出合理的政策,遏制抗生素滥用。
  针对任务四,主要根据前三个任务的研究结果,综合考虑供需关系、抗生素耐药危机及相关部门等因素,平衡各方利益,提出建立渔牧兽医服务站的建议,它将为农民饲养的牛提供各种服务,包括对牛的防疫和治疗以及监测抗生素的使用。禁止超过抗生素使用标准的黄牛进入市场,对于不使用抗生素饲养黄牛的农户,将获得市场价格3%的奖励,然后利用奖励矩阵建立政策的可行性分析模型,并通过进行详细分析,验证了政策的可行性。

模型假设:

  (1) 对于同一疾病,我们总能找到一种仿制药代替抗生素,但没有明显的抗菌效果。
  (2) 只考虑一般疾病,针对特定疾病予以清除。
  (3) 牲畜中抗生素残留检测标准的存在。
  (4) 排除抗生素生产难度等无关因素。

问题重述:

  任务一的陈述与分析
  建立一个模型,为抗生素的使用和各方的敏感性提供利益链。在建模过程中,应考虑影响供给和需求的因素的动态性质。对于第一个任务,首先要明确利益链的定义,利益链就是利益链上下各方的利益链。对于第一个问题,首先要明确利益链的定义,利益链是链条上人与下游人之间的利益关系。首先,通过对标题的分析得出一些关键角色:医生、医院管理者、政府、患者、制药公司和养殖户。首先对供应链进行分析,得到抗生素生产和使用过程中的供需关系,得到利益链模型,并对各参与方的利益链模型从供应侧(抗生素生产商)和需求侧(易感人群)两个方面进行敏感性分析。

  任务二的陈述与分析
  在完全竞争市场下预测危机的发展趋势。对于第二项任务,首先必须明确市场完全竞争的概念和危机,即在政府等外部因素缺位的情况下,市场完全由“看不见的手”控制抗生素耐药性危机。为此,总结了抗生素生产和使用过程的流程图,找出影响抗生素耐药性的六个因素,利用灰色神经网络系统建立危机预测模型,通过数据采集和归一化处理,利用模型预测发展趋势。

  任务三的重述与分析
  设计一个便携式抗生素使用管理系统是当务之急。我们应该就我们的模式写一份报告,并提出一套政策。对于任务三,抗生素的滥用已经成为一个日益严重的问题,为了避免超级细菌的产生,我们需要对抗生素的使用进行管理和监测。首先明确便携式管理系统的用户是相关部门,将系统的参与者确定为相关部门、抗生素医疗机构和抗生素农业机构,建立系统用例模型,定义每个参与者的功能,最后生成一个层次化的管理系统。针对不同类型的参与者和不同方面的措施,从医疗机构、农户、饲料生产企业、知识普及等方面提出了具体的政策建议。

  任务4的重述和分析
  我们被要求为农民制定一项奖励政策,鼓励他们饲养没有抗生素的牛。对于第四项任务,我们需要利用前三项任务的成果得出具体的激励政策,从市场供求、抗生素耐药危机的发展趋势、相关部门的具体措施等方面,结合农民群体的特殊性和自身利益,提出一些激励政策,使农民不使用抗生素喂养。然后利用报酬矩阵建立可行性验证模型,并利用模型分析得出激励政策是否可行。

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

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

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

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

from scipy import stats 
import numpy as np 
from numpy.random import rand 
import math 
import matplotlib.pyplot as plt 
import numpy as np 
from scipy.stats import chisquare 
from scipy.optimize import curve_fit 
pre_rst = [0.1, 0.12, 0.2, 0.15, 0.15, 0.17, 0.14, 0.14, 0.16,
0.4, 0.37, 0.38, 0.28, 0.28]
pre_use = [153, 136, 125, 117, 116, 111, 117, 121, 120, 113, 111, 105, 
104, 102]
def cal_r(t, x0, x1, x2):
 r = (1/t)*math.log((1/x0-1/x1)/(1/x1-1/x2))
 return r
def cal_n(r, t, x0, x1):
 n = (1-math.e**(-r*t))/(1/x1-math.e**(-r*t)/x0)
 return n
def cal_rst(t, r, n):
 return n/(1+(n/0.1-1)*math.e**(-r*t))
r=cal_r(2.0, 0.14, 0.28, 0.37)
n=cal_n(r, 2.0, 0.14, 0.37)
pdt_rst = []
years = len(pre_rst)-2
for i in range(1,years,1):
 pdt_rst.append(cal_rst(i,r,n))
# pre_use = pre_use[:len(pre_use)-3]
pre_use = sorted(pre_use)
pdt_rst = sorted(pre_rst)
# z1 = np.polyfit(pre_use, pdt_rst, 3)#用 3 次多项式拟合
# p1 = np.poly1d(z1)
# 模拟医院,医生,病人的动作
def func(x,a,b):
 return a*np.log(b*x)
popt, pcov = curve_fit(func, pre_use, pdt_rst)
a=popt[0]#popt 里面是拟合系数,读者可以自己 help 其用法
b=popt[1]
print a,b
print 'func:',func(147,a,b)
print 'optimal:',func(120,a,b)
class Patient:
 # p_id 为病人的病号,drug 为当前用药,resistant 为抗药性,recover 为恢复状
况,cure_days 为已经治疗的天数
 def __init__(self, pid, drug, resistant, recover, cure_days):
 self.pid = pid
 self.drug = drug
 self.resistant = resistant
 self.recover = recover
 self.cure_days = cure_days
RESISTANT = 0.5
T1 = 5
T2 = 10
DAY_PATIENTS = 30 # 每天 30 个病人
p_id = 0
sim_cure_days = []
sim_d1_sale = []
pre_use = [153, 136, 125, 117, 116, 111, 117, 121, 120, 113, 111, 105, 
104, 102]
mean_use = np.mean(pre_use)
# 描述进入医院的病人
def ent_hpt(patients):
 # day_rst = stats.poisson.pmf(np.arange(DAY_PATIENTS), RESISTANT) # 每
天病人的抗药性分布

day_rst = rand(DAY_PATIENTS)
 tmp = np.mean(day_rst)
 for i in range(len(day_rst)):
 day_rst[i] = day_rst[i]*RESISTANT/0.5
 day_ptn = map(lambda x: Patient(p_id, 1, x, 0.0, 0.0), day_rst)
 patients += day_ptn
 return patients
def cure(patients, rec_ptn, drug1_sale, drug2_sale, use, total_cure_days):
 tmp = []
 for p in patients:
 if p.drug == 1 and p.cure_days > 0:
 # cdp = use*((0.5*(1-p.recover/p.cure_days) + 
0.5*p.cure_days/T1)**2)
 # cdp = (use*(1-p.recover/p.cure_days))**2
 cdp = 0.3*((1-use)*(1 - p.recover / p.cure_days))
 if rand() < cdp:
 p.drug = 2
 rec_ratio = 0
 if p.drug == 1:
 rec_ratio = (float)((1-p.resistant))/T1
 drug1_sale += 1
 if p.drug == 2:
 rec_ratio = 1.0/T2
 drug2_sale += 1
 p.recover += rec_ratio
 p.cure_days += 1
 if p.recover >= 1:
 tmp.append(p)
 rec_ptn.append(p)
 total_cure_days.append(p.cure_days)
 for p in tmp:
 patients.remove(p)
 return patients, rec_ptn, drug1_sale, drug2_sale, total_cure_days
def sim_hosp(use):
 all_patients = []
 rec_patients = []
 cure_days = []
 d1_sale = 0
 d2_sale = 0
 for i in range(30):
patients = ent_hpt(all_patients)
 while all_patients:
 patients, recover_patients, d1s, d2s, cure_days = cure(patients, 
rec_patients, d1_sale, d2_sale, use, cure_days)
 d1_sale = d1s
 d1_count = 0
 for p in rec_patients:
 if p.drug == 1:
 d1_count += 1
 sim_cure_days.append(np.mean(cure_days))
 sim_d1_sale.append(d1s)
 # print '平均治疗时间: ', np.mean(total_cure_days)
 # print '抗生素销售: ', d1_sale
 # print '二线药物销售: ', d2_sale
 # print '坚持使用抗生素病人数: ', d1_count
# 市场自由发展
next_cure_days = []
next_d1_sale = []
max_use = np.mean(pre_use)
RESISTANT = func(max_use,a,b)
curr_use = max_use
pdt_rst = [0.1792628046926503, 0.2943181818181818, 0.43063362673704436, 
0.558124635993011, 0.6535518026442507, 0.713738475784049, 0.7476984370881284, 
0.7656659431653637, 0.7748492466183726, 0.7794600206940622, 
0.7817543053571258]
for rst in pdt_rst:
 print rst
 RESISTANT = rst
 sim_hosp(curr_use/200)
print sim_cure_days
print sim_d1_sale
sim_uses = np.arange(80,200,1)
min_use = np.min(sim_uses)
max_use = np.max(sim_uses)
for use in sim_uses:
 RESISTANT = func(use,a,b)
 sim_hosp(use)
 print use,'==>',RESISTANT,'==>',sim_cure_days[len(sim_cure_days)-1]
print sim_cure_days
print sim_d1_sale
d1s_min = np.min(sim_d1_sale)
d1s_max = np.max(sim_d1_sale)
sim_d1_sale = map(lambda x: x*1.0/d1s_max,sim_d1_sale)
cd_min = np.min(sim_cure_days)
cd_max = np.max(sim_cure_days)
# sim_cure_days = map(lambda x: x*1.0/cd_max,sim_cure_days)
profits = []
for i in range(len(sim_cure_days)):
 profits.append(sim_cure_days[i]+10.0/sim_d1_sale[i])
print profits
uses = sim_uses
min_pft = np.min(profits)
max_pft = np.max(profits)
print max_pft,min_pft
plt.figure(figsize=(30,9),dpi=80)
plt.yticks(np.linspace(min_pft-1,max_pft+1,num=(int)(max_pftmin_pft)+1,endpoint=True))
plt.xticks(np.linspace(min_use,max_use,num=(max_usemin_use)/5+1,endpoint=True))
plt.ylim(min_pft-1,max_pft+1)
plt.xlim(min_use-0.2,max_use+0.2)
plt.ylabel('Profit',fontsize=15)
plt.xlabel('Drug use',fontsize=15)
plt.plot(uses,profits,label='Profit',marker='d',linewidth=2.5,markersize=6,
color='fuchsia')
# 
plt.plot(X,fit_vals,label='Fit',marker='s',linewidth=2.5,markersize=10,colo
r='cornflowerblue')
plt.legend(loc='upper right')
plt.show()
plt.figure(figsize=(30,9),dpi=80)
plt.yticks(np.linspace(min_pft-1,max_pft+1,num=(int)(max_pftmin_pft)+1,endpoint=True))
plt.xticks(np.linspace(min_use,max_use,num=(max_use-min_use)/5+1,endpoint=True))
plt.ylim(min_pft-1,max_pft+1)
plt.xlim(min_use-0.2,max_use+0.2)
plt.ylabel('Profit',fontsize=15)
plt.xlabel('Drug use',fontsize=15)
plt.plot(uses,profits,label='Profit',marker='d',linewidth=2.5,markersize=6,
color='fuchsia')
# 
plt.plot(X,fit_vals,label='Fit',marker='s',linewidth=2.5,markersize=10,colo
r='cornflowerblue')
plt.legend(loc='upper right')
plt.show()
import math
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import chisquare
from scipy.optimize import curve_fit
pre_rst = [0.1, 0.12, 0.2, 0.15, 0.15, 0.17, 0.14, 0.14, 0.16,
0.4, 0.37, 0.38, 0.28, 0.28]
pre_use = [153, 136, 125, 117, 116, 111, 117, 121, 120, 113, 111,
105, 104, 102]
def cal_r(t, x0, x1, x2):
 r = (1/t)*math.log((1/x0-1/x1)/(1/x1-1/x2))
 return r
def cal_n(r, t, x0, x1):
 n = (1-math.e**(-r*t))/(1/x1-math.e**(-r*t)/x0)
 return n
def cal_rst(t, r, n):
 return n/(1+(n/0.1-1)*math.e**(-r*t))
# pre_rs = 
[cal_r(1,0.1,0.12,0.2),cal_r(1,0.14,0.16,0.4),cal_r(2,0.14,0.16,0.37)]
# pre_ns =[cal_n(pre_rs[0],1,0.1,0.2),cal_n(pre_rs[1],1,0.14,0.4),cal_n(pre_rs[
2],2,0.14,0.37)]
#
# print pre_ns
r=cal_r(2.0, 0.12, 0.15, 0.17)
n=cal_n(r, 2.0, 0.12, 0.17)
print 'r=',r
print 'n=',n
pdt_rst = []
years = len(pre_rst)-2
for i in range(1,years,1):
 pdt_rst.append(cal_rst(i,r,n))
next_rsts = []
for i in range(12,22,1):
 next_rsts.append(cal_rst(i,r,n))
print 'next_years:',next_rsts
data_names = range(2002,2013,1)
X = range(len(data_names))
print 'pdt_rst', pdt_rst
plt.figure(figsize=(30,9),dpi=80)
plt.yticks(np.linspace(0,1,num=11,endpoint=True))
plt.xticks(range(len(data_names)),data_names)
X = range(len(data_names))
plt.ylim(0,1.2)
plt.xlim(-0.2,len(data_names)+0.2)
plt.xlabel('Drug use',fontsize = 15)
plt.ylabel('Resistant',fontsize=15)
plt.plot(X,pdt_rst,label='Predict',marker='d',linewidth=2.5,markersiz
e=6,color='fuchsia')
plt.plot(X,pre_rst[3:],label='Real',marker='s',linewidth=2.5,markersi
ze=10,color='cornflowerblue')
plt.legend(loc='upper right')
plt.show()
# pre_use = pre_use[:len(pre_use)-3]
# pre_use = sorted(pre_use)
# # print pre_use
# pdt_rst = sorted(pre_rst[3:])
# def func(x,a,b):
# return a*np.log(b*x)
# popt, pcov = curve_fit(func, pre_use, pdt_rst)
# a=popt[0]
# b=popt[1]
# print a,b
plt.plot(X,pdt_rst,label='Real',marker='d',linewidth=2.5,markersize=6
,color='fuchsia')
# 
plt.plot(X,fit_vals,label='Fit',marker='s',linewidth=2.5,markersize=1
0,color='cornflowerblue')
# plt.legend(loc='upper right')
# plt.show()
pdt_rst = [0.1792628046926503, 0.2943181818181818, 0.43063362673704436, 
0.558124635993011, 0.6535518026442507, 0.713738475784049, 
0.7476984370881284, 0.7656659431653637, 0.7748492466183726, 
0.7794600206940622, 0.7817543053571258]
data_names = range(2013,2024,1)
plt.figure(figsize=(30,9),dpi=80)
plt.yticks(np.linspace(0,1,num=11,endpoint=True))
plt.xticks(range(len(data_names)),data_names)
X = range(len(data_names))
plt.ylim(0,1.2)
plt.xlim(-0.2,len(data_names)+0.2)
plt.xlabel('Year',fontsize = 15)
plt.ylabel('Resistant',fontsize=15)
plt.plot(X,pdt_rst,label='Prediction',marker='d',linewidth=2.5,marker
size=6,color='fuchsia')
# 
plt.plot(X,fit_vals,label='Fit',marker='s',linewidth=2.5,markersize=1
0,color='cornflowerblue')
plt.legend(loc='upper right')
plt.show()
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

【大模型实践】基于文心一言的对话模型设计

文心一言&#xff08;英文名&#xff1a;ERNIE Bot&#xff09;是百度全新一代知识增强大语言模型&#xff0c;文心大模型家族的新成员&#xff0c;能够与人对话互动、回答问题、协助创作&#xff0c;高效便捷地帮助人们获取信息、知识和灵感。文心一言从数万亿数据和数千亿知识…

IntelliJ IDEA 2023.3 新功能介绍

IntelliJ IDEA 2023.3 在众多领域进行了全面的改进&#xff0c;引入了许多令人期待的功能和增强体验。以下是该版本的一些关键亮点&#xff1a; IntelliJ IDEA mac版下载 macappbox.com/a/intellij-idea-for-mac.html 1. AI Assistant 的全面推出 IntelliJ IDEA 2023.3 中&am…

EarMaster Pro 7 简体中文破解版 v7.2.0.42 电脑版

软件介绍 EarMaster破解版一款功能强大的专业级别多媒体音乐教育学习软件&#xff0c;EarMaster破解版提供了大量音乐相关的学习内容&#xff0c;用户在这里可以学习基础的和弦、音阶、节奏&#xff0c;也可以提升自己的音感&#xff0c;如果基础已经很扎实了&#xff0c;还可…

kali-钓鱼网站远程代码漏洞分析

文章目录 一、靶场搭建二、开始信息收集&#xff0c;寻找漏洞三、使用蚁剑连接后门程序四、使用webshell查看数据库信息五、进入网站后台 实验环境 Kali CentOs 一、靶场搭建 CentOsIP地址192.168.64.159 #关闭centos防火墙 [rootlocalhost ~]# systemctl disable --now fi…

Unity头发飘动效果

Unity头发飘动 介绍动作做头发飘动头发骨骼绑定模拟物理组件 UnityChan插件下载UnityChan具体用法确定人物是否绑定好骨骼节点&#xff08;要做的部位比如头发等&#xff09;给人物添加SpringManager骨骼管理器给骨骼节点添加SpringBone这里给每个头发骨骼都添加上SpringBone。…

Linux学习教程(第十六章 Linux系统启动管理)二

第十六章 Linux系统启动管理&#xff08;二&#xff09; 九、Linux /boot/grub/目录分析 本章第一节就已经讲过&#xff0c;BIOS 在进行完成系统检测之后&#xff0c;就会找到第一个可以启动的设备&#xff0c;并读取该设备的 MBR&#xff08;主引导记录&#xff09;以及加载…

electron使用electron-builder进行MacOS的 打包、签名、公证、上架、自动更新

一、前言 由于electron在macOS下的坑太多&#xff0c;本文不可能把所有的问题都列出来&#xff0c;也不可能把所有的解决方案贴出来&#xff1b;本文也不太会讲解每一个配置点为什么要这么设置的原因&#xff0c;因为有些点我也说不清&#xff0c;我尽可能会说明的。所以&…

计算机的工作原理(上)

1. 计算机发展史 计算的需求在人类的历史中是广泛存在的&#xff0c;发展大体经历了从一般计算工具到机械计算机到目前的电子计算机的发展历程。&#xff08;以下是计算机的发展历程&#xff09; 1、公元前2500 年前&#xff0c;算盘已经出现了&#xff1b;除此之外&#xff0c…

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了&#xff0c;如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示&#xff0c;我这里随便用了一个.proto文件&#xff0c;看下我这里面的repeated标记的…

大一C语言作业题目1

目录 字符串和字符数组&#xff1f; %s found的变化&#xff1a; 7-1 学生成绩录入及查询 学生成绩表中&#xff0c;一名学生的信息包含如下信息&#xff1a; 学号(11位)、姓名、数学成绩、英语成绩、程序设计成绩、物理成绩。 本题要求编写程序&#xff0c;录入N条学生的…

【Amazon 实验②】使用缓存策略及源请求策略,用于控制边缘缓存的行为及回源行为

文章目录 1. 了解缓存策略和源请求策略1.1 使用缓存键和缓存策略 实验&#xff1a;使用CloudFront缓存策略和缓存键控制缓存行为 接上一篇文章【Amazon 实验①】使用 Amazon CloudFront加速Web内容分发&#xff0c;我们现在了解和配置如何使用缓存策略及源请求策略&#xff0c;…

NativePHP:使用 PHP 构建桌面应用程序

PHP 在我心中占据着特殊的位置。它是我的第一份工作&#xff0c;我记得我在家里花了无数个小时做一些小项目。我非常想用 PHP 创建桌面应用程序&#xff0c;但我从来没有做到过。 现在&#xff0c;感谢 NativePHP&#xff0c;我可以了。 NativePHP 追随 Slack、Discord 和 Tre…

trino-435版本windows下源码编译

一、源码下载地址 https://github.com/trinodb/trino/tags 二、编译环境及工具准备 1、maven &#xff08;1&#xff09;版本&#xff1a;3.6.3 &#xff08;2&#xff09;settings.xml配置 <?xml version"1.0" encoding"UTF-8"?> <settin…

基于Vite+Vue3 给项目引入Axios

基于ViteVue3 给项目引入Axios,方便与后端进行通信。 系列文章指路&#x1f449; 系列文章-基于Vue3创建前端项目并引入、配置常用的库和工具类 文章目录 安装依赖新建src/config/config.js 用于存放常用配置进行简单封装解决跨域问题调用尝试 安装依赖 npm install axios …

双向数据绑定是什么

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单&#xff0c;就是把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新双向绑定就很容易联想到了&#xff0c;在单向绑定的基础上&#xff0c;用户更新了View&#xff0c;Mo…

SuperMap iServer发布的ArcGIS REST 地图服务如何通过ArcGIS API加载

作者&#xff1a;yx 文章目录 一、发布服务二、代码加载三、结果展示 一、发布服务 SuperMap iServer支持将地图发布为ArcGIS REST地图服务&#xff0c;您可以在发布服务时直接勾选ArcGIS REST地图服务&#xff0c;如下图所示&#xff1a; 也可以在已发布的地图服务中&#x…

linux分辨率添加

手动添加分辨率 注&#xff1a;添加分辨率需要显卡驱动支持&#xff0c;若显卡驱动有问题&#xff0c;则不能添加 可通过 xrandr 结果判断 # xrandr 若图中第二行” eDP“ 显示为 ” default “ &#xff0c;则显卡驱动加载失败&#xff0c;不能添加分辨率 1. 添加分辨率 # …

PHP下载安装以及基本配置

目录 引言 官网 下载 配置 1. 鼠标右键“此电脑”>“属性” 2. 打开高级系统设置 3. 打开环境变量 4. 双击系统变量中的path 5. 新建新的path 6. 将刚刚安装的位置加入环境变量 7. 检查是否安装成功 引言 PHP&#xff08;"PHP: Hypertext Preprocessor"…

零基础学C语言——数组

这是一个C语言系列文章&#xff0c;如果是初学者的话&#xff0c;建议先行阅读之前的文章。笔者也会按照章节顺序发布。 上一篇我们讨论过函数&#xff0c;其中涉及到了一些数组和指针&#xff0c;本篇详细说明数组。 数组定义 **数组是一种集合结构&#xff0c;与数学种谈到…

电脑完全重装教程——原版系统镜像安装

注意事项 本教程会清除所有个人文件 请谨慎操作 请谨慎操作 请谨慎操作 前言 本教程是以系统安装U盘为介质进行系统重装操作&#xff0c;照着流程操作会清除整个硬盘里的文件&#xff0c;请考虑清楚哦&#xff5e; 有些小伙伴可能随便在百度上找个WinPE作为启动盘就直接…
最新文章