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

R语言使用dietaryindex包计算NHANES数据多种营养指数(2)

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法,将饮食摄入数据标准化为基于指数的饮食模式,从而能够评估流行病学和临床研究中对这些模式的遵守情况,从而促进精准营养。
在这里插入图片描述
该软件包可以计算以下饮食模式指数:
• 2020 年健康饮食指数(HEI2020 和 HEI-Toddlers-2020)
• 2015 年健康饮食指数 (HEI2015)
• 另类健康饮食指数(AHEI)
• 控制高血压指数 (DASH) 的饮食方法
• DASH 试验中的 DASH 份量指数 (DASHI)
• 替代地中海饮食评分 (aMED)
• PREDIMED 试验中的 MED 份量指数 (MEDI)
• 膳食炎症指数 (DII)
• 美国癌症协会 2020 年饮食评分(ACS2020_V1 和 ACS2020_V2)
• EAT-Lancet 委员会 (PHDI) 的行星健康饮食指数

上一期咱们咱们初步介绍了dietaryindex包计算膳食指数,这期咱们继续介绍。
先导入需要的R包

library(ggplot2)
library(dplyr)
library(tidyr)
library(dietaryindex)
library(survey)
options(survey.lonely.psu = "adjust") ##解决了将调查数据分组到小组的孤独psu问题

导入R包自带的数据,其中DASH_trial和PREDIMED_trial是临床试验的数据,NHANES_20172018数据属于临床流行病学的研究。

假设咱们想研究临床试验数据的膳食指数和流行病学中的膳食指数由什么不同?

data("DASH_trial")
data("PREDIMED_trial")
data("NHANES_20172018")

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先设置一下咱们的目录
setwd(“E:/公众号文章2024年/dietaryindex包计算营养指数”)
导入R包关于设置好的营养指数的数据,这个数据需要到作者的主页空间下载,如果需要我下载好的,公众号回复:代码

# Load the NHANES data from 2005 to 2018
## NHANES 2005-2006
load("NHANES_20052006.rda")## NHANES 2007-2008
load("NHANES_20072008.rda")## NHANES 2009-2010
load("NHANES_20092010.rda")## NHANES 2011-2012
load("NHANES_20112012.rda")## NHANES 2013-2014
load("NHANES_20132014.rda")## NHANES 2015-2016
load("NHANES_20152016.rda")

这里咱们以DASHI饮食指数和地中海 MEDI 膳食指数为例子, 利用DASH和MEDI饮食指数,对2017-2018年临床试验(即DASH和PREDIMED)的结果与流行病学研究(即NHANES)的结果进行对比分析。

计算DASHI饮食指数(基于营养素),即停止高血压的饮食方法,使用每1天摄入的营养素。
所有营养素将除以(总能量/2000 kcal)以调整能量摄入

DASHI_DASH = DASHI(SERV_DATA = DASH_trial, #原始数据文件,包括所有份量的食物和营养素RESPONDENTID = DASH_trial$Diet_Type, #每个参与者的唯一参与者IDTOTALKCAL_DASHI = DASH_trial$Kcal,  #总能量摄入TOTAL_FAT_DASHI = DASH_trial$Totalfat_Percent, #总脂肪摄入量SAT_FAT_DASHI = DASH_trial$Satfat_Percent, #饱和脂肪摄入量PROTEIN_DASHI = DASH_trial$Protein_Percent, #蛋白质摄入量CHOLESTEROL_DASHI = DASH_trial$Cholesterol, #胆固醇摄入量FIBER_DASHI = DASH_trial$Fiber, #纤维摄入量POTASSIUM_DASHI = DASH_trial$Potassium, #钾摄入量MAGNESIUM_DASHI = DASH_trial$Magnesium, #镁摄入量CALCIUM_DASHI = DASH_trial$Calcium, #钙摄入量SODIUM_DASHI = DASH_trial$Sodium) #钠摄入量

#计算地中海 MEDI 膳食指数(基于食用量),使用给定的 1 天摄入的食物和营养素的食用量

MEDI_PREDIMED = MEDI(SERV_DATA = PREDIMED_trial,  #数据文件RESPONDENTID = PREDIMED_trial$Diet_Type, #每位参与者的唯一 IDOLIVE_OIL_SERV_MEDI = PREDIMED_trial$Virgin_Oliveoil,#橄榄油的食用分量FRT_SERV_MEDI = PREDIMED_trial$Fruits,  #所有全果的食用分量VEG_SERV_MEDI = PREDIMED_trial$Vegetables, #除马铃薯和豆类以外的所有蔬菜的食用量LEGUMES_SERV_MEDI = PREDIMED_trial$Legumes, #豆类蔬菜的食用分量	NUTS_SERV_MEDI = PREDIMED_trial$Total_nuts,  #坚果和种子的食用量FISH_SEAFOOD_SERV_MEDI = PREDIMED_trial$Fish_Seafood, #鱼类海产品的食用分量ALCOHOL_SERV_MEDI = PREDIMED_trial$Alcohol,  #酒精的食用量,包括葡萄酒、啤酒、"淡啤酒"、白酒SSB_SERV_MEDI = PREDIMED_trial$Soda_Drinks,  #所有含糖饮料的食用量SWEETS_SERV_MEDI = PREDIMED_trial$Sweets,  #所有甜食(包括糖果、巧克力、冰淇淋、饼干、蛋糕、派、糕点)DISCRET_FAT_SERV_MEDI = PREDIMED_trial$Refined_Oliveoil, #酌定脂肪食用分量,包括黄油、人造黄油、蛋黄酱、沙拉酱	REDPROC_MEAT_SERV_MEDI = PREDIMED_trial$Meat)  #红肉和加工肉类

接下来就是对NHANES进行计算
对2017-2018 年第 1 天和第 2 天 NHANES 数据设置调查设计,先去掉缺失值

##过滤掉权重变量 WTDR2D 的缺失值
NHANES_20172018_design_d1d2 = NHANES_20172018$FPED %>%filter(!is.na(WTDR2D))

计算各个指数

##NHANES 2017年至2018年
#DASHI第1天和第2天,NUTRIENT为第一天数据,NUTRIENT2为第二天数据
#在 1 个步骤内计算 NHANES_FPED 数据(2005 年以后)的 DASHI(基于营养素)
DASHI_NHANES = DASHI_NHANES_FPED(NUTRIENT_PATH=NHANES_20172018$NUTRIENT, NUTRIENT_PATH2=NHANES_20172018$NUTRIENT2)

MEDI for 第1天和第2天

MEDI_NHANES = MEDI_NHANES_FPED(FPED_IND_PATH=NHANES_20172018$FPED_IND, NUTRIENT_IND_PATH=NHANES_20172018$NUTRIENT_IND, FPED_IND_PATH2=NHANES_20172018$FPED_IND2, NUTRIENT_IND_PATH2=NHANES_20172018$NUTRIENT_IND2)

DASH for 第1天和第2天

DASH_NHANES = DASH_NHANES_FPED(NHANES_20172018$FPED_IND, NHANES_20172018$NUTRIENT_IND, NHANES_20172018$FPED_IND2, NHANES_20172018$NUTRIENT_IND2)

MED for 第1天和第2天

MED_NHANES = MED_NHANES_FPED(FPED_PATH=NHANES_20172018$FPED, NUTRIENT_PATH=NHANES_20172018$NUTRIENT, DEMO_PATH=NHANES_20172018$DEMO, FPED_PATH2=NHANES_20172018$FPED2, NUTRIENT_PATH2=NHANES_20172018$NUTRIENT2)

#AHEI for 第1天和第2天

AHEI_NHANES = AHEI_NHANES_FPED(NHANES_20172018$FPED_IND, NHANES_20172018$NUTRIENT_IND, NHANES_20172018$FPED_IND2, NHANES_20172018$NUTRIENT_IND2)

DII for 第1天和第2天

DII_NHANES = DII_NHANES_FPED(FPED_PATH=NHANES_20172018$FPED, NUTRIENT_PATH=NHANES_20172018$NUTRIENT, DEMO_PATH=NHANES_20172018$DEMO, FPED_PATH2=NHANES_20172018$FPED2, NUTRIENT_PATH2=NHANES_20172018$NUTRIENT2)

HEI2020 for 第1天和第2天

HEI2020_NHANES_1718 = HEI2020_NHANES_FPED(FPED_PATH=NHANES_20172018$FPED, NUTRIENT_PATH=NHANES_20172018$NUTRIENT, DEMO_PATH=NHANES_20172018$DEMO, FPED_PATH2=NHANES_20172018$FPED2, NUTRIENT_PATH2=NHANES_20172018$NUTRIENT2)

通过SEQN将所有先前的这些数据合并为一个数据,

NHANES_20172018_dietaryindex_d1d2 = inner_join(NHANES_20172018_design_d1d2, DASHI_NHANES, by = "SEQN") %>%inner_join(MEDI_NHANES, by = "SEQN") %>%inner_join(DASH_NHANES, by = "SEQN") %>%inner_join(MED_NHANES, by = "SEQN") %>%inner_join(AHEI_NHANES, by = "SEQN") %>%inner_join(DII_NHANES, by = "SEQN") %>%inner_join(HEI2020_NHANES_1718, by = "SEQN")

对这个合并数据生成调查设计

NHANES_design_1718_d1d2 <- svydesign(id = ~SDMVPSU, strata = ~SDMVSTRA, weight = ~WTDR2D, data = NHANES_20172018_dietaryindex_d1d2, #set up survey design on the full dataset #can restrict at time of analysis nest = TRUE)

从这个调查对象中提取出相关指标的平均值

# 生成 DASHI_ALL 的 svymean 对象
DASHI_1718_svymean = svymean(~DASHI_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
# 从 svymean 对象中提取平均值
DASHI_1718_svymean_mean = DASHI_1718_svymean[["DASHI_ALL"]]# 生成 MEDI_ALL 的 svymean 对象
MEDI_1718_svymean = svymean(~MEDI_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
# 从 svymean 对象中提取平均值
MEDI_1718_svymean_mean = MEDI_1718_svymean[["MEDI_ALL"]]#为DASH_ALL生成svymean对象
DASH_1718_svymean = svymean(~DASH_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
#从svymean对象中提取均值
DASH_1718_svymean_mean = DASH_1718_svymean[["DASH_ALL"]]#为MED_ALL生成svymean对象
MED_1718_svymean = svymean(~MED_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
#从svymean对象中提取均值
MED_1718_svymean_mean = MED_1718_svymean[["MED_ALL"]]# generate the svymean object for AHEI_ALL
AHEI_1718_svymean = svymean(~AHEI_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
# extract the mean from the svymean object
AHEI_1718_svymean_mean = AHEI_1718_svymean[["AHEI_ALL"]]# generate the svymean object for DII_ALL
DII_1718_svymean = svymean(~DII_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
# extract the mean from the svymean object
DII_1718_svymean_mean = DII_1718_svymean[["DII_ALL"]]# generate the svymean object for HEI2020_ALL
HEI2020_1718_svymean = svymean(~HEI2020_ALL, design = NHANES_design_1718_d1d2, na.rm = TRUE)
# extract the mean from the svymean object
HEI2020_1718_svymean_mean = HEI2020_1718_svymean[["HEI2020_ALL"]]

先设置X轴标签名

x_case1 = c("DASHI_DASH_DASHlowSodium", "DASHI_DASH_DASHMedSodium", "DASHI_DASH_Control", "MEDI_PREDIMED_Med_Oliveoil", "MEDI_PREDIMED_Med_Nuts", "MEDI_PREDIMED_Control", "DASHI_NHANES", "MEDI_NHANES")
提取DASHI_DASH数据中DASHI_ALL指标,MEDI_PREDIMED数据中的MEDI_ALL指标,MEDI_PREDIMED数据中的MEDI_ALL指标,还有从NHANES_design_1718_d1d2提取的平均值
y_case1 = c(DASHI_DASH$DASHI_ALL[2]/9, DASHI_DASH$DASHI_ALL[3]/9, DASHI_DASH$DASHI_ALL[5]/9, MEDI_PREDIMED$MEDI_ALL[1]/11,  MEDI_PREDIMED$MEDI_ALL[2]/11, MEDI_PREDIMED$MEDI_ALL[3]/11, DASHI_1718_svymean_mean/9, MEDI_1718_svymean_mean/11)

生产一个Z的向量,等下绘图用于分组

z_case1 = c("DASH_trial", "DASH_trial", "DASH_trial", "PREDIMED_trial", "PREDIMED_trial", "PREDIMED_trial", "NHANES_20172018", "NHANES_20172018")

创建饮食索引类型的向量

w_case1 = c("DASHI", "DASHI", "DASHI", "MEDI", "MEDI", "MEDI", "DASHI", "MEDI")

将所有y值乘以100得到百分比

y_case1 = y_case1*100

将相关指标合并成一个数据

df_case1 = data.frame(x_case1, y_case1, z_case1, w_case1)

把分类变量转成因子

df_case1$z_case1 = factor(df_case1$z_case1, levels = c("NHANES_20172018", "DASH_trial", "PREDIMED_trial"))
df_case1$x_case1 = factor(df_case1$x_case1, levels = c("DASHI_NHANES", "DASHI_DASH_Control", "DASHI_DASH_DASHMedSodium", "DASHI_DASH_DASHlowSodium", "MEDI_NHANES", "MEDI_PREDIMED_Control", "MEDI_PREDIMED_Med_Nuts", "MEDI_PREDIMED_Med_Oliveoil"))

在这里插入图片描述
最后绘图

ggplot(df_case1, aes(x=z_case1, y=y_case1, fill=x_case1)) + geom_bar(stat = "identity", position = "dodge") +theme_bw() +# create a facet grid with the dietary index typefacet_wrap(. ~ w_case1, scales = "free_x") +labs(y = "Mean dietary index percentile", fill = "Dieary indexes for specific diets") +theme(# increase the plot title sizeplot.title = element_text(size=18),# remove the x axis titleaxis.title.x = element_blank(),# remove the x axis textaxis.text.x = element_blank(),# increase the y axis title and text sizeaxis.title.y = element_text(size=18),axis.text.y = element_text(size=14),# increase the legend title and text sizelegend.title = element_text(size=18),legend.text = element_text(size=16),# increase the facet label sizestrip.text = element_text(size = 16)) +# add numeric labels to the bars and increase their sizegeom_text(aes(label = round(y_case1, 2)), vjust = -0.5, size = 4.5, position = position_dodge(0.9)) +# add custom fill labelsscale_fill_discrete(labels = c("DASHI_DASH_DASHlowSodium" = "DASHI for DASH trial low sodium diet","DASHI_DASH_DASHMedSodium" = "DASHI for DASH trial medium sodium diet","DASHI_DASH_Control" = "DASHI for DASH trial control diet","MEDI_PREDIMED_Med_Oliveoil" = "MEDI for PREDIMED mediterranean olive oil diet","MEDI_PREDIMED_Med_Nuts" = "MEDI for PREDIMED mediterranean nuts diet","MEDI_PREDIMED_Control" = "MEDI for PREDIMED control diet","DASHI_NHANES" = "DASHI for NHANES 2017-18","MEDI_NHANES" = "MEDI for NHANES 2017-18"))

在这里插入图片描述
最后得到上图,y表示平均膳食指数百分位,不同颜色的柱子分别表示各个指数。

相关文章:

R语言使用dietaryindex包计算NHANES数据多种营养指数(2)

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法&#xff0c;将饮食摄入数据标准化为基于指数的饮食模式&#xff0c;从而能够评估流行病学和临床研究中对这些模式的遵守情况&#xff0c;从而促进精准营养。 该软件…...

Elasticsearch 索引模板、生命周期策略、节点角色

简介 索引模板可以帮助简化创建和二次配置索引的过程&#xff0c;让我们更高效地管理索引的配置和映射。 索引生命周期策略是一项有意义的功能。它通常用于管理索引和分片的热&#xff08;hot&#xff09;、温&#xff08;warm&#xff09;和冷&#xff08;cold&#xff09;数…...

buy me a btc 使用数字货币进行打赏赞助

最近在调研使用加密货币打赏的平台&#xff0c;发现idatariver平台 https://idatariver.com 推出的buymeabtc功能刚好符合使用场景&#xff0c;下图为平台的演示项目, 演示项目入口 https://buymeabtc.com/idatariver 特点 不少人都听说过buymeacoffee&#xff0c;可以在上面发…...

Solidity Uniswap V2 Router swapTokensForExactTokens

最初的router合约实现了许多不同的交换方式。我们不会实现所有的方式&#xff0c;但我想向大家展示如何实现倒置交换&#xff1a;用未知量的输入Token交换精确量的输出代币。这是一个有趣的用例&#xff0c;可能并不常用&#xff0c;但仍有可能实现。 GitHub - XuHugo/solidit…...

网络安全渗透测试工具

网络安全渗透测试常用的开发工具包括但不限于以下几种&#xff1a; Nmap&#xff1a;一款网络扫描工具&#xff0c;用于探测目标主机的开放端口和正在运行的服务&#xff0c;是网络发现和攻击界面测绘的首选工具。Wireshark&#xff1a;一个流量分析工具&#xff0c;用于监测网…...

springcloud+nacos服务注册与发现

快速开始 | Spring Cloud Alibaba 参考官方快速开始教程写的&#xff0c;主要注意引用的包是否正确。 这里是用的2022.0.0.0-RC2版本的springCloud&#xff0c;所以需要安装jdk21&#xff0c;参考上一个文章自行安装。 nacos-config实现配置中心功能-CSDN博客 将nacos-conf…...

【C++程序员的自我修炼】基础语法篇(一)

心中若有桃花源 何处不是水云间 目录 命名空间 &#x1f49e;命名空间的定义 &#x1f49e; 命名空间的使用 输入输出流 缺省参数 函数的引用 引用的定义&#x1f49e; 引用的表示&#x1f49e; 引用的特性&#x1f49e; 常量引用&#x1f49e; 引用的使用场景 做参数 做返回值…...

小狐狸JSON-RPC:钱包连接,断开连接,监听地址改变

detect-metamask 创建连接&#xff0c;并监听钱包切换 一、连接钱包&#xff0c;切换地址&#xff08;监听地址切换&#xff09;&#xff0c;断开连接 使用npm安装 metamask/detect-provider在您的项目目录中&#xff1a; npm i metamask/detect-providerimport detectEthereu…...

union在c语言中什么用途

在C语言中&#xff0c;union是一种特殊的数据类型&#xff0c;可以在同一块内存中存储不同类型的数据。它的主要用途有以下几个&#xff1a; 1. 节省内存&#xff1a;由于union只占用其成员中最大的数据类型所占用的内存空间&#xff0c;可以在不同的情况下使用同一块内存来存…...

2024年华为OD机试真题- 寻找最优的路测线路-Java-OD统一考试(C卷)

题目描述: 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。现给出R行C列的整数数组Cov,每个单元格的数值S即为该栅格的信号质量(已归一化,无单位,值越大…...

WPF 多路绑定、值转换器ValueConvert、数据校验

值转换器 valueconvert 使用ValueConverter需要实现IValueConverter接口&#xff0c;其内部有两个方法&#xff0c;Convert和ConvertBack。我们在使用Binding绑定数据的时候&#xff0c;当遇到源属性和目标控件需要的类型不一致的&#xff0c;就可以使用ValueConverter&#xf…...

【Linux多线程】线程的同步与互斥

【Linux多线程】线程的同步与互斥 目录 【Linux多线程】线程的同步与互斥分离线程Linux线程互斥进程线程间的互斥相关背景概念问题产生的原因&#xff1a; 互斥量mutex互斥量的接口互斥量实现原理探究对锁进行封装(C11lockguard锁) 可重入VS线程安全概念常见的线程不安全的情况…...

Linux网卡bond的七种模式详解

像Samba、Nfs这种共享文件系统&#xff0c;网络的吞吐量非常大&#xff0c;就造成网卡的压力很大&#xff0c;网卡bond是通过把多个物理网卡绑定为一个逻辑网卡&#xff0c;实现本地网卡的冗余&#xff0c;带宽扩容和负载均衡&#xff0c;具体的功能取决于采用的哪种模式。 Lin…...

【学习笔记】java项目—苍穹外卖day01

文章目录 苍穹外卖-day01课程内容1. 软件开发整体介绍1.1 软件开发流程1.2 角色分工1.3 软件环境 2. 苍穹外卖项目介绍2.1 项目介绍2.2 产品原型2.3 技术选型 3. 开发环境搭建3.1 前端环境搭建3.2 后端环境搭建3.2.1 熟悉项目结构3.2.2 Git版本控制3.2.3 数据库环境搭建3.2.4 前…...

C++之STL整理(2)之vector超详用法整理

C之STL整理&#xff08;2&#xff09;之vector用法&#xff08;创建、赋值、方法&#xff09;整理 注&#xff1a;整理一些突然学到的C知识&#xff0c;随时mark一下 例如&#xff1a;忘记的关键字用法&#xff0c;新关键字&#xff0c;新数据结构 C 的vector用法整理 C之STL整…...

机器学习作业二之KNN算法

KNN&#xff08;K- Nearest Neighbor&#xff09;法即K最邻近法&#xff0c;最初由 Cover和Hart于1968年提出&#xff0c;是一个理论上比较成熟的方法&#xff0c;也是最简单的机器学习算法之一。该方法的思路非常简单直观&#xff1a;如果一个样本在特征空间中的K个最相似&…...

笔记81:在服务器中运行 Carla 报错 “Disabling core dumps.”

背景&#xff1a;使用实验室提供的服务器配 Carla-ROS2 联合仿真的实验环境&#xff0c;在安装好 Carla 后运行 ./CarlaUE4.sh 但是出现 Disabling core dumps. 报错&#xff0c;而且不会出现 Carla 的窗口&#xff1b; 解决&#xff1a;运行以下命令 ./CarlaUE4.sh -carl…...

ensp中pc机访问不同网络的服务器

拓扑图如下&#xff0c;资源已上传 说明&#xff1a;pc通过2个路由访问server服务器 三条线路分别是192.168.1.0网段&#xff0c;192.168.2.0网段和192.168.3.0网段&#xff0c;在未配置的情况下&#xff0c;pc设备是访问不到server的 具体操作流程 第一&#xff1b;pc设备…...

CSGO赛事管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文&#xff08;设计&#xff09;学生选题参考合集推荐收藏&#xff08;包含Springboot、jsp、ssmvue等技术项目合集&#xff09; 目录 1. 系…...

win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文

文章目录 win10微软拼音输入法 - bug - 在PATH变量为空的情况下&#xff0c;无法输入中文概述笔记实验前提条件100%可以重现 - 无法使用win10拼音输入法输入中文替代的输入法软件备注备注END win10微软拼音输入法 - bug - 在PATH变量为空的情况下&#xff0c;无法输入中文 概述…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...