java+springboot+oauth2 写的统一身份认证系统+sso服务端及客户端程序,包括数据库及操作步骤及如何进行部署操作等,确保大家对统一身份认证有个深刻的认识,数据库已提供,需要大家自己导入到自己的系统中。 统一身份认证操作文档。 1. 首先导入数据库sso_db,导入到本机或者服务器上。 (2)更改application_dev.yml中的url对应ip及数据库名称,对应的用户名和密码。 (3)用idea打开ServerDemo程序,并自动导入依赖包。 (4)单击右侧加号,选择ServerDemo下的pom.xml文件即可实现加载所有依赖。 (5)单击设置配置好运行的项目单击启动按钮即可。 (6)待程序启动成功后,输入地址http:// 127.0.0.1:7000/login,输入用户名:admin 密码:admin 单击登录按钮即可实现跳转到首页面。 (7)跳转后的首页面为:http:/127.0.0.1:7000/user/userIndex页面。 (8)输入http://127.0.0.1:7080/即可打开客户端1。
2026-04-20 13:55:20 45.21MB
1
该代码允许将反射率转换为颜色空间 CIE 1964(10° 补充标准观察者)内的坐标,在 5 nm 测量采样下,六个 CIE 光源:A、C 和 D(日光)系列的四个光源:D50、D55 、D65、D75。 该功能自动对 380-780 nm 波长范围执行光谱阈值处理,并通过一维线性算法对计算范围内的缺失数据进行外推。 输出表示为 L*、a*、b*,并考虑在可见色域 L* = [0, 100]、a* 和 b* = [-127, 127] 范围内的 D65 光源照射下的物体。
2026-04-20 12:24:00 5KB matlab
1
Delphi线程池实现多线程FTP分段下载组件 by :renshouren mail:114032666@qq.com QQ:114032666 2019.10.05 使用的组件 1、TIdFTP Indy FTP客户端 2、TThreadsPool 线程池 工作原理及流程 调用本单元,将自动在程序初始化时生成线程池TThreadPoolDown实例 Share_ThreadPool_FTPDown 一、外部调用方法 外部只需要一次性调用 FtpDown() 函数向线程池加入下载任务,下载任务执行中的事件会通过调用时注册的 回调函数 AFtpDownEvent 进行通知。 二、内部工作流程 1、FtpDown()函数将调用TThreadPoolDown.AddFtpDown() ,然后调用TADownFileObj.MakeGetFileSizeObj()分配线程任务 本过程中,将向回调函数 AFtpDownEvent 触发 HEM_ADDURL 事件通知 2、工作线程调用任务对象TFTPHeadObj.DoThreadExecute 过程获取远程文件大小 备注:该功能实际使用到FTP命令SIZE,该命令一些老版本FTP服务器有可能不支持 本过程中,若获取文件大小成功,将向回调函数 AFtpDownEvent 触发 HEM_GETSIZE 事件通知, 若失败,则触发 HEM_ERROR 事件通知 3、得到远程文件大小后,调用TADownFileObj.MakeGetObjs(),分配获取远程文件线程任务 本过程中,开始时,将向回调函数 AFtpDownEvent 触发 HEM_WORKBEGIN 事件通知 在接收数据时,向回调函数 AFtpDownEvent 触发 HEM_WORK 事件通知 4、工作线程调用任务对象 TFTPGetObj.DoThreadExecute 实际下载远程文件数据块 每一个数据块下载任务完成后,触发 HEM_BLOCKOK 事件通知 5、所有数据块完成后,将调用 DoDownloadOK 函数,触发 HEM_DOWNOK 事件通知
2026-04-20 09:28:28 14KB Delphi FTP 线程池
1
TCP/IP协议作为互联网通信的基础架构,其重要性不言而喻。W. Richard Stevens的《TCP/IP详解》系列书籍,从理论到实践,从基础到深入,系统地阐述了TCP/IP协议栈的各个层面,是学习和深入理解网络协议不可或缺的资料。 在第一卷《TCP/IP详解卷1:协议》中,Stevens首先将读者引入网络分层的世界,讲解了OSI七层模型以及TCP/IP四层模型的概念,并着重介绍了每一层的主要协议。其中网络接口层不仅包括了以太网,还涵盖了其它数据链路层协议和物理层技术。在互联网层,Stevens深入分析了IP协议的设计原理,解释了IP地址的分类与子网划分,以及子网掩码的作用。此外,IP协议的辅助协议,如ICMP、ARP和RARP,也得到了详尽的介绍。传输层作为TCP/IP协议栈的核心部分,作者详细阐述了TCP的三次握手建立连接和四次挥手断开连接的过程,深入解析了TCP如何通过序列号、确认应答、流量控制等机制保证数据传输的可靠性和顺序性。而UDP作为一种简单的无连接协议,其在某些特定场景下的应用也有所涉及。在应用层部分,作者则以FTP、SMTP等经典协议为例,讲述它们的工作机制和通信流程。 第二卷《TCP/IP详解卷2:实现》则更加贴近操作系统内核的实现,内容偏向技术细节和底层机制。Stevens通过内核的角度,讲解了网络数据包的处理流程,包括数据包的接收和发送、路由决策、以及网络接口的管理。这部分内容对于系统程序员和网络工程师具有极大价值,因为它们涉及的网络堆栈构建和优化技术,可以帮助开发者理解和提升网络服务的性能。实现卷还详细探讨了TCP、UDP和IP等协议在内核中的具体实现,包括缓冲区管理、拥塞控制、以及如何在不同操作系统的环境下实现这些协议。这对于那些希望深入操作系统底层进行网络编程的读者来说,是一份宝贵的资料。 到了第三卷《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》,Stevens的焦点转向了应用层协议的实现与交互机制。该卷深入讨论了TCP事务协议,探索了其在多种网络服务中的应用,例如远程文件操作、数据库查询等。接下来,对HTTP协议的解析,让读者理解了Web服务的请求/响应模型,以及HTTP协议中的各种方法、状态码和头部信息的作用。NNTP作为网络新闻的传输协议,其新闻文章的发布、检索、流转的机制在这部分得到了详细解读。UNIX域协议作为一种本地进程间通信机制,其高效的数据交换方式对于需要本地通信的应用程序开发者而言至关重要。卷三的这部分内容为开发者提供了这些常用协议的深入了解,对网络编程和应用开发具有指导意义。 总结来说,《TCP/IP详解》系列书籍,从理论到实践,从基础到应用,为读者提供了一套完整的TCP/IP协议学习路径。无论是网络初学者还是资深网络工程师,这套书都能够提供丰富的知识和指导,帮助读者深入理解网络通信的各个层面,从而在实际工作和研究中发挥重要作用。
2026-04-19 19:30:38 40.42MB TCPIP IP
1
基于STM32的普通GPIO模拟串口软件UART代码,软件UART的功能包括:有符号整型变量打印、无符号整型变量打印、十六进制变量打印、浮点型变量打印、字符变量打印以及串口数据接收。代码稳定且兼容性强,积分不够的读者朋友点波关注,作者免费提供源码! 在嵌入式系统开发领域,STM32微控制器以其高性能、低功耗和高集成度的特性,被广泛应用在各种电子设备中。其中,串口通信是微控制器与外界进行数据交换的重要手段之一。传统的硬件串口在许多应用场景中已经无法满足特殊需求,因此软件模拟串口技术应运而生,弥补了硬件串口的不足。 软件模拟串口(软件UART)是一种不依赖于硬件串口模块,通过软件编程实现的串行通信方式。通过精确控制GPIO(通用输入输出)引脚的电平变化和定时,软件UART可以模拟出标准的串口通信协议。这为开发者提供了一个灵活的解决方案,尤其是在硬件资源有限或者需要多串口通信的应用中具有重要意义。 在实现软件UART时,开发者需要考虑到波特率的精确生成、起始位和停止位的准确控制、奇偶校验位的处理、以及数据的发送与接收等关键问题。针对STM32微控制器,可以通过编程其定时器来生成稳定的时钟源,然后利用定时器中断服务程序来控制GPIO引脚的电平变化,从而实现数据位的精确发送。同时,软件UART还需要具备数据接收的功能,包括对串口数据的采样、识别起始位、接收数据位以及停止位等,并且能够处理接收数据中的错误情况。 本文档提供的STM32软件UART代码,不仅涵盖了有符号整型、无符号整型、十六进制、浮点型以及字符变量的打印功能,还支持了串口数据的接收。该软件UART代码的稳定性和兼容性得到了保证,能够适用于多种不同的应用场景。此外,作者承诺对于积分不足以获取源码的读者,关注后可以免费获得源码,这无疑对很多对成本敏感的开发者来说是个好消息。 开发者在使用这些代码时,需要具备一定的嵌入式系统开发基础和对STM32系列微控制器的理解。此外,熟悉C语言编程和对中断、定时器等底层硬件控制概念的掌握也是必不可少的。代码的具体实现细节包括了串口初始化、发送中断服务程序、接收中断服务程序等关键部分,开发者需要根据自己的具体需求对这些部分进行适当的修改和扩展。 软件UART的实现对于资源受限的嵌入式系统来说,提供了极大的灵活性和成本优势。开发者可以根据自己的项目需求,设计出适合的通信协议和数据包格式,从而实现不同设备或模块间的通信。这对于物联网设备、工业控制系统、智能传感器等领域尤其重要,因为这些领域往往对成本和体积有着严格的限制。 在具体的应用实践中,软件UART的使用需要配合相应的通信协议,保证数据传输的可靠性。开发者可能还需要考虑信号的滤波、差错控制、同步机制等问题。对于不同的通信环境和条件,可能还需要对软件UART进行优化,以适应各种外部干扰和噪声的影响。 软件UART技术提供了一种创新的串口通信方式,为开发者带来了更多的可能性和灵活性。特别是基于STM32的软件UART实现,更是为那些面对资源限制和特殊需求的嵌入式系统开发人员提供了一个强有力的工具。通过这种方式,开发者可以设计出更为高效和定制化的通信解决方案,从而推动嵌入式技术的发展。
2026-04-19 17:30:33 11.96MB 软件UART STM32 串口
1
旋转编码器是一种常见的传感器,常用于测量物体的旋转角度、速度和方向,广泛应用于工业自动化、机器人、仪器仪表等领域。本资源是针对STM32F407ZGT型号微控制器,基于正点原子探索者开发板实现的旋转编码器处理代码。这个代码库旨在帮助开发者理解如何在STM32平台上读取和处理旋转编码器的信号,同时具有良好的可移植性,可以适应其他项目。 STM32F407ZGT是意法半导体(STMicroelectronics)推出的一款高性能、低功耗的32位微控制器,属于STM32F4系列。它集成了ARM Cortex-M4内核,工作频率高达180MHz,拥有丰富的外设接口和内存资源,非常适合进行嵌入式系统开发。 编码器通常有增量型和绝对型两种。增量型编码器通过检测转子的相对位置变化来输出脉冲信号,每个脉冲代表一定的角度变化。在本项目中,可能使用了两个相位相差90度的输出信号,通过检测它们的上升沿和下降沿,可以精确地计算出旋转的方向和速度。绝对型编码器则能直接提供当前的位置信息,无需累计脉冲。 在Arduino环境中,虽然主要面向AVR单片机,但也可以通过Arduino IDE和第三方库支持STM32开发。在这个项目中,可能使用了类似STM32duino的库,使得STM32开发与Arduino的编程风格保持一致,简化了开发流程。 "实验5 外部中断实验"这一文件名表明,该代码可能着重于利用STM32的外部中断功能来捕捉编码器的脉冲信号。STM32F407ZGT支持多种中断源,包括GPIO端口上的上升沿、下降沿和双边沿触发中断。编码器的每个通道可能会连接到一个GPIO端口,并配置为中断模式,当检测到信号变化时,微控制器将中断正常执行的程序,处理中断服务例程,更新旋转角度或速度信息,然后返回主循环。 开发旋转编码器应用的关键步骤包括: 1. 配置GPIO:设置编码器信号线为输入,选择合适的中断模式。 2. 编写中断服务例程:在中断发生时更新计数器,判断旋转方向。 3. 初始化定时器:用于计算旋转速度,可以使用定时器的捕获比较功能记录脉冲时间间隔。 4. 处理编码器数据:根据计数器的值计算旋转角度,根据脉冲间隔计算速度。 5. 可能还需要考虑抗干扰措施,如滤波算法,提高系统稳定性。 此代码库对学习和使用STM32F4系列微控制器处理旋转编码器信号的开发者来说,是一份宝贵的参考资料。通过阅读和分析代码,可以深入理解编码器的工作原理,以及STM32的中断系统、GPIO和定时器的使用方法,有助于提升嵌入式系统设计能力。
2026-04-19 15:44:20 493KB STM32 旋转编码器 ardunio 代码
1
Delphi 12是一款强大的集成开发环境(IDE),主要用于创建Windows和跨平台应用程序。这个压缩包包含的内容丰富,包括Delphi 12的工具、安装包以及一系列的控件源代码,这对于开发者来说是一份宝贵的资源。下面我们将深入探讨这些组成部分。 Delphi 12 IDE本身是一个基于Object Pascal语言的开发工具,由Embarcadero Technologies公司开发。它提供了全面的代码编辑、调试、性能优化和项目管理功能。在Delphi 12中,开发者可以使用VCL(Visual Component Library)框架构建快速、高效的桌面应用,同时也能利用FireMonkey(FMX)框架开发跨平台的应用,支持Windows、macOS、iOS和Android等多个操作系统。 1. **工具**:这部分可能包含了各种辅助开发的工具,例如代码分析器、版本控制器集成、数据库设计工具、性能分析器等。这些工具可以帮助开发者提升效率,确保代码质量,并对程序进行优化。 2. **安装包**:这通常指的是Delphi 12的安装程序,可能包括不同版本(如试用版、完整版或更新补丁)。安装包将引导用户完成Delphi的安装过程,包括设置路径、选择组件、配置环境变量等。此外,还可能包含其他第三方库或组件的安装文件,以扩展Delphi的功能。 3. **控件**(源代码):控件是GUI应用中的基本元素,如按钮、文本框、列表视图等。Delphi的VCL和FMX库本身就包含了丰富的内置控件。而这份压缩包中提供的控件源代码,可能是由社区或其他开发者编写的自定义控件,它们可能具有特殊功能或者独特的视觉样式。通过学习和使用这些源代码,开发者可以更好地理解控件的工作原理,定制自己的UI组件,或者为项目引入新的功能。 4. **源代码**的价值:对于学习和研究,源代码是极其宝贵的资源。通过阅读和分析他人编写的代码,开发者可以提高编程技巧,了解最佳实践,以及如何有效地利用Delphi的特性。此外,这些源代码也可以作为模板,帮助快速构建新项目,或者作为现有项目中功能模块的参考。 这个压缩包为Delphi开发者提供了一个全方位的资源库,不仅涵盖了开发环境的基本需求,还包含了社区贡献的实用工具和控件。无论是新手还是经验丰富的开发者,都能从中受益,提升自己的开发能力。记得在使用过程中,遵守开源许可协议,尊重他人的劳动成果,同时也积极回馈社区,分享自己的经验和改进。
2026-04-19 13:43:47 452.99MB
1
标题中的“基于springboot实现的微信小程序的中国各地美食推荐平台”揭示了这个项目的核心技术栈和应用领域。这是一个利用SpringBoot后端框架构建的、服务于微信小程序的美食推荐系统,旨在为用户提供中国各地的美食信息。让我们深入探讨一下相关的知识点。 **SpringBoot** 是一个由Pivotal团队提供的开源框架,它简化了Spring应用程序的初始搭建以及开发过程。SpringBoot的核心特性是自动配置,它可以基于依赖来自动设置Spring应用,减少了很多繁杂的配置工作。在这个项目中,SpringBoot作为后台服务,负责处理数据存储、业务逻辑以及与微信小程序的接口交互。 **微信小程序** 是由腾讯公司推出的轻量级应用开发平台,允许开发者在微信内快速开发出原生体验的应用。小程序通常用于提供快捷的服务、展示信息或进行简单的交互。在这个美食推荐平台上,用户可以通过微信小程序界面浏览美食信息,搜索、筛选、推荐等功能,无需下载安装即可使用。 再来是**美食推荐平台** 的设计,这涉及到数据结构、算法和用户体验设计。平台可能包含美食分类、地点、口味、评价等多个维度的数据,需要合理设计数据库模型以存储和检索这些信息。推荐算法可能采用基于用户行为的协同过滤、基于内容的推荐或者混合推荐策略,以提供个性化推荐。同时,界面设计需考虑易用性和吸引力,使用户能方便地发现和分享美食。 **论文和技术文档** 提供了项目的技术实现细节和理论支持。论文可能涵盖了项目的目标、背景、设计思路、关键技术、实施步骤、效果评估等方面,而技术文档则包括API接口设计、数据库设计、前端页面结构等具体实现内容。这些资料对于理解项目的整体架构和学习项目开发具有重要价值。 **PPT** 可能是项目汇报或者演示文稿,其中包含了项目的关键亮点、功能展示、进度报告等内容,有助于对外交流和项目推广。 这个项目融合了SpringBoot后端开发、微信小程序前端交互、美食推荐算法以及信息展示的设计,涉及了软件工程的多个方面。通过学习和实践此类项目,开发者可以提升自己的全栈开发能力,同时对美食推荐系统的设计和实现有更深入的理解。
2026-04-19 13:19:31 26.84MB 微信小程序 springboot
1
本文提供了Visio 2024的详细安装教程,从获取安装包到完成安装的全过程。教程包括解压安装包、启动安装程序、等待下载组件、完成基础安装、运行辅助工具、输入配置选项等关键步骤。此外,文章还介绍了Visio的基础功能,如创建新图表、添加形状、连接图形等,以及与其他办公软件的协同工作技巧,如与PowerPoint集成、与Excel数据联动等。适合办公用户、流程图设计人员和企业管理者参考学习。 本文是一篇关于Visio 2024安装的详细教程,内容涵盖了从下载安装包开始到最终完成安装的整个过程。文章介绍了如何正确地获取和解压Visio 2024的安装包,这对于安装过程来说是至关重要的一步。随后,作者详细描述了如何启动安装程序,并对安装过程中可能遇到的下载组件、等待时间以及基础安装步骤进行了说明。文章还贴心地为读者准备了关于如何运行辅助工具以及输入配置选项的指导,确保用户能够顺利完成安装。 在介绍完安装过程后,文章进一步讲解了Visio 2024的基础功能。这部分内容非常适合对Visio不太熟悉的读者,因为它包括了创建新图表、添加形状、连接图形等操作,这些都是绘图工作中经常要用到的技能。除此之外,文章还深入探讨了Visio与其他Office办公软件之间的协同工作,例如如何与PowerPoint集成以增强演示效果,以及如何与Excel数据联动,实现数据可视化等高级技巧。这些内容对于需要进行流程图设计、项目管理或企业级图表制作的用户来说,无疑是一个巨大的帮助。 总体而言,本文不仅是一份Visio 2024的安装指南,也是一本实用性很强的操作手册。它将带领读者从零开始,一步步成长为熟练掌握Visio软件的办公专家。对于办公用户、流程图设计人员和企业管理者来说,这是一篇极有价值的参考资料。
2026-04-19 09:15:23 6KB 软件开发 源码
1
TonyPi人形机器人障碍跑比赛代码仓库项目_基于TonyPi人形机器人平台的障碍跑比赛代码实现_包含机器人运动控制传感器数据处理路径规划算法实时避障逻辑比赛规则适配模块.zip嵌入式开发底层驱动与外设配置 在智能机器人技术领域中,人形机器人因其与人类相似的运动能力而在许多竞赛和研究项目中占据了重要位置。此次分享的项目,名为TonyPi人形机器人障碍跑比赛代码仓库项目,致力于实现基于TonyPi人形机器人平台的障碍跑比赛。项目内容涵盖了从机器人运动控制到传感器数据处理,从路径规划算法到实时避障逻辑,以及如何使机器人适应比赛规则等多个核心模块。 在机器人运动控制方面,该项目深入研究了如何通过精确的控制算法来实现人形机器人各个关节的协调动作,确保机器人在执行障碍跑任务时的稳定性和灵活性。该部分通常涉及到逆向运动学、动态平衡控制以及步态生成算法,使得机器人能够准确地移动并穿越障碍。 传感器数据处理是人形机器人比赛中不可或缺的一环。TonyPi人形机器人通过各种传感器获取环境信息,并通过数据处理算法对这些信息进行分析和处理。这涉及到图像识别技术、距离测量、以及环境建模等技术,目的是为了让机器人能够识别和判断障碍物的位置、大小和性质,为接下来的决策提供数据支持。 路径规划算法对于人形机器人来说是一个挑战,因为它们必须在保证运动平衡和速度的同时,找到一条有效的路径穿过障碍物。该部分算法通常需要考虑机器人的动力学约束和环境的复杂性,通过算法生成一条从起点到终点的最佳路径,同时尽可能减少与障碍物的接触。 实时避障逻辑是确保机器人安全通过障碍赛道的关键。在比赛过程中,机器人需要实时地对突发的障碍物做出反应。这通常需要快速的数据处理能力和高效的决策算法,使机器人能够在遇到障碍时做出即时的调整动作,避免碰撞并继续前进。 比赛规则适配模块则涉及到如何将复杂的比赛规则转换为机器人可以理解和执行的命令。这包括了解和分析比赛规则、将规则融入到机器人程序的逻辑中,以及确保机器人在比赛过程中的每一步都符合规则要求。 本项目的压缩包中还包含了嵌入式开发底层驱动与外设配置的相关资料。这些资料对于了解和使用TonyPi人形机器人的硬件组件至关重要。嵌入式开发通常包括了底层硬件的编程,如微控制器编程、外设驱动的开发等,这些都是确保机器人稳定运行的基础。 TonyPi人形机器人障碍跑比赛代码仓库项目是一个集运动控制、传感器数据处理、路径规划、实时避障以及比赛规则适配于一体的综合性机器人项目。其复杂性和先进性不仅能够为相关领域的研究人员提供实用的参考,还能推动人形机器人在实际应用中的发展。
2026-04-19 09:01:38 47KB
1