自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1029)
  • 收藏
  • 关注

原创 华为开发者空间- 开发平台, 使用MCP资产快速构建AI Agent应用

华为开发者空间全新升级,为开发者提供AI时代的智能应用开发体验。通过对AI原生应用引擎、Astro等工具平台的嵌入及衔接打通,让开发者使用体验更丝滑。通过提供FunctionGraph、CAE等Serverless计算资源,打通从开发到部署,带来一站式智能应用开发体验。本案例选择使用开发者空间开发平台,通过开发平台AI原生应用引擎中提供的MCP资产和预置的的大模型,丝滑构建AI Agent应用。

2025-07-03 17:53:01 346

原创 基于Leaflet和天地图的免费运动场所WebGIS可视化-以长沙市为例

在当今快节奏的现代生活中,人们对于健康生活方式的追求愈发强烈,运动健身成为众多市民日常生活的重要组成部分。长沙市作为湖南省的省会城市,拥有众多的运动场所,从专业的体育场馆到社区内的小型健身场地,种类丰富。然而,对于广大市民而言,如何快速、便捷地找到身边的免费运动场所,以及了解这些场所的相关信息,如位置、设施、开放时间等,一直是一个难题。WebGIS(Web 地理信息系统)技术的出现和发展,为解决这一问题提供了新的思路和方法。

2025-07-03 11:26:01 399

原创 基于Java和PostGIS的AOI面数据球面面积计算实践

在现代地理信息系统(GIS)中,AOI(Area of Interest)面数据的处理和分析是一个核心任务。AOI面数据通常用于表示地理区域,如城市、国家、自然保护区等。准确计算这些区域的面积对于城市规划、环境监测、资源管理等领域至关重要。然而,由于地球的曲率,传统的平面面积计算方法在处理大范围地理数据时会产生显著误差。在实际应用中,AOI面数据的球面面积计算可以应用于多种场景。例如,在城市规划中,准确计算城市区域的面积有助于评估城市扩展的潜力;

2025-07-03 11:25:35 489

原创 基于Java和高德开放平台的WebAPI集成实践-以搜索POI2.0为例

在当今数字化时代,地理信息系统(GIS)和位置服务(LBS)已成为许多应用程序的核心组成部分。无论是导航、物流、社交网络还是电子商务,位置数据的获取和处理都显得尤为重要。高德开放平台作为国内领先的地理信息服务提供商,提供了丰富的WebAPI接口,帮助开发者快速集成地图、导航、搜索等功能。其中,POI(Point of Interest)搜索是许多应用场景中的关键功能,它能够帮助用户快速找到附近的兴趣点,如餐馆、酒店、加油站等。

2025-07-03 11:22:35 331

原创 这道 JVM 面试题年年有人挂,堆和栈的区别你真懂了吗?

其实,社招面试最怕的不是你不会答,而是你只答皮毛。“堆和栈的区别”这道题,既可以用一句话带过,也能讲出 JVM 架构 + 调优经验 + 性能陷阱 + 面试亮点,关键在于你能不能借这题发挥。我喜欢在面试中展示结构化表达能力——这不光是为了让面试官听明白,更是为了让自己每一个知识点都经得起推敲。希望今天的这篇文章能让你对“堆和栈”有个更系统、更实战的理解。

2025-07-03 09:29:58 243

原创 靳宇灵 | Django实战:HTTP状态码与业务状态码的分层设计与实战应用

HTTP响应状态码是用以表示网页服务器HTTP响应状态的3位数字代码。它由HTTP协议定义,用于描述请求 - 响应过程中的各种状态,帮助客户端(如浏览器)理解服务器的响应结果。打开Chrome浏览器——F12——网络,查看响应标头。业务状态码是应用层定义的状态码,用于描述具体业务逻辑的处理结果。它与HTTP状态码不同,HTTP状态码主要关注协议层面的通信状态,而业务状态码关注的是应用逻辑是否成功、失败以及失败的具体原因等。自定义性:业务状态码是根据具体业务需求定义的。

2025-07-02 18:09:49 308

原创 Django实战:HTTP状态码与业务状态码的分层设计与实战应用

HTTP响应状态码是用以表示网页服务器HTTP响应状态的3位数字代码。它由HTTP协议定义,用于描述请求 - 响应过程中的各种状态,帮助客户端(如浏览器)理解服务器的响应结果。打开Chrome浏览器——F12——网络,查看响应标头。业务状态码是应用层定义的状态码,用于描述具体业务逻辑的处理结果。它与HTTP状态码不同,HTTP状态码主要关注协议层面的通信状态,而业务状态码关注的是应用逻辑是否成功、失败以及失败的具体原因等。自定义性:业务状态码是根据具体业务需求定义的。

2025-07-02 17:29:28 384

原创 可观测领域的王者Dynatrace的故障定位能力验证

测试系统EasyShopping,是一个包含17个业务服务的复杂微服务系统,部署在k8s平台上。DataBuff的One-AgentDynatrace的One-Agent。

2025-07-02 14:33:12 470

原创 如何一眼定位SQL的代码来源:一款SQL染色标记的简易MyBatis插件

答:org.mybatis:mybatis 版本较低。可以将sword-mybatis-plugins 升级至 1.0.5-SNAPSHOT 或之上版本,对低版本 mybatis 做了兼容。

2025-07-02 14:05:09 343

原创 vue2 中的 .sync 修饰符

在Vue中,子父组件最常用的通信方式就是通过props进行数据传递,props值只能在父组件中更新并传递给子组件,在子组件内部,是不允许改变传递进来的props值,这样做是为了保证数据单向流通。但有时候,我们会遇到一些场景,需要在子组件内部改变props属性值并更新到父组件中,这时就需要用到.sync修饰符。当使用 :msg.sync="msg" 时,等价于 :msg="msg" @update:msg="msg = $event"因为是在父组件更新值,所以就不是在子组件更新 prop 值了。

2025-07-02 10:36:52 284

原创 .NET程序启动就报错,如何截获初期化时的问题json

有了windbg之后,很多东西都会豁然开朗,而不再像以前那样人云亦云,高级调试这门救火技术应该是高级程序员必须的进阶之路。

2025-07-02 10:29:15 384

原创 如何反向绘制出 .NET程序 异步方法调用栈

手工绘制异步调用栈需要对异步的底层构建有一个清晰的认识,调试师是痛苦的,要想进阶为资深,需要日积月累的底层知识沉淀,在自我学习的过程中如果没有无数次的在绝望中寻找希望的能力,很容易从入门到放弃。。。

2025-07-02 10:28:31 408

原创 java内存泄漏如何排查?

最近公司生产环境里面一个服务的一直在上升,过一段时间就要触发报警,重启也只能暂时缓解,由于还没有OOM,猜测可能是内存泄漏了。

2025-07-02 09:55:19 198

原创 【机器视觉】一文掌握数据扩充方法,确实很赞。

数据增强是计算机视觉领域的一项重要技术,它通过对现有图像进行各种转换,人为地扩展训练数据集。在训练Ultralytics YOLO 等深度学习模型时,数据扩增有助于提高模型的鲁棒性,减少过拟合,并增强对真实世界场景的泛化。我是小鱼博客专家;阿里云 专家博主;51CTO博客专家;企业认证金牌面试官;多个名企认证&特邀讲师等;名企签约职场面试培训、职场规划师;多个国内主流技术社区的认证专家博主;多款主流产品(阿里云等)评测一等奖获得者;

2025-07-02 09:55:12 397

原创 Process exited with an error: 1 (Exit value: 1) 问题处理

[TOC](Process exited with an error: 1 (Exit value: 1) 问题处理)

2025-07-01 11:54:47 298

原创 Java内存区域全解析:一次被面试官“逼疯”的回忆录

哈喽大家好,我是你们的老朋友小米,今年31岁,Java搬砖第10年,Bug修复无数,面试经验满满。今天咱不讲框架、不讲中间件,我们来聊聊——这个老生常谈的面试题。题目是这样问的:“请你说一下 JVM 的主要组成部分以及各自的作用。看到这个问题,我眼前一黑,脑子开始高速回忆各种堆啊、栈啊、方法区啊……还真别说,这问题看似基础,答起来真有点讲究。所以,今天我就来和大家聊聊,当年我是怎么一步一步搞懂这道题,并顺利在面试中脱颖而出的——顺便,也让你少走点弯路。

2025-07-01 09:26:39 537

原创 缓存之美:Guava Cache 相比于 Caffeine 差在哪里?

本文将结合的源码来分析它的实现原理,并阐述它相比于 Caffeine Cache 在性能上的劣势。为了让大家对 Guava Cache 理解起来更容易,我们还是在开篇介绍它的原理:Guava Cache 通过分段(Segment)锁()机制、volatile变量和多种缓存策略实现了性能相对 Caffeine 性能较差的缓存,它的数据结构如上图所示。它会将缓存分成多个段(Segment)去管理,,如果要创建大小为 1000 的缓存,那么实际上会分配 4 个段,每个段的最大容量为 250。

2025-06-30 18:07:07 470

原创 高性能缓存设计:如何解决缓存伪共享问题

我们使用注解将这两个字段定义在两个不同的缓存行中,执行结果耗时与显示声明字段占位耗时相差不大,为 520ms。另外需要注意的是,要想使注解。

2025-06-30 18:06:48 797

原创 Iceberg在图灵落地应用

由于百度MEG上一代大数据产品存在平台多、易用性差及数据流转繁琐等问题。这些问题导致开发人员研发效率低及多平台间高昂的学习成本;业务部门的感知则是需求交付迟缓、数据产出延迟及数据质量低等问题。为了解决上述问题,我们构建了新一代大数据解决方案——"图灵3.0",旨在覆盖数据全生命周期,支持全链路数据操作,提供高效敏捷且统一的强大数据生态系统,其中包括数据计算引擎、数据开发和数据分析三个核心部分:图灵生态的计算引擎,包含基于Hive、Iceberg进行数据处理的Spark和。

2025-06-30 15:14:46 560

原创 HarmonyOS NEXT应用元服务常见列表操作多类型列表项场景

Refresh组件可以进行页面下拉操作并显示刷新动效,List组件配合使用Swiper、Grid等基础组件用于页面的整体构建,再通过List组件的sticky属性、onReachEnd()事件和Refresh组件的onRefreshing()事件,实现下滑模拟刷新、上滑模拟添加数据及列表标题吸顶的效果。将构建好的页面内容,放在Refresh组件内部,并给List和Refresh组件添加对应的onReachEnd()和onRefreshing()回调,实现下拉模拟刷新和上滑添加列表数据的效果。

2025-06-30 15:02:56 896

原创 SpringMVC 内容协商处理

SpringMVC 内容协商是restful风格的体现,一般springmvc和前台数据交换有xml格式和json两种数据格式,平时我们主流使用的主要是json格式。我现在在pom.xml 文件中配置了两种解析工具,一个是json,一个是xml。我是把json放到了xml的依赖的前面,现在我调整一下顺序,但是并没有效果。但是返回的数据格式是xml,我想要json,这样前台就优先返回json格式的数据了。

2025-06-30 11:43:19 621

原创 Spring MVC数据绑定和响应 你了解多少?

一般订单业务中,用户和订单基本都是一对多的映射关系,即用户的订单属性使用集合类型。在复杂POJO数据绑定时,如果数据绑定到Map类型的属性,客户端请求的参数名称(本例中指form表单内各元素name的属性值)必须与POJO类的层次结构名称保持一致,并使用键值的映射格式描述对象在Map中的位置,即客户端参数名称必须和要绑定的Map中的具体对象的具体属性的名称保持一致。name属性的别名,这里指参数的名称,即入参的请求参数名称,如value="name"表示请求的参数中,名称为name的参数的值将传入。

2025-06-30 11:30:50 655

原创 Python TensorFlow OpenCV的卷积神经网络CNN人脸识别系统构建与应用实践

基于Python、TensorFlow和OpenCV构建的卷积神经网络人脸识别系统,通过高效的数据预处理、强大的特征提取能力和优化的模型架构,实现了99.4%的识别准确率,在实际应用中展现出良好的性能。为增强数据多样性,提升模型泛化能力,我们还对处理后的人脸图像进行随机旋转(-5°至5°范围内),并手动剔除无有效人脸的图片,最终每人保留100张高质量人脸图像。本项目的实践表明,深度学习技术在人脸识别领域具有显著优势,通过合理的数据处理和模型设计,能够满足实际应用场景的需求。技术背景与应用场景解析。

2025-06-30 10:07:30 731

原创 EasyExcel

EasyExcel是一个高效、低内存占用的Excel处理框架,提供了简洁易用的API接口,使得我们能更加高效、灵活的处理Excel文件。当然,EasyExcel并非一个完全从零构建的开源项目,而是阿里巴巴在POI的基础上做了进一步封装,大家能从EasyExcel官网POI也好,JXL也罢,它们都存在一个严重的问题就是非常的耗内存,尽管POI提供了一套SAX模型能在一定程度上解决OOM问题,但它仍然存在一些缺陷,对内存消耗依旧较大。因此,EasyExcel重写了POI对07版Excel文件的解析,一个3MB。

2025-06-29 16:02:11 687

原创 Spring AI 增强器 API:用插件思维提升每一次 AI 对话质量!

在 Spring AI 中,增强器(Enhancer)API的定位是 ——对 Prompt 请求/响应链路的预处理器/后处理器。简单说就是:你可以在“问”之前,插一脚 —— 改写用户问题、追加上下文。你可以在“答”之后,插一脚 —— 增加 disclaimer、重新格式化结果、追加情感色彩等。Spring AI 提供了两大核心接口::处理原始用户输入 Prompt,可改写或增强。:处理 LLM 返回的结果 AIResponse,可改写答案或封装成特定格式。

2025-06-29 14:54:26 816

原创 从零开始:借助Amazon Q构建实时投票应用

最近需要开发一个支持100人同时在线投票的应用,考虑到成本和可扩展性,我选择了AWS的Serverless架构。整个过程从需求分析到部署上线,遇到了不少坑,也学到了很多东西。今天分享一下完整的开发和部署过程。Serverless架构为现代应用开发提供了新的可能性。虽然有一定的学习曲线,但其带来的成本优势和运维简化是显而易见的。希望这篇文章能够帮助到正在考虑使用Serverless架构的开发者们。借助Amazon Q可以实现快速APP的开发和部署,在AI技术的支持下,代码开发和迭代的效率提高了数倍。

2025-06-29 14:25:49 843

原创 LangChain 实战课(三) 应用

具体来说,系统将形成任务列表,从任务列表中拉出优先级最高的第一个任务,使用 OpenAI API 根据上下文将任务发送到执行代理并完成任务,一旦这些任务完成,它们就会被存储在内存(或者 Pinecone 这类向量数据库)中,然后,根据目标和上一个任务的结果创建新任务并确定优先级。在 LangChain 的代理、工具和记忆这些组件的支持下,它们能够在无需外部干预的情况下自主运行,这在真实世界的应用中具有巨大的价值。大模型的推理,加上工具的调用,都集成在一个系统中,而这个系统可以处理多种类型的任务。

2025-06-29 10:16:27 575

原创 鸿蒙开发:资讯项目实战之底部导航封装

本文API>=13因为我们这个资讯项目采用的是组件化的方式开发,进而,在前几篇的文章,我们对组件化运行做了详细的概述,如今已经实现了各个组件的单独运行,终于可以进行项目的下一步了,今天这篇文章,我们实现一个项目中一个比较重要的功能,那就是底部导航。底部tab导航,也就是主页面的四个tab,我们需要在主入口Index页面中进行配置。在项目立项之初,针对项目中遇到的技术,我有做过简单的概述,那就是除了知识点的讲解之外,最主要的是功能封装。

2025-06-28 14:15:10 645

原创 配置文件application.yml使用指南

Spring Boot 是一个基于 Java 的开源框架,用于快速创建独立、生产级别的 Spring 应用程序。曾经在进行项目配置时,被复杂的配置项和层出不穷的错误信息折磨得几乎想要投降。每次启动应用,都是一场与神秘错误信息的斗争。项目配置就像是一场考验智商的冒险游戏,总是感觉自己掉进了游戏的无底洞。但现在,终于再也不用感到恐慌!只要掌握了 application.yml 的配置技巧,项目配置将变成你的得力助手,就像拥有了一本能解决一切问题的魔法宝典。

2025-06-28 14:00:21 700

原创 Pytroch实现bert网络文本分类

Pytroch实现bert网络文本分类本实验主要是用来指导用户如何使用pytorch来搭建经典的Bert网络,并在此基础上使用昇腾Npu硬件对Bert网络实现文本分类训练的代码实战过程。Bert网络的主要创新点介绍Bert及网络搭建过程介绍BERT(Bidirectional Encoder Representations from Transformers)是一种基于多层Transformer-Encoder的预训练语言模型。它通过。

2025-06-28 09:53:23 584

原创 鸿蒙开发:hvigor插件中的节点模型HvigorNode

本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828上篇文章,我们介绍了两种方式,实现了一个hvigor插件的开发,但是只概述了基本的开发流程,并未涉及到具体的代码开发,接下来的几篇文章,我们会重点去了解一下,hvigor插件中的那些API用法,以便于实际的插件开发。

2025-06-28 08:48:35 1000

原创 鸿蒙开发:如何实现一个hvigor插件

本文API>=13,基于DevEco Studio 5.1.0 Release,版本号5.1.0.828上篇文章,我们针对鸿蒙开发中的模块,实现了单一模块运行,使用的是hvigor插件的形式,通过hvigor插件,我们可以看到,它自动化执行了某些特定的任务,减少了我们的手动干预,确保了构建过程的一致可靠性,可以说,在实际的开发中,极大的提高了我们的开发效率,今天,我们这篇文章,就一起实现一个hvigor插件。

2025-06-27 13:11:48 723

原创 三步根治前端缓存“顽疾”

•用得好:提升性能,降低服务器压力•用不好:用户看不到新功能永远对缓存保持敬畏!新版本部署时使用灰度发布、查看监控报警。

2025-06-27 11:53:42 978

原创 由 Mybatis 源码畅谈软件设计(八):从根上理解 Mybatis 二级缓存

二级缓存本质上是HashMap,在实现类中二级缓存是 Mapper 级别的,可以在不同SqlSession间共享特殊的 readOnly 标签,默认为 false,表示二级缓存中是被深拷贝的对象二级缓存需要在事务提交后才能生效执行 Insert、Delete、Update 语句会使当前 Mapper 下的二级缓存失效。

2025-06-27 11:53:22 942

原创 ndzip使用cuda+nvcc进行环境搭建

使用 CUDA + NVCC 构建 ndzip(自己使用SYCL构建ndzip没跑出来。由于我使用的 WSL ,cuda 一直没配置好,就不用GPU了,所以把。需要以下环境,Catch2 可根据自己是否需要来选择是否安装。上面的原理看的有点头秃,还是来讲讲如何快速上手。需要使用 cuda 的使用以下命令安装。也存在 Ubuntu软件源中,步骤和。可以看到 Clang 版本为。看到 CMake 版本大于。随便压缩个什么,压缩成功。等待编译添加完即可。

2025-06-27 10:52:49 509

原创 Java社招面试题:MyBatis插件运行原理,听我讲一个“拦截侠”的故事!

MyBatis 插件功能虽强,但也不能乱用。以下是我的一些踩坑建议:不要拦截所有方法,性能会受影响插件之间可能互相嵌套,要注意顺序尽量使用非侵入方式,避免对原有业务代码有影响插件是“黑魔法”,用得好是神技,用不好会带来 debug 地狱。

2025-06-27 09:32:24 409

原创 鸿蒙开发:hvigor插件实现组件化运行

本项目API>=13关于鸿蒙项目的组件化运行,已经分享了两种方式了,分别是IDE插件方式和node脚本方式,今天给大家带来第三种方式,Hvigor插件方式;和前两种方式不同的是,它的使用更加简单,不需要我们手动的去切换就能实现组件运行。目前第一次运行的时候,会在根项目下生成一个harmonyComponent.json5文件,这个文件的主要目的,用于控制插件是否执行,默认为true,每次运行都会执行插件,false不执行插件内容。

2025-06-27 08:58:29 328

原创 从etcdserver: request timed ot到毫秒响应:三节点集群SSD存储迁移全记录

错误,表明 APIServer 无法与 etcd 集群正常通信。此问题通常由 etcd 集群故障、网络问题或资源瓶颈引发。Kubernetes 集群执行。

2025-06-26 15:30:55 395

原创 ProgressBar进度条

是 Android 中用于显示任务进度或加载状态的UI控件。它可以给用户提供一个视觉反馈,表明某个操作正在进行中或完成的百分比。主要有两种类型:确定性(determinate)和不确定性(indeterminate)。

2025-06-26 15:12:08 281

原创 SharedPreferences用户账号注册登录修改综合应用

此文章为SharedPreferences数据存储持久化技术用户账号注册登录修改综合应用完整程序代码,关于SharedPreferences相关内容请见SharedPreferences数据存储持久化技术博客文章。

2025-06-26 15:11:09 844

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除