- 博客(190)
- 收藏
- 关注
原创 第37条中建议 用EnumMap替换序数索引,为什么?
在中的第 36条中建议 用 EnumSet 替代位字段,在第37条中建议 用EnumMap替换序数索引,为什么?
2024-09-18 15:26:57 702
原创 java的分布式事务解决方案
答:既然是分布式,首先必然是分布式系统中的一个概念啦。单体应用没这个东西,也不需要这个东西。本地事务就够啦,Spring给我们提供的注解@Transactional, InnoDB引擎会为我们保证事务的ACID特性。但是分布式系统中,目前大多数互联网公司都在用分布式系统,微服务架构等。所以,学好分布式事务太有必要。废话不多说,直接上原理。总结来说,分布式事务涉及了多个独立的数据源(数据库)或者参与者的事务操作,这些数据源分布在不同的计算机或网络中;
2024-09-12 12:50:56 1035
原创 为什么不推荐使用Stack
Java里有一个叫做Stack的类,却没有叫做Queue的类(它是个接口名字)。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;既然Queue只是一个接口,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。
2024-09-12 12:47:47 874
原创 Python数据结构集合的相关介绍
集合是一种无序、可变的数据结构,它也是一种变量类型,集合用于存储唯一的元素。集合中的元素不能重复,并且没有固定的顺序。在Python 提供了内置的set类型来表示集合,所以关键字set就是集合的意思。你可以使用大括号{}或者set()函数来创建一个集合。需要注意的是,集合是无序的,没有固定的顺序。因此,集合元素的顺序可能与你创建或添加的顺序不同。for。
2024-09-10 19:27:13 1130
原创 Python如何向列表或数组添加元素
编程中的数组是一个有序的项目集合,所有的项目都需要是相同的数据类型。然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。Python 使用列表取代传统的数组。列表本质上是动态数组,是 Python 中最常见的和最强大的数据结构之一。你可以把它们想象成有序的容器。它们将同类相关的数据存储和组织在一起。存储在一个列表中的元素可以是任何数据类型。可以有整数列表、浮点数列表、字符串列表,以及任何其它内置 Python 数据类型的列表。
2024-09-10 19:25:05 828
原创 HashMap扩容机制的个人理解及它的底层实现
Key的存储方式是基于哈希表的,HashMap是 Map 接口 使用频率最高的实现类。允许使用null键和null值,与HashSet一样,不保证映射的顺序。所有的key构成的集合是无序的、唯一不可重复的。所以,key所在的类要重写:equals()和hashCode()所有的value构成的集合是Collection:无序的、可以重复的。所以,value所在的类要重写:equals()
2024-09-09 17:43:27 1103
原创 Java的SPI机制
SPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,例如数据库中的java.sql.Driver接口,不同的厂商可以针对同一接口做出不同的实现,如下图所示,MySQL和PostgreSQL都有不同的实现提供给用户。而Java的SPI机制可以为某个接口寻找服务实现,Java中SPI机制主要思想是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要,其核心思想就是解耦。
2024-09-09 17:36:59 1042
原创 Python异步编程高并发执行和解析响应
本例中,异步耗时的总时长与访问google.com超时时长相同,那么意味着,如果协程中如果有1个是耗时很长的任务,那么主线程还将被阻塞,异步解决不了这个问题,这时耗时协程应该拿出来,用子线程、或者子进程来执行。通常的编程,如果有4个任务,采用同步编程模式,4个任务是按顺序执行的,分别用时:10s,7s,5s,6s,共耗时28s;现在,采用Asyncio异步编程,以并发的运行方式,向多个网站同时发送request, 总耗时,应该是用时最长那个协程的用时。,相比同步编程方式,耗时减少了1半。
2024-09-08 19:19:50 1242
原创 Python向列表或数组添加元素的讲解
编程中的数组是一个有序的项目集合,所有的项目都需要是相同的数据类型。然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。Python 使用列表取代传统的数组。列表本质上是动态数组,是 Python 中最常见的和最强大的数据结构之一。你可以把它们想象成有序的容器。它们将同类相关的数据存储和组织在一起。存储在一个列表中的元素可以是任何数据类型。可以有整数列表、浮点数列表、字符串列表,以及任何其它内置 Python 数据类型的列表。
2024-09-08 19:14:28 684
原创 分布式事务解决方案
答:既然是分布式,首先必然是分布式系统中的一个概念啦。单体应用没这个东西,也不需要这个东西。本地事务就够啦,Spring给我们提供的注解@Transactional, InnoDB引擎会为我们保证事务的ACID特性。但是分布式系统中,目前大多数互联网公司都在用分布式系统,微服务架构等。所以,学好分布式事务太有必要。废话不多说,直接上原理。总结来说,分布式事务涉及了多个独立的数据源(数据库)或者参与者的事务操作,这些数据源分布在不同的计算机或网络中;
2024-09-07 11:34:46 985
原创 SpringBoot项目-实现简单的CRUD功能和分页查询
是方便初学者学习后端项目的一个比较清晰明了的实践代码,读者可根据博文,从自己动手创建一个新的SpringBoot项目,到使用PostMan测试基本请求,完完全全实践一遍,写出自己的代码,或者实现自己想要的功能。url 指的是数据库连接的 URL,它用于指定要连接的数据库的位置和其他连接参数,localhost指的是本地的主机名,3306是mysql的默认端口号。@Entity注解的作用如下。也就是说,实体类和数据库表的映射关系由该注解的实现,其中的映射关系具体体现在:实体类的属性和数据库表的字段一一对应。
2024-09-07 11:29:54 1499
原创 Spring的学习感悟
Spring 是一个企业级 J2EE 应用开发一站式解决方案,其提供的功能贯穿了项目开发的表现层、业务层和持久化层,同时,Spring 可以和其他应用框架无缝整合轻量:Spring 是一个轻量级的框架,其核心 JAR 包的大小均为 1MB 左右。从系统的资源使用上来说,Spring 也是一个轻量级的框架,在其运行期间只需少量的操作系统资源便能稳定运行控制反转:Spring 的控制反转指一个对象依赖的其他对象将会在容器的初始化完成后主动将其依赖的对象传递给它,而不需要这个对象自己创建或者查找其依赖的对象。
2024-09-05 17:08:55 742
原创 SpringCloud Hystrix的解析
Hystrix 为 微服务架构提供了一整套服务隔离、服务熔断和服务降级的解决方案。它是熔断器的一种实现,主要用于解决微服务架构的高可用及服务雪崩等问题服务熔断:Hystrix 熔断器就像家中的安全阀一样,一旦某个服务不可用,熔断器就会直接切断该链路上的请求,避免大量的无效请求影响系统稳定,并且熔断器有自我检测和恢复的功能,在服务状态恢复正常后会自动关闭。
2024-09-05 17:07:18 1423
原创 在Winform分页控件中集成导出PDF文档的功能
当前的Winform分页控件中,当前导出的数据一般使用Excel来处理,Excel的文档可以用于后期的数据展示或者批量导入做准备,因此是比较好的输入输出格式。但是有框架的使用客户希望分页控件能够直接导出PDF,虽然Excel也可以直接转换为PDF,不过直接导出PDF的处理肯定更加方便直观。因此整理了一下分页控件导出PDF的处理过程,分享一下。
2024-09-04 20:19:03 1336
原创 PyJWT 和 python-jose的具体使用
功能范围PyJWT专注于 JWT,适合需要简单 JWT 处理的项目;则支持整个 JOSE 标准,适合需要更复杂加密和签名操作的项目。易用性PyJWTAPI 简单,易于上手;更强大,但同时也更复杂。算法支持支持的算法更广泛,尤其是在需要高级加密或签名场景时更具优势。使用场景: 如果你的项目只需要生成和验证 JWT,PyJWT是一个不错的选择;如果你需要全面的 JOSE 支持,包括 JWS、JWE 等,或者需要复杂的加密和签名,是更好的选择。
2024-09-04 20:10:37 1356
原创 接口防盗刷的防范措施
大家在工作中肯定遇到过接口被人狂刷的经历,就算没有经历过,在接口开发的过程中,我们也需要对那些容易被刷的接口或者和会消耗公司金钱相关的接口增加防盗刷功能。例如,发送短信接口以及发送邮件等接口,我看了国内很多产品的短信登录接口,基本上都是做了防盗刷,如果不做的话,一夜之间,也许公司都赔完了┭┮﹏┭┮。假设我们正在开发一个发送短信(仅国内)的接口,过程如下/sendSmsphone上面便是一个最简单的向手机号发送短信验证码的接口,不考虑其他和业务相关的操作。我们现在来分析一下,该接口存在的问题(刷接口)。
2024-09-03 21:34:21 892
原创 MongoDB的使用技巧解析
不知道大家在工作项目中有没有使用MongoDB,在哪些场景中使用。MongoDB作为NoSQL数据库,不像SQL数据库那样,可以使用Mybatis框架。如果需要在SpringBoot中使用MongoDB的话,我目前知道有三种方式,第一种是直接使用MongoDB官方的SDK,第二种是使用SpringJpa的方式,第三种是使用MongoTemplate。
2024-09-03 21:27:21 1354
原创 Java中的String能存储多少字符?不可变吗?
因此,主要的还是看编译器对常量池的限制,使得byte数组的最大长度不能超过65535;以及JVM的内存限制补充:JDK9以后对String的存储进行了优化。底层不再使用char数组存储字符串,而是使用byte数组。对于LATIN1字符的字符串可以节省一倍的内存空间。Java中的String是不可变对象在面向对象及函数编程语言中,不可变对象(英语:Immutable object)是一种对象,在被创造之后,它的状态就不可以被改变。
2024-09-02 06:30:00 775
原创 float 或 double 运算的时候会有精度丢失的风险?
BigDecimal可以实现对浮点数的运算,不会造成精度丢失。通常情况下,大部分需要浮点数精确运算结果的业务场景(比如涉及到钱的场景)都是通过BigDecimal来做的。想要解决浮点数运算精度丢失这个问题,可以直接使用BigDecimal来定义浮点数的值,然后再进行浮点数的运算操作即可。// 0浮点数没有办法用二进制精确表示,因此存在精度丢失的风险。不过,Java 提供了BigDecimal来操作浮点数。BigDecimal的实现利用到了BigInteger(用来操作大整数), 所不同的是。
2024-09-01 09:01:03 890
原创 ArrayList的详细使用教程
/集合默认容量10;//空数组//默认容量的空的数组// 集合中真实存储数据的数组//集合中元素的个数,注意,这里不是数组的长度。
2024-09-01 08:54:02 901
原创 Amqp协议的说明和使用场景
Amqp1.0 的协议帧由FrameHeader、ExtendedHeader、FrameBody组成。FrameHeader 8个字节大小,包含长度、类型信息等Extended header 可变宽度区域FrameBody 是一个可变宽度的字节序列,其格式取决于帧类型Size: FrameHeader的第0~3个字节包含帧大小。无符号的32位整数,为FrameHeader、ExtendedHeader、FrameBody的总和大小。如果大小小于8字节,则格式错误。
2024-08-06 17:45:46 833
原创 Pytorch人体姿态骨架生成图像
ControlNet是一个稳定扩散模型,可以复制构图和人体姿势。ControlNet解决了生成想要的确切姿势困难的问题。Human Pose使用OpenPose检测关键点,如头部、肩膀、手的位置等。它适用于复制人类姿势,但不适用于其他细节,如服装、发型和背景。输入一个图像,并提示模型生成一个图像。Openpose将为你检测姿势。🔹 本案例需使用Pytorch-1.8 GPU-P100及以上规格运行。
2024-08-06 17:38:45 1042
原创 java的命令执行漏洞揭秘
注意:java的Runtime.getRuntime.exec和ProcessBuilder.start,都是直接启动传入参数对应的进程,如果只是命令执行的部分参数可控,想在java中通过;、|、&等实现命令注入是行不通的, 例如这样传入命令是无法执行的。
2024-08-01 21:15:30 412
原创 依赖注入模式的实际应用解说
图24 替换RendererFactory2渲染器等内容, 让Angular运行在终端terminal上作者通过替换RendererFactory2等渲染器,让Angular应用可以跑在终端terminal上。这就是Angular设计的灵活度,连platform都可以替换掉的强大的灵活。详细的替换细节可以查看原文章,这里就不展开了。知识点小结:依赖注入的强大之处,在于提供商可以自行配置,最后实现替换逻辑。
2024-07-30 09:17:50 910
原创 高手需要掌握哪些好习惯?
考虑使用静态工厂方法代替构造器,静态工厂方法能够见名知意、可以使用单例或享元模式返回对象、搭配泛型返回对象可以是原类型子类、返回的对象可以随着入参改变、返回的对象所在的类可以在编译期不存在在参数较多时可以考虑使用建造者模式,可以代码可读性更高、防止构造对象期间发生逃逸可以通过私有构造强化单例,但能够被反射、序列号破坏单例;使用枚举单元素强化单例则可以避免破坏(在反射实例化前判断为枚举则抛出异常)对象依赖的“工具”不是固定的时,可以采用依赖注入DI的方式进行改变,而不是直接写死;
2024-07-28 14:32:22 922
原创 Linux中的Reactor模型与百万级并发实践
什么是并发:网络并发,通俗的讲就是服务器可以承载的客户端数量,即服务器可以稳定保证客户端同时接入的数量。Reactor模型开发效率比直接使用IO多路复用要高,它一般是单线程的,设计目标是希望一个线程使用CPU的全部资源;带来的优点是,在每个事件处理中很多时候不需要考虑共享资源的互斥访问。Reactor模式是处理并发IO比较常见的模式,用于同步IO,核心思想是将所有要处理的IO事件注册到一个中心IO多路复用器上,同时主线程或进程阻塞在IO多路复用器上;
2024-07-26 21:25:04 729
原创 Reactor模型与高效http静态服务器构建
Reactor意译“反应堆”,是一种事件驱动机制,程序需要提供回调函数,注册到reactor中。Reactor模型包含三个重要组件:多路复用器,事件分离器,事件处理器。多路复用器在Linux上一般是select、poll、epoll;事件分离器是调用对应注册的回调函数;事件处理器是回调函数的执行,如读、写数据操作。一个程序监控多个IO,所有要处理的事件注册到一个中心IO多路复用器epoll上,由epoll进行管理,当epoll检测到一个IO事件到来或准备就绪时,epoll触发相对应的IO事件;
2024-07-26 21:20:46 595
原创 caffeine的知识总结
要使用权重来衡量的话,就要规定权重是什么,每个元素的权重怎么计算,weigher 方法就是设置权重规则的,它的参数是一个函数,函数的参数是 key 和 value,函数的返回值就是元素的权重,比如上述代码中,caffeine 设置了最大权重值为 100,然后将每个 Student对象的 socre成绩作为权重值,所以整个意思就是:缓存中存储的是 Student对象,但是限制所有对象的 score总和不能超过 100,否则就触发异步清除缓存。进行开启,默认是使用Caffeine自带的,也可以自己进行实现。
2024-07-25 20:54:42 1076
原创 Java基础知识的相关面试题
扩容就是重新计算容量,当然 Java 里的数组是无法自动扩容的,方法 是使用一个新的数组代替已有的容量小的数组。注释:set 元素虽然无放入顺序,但是元素在set中的位置是有该元素的 HashCode 决定的,其位置其实是固定的,加入Set 的Object 必须定义 equals ()方法。当redis重启后,就会把硬盘里的数据读取到缓存中,达到恢复数据的目的。RDB是redis默认的持久化方式,根据一定的时间周期策略把内存的数据以快照的形式保存到硬盘上,文件名为:dump.rdb。
2024-07-25 20:53:02 1085
原创 Django信号的基础学习与应用
一. Django信号的定义与作用Django信号(Signal)是Django框架中的一种机制,用于在特定事件发生时进行通信。信号可以让不同的Django组件松耦合地通信,即使它们不直接相互依赖。这种松耦合的设计使得Django应用更加灵活、可扩展和可维护。Django信号分为内置信号和自定义信号。内置信号是由Django框架提供的,在Django内部使用,如模型保存、删除、数据库操作等。自定义信号是开发者根据需要创建的信号,用于在自定义事件发生时进行通信。
2024-07-24 17:01:09 645
原创 什么是MapReduce?你知道如何实现吗?
首先这个单词分解为Map、Reduce。Map阶段:在这个阶段,输入数据集被分割成小块,并由多个Map任务处理。每个Map任务将输入数据映射为一系列(key, value)对,并生成中间结果。Reduce阶段:在这个阶段,中间结果被重新分组和排序,以便相同key的中间结果被传递到同一个Reduce任务。每个Reduce任务将具有相同key的中间结果合并、计算,并生成最终的输出。那我们举个例子说明一下,在一个很长的字符串中统计某个字符出现的次数。'''- input_list: 字符列表。
2024-07-24 16:55:53 390
原创 随机森林故障预测
随着互联网、云计算的发展,数据的存储需求与日倍增,大规模海量数据存储中心是必不可少的基础性设施。虽然新的存储介质例如SSD,已经很多方面拥有了比磁盘更好的性能,但就目前来讲,其高昂的花费仍然使大部分数据中心难以负担,因此,大型数据中心依然会采用传统的机械硬盘作为存储介质。机械硬盘生命周期通常为3到5年,在2到3年后故障率明显升高,导致换盘量陡增。据统计,在服务器硬件故障中,硬盘故障占比达到48%+,是影响服务器运行可靠性的重要因素。
2024-07-22 21:03:07 649
原创 分布式训练
分布式训练(Distributed Training)是指将机器学习或深度学习模型训练任务分解成多个子任务,并在多个计算设备上并行地进行训练。图1给出了单个计算设备和多个计算设备的示例,这里计算设备可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、张量处理器(Tensor Processing Unit,TPU)也可以是神经网络处理器(Neural network Processing Unit,NPU)。
2024-07-22 20:59:00 996
原创 C++操作Smgp协议的相关教程
长度为4字节,整个PDU的长度,包括Header和Body。Command ID:长度为4字节,用于标识PDU的类型(例如,Login、Submit等)。:长度为8字节,序列号,用来匹配请求和响应。使用C++实现SMGP协议栈里的建立连接└── implCMakeLists.txt:用来生成Makefile和编译项目examples:存放示例代码smgp_client_login_example.cpp:存放Smgp的login样例。
2024-07-21 16:03:26 600
原创 用Python实现Cmpp协议的教程
(CMPP)是中国移动为实现短信业务而制定的一种通信协议,全称叫做China Mobile Point to Point,用于在客户端(SP,Service Provider)和中国移动短信网关之间传输短消息,有时也叫做移动梦网短信业务。CMPP3.0是该协议的第三个版本,相比于前两个版本,它增加了对长短信的支持、优化了数据结构等。本文对CMPP协议进行介绍,并给出Python实现CMPP协议栈的思路。Python的asyncio模块提供了一套简洁的异步IO编程模型,非常适合用于实现协议栈。
2024-07-21 14:27:46 1226
转载 Python数据分析从数据获取到洞见发现的教程
Plotly Express 提供了许多简单易用的函数来创建各种类型的图表,但有时我们需要更多的自定义选项。通过结合 Plotly Express 和 Plotly 的基础图表对象,我们可以实现更高级的定制化。# 创建散点图# 添加注释# 调整图表样式fig.show()本文深入探讨了在 Python 环境中进行可视化数据分析的全面工作流程,并介绍了一系列关键步骤、技术工具和最佳实践。首先,我们从数据获取开始,利用 pandas 等库加载和处理数据;
2024-07-20 22:04:01 869
转载 Python数据可视化实现样式化图表
自定义线条样式和颜色# 添加线条# 添加圆点# 创建散点图在本文中,我们介绍了在 Python 中进行数据可视化时常用的样式化技巧。从基础的 Matplotlib 到高级的 Plotly,Python 提供了丰富的可视化工具和库,使得我们能够创建出各种各样样式独特、富有表现力的数据可视化图表。无论您是想要简单地绘制折线图还是创建复杂的交互式可视化应用,Python 都有相应的工具和库来满足您的需求。通过合适的样式化,您可以使得您的可视化更具吸引力、更易读,并且更好地传达数据信息。
2024-07-20 22:01:42 431
原创 SpringBoot中,@Async注解可以实现异步线程调用,用法简单,体验舒适
SpringBoot中,@Async注解可以实现异步线程调用,用法简单,体验舒适。这里面,我个人认为绝大多数人会遇到的坑点集中在没有配置自定义线程池、异步方法在同一个类中调用、事务不起作用这几个问题上,在实际使用时候要注意@Async注解失效的场景。
2024-07-19 20:15:55 1022
课程设计JavaWeb图书管理系统源码+数据库脚本
2024-08-04
python+django+vue的宠物商店管理系统源码毕业设计&课程设计(高分项目)
2024-07-28
课程设计案例资料.doc
2024-07-14
学生信息管理系统报告 .doc
2024-07-07
学生信息管理系统报告.doc
2024-07-07
基于微信小程序图书馆座位预约系统设计与实现 (源码+数据库).zip
2024-06-25
基于python+深度强化学习的车联网通信资源分配优化系统+详细注释
2024-06-24
基于知识图谱的电影问答系统python实现源码(期末课设新项目)
2024-06-24
基于python编程实现电信运营商客户流失预测与分析源代码(优秀毕业设计)
2024-06-24
大模型部署-在本地计算机上推理LLaMA大语言模型-支持Windows+Linux+Mac-优质项目实战
2024-06-20
基于Python爬虫+Django的新能源电动汽车使用体验大数据可视化分析系统的设计与实现+详细文档+全部资料(高分毕业设计)
2024-06-20
基于opencv+python的三维重建算法(Sfm)实现+源代码+文档说明.zip
2024-06-20
毕业设计-基于python面向短视频的流量数据爬取及分析系统+源代码+文档说明(高分项目)
2024-06-19
国科大深度学习课程作业-手写数字体识别,猫狗分类,自动写诗,情感分析+源代码+文档说明.zip
2024-06-19
基于matlab的车牌识别系统+源代码+报告(95分以上).zip
2024-06-19
C++课程设计-基于B+树数据库的图书管理系统+源代码+文档说明(高分项目)
2024-06-19
基于ssm+微信小程序的社区管理系统+源代码+文档说明(高分项目).zip
2024-06-19
Java 课程设计飞马星球大作业+实验报告(95分以上高分项目)
2024-06-19
深度学习期末大作业,戴口罩人脸识别+源代码+文档说明+模型+数据集.zip
2024-06-19
基于Matlab实现的基于车辆运动学,实现低速度下的MPC轨迹跟踪(高分项目)
2024-06-19
安卓Android社团管理App+源代码+文档说明+数据库(高分项目).zip
2024-06-19
基于安卓Android的社团管理App+sql数据库(高分毕设项目).zip
2024-06-19
基于Python实现二手房房价预测分析及可视化+源代码+文档教程(高分项目).zip
2024-06-19
基于Python+BERT+词典开发的医药知识图谱自动问答系统实现+源代码+文档说明+使用教程+数据.zip
2024-06-19
基于python+django的新能源电动汽车使用体验大数据分析系统源码+演示视频+报告论文
2024-06-19
基于python+django的新能源电动汽车使用体验大数据分析系统+演示视频+报告论文+源代码+文档说明
2024-06-19
基于时空图卷积(ST-GCN)的骨骼动作识别(python源码+毕业设计).zip
2024-06-19
毕业设计 基于Python时空图卷积(ST-GCN)的骨骼动作识别源码+模型+示例效果图+全部数据资料(优秀项目).zip
2024-06-19
python毕业设计-基于时空图卷积(ST-GCN)的骨骼动作识别+源代码+文档说明(高分项目)
2024-06-19
基于时空图卷积ST-GCN的骨骼动作识别毕设项目源码+模型+示例效果(高分项目).zip
2024-06-19
基于Java+Hadoop平台+ECharts电商评论数据分析与可视化系统+源代码+文档说明.zip
2024-06-19
软件工程大作业-基于python实现的穿衣搭配系统+源代码+文档说明+需求文档+答辩ppt+测试文档+设计文档.zip
2024-06-19
基于Python在Cityscapes数据集上的PyTorch语义分割实践+源代码+文档说明+数据.zip
2024-06-19
毕设基于Hadoop实现的股票大数据分析系统+源代码+文档说明.zip
2024-06-19
基于51单片机的电子秤模拟系统设计与实现源码+论文(高分项目)
2024-06-19
基于SSM冷链运输温度监控系统源代码+文档说明+数据库(高分毕设).zip
2024-06-19
高分毕设-基于Python+OpenCV人脸识别考勤打卡系统源代码(95分以上).zip
2024-06-19
基于Python+OpenCV人脸识别考勤管理系统+源代码+文档说明+结果截图.zip
2024-06-19
基于Python+OpenCV人脸识别考勤管理系统+源代码(高分毕业设计).zip
2024-06-19
基于Python+OpenCV人脸识别设计与实现源码.zip
2024-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人