实用的Ring-LWE密钥交换实现 该软件为纯C(C99标准)。 编译已在Linux上使用gcc进行了测试。 依赖项是glibc-devel和openssl-devel,或其他平台上的等效项。 Makefile中的注释描述了如何在不使用openssl-devel的情况下进行编译,但这并不安全,请参见下文。 编译所有内容(模拟器,基准测试和测试向量): 要运行所有已编译的程序:进行测试 该软件提供了一种实用且有效的类似于Diffie-Hellman的密钥交换的实现,可证明该方法被动地抵御了量子和经典对手的攻击。 它基于带有错误的环学习(ring-LWE)问题,涵盖了一系列安全级别和公钥大小。 它可以很容易地扩展到主动安全版本和经过身份验证的版本。 密钥交换由整数m和q,对帐方法和采样方法参数化。 我们给出m为2的幂且m为质数的情况的代码。 当m为2的幂时,公钥是m个整数的数组,范围为
2026-09-28 22:46:00 686KB
1
### Spring Boot 学习笔记之热部署与代码变更检测 #### 概述 Spring Boot 是一个基于 Spring 的框架,旨在简化新 Spring 应用程序的初始设置和开发过程。Spring Boot 的目标是允许开发者“只是运行”,即尽可能减少配置和其他形式的样板代码。在实际项目开发过程中,开发人员经常会遇到修改代码后需要重新启动应用才能看到效果的问题,这不仅增加了开发时间成本,也降低了开发效率。因此,热部署和代码变更检测成为了提高开发效率的关键技术之一。 #### 热部署与代码变更检测方案 热部署和代码变更检测是开发者在开发过程中非常重要的功能。它们可以帮助开发者在修改代码后无需重新启动应用即可看到结果。本文将详细介绍如何在 Spring Boot 项目中实现热部署和代码变更检测。 #### 实现方案 1. **使用 springloaded 进行热部署** - 在 `pom.xml` 文件中添加以下依赖配置: ```xml org.springframework.boot spring-boot-maven-plugin org.springframework springloaded 1.2.4.RELEASE repackage exec ``` - 下载 `spring-loaded-1.2.4.RELEASE.jar` 文件并放置于项目的 lib 目录下,同时设置 IDEA 的 run 参数中的 VM 参数为 `-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar-noverify`。这样,在使用 `run as Java Application` 方式启动时,可以实现热部署。 2. **使用 spring-boot-devtools 进行热部署** - 添加 `spring-boot-devtools` 依赖包至 `pom.xml` 文件中: ```xml org.springframework.boot spring-boot-devtools true true ``` - 添加 `spring-boot-maven-plugin` 配置至 `pom.xml` 文件的 `` 节点中,并设置 `` 属性为 `true`,确保 devtools 能够正常工作: ```xml org.springframework.boot spring-boot-maven-plugin true ``` - 使用 spring-boot-devtools 的核心原理是利用两个 ClassLoader 分别加载静态类和可变类。当代码发生变更时,会抛弃旧的 restartClassLoader 并重新创建一个新的,从而实现快速重启。 #### 测试与验证 - 修改任何类文件并保存,应用程序应自动重启。 - 修改配置文件并保存,应用程序同样应自动重启。 - 修改页面模板文件(例如 Thymeleaf)并保存,页面应自动刷新。为了实现这一点,可以在 `application.properties` 文件中设置 `spring.thymeleaf.cache=false`。 #### 问题及解决 针对某些特定情况,如添加新的方法后无法进行热部署,可以通过使用 `spring-boot-devtools` 来解决这一问题。这是因为 `spring-boot-devtools` 采用了更为高级的机制来监控代码的变化,并在必要时重新启动应用,以确保所有更改都能及时生效。 #### 总结 热部署和代码变更检测是提高开发效率的有效手段。通过在 Spring Boot 项目中集成 `springloaded` 或 `spring-boot-devtools`,可以显著提升开发体验,使开发者能够专注于业务逻辑的实现而非频繁的重启过程。希望本文能帮助到正在学习或使用 Spring Boot 的开发者们。
2026-06-04 12:50:47 941KB springBoot
1
本文来自博客园,本文首先介绍了互联网界与机器学习大牛结合的趋势,以及使用机器学习的相关应用。在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便全然不了解机器学习的人也能了解机器学习。而且上手相关的实践。这篇文档也算是EasyPR开发的番外篇。从这里開始。必须对机器学习了解才干进一步介绍EasyPR的内核。当然,本文也面对一般读者。不会对阅读有相关的前提要求。在进入正题前。我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?我并不直接回答这个问题前。相反,我想请大家看两张图下图是图一:图1机器学习界的执牛耳者与互联网界的大鳄的联姻这幅图上上的三人是
2026-06-03 17:15:37 869KB
1
《Altium Designer实战教程——基于全志A64的6层通孔板设计解析》 在电子设计领域,Altium Designer是一款广泛使用的PCB设计软件,它集成了电路原理图设计、PCB布局、3D查看、信号完整性分析等功能,为工程师提供了全方位的设计解决方案。本教程将通过一个具体的案例——全志A64平板电脑的6层通孔板设计,深入解析Altium Designer在实际项目中的应用。 全志A64是一款高性能、低功耗的四核ARM Cortex-A53处理器,常用于平板电脑、智能电视盒等产品。在设计这样的PCB时,需要考虑处理器的散热、电源管理、信号传输效率以及电磁兼容性等多个方面。6层通孔板的设计能够提供足够的布线空间,优化信号层的分布,同时通过通孔技术实现多层之间的连接,提高电路的复杂性和可靠性。 在Altium Designer中,首先我们需要创建一个新的项目,设置好板子的基本参数,如尺寸、层数、安全间距等。然后,导入全志A64的芯片数据,绘制电路原理图。在这个过程中,需要正确配置电源、接地网络,确保电路的稳定运行。同时,合理安排元器件布局,避免信号交叉干扰,提升系统性能。 接下来是PCB布局阶段,Altium Designer提供了强大的自动布局和手动调整功能。我们应根据信号类型、频率、功率等因素,进行层次化布局,将关键信号如时钟、高速数字信号与模拟信号分开处理。6层板的设计中,通常顶层和底层用于信号走线,中间层则用于电源和地平面,以减少噪声并提高电源稳定性。 在布线阶段,我们要遵循规则驱动设计(RDC),确保布线满足电气规则、物理规则和设计约束。对于全志A64的高密度接口,如USB、HDMI等,需要特别关注信号完整性,合理规划布线路径,减少回路面积,降低串扰。此外,通过使用通孔技术,我们可以实现不同层间的连接,提高设计的灵活性。 在设计完成后,Altium Designer还提供了仿真工具,如ERC(Electrical Rule Check)和DRC(Design Rule Check),对设计进行全面检查,确保没有违反设计规则。同时,3D查看功能可以帮助我们预览PCB的立体结构,检查元器件的物理干涉问题。 生成Gerber文件,这是PCB制造的输入文件。在发送给制造商前,需要进行最后一轮的检查,确保所有的细节都符合制造要求。 通过这个全志A64平板电脑6层通孔板的案例,读者不仅能掌握Altium Designer的基本操作,还能理解PCB设计的关键步骤和注意事项。希望这个教程能帮助你提升在电子设计领域的专业技能,无论你是初学者还是经验丰富的工程师,都能从中受益。
2026-06-03 11:24:07 1.89MB
1
标题中的“英语美文欣赏共93篇”表明这是一份包含93篇文章的资源,主要目的是供人欣赏和学习英语。这些文章可能是精选的散文、诗歌或故事,旨在提高用户的英语阅读理解能力,同时也提供了欣赏英语语言美学的机会。通过阅读高质量的英文文本,学习者可以增强词汇量,提升语法理解,以及对英文表达方式和句型结构的掌握。 描述中提到“中英文对照”,意味着每篇文章都有对应的中文翻译,这对于非母语英语的学习者来说是一个巨大的帮助。它允许学习者在遇到难以理解的句子或词汇时,迅速查看中文解释,加深理解。此外,“高清”可能指的是文档的排版清晰,易于阅读,而“不断更新”则意味着这个资源可能随着时间推移会添加更多的内容,确保学习材料的新鲜度和多样性。 “标签”包括“英语美文”、“英文短文阅读”和“双语学习”。这些标签揭示了资源的主要特点和用途。"英语美文"强调了文本的艺术性和文学价值;"英文短文阅读"提示这些文章篇幅适中,适合快速阅读和学习;"双语学习"则表明这是一个结合两种语言的学习工具,适合那些希望在比较中学习的人。 从压缩包内的文件名“英语美文欣赏共93篇”来看,所有的文章可能都包含在这个单一的文件中,可能以章节或主题的形式组织,方便用户按需查阅。这样的组织形式有助于系统性地学习和逐步提升英语水平。 这份资源为英语学习者提供了一种高效、有深度的学习途径。通过阅读和对比中英文,不仅可以提高语言技能,还能领略英语的韵味和魅力。对于想要提升英语阅读能力、拓展词汇、了解西方文化或者纯粹享受英文之美的人来说,这是一份不可多得的宝藏。持续更新的内容保证了学习资料的全面性,使用户能够随着自己的进步同步接触到最新的英语表达。因此,无论你是初学者还是进阶者,都可以从中找到适合自己水平和兴趣的内容,实现英语学习的目标。
2026-06-03 10:48:28 616KB 英语美文 英文短文阅读 双语学习
1
想学FOC的人可以瞅瞅!
2026-06-02 23:21:31 263.56MB 课程资源
1
一、课堂专注度分析系统 该系统通过深度学习算法,能够实时分析学生的课堂专注度。其主要功能包括: 脸部朝向检测:系统通过摄像头捕捉学生的脸部图像,利用深度学习算法判断学生是否面向讲台正前方,以及分析脸部上下左右角度和正面的时间占比。 五官及情绪识别:通过分析学生的五官和微表情,如点头示意、微笑等,系统可以判断学生是否注意力集中。这种情绪识别功能有助于教师了解学生的学习状态,并据此调整教学策略。 行为识别:系统能够监测学生的各种行为,如使用手机、交头接耳、低头不看黑板、伏案睡觉、举手等。这些行为数据的分析可以帮助教师识别出可能存在的课堂问题,如学生分心、不积极参与课堂等。 自定义规则配置:学校可以根据自身情况自定义配置专注度参数,以满足不同的教学质量评估标准要求。 二、考试作弊检测系统 该系统同样基于深度学习技术,能够在考试过程中实时监测学生的行为,以检测可能的作弊行为。其主要功能包括: 异常行为识别:系统通过摄像头捕捉学生的行为,利用深度学习算法识别出可能的作弊行为,如偷看他人试卷、传递纸条、使用通讯设备等。 声音分析:系统可以通过语音识别技术,分析考场内的声音,检测是否存在异常
2026-06-02 17:08:59 94.97MB 深度学习
1
黑白群晖 DSM7.X 监控套件 SurveillanceStation 授权 教程 教程:https://blog.csdn.net/maxage/article/details/131023919 仅供学习研究使用,请勿用于商业用途。 SurveillanceStation 的功能和特点: 视频监控管理:SurveillanceStation 提供直观的用户界面,方便用户管理和监控多个网络摄像头。您可以轻松查看实时视频、回放录像、设置警报和时间表等。 智能分析:该软件支持人脸识别、移动侦测和声音侦测等智能分析功能。这些功能可以帮助您更好地理解和处理监控场景中发生的事件。 远程访问和移动应用:通过 Synology 提供的移动应用程序,您可以随时随地通过手机或平板电脑远程访问 SurveillanceStation,并实时查看监控画面。 存储管理:SurveillanceStation 可以与 Synology 的网络存储设备(如 DiskStation)结合使用,以提供高效的存储解决方案。您可以根据需要扩展存储容量,并使用存储管理功能进行数据备份和恢复
2026-06-01 21:15:38 169.15MB 网络 网络 课程资源
1
内容概要:本文介绍了一个基于RK3568嵌入式开发板和YOLO v12深度学习模型的自动灭蚊枪项目。系统通过摄像头实时采集图像,利用YOLO v12模型识别蚊子,并结合双轴舵机云台实现动态追踪。当蚊子进入瞄准范围时,系统控制气泵与电磁阀发射盐粒进行精准击杀。项目涵盖完整的硬件选型、电路连接、软件编程(包括Python端的目标检测与MicroPython端的舵机控制)、模型训练及部署流程,实现了从感知到执行的闭环自动化。; 适合人群:具备嵌入式开发基础、熟悉Python与微控制器编程的开发者,以及对AI视觉应用感兴趣的技术爱好者或科研人员。; 使用场景及目标:①智能家居中的自动害虫防控;②学习基于深度学习的目标识别与嵌入式控制系统集成方法;③实践计算机视觉、自动控制与物联网技术的融合应用; 阅读建议:建议结合硬件连接图与代码逐步搭建系统,重点关注YOLO模型的部署优化、串口通信协议设计及实际控制响应延迟问题,调试过程中应持续优化识别阈值与控制参数以提升命中率。
2026-06-01 19:27:31 180KB 深度学习 嵌入式开发 RK3568 目标检测
1
随着无线通信技术的迅速发展,移动天线阵列在提高信号覆盖质量和通信效率方面起着至关重要的作用。在众多优化技术中,强化学习凭借其自适应学习和决策能力,为天线阵列的优化提供了新的研究方向。强化学习是一种机器学习范式,它通过与环境的交互来学习在特定状态下采取的最优行动,以此获得最大的长期奖励。在移动天线阵列优化中,强化学习能够有效地解决在不断变化的环境和动态条件下,如何调整天线参数以获得最佳性能的问题。 强化学习通常包括智能体(Agent)、环境(Environment)、状态(State)、行动(Action)、奖励(Reward)等核心要素。在移动天线阵列的优化过程中,智能体可以是控制天线调整的算法,环境则是无线信道和干扰条件,状态是对信号质量和干扰水平的描述,行动指的是天线参数的变化,而奖励则是基于通信质量的评价标准。通过这种方式,智能体在不断尝试和探索的过程中,学习到在不同状态下如何调整行动来获得最优的通信性能。 移动天线阵列优化中的一个关键挑战是如何处理和适应环境的动态性,例如移动用户的位置变化、多径效应和环境遮挡等。强化学习算法通过不断地接收环境反馈,并基于此做出调整,能够有效地应对这些挑战。例如,在面临多用户接入的场景中,智能体需要根据用户的位置和通信需求动态地调整天线阵列的波束成形参数,以实现多用户信号的分离和干扰的最小化。 在强化学习的实践中,一些关键的技术和算法被广泛使用。Q学习和深度Q网络(DQN)是其中的代表,它们能够处理高维状态空间的决策问题。在移动天线阵列优化的实际应用中,通常需要对天线的复杂参数空间进行探索和学习,因此深度强化学习(Deep Reinforcement Learning, DRL)技术被引入,通过深度神经网络来逼近最优策略函数,实现对高维状态空间的有效处理。此外,考虑到天线阵列优化的实时性要求,智能体的训练和决策过程通常需要高度优化,以确保在毫秒级别的响应时间内完成计算。 强化学习在移动天线阵列优化中的应用不仅限于波束成形和信号分割。它还能够应用于网络资源的动态管理、频谱效率的提升、以及自适应调制解码等方面。通过自适应地调整通信系统的工作模式,强化学习能够帮助系统在不同的网络条件下保持最优性能。 尽管强化学习在移动天线阵列优化领域展现出巨大的潜力,但同样存在一些挑战,如算法收敛速度、稳定性、以及训练数据需求等问题。这些问题的解决需要进一步研究,并在实际应用中进行精细化设计和优化。 强化学习为移动天线阵列优化提供了一种全新的思路和方法,它能够有效地处理动态环境中的通信问题,并有望在未来的通信系统中发挥更为重要的作用。随着研究的深入和技术的进步,我们可以期待在实际的无线通信网络中看到更多基于强化学习的高效智能优化方案。
2026-06-01 15:18:38 15.48MB 强化学习
1