非周期性脑活动的动态重构支持癫痫患者的认知功能:一种神经指纹识别方法
摘要
颞叶癫痫(TLE)的特征是大脑活动模式发生大规模的变化,并且这种变化与患者的认知功能受损密切相关。本研究旨在使用神经指纹方法分析大脑活动的动态重构,以描绘TLE患者的个体特征及其认知功能相关性。本研究收集了68名TLE患者和34名对照组的10min静息态头皮EEG(128通道)数据,数据中不包含癫痫样活动。该功能网络由非周期性突发信号(神经雪崩,neuronal avalanches)在大脑皮层区域的时空传播来定义,并使用雪崩转移矩阵(ATM)来量化和捕捉这一传播过程的动态特征。ATM的指纹分析揭示,TLE患者相较于对照组具有更加刻板化的模式,其中双侧TLE患者的刻板性最强。最后,从单侧TLE患者的大脑动态模式中提取的指标与其记忆障碍相关。该研究有助于理解TLE中大脑动态活动的形成过程,并为精准医疗提供有用的患者特异性指标。
图形摘要
引言
在过去的几十年里,将癫痫视为一种网络疾病的观点,成功地深化了我们对其病理生理学的理解。特别是,已在多种癫痫类型中发现大规模大脑动态的变化,并且这些变化与临床和神经心理学结果相关联。在癫痫类型中,颞叶癫痫(TLE)是最常见的药物难治性局灶性癫痫。部分TLE患者表现出双侧(同时性和/或独立性)颞叶癫痫发作,称为双侧颞叶癫痫(BTLE)。一些研究描述了与单侧TLE(UTLE)相比,BTLE具有独特的临床-解剖-电生理特征,表明BTLE可能是TLE谱系中的一种相对特殊的病症。从神经认知的角度来看,TLE与多个认知域的损伤有关,包括记忆、语言、注意力和执行功能。此外,最近的研究发现,与UTLE相比,BTLE患者的神经心理预后更差。越来越多的证据表明,TLE中大规模功能组织的破坏与其认知表现改变之间存在联系。
认知功能依赖于多个脑区之间随时间的协调互动。实际上,在健康的大脑中,大规模功能特性的重组能力与认知能力密切相关。大脑功能结构随时间的动态重构包含了足够的信息,可以明确地区分个体,代表了个体特异性的神经指纹。与神经系统疾病相关的脑功能组织变化可能会导致神经指纹的丧失,而神经指纹已被用作临床生物标志物。头皮EEG作为癫痫诊断的重要工具,可以无创地研究大脑区域间的通讯结构。近期的研究提出了一种基于EEG的测量方法,即微状态,作为一种源自全脑动态的潜在神经特征,不仅能够区分患者组与正常对照组,还能区分单侧颞叶癫痫(UTLE)与双侧颞叶癫痫(BTLE)。事实上,微状态是大脑电活动的一种稳定模式,它反映了大规模功能组织中的电活动分布。微状态作为一种有前景的神经标志物,能够揭示患者之间的个体差异,具有成为临床应用工具的潜力。
基于此,本研究旨在利用EEG信号捕捉到的大脑功能结构的动态特征来定义癫痫患者与对照组之间的神经指纹。神经指纹方法是一种有前景的研究方法,用于捕捉大脑动态重组中的个体特异性。这种方法通常被用来测量单个受试者脑电模式的稳定性(自相似性-Iself),以及个体与同组其他成员之间的相似性(与他人的相似性-Iothers)。该方法能够在组水平和个体水平上评估脑电模式的稳定性及其特征,不仅适用于健康个体,也适用于神经系统疾病和神经退行性疾病患者。这就引出了本研究的第二个目标,即识别能够解释癫痫患者特异性特征的潜在生物标志物,特别是针对不同类型的癫痫(如BTLE和UTLE)。
为此,本研究重点关注脑内非周期性扰动传播的拓扑结构,即神经雪崩(NAs)。NAs代表了大脑活动在大范围内的非周期性爆发,属于大脑临界性假说的一部分,该假说认为大脑在接近临界点的状态下运作,从而实现最佳的信息处理和适应性。这种方法可以在毫秒级时间尺度上捕捉大脑活动,并且已有证据表明,功能连接性是由这些非周期性爆发成分驱动的,其在大脑区域之间的传播可以存储在矩阵中,该矩阵被称为雪崩转移矩阵(ATMs)。先前的研究表明,癫痫患者的大脑临界动态发生了变化,并且这种变化与癫痫活动密切相关。ATMs是一种对颞叶癫痫(TLE)敏感的测量工具,能够提供有关癫痫患者大脑功能改变区域的信息,并揭示大脑动力学失调与灰质形态之间的关系。此外,与传统的功能连接测量相比,ATMs在捕捉神经指纹方面更为理想。在这里,本研究利用ATMs捕捉了颞叶癫痫患者与对照组的神经指纹。使用高密度头皮EEG(hdEEG,128通道)记录了10分钟的静息态活动,并进行了脑电源成像分析。静息态期间没有记录到癫痫发作,而且值得注意的是,本研究特意排除了发作间期的癫痫放电(IEDs),以研究大脑的基础状态是否能够在不考虑癫痫样活动的情况下,提供足够的信息来区分癫痫患者(单侧颞叶癫痫(UTLE)和双侧颞叶癫痫(BTLE))与健康对照组之间的差异。
方法
实验模型和参与者信息
本研究遵循《赫尔辛基宣言》进行实验。在对研究进行说明后,所有参与者均签署了书面知情同意书,并且该研究获得了Comitato Etico Area Nord Veneto伦理委员会的批准(批准号:0001878/24)。
本研究招募了72例颞叶癫痫患者,这些患者于2018-2022年间在Conegliano(意大利)的IRCCS Eugenio Medea癫痫与临床神经生理学科室进行了头皮高密度脑电图(hdEEG,128通道)临床评估。诊断流程包括临床病史和体检、神经心理学评估、长期表面视频脑电图(32通道)监测、hdEEG静息态记录、脑部MRI,以及在某些病例中进行的正电子发射断层扫描(PET)作为辅助检查。颞叶癫痫的诊断参照国际抗癫痫联盟(ILAE)指南。4例患者在hdEEG记录之前接受过侵入性手术,因此最终样本量减少至68例(31例左侧颞叶癫痫;17例右侧颞叶癫痫;20例双侧颞叶癫痫)(整个样本的平均年龄=41.40 [标准差=17.11];33名女性)。患者人口统计学和临床特征见表1。对照组的样本量为35名健康参与者,无神经或精神疾病史(平均年龄=34.92 [标准差=9.22];25名女性)。
表1.颞叶癫痫(TLE)患者的人口学特征及临床特征。
静息态EEG记录
使用128通道的Micromed系统记录hdEEG数据,以顶点为参考点。数据采样率为1024Hz,且每个传感器的阻抗保持在5kΩ以下。参与者舒适地坐在安静的房间里,并记录10分钟的闭眼静息态数据。
EEG预处理
通过EEGLAB 14.1.2b离线预处理EEG信号。第一步是以250Hz的频率对数据进行降采样,然后使用汉明窗sinc有限脉冲响应滤波器(滤波器阶数=8250)进行带通滤波(0.1-45Hz)。临床医生通过目视检查识别出癫痫样放电(IEDs)。将信号分成1s的时段。为了专注于大脑内在的功能组织,而不受癫痫样活动的干扰,包含IED的时段被剔除。接下来,使用EEGLAB中实现的TBT插件自动检测坏通道和伪迹。该算法的原理是识别出差异平均幅值超过250μV的通道,并将其标记为“坏通道”。在所有时段中,标记为“坏通道”的通道如果超过30%,则删除该数据。此外,若一个时段中有超过10个通道被标记为“坏通道”,则剔除该时段。通过EEGLAB中的Trimoutlier插件,采用1μV的下限阈值来检测平坦通道。剔除IED和伪迹相关的时段平均为55.04±52.96(SD)。通过独立成分分析(ICA)去除伪迹,使用的是EEGLAB中实现的Infomax算法。在对40个独立成分(ICs)进行目视检查后,去除包含眨眼、扫视、肌电和心电伪迹的ICs。预处理后的信号是将剩余的独立成分投影到电极空间中得到的。数据重新参考至所有电极的平均值。最终得到的数据包括每个受试者至少6分钟的无伪迹信号。
皮层源建模
为了生成TLE患者的个体化头部模型,本研究使用了包含T1各向同性3D采集的个体MRI解剖图像。由于无法获得3D T1 MRI序列,12名患者和对照组均采用了Brainstorm提供的MNI-ICBM152默认解剖结构。使用计算解剖工具箱(CAT12)将MRI图像分割为皮肤、颅骨和灰质。然后,将个体的大脑表面导入Brainstorm中,并应用边界元模型(BEM)方法来重建三个表面(即内颅骨、外颅骨和头部表面)。皮层网格在150002个顶点处进行了降采样。为了通过Brainstorm进行EEG电极的共配准,本研究使用个体或模板MRI的标志性点,将EEG传感器的位置投影到头部表面(图1A)。在将EEG电极位置投影到个体头部表面之前,研究人员会根据个体的解剖结构特征手动调整脑电帽的位置,确保电极放置准确。采用3层BEM模型建立EEG前向模型(电导率:0.33、0.165、0.33S/m;比率:1/20),使用的是Brainstorm中实现的OpenMEEG方法进行估计得到的。最后,使用Brainstorm的默认参数设置,通过加权最小范数估计重建源时间序列。
大脑动力学
为了探索大脑活动的动态性,本研究从源重建的时间序列中推导出了神经雪崩(图1B)。首先,为了公平比较,对每个参与者的数据记录使用了相同的时长。对于指纹分析,需要每个个体的两次记录(测试和重测),因此将每个记录分为两个等长的时段(即每个试次180s)。然后,从每个试次中随机选择(以避免偏差)100s的数据,例如始终选择所有记录的初始部分。此外,使用获得的最大数据长度(即180s)重复进行分析,以确保结果的可靠性。
神经指纹分析
基于大脑的动态特征使用ATMs方法进行神经指纹分析。最初的目标是按照Amico和Goñi概述的方法构建一个可识别性矩阵(IM)(图1C)。IM将参与者分成行和列,矩阵中的元素表示每个参与者的测试和重测ATMs之间的Pearson相关系数。IM包含自相似性的信息(Iself),表示对同一参与者的测试和重测ATMs进行比较的结果。此外,它还包括每个受试者与其他人的相似性(Iothers),表示不同个体之间的相似性。然后,通过计算Iself和Iothers之间的差异,得到差异可识别性(Idiff),该值提供了特定群体内指纹水平的估计。最后,通过对健康个体和患者的测试-重测ATMs进行相关分析,得到临床可识别性分数(称为“临床可识别性”或“临床指纹”)。该分数反映了患者与健康受试者之间的相似性。
神经心理学评估
所有患者(UTLE和BTLE)均采用抗癫痫联盟(LICE)神经心理学评估指南推荐的标准化测试(https://www.lice.it/pdf/Anamnesi_Neuropsicologica_LICE.pdf)进行神经心理学评估,评估内容包括记忆、注意力/执行功能和智力。神经心理学评分的描述性统计详见表2。
表2.神经心理学评估分数。
结果
本文旨在基于源重建的静息态头皮EEG信号(图1A)研究TLE患者(表1)和健康对照组的大脑指纹。具体来说,本研究从源信号中提取了NAs(即大脑活动的非周期性爆发),并将其传播模式存储到邻接矩阵中,即雪崩转移矩阵(ATM)(图1B)。首先,利用每个参与者的两次记录(测试和重测),将每组内的ATMs进行相关性分析,构建一个差异矩阵(图1C)。该矩阵用于显示哪些记录彼此最为相似。接下来,计算了三个指纹参数:(1)Iself:量化同一个体两次记录之间的相似性;(2)Iothers:个体与同组内所有其他人的平均相似性;(3)Idiff:个体在其组内的可区分程度。
图1.处理和分析管道。
指纹分析结果
为了研究TLE患者和对照组之间的大脑动态模式差异,本研究为每个组(即健康对照组、左侧颞叶癫痫患者[UTLE-左]、右侧颞叶癫痫患者[UTLE-右]、以及双侧颞叶癫痫患者[BTLE])构建了一个差异矩阵(图2A)。然后,将患者组和对照组的脑指纹参数(即Iself、Iothers、Idiff)进行比较。由于两组UTLE患者之间没有显著差异,但这两组与其他组之间均显示出相同的显著差异,故将这两组分为一组。对Iself参数进行的检验显示,三组之间存在显著差异(pFDR=0.023)。尤其是,健康对照组的Iself值显著低于单侧颞叶癫痫(UTLE)患者(pFDR=0.021)和双侧颞叶癫痫(BTLE)患者(pFDR=0.006)。此外,Iothers参数的主效应显著(pFDR<0.001)。进一步分析显示,健康对照组的Iothers值不仅高于UTLE患者(pFDR<0.001)和BTLE患者(pFDR<0.001),而且UTLE患者的Iothers值显著高于BTLE患者(pFDR=0.001)。最后,本研究观察到,Idiff参数的主效应显著(pFDR<0.001)。其中,健康对照组的Idiff值显著低于UTLE(pFDR<0.001)和BTLE(pFDR<0.001)。而且与UTLE患者相比,BTLE患者具有更大的Idiff值(pFDR=0.048)。使用180s试次记录进行的重复分析,其数据结果详见补充材料(图S1)。
图2.指纹分析结果。
大脑活动的稳定性
本研究依次考察了不同组参与者之间区域功能连接的稳定性,即ATMs的边缘稳定性。使用组内相关系数(ICC)对稳定性进行评估。具体来说,ICC值越高,表示在测试-重测记录中的边缘稳定性越高。在该分析过程中,将左侧和右侧颞叶癫痫(UTLE)患者分开进行分析,因为该分析考虑了参与者中每个特定边的值。图3显示了四个组中,各区域对边缘稳定性的贡献,分别从边缘(图3A)和节点(图3B)层面进行展示。然后,计算了每个参与者的平均稳定性(所有边缘的平均值),并进行了组间比较。结果显示,健康对照组(HC)的稳定性最低(HC的ICC均值=0.154,vs. 所有患者组,p<0.001;UTLE-左侧均值=0.339,vs. UTLE-右侧均值=0.267,vs. BTLE均值=0.36),这表明生理状态下的传播模式存在较高的异质性。相反,患者组表现出更高的稳定性,这种变化在双侧颞叶癫痫情况下尤为明显。值得注意的是,左侧颞叶癫痫(UTLE)患者的颞叶参与度显著。右侧UTLE患者并未出现类似的显著变化,而在双侧颞叶癫痫情况下,颞叶的参与主要为左侧。
图3.大脑活动的稳定性。
临床相关性
借鉴以往的研究,本研究计算了临床评分,该评分代表患者的ATM与健康对照组平均ATM的相似程度。研究发现,在单侧颞叶癫痫(UTLE)患者中,临床评分与图形回忆测试(ROCF-recall)的得分显著相关(r=0.48,pFDR=0.032)(图4)。其余神经心理变量(表2)未显示出显著的相关性。本研究还测试了所有指纹参数与患者服用药物数量之间的可能相关性,但未发现任何相关性。此外,由于研究中的大多数患者对药物具有耐药性,因此药物使用对研究结果的影响很小。
图4.临床相关性。
临床预测的多元线性回归分析
此外,本研究还检验了临床评分与其他预测因子(即受影响的半球、性别和年龄)共同预测ROCF -recall得分的能力。因此,本研究构建了一个多元线性回归模型,并使用嵌套的5折交叉验证(图5)进行验证(4000次迭代),结果发现年龄(p=0.016)和临床评分(p=0.0489)均有显著效应。交叉验证后的模型显著(p=0.007),解释方差为21.8%(R2=0.218),预测误差为20%(NRMSE=0.2),预测值与实际ROCF-recall得分之间的Spearman相关系数为0.718。
图5.临床预测的多元线性回归模型。
结论
本研究结果证实了ATMs是一种直接捕捉个体特异性、大规模时空动态的有效方法。虽然已有研究显示癫痫患者的大脑动态发生了变化,但本研究所提出的方法不仅有助于转化为临床应用,还能推动我们对癫痫相关的大规模神经生理机制的进一步理解。虽然大多数癫痫研究依赖于群体层面的功能连接分析,但神经指纹方法能够考虑到个体间的差异,生成能够为每个患者量身定制的指标,从而提供更具个体化的分析。此外,本文所采用的网络行为描述与大脑临界性理论有关,该理论有助于理解神经元群在多个尺度上的活动,并且与临界及亚临界癫痫样活动的产生有关。值得注意的是,为了更好地理解大脑皮层的动态变化,必须考虑到高阶非线性的相互作用,尤其是在NAs期间发生的那些相互作用,这些复杂的相互作用是解释皮层动态的关键。ATM是量化这种高阶大规模神经网络动态的有效工具,相比传统的基于相位或功率的连接测量指标,ATM能够更好地表征健康人群和临床人群的神经活动。
相关资源表
参考文献:Emahnuel Troisi Lopez, Marie-Constance Corsi, Alberto Danieli, Lisa Antoniazzi, Marianna Angiolelli, Paolo Bonanni, Pierpaolo Sorrentino, Gian Marco Duma, Dynamic reconfiguration of aperiodic brain activity supports cognitive functioning in epilepsy: A neural fingerprint identification, iScience, ISSN 2589-0042, https://doi.org/10.1016/j.isci.2024.111497.
小伙伴们关注茗创科技,将第一时间收到精彩内容推送哦~
相关文章:

非周期性脑活动的动态重构支持癫痫患者的认知功能:一种神经指纹识别方法
摘要 颞叶癫痫(TLE)的特征是大脑活动模式发生大规模的变化,并且这种变化与患者的认知功能受损密切相关。本研究旨在使用神经指纹方法分析大脑活动的动态重构,以描绘TLE患者的个体特征及其认知功能相关性。本研究收集了68名TLE患者和34名对照组的10min静息…...

ZYNQ初识6(zynq_7010)clock时钟IP核
基于板子的PL端无时钟晶振,需要从PS端借用clock1(50M)晶振 接下去是自定义clock的IP核封装,为后续的simulation可以正常仿真波形,需要注意顶层文件的设置,需要将自定义的IP核对应的.v文件设置为顶层文件&a…...

使用MFC编写一个paddleclas预测软件
目录 写作目的 环境准备 下载编译环境 解压预编译库 准备训练文件 模型文件 图像文件 路径整理 准备预测代码 创建预测应用 新建mfc应用 拷贝文档 配置环境 界面布局 添加回cpp文件 修改函数 报错1解决 报错2未解决 修改infer代码 修改MFCPaddleClasDlg.cp…...

SAP SD BP名称和销售订单描述的对应不起来的问题
问题 VBPA-ADRNR地址 和 KNA1-ADRNR 指向同一个号码 销售订单读取这个地址 改正后恢复正常 原因:推测 应该是创建Y0 电商客户的时候,引起锁和混乱导致的。 具体实际时什么样,不太清楚 写于20241230 浙江台州...

FlastOcc-网络复现-1.环境配置及问题
研究OCC网络 1.RuntimeError: Ninja is required to load C extensions RuntimeError: Ninja is required to load C extensions #32 Ninja is required to load C extensions File “/FlashOCC/projects/mmdet3d_plugin/core/evaluation/ray_metrics.py”, line 12, in dvr …...

Go语言中值接收者和指针接收者的区别?
在 Go 语言中,值接收者和指针接收者是方法定义中的两种接收者类型。它们的主要区别在于方法调用时的行为、接收者是否可以被修改,以及性能上的差异。 值接收者 定义 值接收者的方法接收的是调用对象的一个副本,方法内部对该副本的修改不会影…...

kafka小实站
需要先在前面的文章里面照着下载好kafka,并且启动 先启动zookeeper 项目目录 package kafka; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.springframework.kafka.annotation.KafkaListener; import…...

基于Python实现车辆检测、机动车检测、识别位置标记、计数
目录 引言背景与应用场景车辆检测的研究意义相关工作车辆检测概述机动车检测方法分类基于传统计算机视觉的检测方法基于深度学习的检测方法技术与方法车辆检测技术概述基于Python的车辆检测方法图像处理与特征提取深度学习方法(如YOLO、SSD、Faster R-CNN等)数据集与标注常用…...

心理学硕士
心理学硕士的主要研究方向包括基础心理学、发展心理学和应用心理学。 基础心理学研究一般的心理现象与规律,如心理的实质及神经机制、感觉与知觉、意识与注意、学习与记忆、思维与语言、情绪与意识、人格等。发展心理学研究人类个体心理发生发展的特点和规律&a…...

python量化分析学习与实践1:API接口篇
业内比较流行的几款API数据接口,有聚宽、TuShare,yfinance,以及pandas的pandas_datareader等。国内的一般都需要用户认证,才能下载数据。国外的yfinance与pandas_datareader等则不需要,但需要科学上网。 聚宽 测试下…...

【GO基础学习】gin的使用
文章目录 模版使用流程参数传递路由分组数据解析和绑定gin中间件 模版使用流程 package mainimport ("net/http""github.com/gin-gonic/gin" )func main() {// 1.创建路由r : gin.Default()// 2.绑定路由规则,执行的函数// gin.Context&#x…...

网卡状态变更,virtio-net检测
实现方案: 现在在amp模式下linux端有个真实的物理网卡eth0,有一个虚拟网卡virtio-net0后端,此时需要一种机制,将真实物理网卡的状态发送rtos的virtio-net0前端。这里使用register_netdevice_notifier机制,每个virtio-n…...

中华人民共和国保守国家秘密法
中华人民共和国保守国家秘密法 (1988年9月5日第七届全国人民代表大会常务委员会第三次会议通过 2010年4月29日第十一届全国人民代表大会常务委员会第十四次会议第一次修订 2024年2月27日第十四届全国人民代表大会常务委员会第八次会议第二次修订) 目…...

ELK日志收集系统部署
1、 ElasticSearch部署 Elastic — 搜索 AI 公司 | Elastic 系统类型:Centos7.4 节点IP:172.16.246.234 软件版本:jdk-8u191-linux-x64.tar.gz、elasticsearch-6.5.4.tar.gz 示例节点:172.16.246.234 1、安装配置jdk8 ES运行依…...

3D线上艺术展:艺术与技术的完美融合
随着数字技术的飞速发展,未来的艺术展览正逐步迈向线上线下融合的新阶段。其中,3D线上展览以其独特的魅力,成为线下展览的延伸与拓展,为艺术爱好者们开辟了全新的观赏途径。 对于艺术家和策展人而言,3D线上展览不仅打…...

TiDB 的MPP架构概述
MPP架构介绍: 如图,TiDB Server 作为协调者,首先 TiDB Server 会把每个TiFlash 拥有的region 会在TiFlash上做交换,让表连接在一个TiFlash上。另外 TiFlash会作为计算节点,每个TiFlash都负责数据交换,表连接…...

Leetcode 10-正则表达式匹配/ 剑指 Offer 19. 正则表达式匹配
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符 ‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s 的,而不是部分字符串。 题解 字符串匹配多…...

FFmpeg 编码和解码
文章目录 音频格式AACADIF音频数据交换格式ADTS音频数据传输流 音频解码音频编码 视频格式H264GOP图像组I帧,P帧,B帧H264压缩技术H264压缩级别H264视频级别H264码流结构SPSPPS 解码视频编码视频 音频格式 AAC AAC全称 Advanced Audio Coding࿰…...

kali当中web扫描工具的用法
1. cadaver 用途:用于与WebDAV服务器交互,可进行文件上传、下载、目录浏览等操作。使用方法 连接到WebDAV服务器:cadaver <WebDAV服务器地址>,例如cadaver https://example.com/dav,然后按提示输入用户名和密码…...

深度剖析 Android Animation 框架
深度剖析 Android Animation 框架 目录 引言Android Animation 框架概述架构设计 3.1 核心类与接口3.2 动画类型3.3 动画执行流程使用指南 4.1 属性动画4.2 视图动画4.3 过渡动画设计模式 5.1 策略模式5.2 观察者模式5.3 工厂模式核心逻辑 6.1 动画插值器6.2 动画估值器6.3 动…...

泰山派GPIO子系统驱动---亮灯
本人linux驱动小白,文章基于B站up主 李Sir______ 视频内容记录,做笔记用。如有错误欢迎指正。本文将以开发板第40引脚GPIO3_B4作为LED灯珠的控制引脚,高电平灯亮,低电平灯灭。 杂话 在linux内核中,芯片厂商已经把所有…...

【C#特性整理】C#特性及语法基础
1. C#特性 1.1 统一的类型系统 C#中, 所有类型都共享一个公共的基类型. 例如,任何类型的实例都可以通过调用ToString方法将自身转换为一个字符串 1.2 类和接口 接口: 用于将标准与实现隔离, 仅仅定义行为,不做实现. 1.3 属性、方法、事件 属性: 封装了一部分对…...

Presence:Colyseus用于管理实时分布式数据的工具
Colyseus Presence 详细介绍 Presence 是 Colyseus 中用于管理实时分布式数据的一种工具。它主要用于在多房间、多服务器或分布式部署中实现玩家的实时在线状态、数据共享和通信。Presence 提供了一套简单的 API 来处理诸如在线玩家跟踪、分布式数据存储和发布/订阅模式等功能…...

Ubuntu 搭建SVN服务
目录 1、安装SVN服务端 2、创建SVN版本库 3、修改SVN配置svnserve.conf 3.1 配置文件介绍 3.2 svnserve.conf配置 3.3 authz配置设置用户读写权限 3.4 passwd配置 用户名密码 4、启动SVN服务 4.1 配置开机启动 1、安装SVN服务端 sudo apt-get install subversion…...

HTML速查
HTML 基本文档 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>文档标题</title></head><body>可见文本...</body> </html>基本标签(Basic Tags) <h1>最大的…...

day-102 二进制矩阵中的最短路径
思路 BFS 解题过程 从起点依次向八个方向尝试(之后也一样),如果某个位置在矩阵内且值为0且没有访问过,将其添加到一个队列中,依次类推,直到到达出口 Code class Solution {public int shortestPathBinar…...

SQL Server大批量数据插入
数据库连接及相关操作 public class DataBase {/*** 驱动*/private static final String DRIVER PropertiesUtil.getString("spring.datasource.driver-class-name");/*** 数据库地址*/private static final String URL PropertiesUtil.getString("spring.da…...

在 Ubuntu 下通过 Docker 部署 Caddy 服务器
嘿,伙伴们!今天我们来聊聊如何在 Ubuntu 系统下通过 Docker 部署 Caddy 服务器。Caddy 是一个现代的 Web 服务器,支持自动 HTTPS,简单易用,特别适合快速搭建网站。而 Docker 则是一个让你可以隔离和管理应用的神器。结…...

ZooKeeper注册中心实现
具体步骤 安装ZooKeeper(启动端口占用,2181:客户端,8080:管理端)引入客户端依赖实现注册中心接口SPI补充ZooKeeper注册中心 引入依赖 <!-- zookeeper --> <dependency><groupId>org.a…...

数仓建模:如何进行实体建模?
目录 1 如何进行实体建模? 业务建模 领域建模 逻辑建模 2 实体建模具体步骤 需求分析...