- 博客(555)
- 资源 (7)
- 收藏
- 关注
原创 使用WorkBench导入数据报错:Open Dump Folder The selected folder doesn‘t appear to be valid.Multiple definitio
WorkBench导入数据报错:Open Dump Folder The selected folder doesn't appear to be valid.Multiple definitio的问题就解决啦。出现上面报错的根本原因是:导入的数据库里面,存在以【xxx0.sql】格式的备份文件,需要将其删除才能够加载成功。将导入的数据库目录下的。
2024-09-10 14:31:10 273
原创 SpringBoot图片上传报错:提示Illegal base64 character 3a 和 Illegal base64 character 2c无效字符问题
SpringBoot图片上传报错:提示Illegal base64 character 3a 和 Illegal base64 character 2c无效字符问题。Illegal base64 character 3a,无效的base64字符3a,3a是十六进制,对应的字符是冒号(:)。Illegal base64 character 2c,无效的base64字符2c,2c是十六进制,对应的字符是逗号(,)。
2024-08-24 20:17:11 313 1
原创 解决Jasper Studio报表工具中预览正常显示,但部署到服务器上面无法正常显示的问题
之前有遇到过一个Jasper Studio报表开发相关的问题,这里记录一下,方便其他小伙伴可以快速解决问题。出现上面问题的原因:Jasper Studio报表工具中,使用了服务器上面不存在的字体,所以导致无法渲染出内容。到此,解决Jasper Studio报表工具中预览正常显示,但是部署到服务器上面缺无法正常显示的问题就解决啦。解决方案是:修改字体为服务器上面存在的,我是修改成了微软雅黑字体。
2024-08-23 20:36:53 391
原创 解决Jasper Studio预览无数据源的问题:在Dataset and Query里面预览数据为空,但是浏览器访问接口,是存在数据的。
要解决预览无数据的问题,需要选择【Use the report JSON expression when filling the report】选项,才可以预览出数据。到此,Jasper Studio预览无数据源的问题就解决啦。搞了好久,最终找到了问题,解决方案如下。再次预览数据,就可以正常了。
2024-08-23 11:07:24 438
原创 JasperStudio预览报错:JRValidationException: Band height validation for subreport “XXX“ failed in the cur
JasperStudio预览报错:JRValidationException: Band height validation for subreport "XXX" failed in the current page context (height = 842, top margin = 25, bottom margin = 25)
2024-08-13 17:56:43 204
原创 【itext7】itext7如何使用ImageData和Image操作图片(添加图片、旋转图片、平铺图片)
其中,itext7就可以用于操作图片,将图片添加到PDF文档里面,并且可以更改图片的尺寸、显示方向等等。下面就介绍一下,如何在PDF中如何实现添加图片,旋转图片、平铺图片等操作。itext7是一款功能更加强大的PDF文档操作组件,它的功能虽然强大,但是是要收费的,当然也有免费版本的,免费那功能肯定就会有删减,不过免费版本的。,这个方法的作用就是:让图片的宽度、高度自动适应界面的宽度和高度。,可以根据图片的路径地址,将图片读取为一个ImageData对象,然后就可以将。Image对象中,提供了一个。
2024-07-10 17:40:31 591
原创 Jasper studio报表工具中,如何判断subDataSource()子报表数据源是否为空
今天在处理一个有关Jasper Studio报表模板制作的线上问题,需要根据某个报表子数据源是否为空,来决定对应的组件是否显示,找了好久的资料都没有实现,最后找到一种解决办法。就是通过自定义变量,然后变量的取值是来自子报表数据源,判断子报表数据源是否为空即可,具体的解决方案,查看下面详细内容。到此,Jasper studio报表工具中,如何判断subDataSource()子报表数据源是否为空的问题就解决啦。
2024-07-01 19:12:20 356
原创 【图书推荐】CPython设计与实现“适合所有Python工程师阅读的书籍”
"Python之父Guido van Rossum亲自背书,CPython核心开发者Carol Willing倾情作序!📖 《CPython设计与实现》以其独特的魅力,将复杂的技术话题化繁为简,引领读者深入了解Python解释器的核心理念与精妙细节。🌟🌐 无论是Python新手还是资深开发者,都能在这本书中找到提升自我的钥匙。它不仅是一本技术指南,更是一扇通往高效编程的大门。跟随大师的足迹,您将学会如何驾驭Python的内在力量,让代码飞驰在性能的巅峰。
2024-06-27 21:42:34 1007
原创 百度文心智能体平台(想象即现实):轻松上手,开启智能新时代!创建属于自己的智能体应用。
进入智能体管理界面,可以看到很多的体验产品,都是一些已经上线的应用,我们也可以点击创建智能体,设计一款自己的智能体应用程序。选择零代码创建智能体,进入到编辑界面,默认是提供的快速创建智能体,如果你不想快速创建,而是想自己定义智能体的一些信息,那么可以选择跳过这个步骤,就会进入到详细的编辑界面。就那我自己创建的智能体来说,我自己创建了一款古诗词小助手,使用这个小助手可以让智能体给我推荐相关的古诗词,用户只需要输入对应的关键字,小助手就可以推荐满足。我创建的古诗词小助手智能体应用,可以点击这个链接。
2024-06-19 16:49:07 1204
原创 Jasper Studio制作报表,预览时候出现死循环,一直渲染页面,total pages无限渲染
最近遇到一个jasper报表线上预览出现死循环的问题,实施人员反馈,线上生产环境中,使用某个功能显示pdf的时候,出现了接口超时问题,在这个项目中,我们使用的是JasperReports报表来生成PDF的,所以需要根据jasper模板进行渲染。因为jasper报表渲染卡死,处于死循环的状态,一直在无限渲染page页面,从而导致程序无法执行下去,超过30s之后,前端界面就提示接口超时了。到此,Jasper Studio制作报表,预览时候出现死循环,一直渲染页面,total pages无限渲染的问题就解决啦。
2024-06-18 15:14:23 354
原创 JDBC通过ParameterMetadata获取参数元数据信息,报错:Parameter metadata not available for the given statement
JDBC通过ParameterMetadata获取参数元数据信息,报错:Parameter metadata not available for the given statement的问题就解决啦。在数据库链接地址url里面,添加generateSimpleParameterMetadata=true的参数信息。大概的意思是:参数元数据信息对于被给的语句不可用。
2024-06-17 16:42:01 218
原创 JasperReports渲染报表时候,报错:Error loading object from InputStream.invalid stream header: 3C3F786D
我想了下可能出现这个问题的原因,因为我在Jasper Studio报表工具里面是可以正常预览的,所以这就让我感到奇怪了。于是,我就是使用排除法,先渲染一部分,看看是否可以正常,先将子报表去掉,只渲染最基础的文本信息,去掉子报表之后重新预览,是可以正常显示的。通过这个步骤,也就可以知道,报错是因为子报表这块内容有问题,而其还是流读取失败,既然要读取流,那一定是读取报表文件导致,于是我就看了下Subreport子报表的文件路径,果然,子报表写的文件路径是错误的。大致意思是:加载流对象失败。
2024-06-12 14:02:09 747
原创 【SpringBoot笔记48】SpringBoot多数据源配置(方式五:使用dynamic-datasource动态数据源插件)
在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。针对这个问题,也有一些开源的动态数据源插件可以解决,例如:dynamic-datasource动态数据源插件,它是MyBatis Plus官方实现的一个动态数据源插件,功能非常丰富,而且还支持分布式事务。
2024-06-12 07:57:47 115
原创 【SpringBoot笔记47】SpringBoot多数据源配置(方式四:根据前端传递的数据库连接参数动态切换数据源)
在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源,并且根据前端传递的数据库连接信息,在代码中动态的创建并且切换要使用的数据源。
2024-06-08 10:55:55 93
原创 【SpringBoot笔记46】SpringBoot多数据源配置(方式三:基于AOP动态切换需要使用哪个数据源)
在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源,并且在代码中动态切换使用的数据源。
2024-06-08 10:39:10 216
原创 Jasper Studio报表工具预览报错:Error evaluating expression for source text: ((net.sf.jasperreports.engine.dat
最开始我配置的子报表路径是【"/report/yyyy/xxxx.jasper"】,这个路径是不正确的,路径不能使用斜杆【/】开头,使用斜杆就表示绝对路径了,应该修改成【"report/yyyy/xxxx.jasper"】,即:采用相对路径格式。上面从报错,大致意思是说:解析表达式的时候出错了,我找了一圈也没发现哪个组件有问题,于是我就一个一个的尝试,最后发现了问题。
2024-06-06 21:14:57 523
原创 【SpringBoot笔记45】SpringBoot多数据源配置(方式二:在代码中动态切换需要使用哪个数据源)
在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源,并且在代码中动态切换使用的数据源。
2024-05-28 21:47:09 402 1
原创 【SpringBoot笔记44】SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)
在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源。
2024-05-28 21:20:25 312
原创 SpringBoot聚合工程下,引入动态数据源之后,访问接口报错:Invalid bound statement (not found):xxxxxMapper.selectList
今天创建了一个SpringBoot聚合工程,接着实现了自定义动态数据源相关的代码,工程是正常启动的,但是访问接口去查询数据库的时候,就报错了:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.dev.toolkit.repository.EntityPropertyConfigMapper.selectList。上面报错信息,就是说:MyBatis没有找到绑定的SQL语句。
2024-05-24 17:21:29 376
原创 DruidDataSource调用init()初始化数据源之后,链接地址不可用的时候,会循环打印报错日志:create connection SQLException, url: xxxxxx, er
今天在搞SpringBoot动态数据源的时候,有使用到DruidDataSource.init()方法初始化数据源,测试之后,发现如果url地址不正确的时候,控制台会一直输出连接失败的日志信息,报错日志如下所示:,出现上面报错原因是Druid在连接数据库失败之后,会尝试重新连接,所以导致报错日志一直打印。到此,DruidDataSource调用init()方法之后,一直报错的问题就解决啦。
2024-05-23 14:29:08 357
原创 SpringBoot程序报错事务回滚异常:Transaction rolled back because it has been marked as rollback-only
今天在测试环境中,测试一个功能的时候,发现了一个报错问题:Transaction rolled back because it has been marked as rollback-only,大致意思是事务已经回滚,因为它已经被标记为仅回滚。到此,Transaction rolled back because it has been marked as rollback-only的报错问题就解决啦。使用上面注解标记内层方法之后,再次启动运行,就可以正常运行啦。
2024-05-21 11:30:26 1552
原创 使用PageHelper分页插件,发现获取到的total总记录数量不对,无法获取到正确的total数量
上面的几种情况都不是我遇见的,我又仔细想了下,突然看到我代码里面通过mapper查询出来的List结果集,和我返回给前端的List结果集是两个不同的,按照PageHelper分页的原理,它缓存的是第一次SQL查询的结果集,而如果后面对第一次查出的结果集有二次处理,那么PageHelper就无法获取到实际的total数量。
2024-05-14 09:04:25 1563
原创 【Vue3笔记03】Vue3项目工程中使用vue-router路由
在src目录下面,新建一个router目录,在这个目录里面创建一个index.js路由文件,这个文件就是专门用于保存路由信息的。打开main.js文件,将刚刚创建的router/index.js路由文件导入到main.js里面。打开App.vue文件,使用标签显示路由。】的基础之上,引入vue-router路由插件,实现页面路由的跳转功能。接着在router/index.js配置文件中,添加两个组件的路由信息。这篇文章,是在前一篇文章【
2024-05-11 13:45:00 117
原创 【SpringBoot笔记43】SpringBoot应用程序集成spring-boot-admin监控工具
创建一个SpringBoot工程,引入spring-boot-admin-starter-client依赖、spring-boot-starter-parent依赖、spring-boot-starter-web依赖。创建一个SpringBoot工程,引入spring-boot-admin-starter-server依赖、spring-boot-starter-parent依赖、spring-boot-starter-web依赖。(2)启用spring-boot-admin服务端。
2024-05-11 09:02:11 456 1
原创 SpringBoot工程引入spring-boot-admin监控工具,启动报错:NoClassDefFoundError: reactor/core/publisher/Sinks$EmitResu
最近看到了一个监控相关的依赖,就想着引入试一下看看效果,这个监控工具是:spring-boot-admin,需要引入spring-boot-admin-starter-server依赖。从Caused by: java.lang.NoClassDefFoundError: reactor/core/publisher/Sinks$EmitResult报错信息来看,是缺少了reactor/core相关的类。到此,SpringBoot工程引入spring-boot-admin监控工具报错的问题就解决啦。
2024-05-10 19:10:33 228 1
原创 使用com.google.common.collect依赖包中的Lists.transform()方法转换集合对象之后,修改集合中的对象属性,发现不生效
从上面就可以看出来啦,当我们使用Lists.transform()方法转换得到的集合对象,如果没有对其数据进行修改操作,只是遍历集合,那么返回的数据就是相同的,但是,如果有对其进行修改操作,那么此时Lists.transform()方法会创建一个新的对象,修改也只是这个新的对象的数据,不会影响转换的集合数据,可以理解为:修改的数据只是一个临时对象,并不是原对象。针对上面的情况,解决方案当然是,直接通过new的方式,创建一个新的集合,然后对这个新的集合数据进行修改。
2024-05-10 16:17:41 1266
原创 【JavaParser笔记04】如何使用JavaParser依赖库生成Java类、接口、方法、属性、注释等内容
一、JavaParser代码生成1.1、引入依赖1.2、生成Java类1.3、生成属性和setter、getter方法1.4、生成方法前面几篇文章介绍了如何JavaParser依赖解析Java源代码文件中的内容,JavaParser不仅可以解析Java源代码,而且还可以生成对应的Java代码,例如:生成Java类和接口、生成方法、生成属性、生成注释内容等等。这篇文章就介绍一下,如何使用JavaParser依赖生成Java代码。首先在项目工程中,引入javaparser-core依赖和javaparser
2024-04-27 10:42:59 462
原创 操作Redis数据,报错:WRONGTYPE Operation against a key holding the wrong kind of value,类名:LettuceExceptionCo
我这个报错是因为在使用redis保存List集合类型数据的时候,不小心使用的是redisTemplate.opsForValue().set(key, value, timeout, timeUnit);方法,从而导致上面的类型错误。上面报错意思是:对于对应的key使用了错误的操作方式。最后排查发现,我保存数据的时候,是采用redis中的list数据类型,但是通过redis获取的时候,使用的确是string类型,所以这就导致了上面这个报错。
2024-04-21 15:12:08 303
原创 JSON转换Bean对象报错:net.sf.json.JSONException:Unknown property ‘xxx‘ on class ‘class java.lang.Object‘
从上面的报错日志中,大概可以知道,这是在将接口返回的JSON字符串转换成Bean对象的时候,接口返回了Bean对象中不存在的字段属性,从而导致在转换过程中报错。如上图所示,当返回的对象中包含了一个子对象,这个时候使用net.sf.json去转换的时候,就会报错:找不到对应的属性字段。我的项目工程中引入了【net.sf.json-lib】这个依赖,并且代码中是使用这个来处理JSON相关数据(这里的JSON字符串和前面的区别在于:这个JSON字符串中data对象中,多了一个extra对象属性。
2024-04-13 13:53:18 524
原创 【JavaParser笔记03】使用JavaParser解析Java源文件,生成Apifox接口请求参数的JSON Schema
什么是JavaParser依赖库呢???我们来问下通义千问,看看它是怎么回答的,如下所示:JavaParser是一款强大的开源Java源代码解析工具,它能将Java源代码转换成抽象语法树(AST, Abstract Syntax Tree),从而方便开发者对Java源代码进行静态分析、修改和生成。利用JavaParser,你可以轻松地获取源代码中的各种元素,包括但不限于类、接口、方法、变量、注释等,并且可以进行深入的语义分析。例如,要使用JavaParser获取类文件中的Javadoc注释和对应的字段属
2024-04-01 12:30:00 158
原创 【JavaParser笔记02】JavaParser解析Java源代码中的类字段信息(javadoc注释、字段名称)
在JavaParser中,采用FieldDeclaration对象来表示一个成员属性,通过FieldDeclaration对象,可以获取到成员属性的一些信息,并且也可以调用对应方法,生成代码等操作。通过上面的回答,相信你已经大概了解JavaParser依赖库的作用啦,其实简单来说,就是通过这个JavaParser依赖库,你可以获取到Java源文件中的一些相信,从而实现自己的一些需求,例如:根据Java源代码中的javadoc注释以及字段属性,生成接口文档之类的。什么是JavaParser依赖库呢?
2024-03-31 12:28:41 448
原创 【JavaParser笔记01】JavaParser解析Java源代码中的类信息(javadoc注释、类名称)
利用JavaParser,你可以轻松地获取源代码中的各种元素,包括但不限于类、接口、方法、变量、注释等,并且可以进行深入的语义分析。通过上面的回答,相信你已经大概了解JavaParser依赖库的作用啦,其实简单来说,就是通过这个JavaParser依赖库,你可以获取到Java源文件中的一些相信,从而实现自己的一些需求,例如:根据Java源代码中的javadoc注释以及字段属性,生成接口文档之类的。在实际开发中,根据不同的需求,你可以灵活运用JavaParser实现复杂的源代码分析和处理任务。
2024-03-31 12:17:35 596
原创 【Vue3笔记02】Vue3项目工程中使用axios网络请求库实现前后端数据通信
一般在实际的项目开发中,我们都是会在src目录下,创建一个api目录,然后在这个目录里面创建对应的js文件,在每一个js文件里面定义好具体的接口请求,这样在其他地方就只需要导入对应的请求方法就可以完成接口请求啦。上面只是简单的工具类代码,后续可以根据实际的需要,加上对应的逻辑判断,例如:根据状态码,判断用户是否有权限、用户是否登录、请求头加上token等等操作。前面一个步骤可有可无,根据你自己的项目情况来决定,如果你想在任意的地方都可以直接使用axios,那么就可以加上前一个步骤的配置。
2024-03-23 15:30:50 324
原创 【Vue3笔记01】如何使用Vue3和Vite搭建前端项目的基础开发环境
目前前端开发中,使用最多的就是Vue.js框架,目前Vue.js框架常用的有Vue2、Vue3两个版本,Vue3和Vue2在语法上还是存在很大的差异的,这里我将介绍如何搭建Vue3开发环境。
2024-03-23 14:31:39 175
原创 SpringBoot工程在IDEA中使用package打包报错:java.lang.TypeNotPresentException: Type RepackageMojo not present
Caused by: java.lang.UnsupportedClassVersionError: org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions u
2024-03-22 23:00:53 282
原创 JasperStudio中TextField文本框组件渲染之后,出现行间距不一致的问题
最近在处理线上遇到的一个问题,是有关JasperReports报表相关的问题,问题背景大概是这样的:我们的项目中使用了JasperReports来渲染报表,其中使用到了Text Field文本框组件,但是问题是渲染出来的数据直接会出现一些间距不一致的空白区域,效果如下所示:
2024-03-05 22:07:13 583
原创 SpringBoot添加Swagger2启动报错:java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonKey
SpringBoot工程添加Swagger2依赖,启动报错:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper、java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonKey。
2024-03-05 21:39:52 426
原创 【Nginx笔记02】通过Nginx服务器转发客户端的WebSocket接口到后端服务
今天在工作中,遇到了一个需求,这个需求大概是前端和后端需要采用WebSocket方式来进行通信,因为是WebSocket接口,需要客户端需要知道通讯的接口地址,WebSocket接口的地址格式是:【ws://ip:port/xxx/yyy】,其中ip和port是后端服务提供的,/xxx/yyy是后端服务中提供的具体WebSocket接口地址。不依然会断开连接吗。这种情况下,我们客户端如果再次发送消息,就会抛出异常,因为WebSocket连接已经断开,无法发送消息,那么要如何解决这个问题呢?
2024-02-27 21:50:16 6524
itext7操作图片案例代码(旋转、平铺、自适应).rar
2024-07-10
Markdown编辑软件安装包(typora-setup-x64).rar
2024-06-14
SpringBoot多数据源配置(方式五:使用dynamic-datasource动态数据源插件).docx
2024-05-28
【Sql Server课程实验SQL代码及其答案】
2024-05-24
SpringBoot多数据源配置(方式四:根据前端传递的数据库连接参数动态切换数据源).docx
2024-05-23
SpringBoot多数据源配置(方式三:基于AOP切面动态切换需要使用哪个数据源).docx
2024-05-23
SpringBoot多数据源配置(方式二:在代码中动态切换需要使用哪个数据源).docx
2024-05-22
SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置).docx
2024-05-21
CentOS系统安装nginx服务及安装包(华为云耀服务器).rar
2024-05-10
CentOS系统nginx安装步骤(华为云耀服务器).docx
2024-05-10
Nginx转发WebSocket接口配置方式
2024-02-27
适用于Windows系统的nginx安装包(提供快速启动、停止脚本)
2024-02-27
停止线程和取消线程任务的案例代码
2024-01-28
rocketmq-dashboard-jdk17可视化管理工具【JDK17环境】
2023-12-28
rocketmq-dashboard可视化界面管理工具
2023-12-26
Java反编译工具(jd-gui)
2023-11-25
【JasperReports】报表开发工具jasper studio
2023-08-05
基于Python+xlrd+pymysql将excel数据导入到MySQL数据库的exe可执行文件
2023-08-02
PDFBox替换文本内容(PDFBox根据模板生成PDF文档)
2023-07-18
自定义数据字典工程模块
2023-06-18
基于vue2和element-ui实现的自定义分页表格组件
2023-06-11
redis集群模式配置文件
2023-04-16
可折叠组件(好友列表)小案例
2023-03-29
数据结构之栈和队列的代码实现(C语言)
2022-12-30
android实现APP应用引导页&启动页的功能源代码
2022-12-07
Android自定义Toast提示信息工具类
2022-10-23
Android实现一个简易版本的购物车小案例
2022-10-21
使用Android模拟实现微信首页功能
2022-07-17
android模拟实现QQ登录界面
2022-07-14
JavaScript实现跑马灯效果
2019-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人