- 博客(52)
- 问答 (1)
- 收藏
- 关注
原创 自然语言处理(NLP)技术
这种技术可以在社交媒体上自动识别用户对某个产品、事件或议题的情感反馈,帮助企业了解用户对其品牌的态度或批评。问答系统:NLP技术可以帮助构建智能问答系统,用于回答用户提出的问题。这种技术通过分析问题内容和语义,可以从大量的知识库或文档中找到最相关的答案。这些只是NLP技术应用的一小部分示例,NLP在自动摘要、语音识别、自动问答、情感分析、信息抽取、机器翻译、智能客服等领域都有广泛的应用。机器翻译:NLP技术在机器翻译领域被广泛应用。命名实体识别:NLP技术可以识别文本中的命名实体,如人名、地名、组织名等。
2024-11-04 13:58:57 96
原创 uniapp中skymap.html(8100端口)提示未登录的排查与解决方法
目前账号已经登录,uniapp的其他端口均可以访问到数据,唯独skymap.html中的8100会提示未登录。(8100是后端网关gateway端口)在中遇到未登录提示的问题,通常是由于该文件的请求未带上登录状态的认证信息。一般来说,认证信息(如 Cookie 或 Token)默认会由前端框架(如 UniApp)管理,但如果是独立的 HTML 文件,浏览器的安全策略可能阻止了此文件自动带上认证信息。
2024-10-28 15:23:59 387
原创 前后端开发工程师想要从事人工智能 的学习步骤
机器学习是教会计算机从数据中学习和提取模式的方法,而深度学习是一种机器学习的特定方法,模仿人类大脑的神经网络结构。参加培训课程和学习资源:有很多在线和线下的培训课程和学习资源可以帮助你学习人工智能。根据你的兴趣和职业目标,学习相关的领域知识可以帮助你更好地应用人工智能技术。学习基本的数学和统计知识:人工智能是一个基于数学和统计的领域,了解基本的数学和统计概念对于学习人工智能至关重要。最重要的是,不要忘记保持持续学习和实践的态度。人工智能是一个不断发展和演变的领域,跟随最新的研究和进展是非常关键的。
2024-10-28 11:57:24 357
原创 tornado,flaskd这两个框架主要是干什么的
Flask是另一个Python的Web框架,它是一个轻量级的框架,用于构建简单的Web应用程序。Flask提供了一些基本的功能,如路由、模板引擎、请求和响应处理等,但没有像Django等框架那样提供完整的功能集。适用于构建小型的、简单的Web应用或原型开发。Tornado适用于需要处理大量并发连接和实时性要求较高的应用,而Flask适用于构建简单的、小型的Web应用程序。它基于非阻塞的网络I/O模型,可以处理大量并发连接,适用于需要处理实时性要求较高的应用场景,如实时聊天、实时数据推送等。
2024-10-28 11:54:16 330
原创 Git 的基本概念和使用方式
远程仓库(Remote):远程仓库是指位于网络上的Git仓库,通常托管在代码托管平台(如GitHub、GitLab等)。提交(Commit):提交是指将文件的变化保存到Git仓库中。你可以在一个项目中创建多个分支,并在不同分支上进行开发,最后将分支合并到主分支。主分支(Master):主分支是默认的主要开发分支。一般情况下,你会在主分支上进行稳定的开发,并在发布新版本时将其他分支合并到主分支。仓库(Repository):Git用仓库来存储项目的所有文件和历史记录。命令将本地仓库的修改推送到远程仓库。
2024-10-24 14:22:09 361
原创 天地图实现海量聚合marker--uniapp&后端详细实现
本文章详细的讲解了前后端代码来 实现uniapp天地图功能的实现 以及 后端海量数据的聚合查询 和网格算法实现思路。并对当数据量增加和用户频繁请求接口时可能导致服务器负载过高做了前后端优化。
2024-10-24 14:19:41 551
原创 RESTful API以及如何使用它构建 web 应用程序
RESTful API是一种使用HTTP协议中的标准请求方法(如GET,POST,PUT,DELETE等)来访问和操作资源的应用程序接口。例如,用GET方法获取资源的详细信息,用POST方法创建新资源,用PUT方法更新现有资源,用DELETE方法删除资源等。文档和版本控制:提供清晰的API文档,包括资源的URL,支持的操作,参数和返回值等信息。设计资源:确定应用程序中的资源,每个资源都有一个唯一的标识符(URL)和对应的操作(GET,POST,PUT,DELETE等)。
2024-10-23 15:06:01 329
原创 实现uniapp天地图边界范围覆盖
代码效果如下图所示:然后再你需要展示展示地图的页面引入以下代码:注意一定要使用iframe,不要使用web-view!!否则布局会变得很奇怪样式代码:你也可以自定义实现自己想要的效果:示例代码源自天地图:天地图API。至此地图即可以正确展示了。如果感觉还不错,点个关注收藏吧。
2024-10-18 11:47:10 833
原创 轻松实现百度大模型ERNIE对话
设置成流式清求能一段一段内容返回,如果您需要达到逐字输出的效果,你可以使用服务端接收到流式返回结果后,通过SSE的方式返还给客户端、客户端通过EventSource接收后使用js定时打印,Typed.js等方式实现逐字输出即可。// # 在.env文件中,设置以下内容,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk。该代码直接可用,实现了流式输出,只需要在你自己的开发环境配置百度申请的QIANFAN_AK和QIANFAN_SK即可使用啦。
2024-07-04 16:17:47 238
原创 对比 JSON 和 Hessian2 的序列化格式
特性JSONHessian2可读性高,可读性强,便于调试低,二进制格式,不便于调试语言无关性高,几乎所有语言都支持中等,支持多语言但依赖库支持性能低,序列化和反序列化速度较慢高,序列化和反序列化速度非常快数据体积大,包含字段名等额外信息小,二进制格式,数据体积小类型安全低,类型不严格,可能导致解析错误高,包含类型信息,保证数据一致性应用场景Web 开发,API 接口,广泛应用高性能 RPC 调用,高并发场景调试和日志记录容易调试,日志记录友好调试困难,不便于日志记录安全性。
2024-06-07 16:18:42 784
原创 Mongo 地理位置查询:海量密集点转换成聚合信息
将地图上的海量密集点通过网格分割的方式实现聚合;需求:用mongo实现设备地理位置聚合查询 :多边形,矩形查询;背景:上万设备数据量目的:分享Mongo地理位置查询,以及文末对在此之前的两种实现方式做分析比较,纠正一些开发中的错误认知;1、自定义:数据库查询注意:MongoDB 不支持在一个查询中同时使用 $polygon 和 $box;2、如果需要求中心点,可以使用聚合查询,实现加权平均权重点。
2024-06-04 09:49:51 267
原创 MethodArgumentNotValidException提取关键报错信息返回
中的错误信息包含了字段验证错误的详细信息。具体地说,这些详细信息被包含在。对象表示一个字段验证错误,包含了验证失败的详细信息。对象表示一个验证失败的字段及其详细信息。具体到你的例子中的异常信息,它的类型是。目的:只需要关键提示词;
2024-05-30 16:18:50 430
原创 SQL、Mongo、Redis一般适用于那些场景
总的来说,SQL 数据库适合存储结构化数据,如用户信息、订单信息等;Redis 适合用作缓存、会话管理和消息队列;根据具体的业务需求和数据特点,可以合理选择和组合这些数据库技术来支持物联网项目的开发和运行。在一个项目中同时使用 MySQL、Redis 和 MongoDB 是相对常见的做法,因为它们各自具有不同的特点和适用场景,可以组合使用以满足不同的需求。这样的组合可以充分发挥各种数据库的优势,满足项目的不同需求。但同时也需要注意数据一致性、同步更新等问题,确保各个数据存储之间的数据一致性和正确性。
2024-05-13 16:36:42 632
原创 常见的领域驱动设计架构
又或者,可以将事件驱动架构与CQRS架构结合,使用事件驱动架构来处理应用程序内部的异步通信和事件驱动逻辑,同时使用CQRS架构来将读取操作和写入操作分离,以提高应用程序的性能和可扩展性。例如,可以将三层架构与REST架构结合,使用三层架构来组织应用程序的内部结构和业务逻辑,同时使用REST架构来实现应用程序的外部接口和与客户端的通信。常见的领域驱动设计架构有经典的三层架构、REST架构、事件驱动架构、CQRS架构、六边形架构等。
2024-04-16 11:39:05 419
原创 循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。
反编译出的字节码文件显示每次循环都会 new 出一个 StringBuilder 对象,然后进行 append 操作,最后通过 toString() 返回 String 对象,造成内存资源浪费。这种方式避免了在循环中创建多个 StringBuilder 对象,从而提高了性能并减少了内存资源的浪费。在上面的示例中,我们首先创建了一个 StringBuilder 对象。方法将 StringBuilder 对象转换为最终的字符串结果。,并将初始字符串 "start" 传递给它。
2024-03-01 16:55:47 499
原创 使用索引访问用 String 的 split 方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛 IndexOutOfBoundsException 的风险。
在上面的代码中,字符串 "a,b,c,," 使用逗号作为分隔符进行了分割,预期得到的数组长度应该大于 3,因为有四个逗号分隔出了五个部分。然而,实际上,由于最后两个逗号之间没有内容,split 方法会忽略这部分内容,因此得到的数组长度为 3,而不是预期的大于 3。为了避免这种情况,我们可以在使用索引访问 split 方法得到的数组时,进行额外的检查,确保最后一个分隔符后是否有内容。通过在末尾添加一个额外的空字符串元素,我们确保了最后一个分隔符后的内容不会被忽略,从而得到了预期的数组长度。
2024-03-01 16:02:43 431
原创 杂七杂八的命令
配置rocketMQ的log日志存储信息。# checkpoint 文件存储路径。# commitLog 存储路径。# abort 文件存储路径。3、清除Docker的数据。4、清除具体某一个端口号占用。# 消息索引存储路径。
2024-01-24 11:43:44 592
原创 使用Java VisualVM实现细粒度代码执行时间测量:深入分析每行代码的性能
VisualVM 将会提供一个实时的 CPU 采样图,显示了方法的调用树以及每个方法的执行时间百分比。你可以查看这些信息,以确定哪些方法花费了更多的时间。如果你需要更细颗粒度的代码执行时间测量,你可以考虑使用 Java 代码性能分析工具,其中一种比较常用的是 Java VisualVM。
2024-01-08 09:57:55 628
原创 后端处理文件上传:对比用Controller层和Service层的优缺点
当涉及文件上传时,有两种主要的处理方式:将文件上传逻辑放在控制器(Controller)层和将文件上传逻辑放在服务(Service)层。
2024-01-05 18:22:08 885
原创 switch识别枚举类型
类型有两种声明方式:一种是简单的枚举常量,另一种是带有字段和构造函数的枚举。您第一段代码使用的是简单的枚举常量,而第二段代码使用的是带有字段和构造函数的枚举。而带有字段和构造函数的枚举实例是对象,而不是简单的常量。在这种情况下,Java 编译器无法将其直接映射到整数值,因此不能在。语句中,Java 可以直接识别简单的枚举常量。这是因为简单的枚举常量是唯一的且在编译时就可以确定的,它们本质上是整数值。语句要求表达式是常量表达式,即在编译时就能确定的值。属性,可以直接使用枚举常量,而不是调用方法。
2024-01-02 11:05:05 604
原创 MongoDB搜索实现Query-监控数据列表
需求逻辑:假如一个id为4399666,那么它对应的独立的文档名则为metricData_4399666,然后从这个文档中,然后拿到该文档中的createdAt字段来进行时间排序拿到前6个数据。然后再根据每个id去找到他们一一对应的metricData-id文档,然后根据时间排序拿到最新的六条数据;该接口预留了很多字段可以根据实际需求进一步编写来实现更精细化的搜索数据功能;总得来说就是,现从一个总得监控metric文档中拿到每一条metric的id;注释也写的非常清楚了。
2023-12-28 16:43:33 413
原创 为什么建议用“构造函数注入“替换@Autowired?
平时写代码我还是推荐使用构造函数注入(Constructor Injection)或方法注入(Setter Injection)来代替字段注入。这有助于更好地管理类的依赖关系,并提高代码的可维护性和可测试性。@Autowired字段注入(Field Injection)通常不被推荐,因为它使得类对具体的实现产生依赖,降低了可测试性,并且在一些场景下可能引起循环依赖问题。这样的注入方式提高了类的可测试性,并使得类的依赖关系更加明确。而且视觉上编辑器上的感叹号数量看着真的很难受!
2023-12-22 17:39:27 690
原创 为什么private、protected修饰的方法事务注解不能回滚
解决方法是将事务注解放在公共(public)方法上,以便事务管理器能够正确地拦截和处理这些方法的调用。如果确实需要在私有方法上使用事务注解,可以考虑通过将注解放在公共方法上,并在公共方法中调用私有方法的方式来实现事务的正确处理。但是,对于私有方法或受保护的方法,这些方法在外部类或事务管理器的代理对象中不可见。因此,如果你在私有方法上使用事务注解,事务管理器可能无法正确地拦截和处理这些方法的调用,从而导致事务无法正常回滚。修饰的方法通常是类内部使用的方法,而事务注解通常是由外部的事务管理器来处理的。
2023-12-21 10:35:39 757
原创 事务管理机制@Transactional保护数据的一致性
上面代码目前还是不够安全 极小概率还会遇到,数据第一次insert是成功的,但是下一步数据库突然异常 thingRepository.save(newThing)失败了的情况,这种情况而数据库确写入了该不合法数据;如果在方法执行期间发生异常,事务将被回滚,确保数据的完整性。场景:创建设备需要先插入到数据库一个数据,然后rn字段需要先拿到数据库生成的设备id再进行字段拼接才会更新数据库,这样一个流程数据才是有效数据;当方法执行过程中发生异常时,事务会被回滚,确保数据的一致性。在Spring框架中,可以使用。
2023-12-20 17:16:58 384
原创 MongoRepository、原生、聚合的使用场景
在MongoDB中,MongoRepository、原生查询(Native Query)、聚合框架(Aggregation Framework)是三种不同的查询和数据处理方式,它们适用于不同的场景和需求。综合考虑业务需求和查询复杂度,可以根据具体场景选择合适的查询方式,甚至在一个应用中同时使用多种方式。
2023-12-06 17:52:53 801
原创 SpringCloud微服务启动,自动生成数据库中的表
如果不需要灵活可随时添加新数据的表的话,则可以用枚举计不用像这样麻烦了;自动生成数据库中的表,注意要考虑每次重启服务时做了什么事想要什么效果;
2023-12-05 15:01:29 509
原创 代码规范:下拉框里的选项应该是后端生成的
问题场景:netType字段:之前只是前端写了一个下拉框定死的选项:Wifi,NB-IoT,以太网,蜂窝;但是这明显是不规范的,应该是后端定义一张单独的表来制定只能有这些字段,其他字段都不通过,然后通过一个解决返回一个数组包含这些信息才对;在服务层中,通过调用数据库操作类(可能是Repository、Mapper等,具体取决于您的技术栈)来获取合法的。字段的有效性,同时也提供了一个可维护的方式来管理这些合法取值。值,如"Wifi"、"NB-IoT"、"以太网"、"蜂窝"等。通过这样的设计,可以确保。
2023-11-30 16:37:55 597
原创 String,List,对象的空判断区别
String和List是特殊的情况,要注意“” “ ” 的区别。注意对:String,List,对象的区别,具体对象的话则可以只用 null来判断。例子:String s;
2023-11-29 19:02:07 380
原创 Spring MVC(Model-View-Controller)的架构
在Java中,通常采用Spring框架进行开发,其中涉及到MVC(Model-View-Controller)的架构。在这种架构下,Controller、Service以及ServiceImpl分别代表不同的层次和职责,并通过一定的联系协同工作。这种分层的设计有助于提高代码的可维护性、可测试性和可扩展性,使各个模块的职责清晰分离。
2023-11-28 13:51:00 423
原创 java模糊查询
方法来检查标识符是否包含所需的子字符串。这样,无论输入的大小写如何,都将进行模糊匹配。这样的实现会更符合您的期望。上面两种写法实现的模糊查询时有区别的,通常第一种适用范围更宽泛的模糊匹配!方法将标识符和目标进行小写转换,以确保不区分大小写。如果你小子想要实现一个更宽泛的模糊匹配,可以使用。Beacause:这里使用了。
2023-11-22 13:59:33 69
原创 Acorn解析传入脚本(前端js脚本格式校验)
现在前端有一个js脚本输入框,要对用户写的脚本做函数验证,要保证用户写的函数正确,必须保证有rawDataToProtocol和protocolToRawData这两个函数才正确,如果只有一个或者其它函数名均是不正确的,且函数格式不正确也会有提示;最终决定使用:Acorn,原因下载量大,最合适,一直处于维护状态长达十几年,且使用配置规范合理,适合Js解析。
2023-11-14 15:43:20 322 2
原创 更新接口@Patch和@Put的区别
PATCH:一般为更新那个传那个,比如你需要更新nodeType,和netType只需要传这两个就可以。PUT:一般为更新一个整体,属于整体更新,一般会把所有的都放进去做整体更新。都是可以更新的属性;一般requestBody定义的时候是有区别的。这是开发者们约定俗成的一种默认的一种更细分的代码规范而已~两种接口请求的后端实现逻辑几乎是不用变的;
2023-11-11 18:51:02 571 1
原创 MongoDB聚合搜索Aggregation(时间,模糊匹配,最新值)SpringCloud JAVA
mongo的聚合查询实现。同时注意细节:mongo的映射关系,还有文档名必须正确还要注意层级关系!
2023-11-11 16:44:34 1931 1
原创 为什么用INTERNAL_FAILURE和log.debug而不用e.printStackTrace();
实际发布项目还是用log输出日志文件记录更好,他现在用的INTERNAL_FAILURE,可能是考虑的:当应用程序遇到无法处理的异常情况时,会记录错误详细信息以供开发人员进行故障排除,同时向客户端返回 INTERNAL_FAILURE 或类似的错误码以指示问题。1、在部署到正式服,或者有日志系统不能规范的采集到异常错误,因为这种异常没有附加任何日志规范,比如日期,时间,等级,给日志分析带来了不便。是记录调试级别的日志消息的一种方法,通常用于记录更详细的信息,例如变量的值、方法的执行轨迹等。
2023-10-09 15:31:22 92 1
原创 搜索查询一般由前端还是后端筛选的优缺点分析
在某些情况下,可以采用混合策略,部分筛选在前端执行以提供更快的用户体验,同时后端仍然进行额外的验证和安全性检查。如果数据量大或需要更高的安全性和权限控制,或者需要跨多个客户端共享筛选逻辑,最好在后端执行筛选。最终的选择取决于你的应用的具体需求和性能目标,可以在前端和后端之间找到平衡点以满足这些需求。如果数据量较小且前端设备性能足够强大,可以考虑在前端执行筛选以提供更快的响应时间。查询范围的筛选可以在前端或后端执行,具体哪种方式更好取决于你的应用需求和架构。
2023-09-27 14:53:14 1271 1
原创 Jackson控制多态的注解--JsonTypeInfo,JsonSubTypes,JsonTypeName
总的来说,这两个选项的区别在于类型信息是放在已有的属性中(EXISTING_PROPERTY)还是放在一个新的外部属性中(EXTERNAL_PROPERTY)。例如,如果您的数据结构已经包含了一个属性,您可以使用这个属性来存储类型信息。当使用 EXISTING_PROPERTY 时,类型信息被包含在一个已有的属性中,而不是创建一个新的属性来存储类型信息。这个外部属性与您的数据结构中的其他属性是分离的。当使用 EXTERNAL_PROPERTY 时,类型信息被包含在一个新的外部属性中。
2023-08-14 13:48:49 1771
小狐狸GPT付费体验系统
2023-04-28
MiniGPT-4(KAUST) 手写草稿创建网站
2023-04-27
大四下学期该怎么规划?前端培训机构有必要吗?
2021-12-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人