- 博客(886)
- 收藏
- 关注
原创 开发效率原地起飞!JNPF低代码开发平台如何成为企业数字化转型的救世主?
低代码平台,是一种新型的应用开发工具,它允许开发者通过可视化界面和少量代码,快速构建应用程序。与传统开发方式相比,低代码平台具有显著的优势。在传统开发中,开发者需要花费大量时间编写代码,从前端页面的布局到后端逻辑的实现,每一个细节都需要精心雕琢。而低代码平台则通过可视化界面,将常见的开发任务抽象为图形化的操作,开发者只需通过拖拽组件、配置属性等简单操作,就能完成应用程序的初步搭建,大大缩短了开发周期,降低了开发成本。举个简单的例子,假设我们要开发一个简单的客户信息管理系统。
2025-06-06 17:25:27
865
原创 SQL Server 2022新功能:将数据库备份到S3兼容的对象存储
SQL Server 2022通过新引入的S3连接器,SQL Server能够支持通过REST API与S3兼容存储集成。用户可以配置存储桶和凭据,通过URL指向存储位置进行备份和恢复。此外,还提供了加密、压缩等备份选项,以及在Linux平台上的特殊配置要求。示例展示了如何创建凭据、执行备份和恢复操作,支持区域参数指定备份和恢复的地域。桦仔SQL Server 2022新功能:将数据库备份到S3兼容的对象存储 - 桦仔 - 博客园JNPF快速开发平台。
2025-06-06 15:39:02
618
原创 .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
NET 9通过彻底拥抱NativeAOT极简式的托管异常处理体系,把历史包袱(OS-Specific/C++ Exception Bridge/冗余链表&锁/多次catch-rethrow)一举清除,大幅释放了异常路径的性能潜力。这一变革支撑了.NET在微服务、云原生、异步并发等新主流场景下的顶级运行时表现。未来,随着堆栈展开、元数据cache自适应等不断迭代,.NET有望成为托管平台的异常处理性能“天花板”。文章转载自:InCerry。
2025-06-05 14:37:54
922
原创 JAVA实现读取最后几行日志
主要使用 ReversedLinesFileReader 实现到读日志文件,需要引入commons-io依赖,底层使用 RandomAccessFile 实现.在项目框架设计中,针对系统产生的日志,有线上查看日志的需求.日志文件本身很大.线上查看时,开发人员只想了解当前系统产生的错误信息.先倒序读取每行数据,放入集合中.然后集合倒序,返回符合阅读习惯的文本日志.使用 RandomAccessFile类,实现倒序读取内容。
2025-06-03 17:01:37
277
原创 如何实现RAG与MCP集成
在人工智能技术不断发展的当下,RAG 与 MCP 的集成成为提升 AI 性能的关键路径。Agentic RAG 与 MCP 服务器的深度融合,通过知识检索为 AI 代理提供精准信息支撑,借助记忆与数据集成增强其情境感知能力,使 AI 系统从被动应答迈向主动决策。这一创新架构赋予 AI 研究员般的探索力、助手级的执行力与分析师的洞察力,不仅实现海量信息的高效调用,更能智能判断知识应用场景与时机,让 AI 真正成为兼具专业性与实用性的智能伙伴,开启智能交互的全新可能。哥不是小萝莉。
2025-06-03 14:28:13
642
原创 分布式系统学习:分布式事务
如果回复NO,或者协调者没有收到参与者的回复,协调者就向所有参与者发送Abort请求,执行事务的中断;事务主动方尽最大努力(重试,轮询....)将事务发送给事务接收方,但是仍然存在消息接收不到,此时需要事务被动方主动调用事务主动方的消息校对接口查询业务消息并消费,这种通知的可靠性是由事务被动方保证的。由一系列本地事务构成,每个本地事务更新了数据库后,会发布一条消息来触发Saga中的下一个本地事务的执行,如果某个本地事务失败了,Saga会执行这个失败事务之前 已提交的所有事务的补偿操作。
2025-05-30 17:15:31
1057
原创 .NET8带来的一些新特性
NET 8通过性能飞跃(PGO与原生AOT)、语法革新(C# 12特性)及运行时强化(SIMD/序列化),显著提升了开发效率与执行性能。其特性覆盖从底层计算到Web全栈开发,是近年来兼容性与生产力提升最全面的版本之一。还有更多特性和用法这里就没有去了解,大家有想法的可以说一说,一起学习进步。文章转载自:熊泽-学习中的苦与乐.NET8带来的一些新特性 - 熊泽-学习中的苦与乐 - 博客园JNPF快速开发平台。
2025-05-30 15:47:11
382
原创 重磅!SpringBoot4发布,11项重大变更全解析!
不知道大家最近没有发现?在我们新创建 Spring Boot 项目的时候,已经有了 Spring Boot 4.0.0 预览版这个选项了,如下图所示:并且 Spring Boot 4 底层是基于全新的 Spring Framework 7.0.0 实现的,如下图所示:那么问题来了,新版本都有哪些重要的变更呢?接下来由磊哥带着大家抢先来看。
2025-05-29 17:29:48
1253
原创 ShadowSql之表达式树
其二、参数化查询sql可以复用,有条件的化把参数化查询的sql缓存起来,用Dapper调用sql和参数对象直接执行。.net中的表达式树是作为模型类和查询逻辑的影子,非常契合ShadowSql。ShadowSql对参数化查询支持的很好,本人也是非常推荐使用参数化查询。ShadowSql的主要思想通过表和字段的影子来拼写sql。拿表达式树来拼写sql就和EF类似。表达式排序2.1 对单个字段排序。其一、参数化查询可以防sql注入。表达式查询1.1 按常量查询。3.2 逻辑表达式联表。7.3 从表查询获取。
2025-05-29 15:23:00
341
原创 Web前端入门:JavaScript 运算符 == 和 === 有什么区别?
优先使用===和!==避免 JS 的隐式转换带来的不确定性。隐式转换机制需特别注意,特别是在处理用户输入、API 接口响应数据时,稍不注意就掉坑了!!如果您有大量计算工作量,那么必须啃书二进制的位运算符,否则使用十进制运算会拖慢程序运行速度。前端路引Web前端入门第 58 问:JavaScript 运算符 == 和 === 有什么区别?- 前端路引 - 博客园JNPF快速开发平台。
2025-05-27 17:27:10
1022
原创 降维技术:带你走进数据的“瘦身”世界
降维技术在数据分析和机器学习中扮演着重要的角色。线性数据优先尝试PCA可视化需求首选t-SNE特征工程推荐Kernel PCA地理类数据适合MDS复杂流形使用Isomap/LLE通过灵活组合这些方法,可以有效提升模型性能,发现数据背后的本质结构。wang_yb降维技术:带你走进数据的“瘦身”世界 - wang_yb - 博客园JNPF快速开发平台。
2025-05-27 14:43:18
783
原创 利用DeepSeek与Python自动生成测试用例!
在当今快节奏的软件开发领域,自动化测试已然成为保障软件质量的中流砥柱。传统手动编写测试用例的方式,非但耗时费力,还极易遗漏关键场景。所幸,AI 技术的飞速发展为我们带来了全新的解决方案。今天,就让我们一同探索如何借助DeepSeek与 Python 的 pytest 框架,实现测试用例的智能生成,从而大幅提升测试效率。
2025-05-26 17:22:12
732
原创 SpringBoot性能优化的12个小技巧
一次性查询了所有的订单,全表扫描50万数据,导致接口查询性能很差,严重的时候可能会导致OOM问题。问题定位未分页查询无缓存机制未启用批量处理性能优化必须贯穿开发全流程。今天这篇文章,跟大家一起聊聊SpringBoot优化的12招,希望对你会有所帮助。问题场景:默认线程池导致资源竞争优化方案10, // 核心线程50, // 最大线程在高并发业务场景中,使用Executors类创建默认的线程池,可能会导致OOM问题。因此,我们需要自定义线程池。连接池参数按业务调整JVM参数经过压测验证。
2025-05-26 15:10:34
808
原创 好端端的线程池,怎么就卡死了?
最近,我们的业务收到一项报障,线上某个业务模块偶尔会出现无法正常工作的情况。经过多方排查,最终确认是线程池使用方式不合理导致的。鉴于线程池使用的普遍性和该类问题的隐秘性,本文将其中涉及的“坑”整理出来,与大家分享。本文将尽可能淡化业务本身,着重介绍其中的技术问题。
2025-05-23 17:47:00
742
原创 为何PostgreSQL没有聚集索引?解读两大数据库的设计差异
高效的数据检索是数据库管理的基石, PostgreSQL和SQL Server都能提供强大的数据访问方法以支持各种工作负载方面表现出色。然而,它们的实现方式存在显著差异,反映了各自独特的设计理念和使用场景。在这篇文章中将介绍PostgreSQL提供的各种数据访问方法,其中包括一个非常独特的特点:PostgreSQL不支持聚集索引。这一根本性的差异对于理解PostgreSQL与SQL Server在数据存储和检索上的不同方式至关重要。
2025-05-23 16:32:06
1137
原创 高效缓存的10条军规
"首页崩了!凌晨三点接到电话时,我正梦见自己成了缓存之神。缓存命中率:0%数据库QPS:10万+线程阻塞数:2000+直连数据库,未加缓存。不会用缓存的程序员,就像不会刹车的赛车手。今天这篇文章跟大家一起聊聊使用缓存的10条军规,希望对你会有所帮助。最后忠告:缓存是把双刃剑,用得好是性能利器,用不好就是定时炸弹。当你准备引入缓存时,先问自己三个问题:真的需要缓存吗?缓存方案是否完整?有没有兜底措施?苏三说技术高效缓存的10条军规 - 苏三说技术 - 博客园JNPF快速开发平台。
2025-05-22 17:19:30
645
原创 玩转C++11多线程:让你的程序飞起来的std::thread终极指南
想象一下,你正在厨房做饭。如果你是单线程工作,那就只能先切菜,切完再炒菜,炒完再煮汤...一项一项按顺序来。但现实中的你肯定是多线程操作啊:锅里炒着菜,同时旁边的电饭煲在煮饭,热水壶在烧水,也许你还能同时看看手机...这就是多线程的威力!在程序世界里,多线程就像多了几个"分身",可以同时处理不同的任务,充分利用多核CPU的性能,让程序跑得飞快。特别是现在谁的电脑不是多核啊,不用多线程简直是浪费资源!
2025-05-22 15:20:11
1010
原创 数据脱敏的这6种方案,真香!
/ 反例:直接将生产数据同步到测试环境// 包含手机号、身份证等敏感字段直接将生产的数据,比如:手机号、身份证等敏感字段,同步到了测试环境。结果1天后,受到了公司领导的批评。这个案例揭示了数据脱敏的极端重要性。这篇文章给大家分享6种常用的数据脱敏方案,希望对你会有所帮助。3个核心建议数据分类分级:不同级别数据采用不同脱敏策略定期审计:使用自动化工具扫描敏感数据泄露最小化原则:能不收集的敏感数据坚决不收集灵魂拷问:当黑客攻破你的数据库时,里面的数据是否像诺基亚功能机一样"防摔"?安全大礼包。
2025-05-20 17:21:33
1068
原创 520表白神器
浪漫启动页:显示相识天数和小时数,营造浪漫氛围动态情书系统:打字机效果展示情书内容,支持自定义内容趣味互动游戏爱心捕捉:点击飘动的爱心获取分数记忆拼图:上传照片创建拼图游戏时光相册墙:上传和展示珍贵照片,支持本地存储终极表白仪式:生成爱情证书,烟花特效,礼物二维码展示在目录下放置MP3音乐文件,并在config.jstitle: '歌曲名称',artist: '歌手名',src: 'assets/music/你的音乐文件.mp3'爱心图片:替换证书背景:替换玫瑰图片:替换。
2025-05-20 15:03:40
415
原创 打印高质量日志的10条军规
用户登录失败订单创建出错 nullERROR 非法参数写不好日志的程序员,就像不会写病历的医生。这篇文章跟大家一起聊聊打印优质日志的10条军规,希望对你会有所帮助。研发人员的三大境界青铜")钻石:标准化日志 + ELK监控王者:日志驱动代码优化异常预测系统根因分析AI模型最后的灵魂拷问:下次线上故障时,你的日志能让新人5分钟定位问题吗?苏三说技术打印高质量日志的10条军规 - 苏三说技术 - 博客园JNPF快速开发平台。
2025-05-19 17:02:55
971
原创 K8s进阶之外部访问Pod的几种方式
K8s集群内部的Pod默认是不对外提供访问,只能在集群内部进行访问。这样做是为什么呢?安全性考虑Kubernetes设计时遵循最小权限原则,即组件仅获得完成其任务所需的最少权限。直接暴露Pod给外部网络可能会引入安全隐患,比如让攻击者更容易定位和攻击运行在Pod内的服务。通过限制Pod的直接访问,Kubernetes鼓励使用更安全的服务暴露机制。可管理性和弹性Kubernetes设计鼓励使用Service来抽象Pod的访问。
2025-05-19 15:43:00
1018
原创 kubernetes service 原理精讲
Kubernetes Service 用于流量的负载均衡和反向代理,其通过 kube-proxy 组件实现。从服务的角度来看,kube-controller-manager 实现了服务注册,kube-proxy 实现了 kubernetes 集群内服务的负载均衡。kube-proxy通过三种模式userspaceiptables和IPVS实现 Service 流量的负载均衡。userspace不太常用,kube-proxy 自 v1.8 开始支持 IPVS,v1.11 GA。
2025-05-16 17:22:54
858
原创 开发实用小技巧:元组-轻量级数据容器的艺术
本文系统性的覆盖了元组的完整知识体系,采用"基础概念→实战技巧→进阶场景"的结构说明,包含多个场景代码示例和性能优化建议。主要重点在于""和""这两个革命性特性,它们能显著提升代码可读性。建议临时数据交互、LINQ结果封装等场景优先使用元组,但对于长期稳定的数据结构,仍推荐使用正式类/结构体定义。下述代码示例均基于.NET 6验证通过,可直接用于生产环境。
2025-05-16 14:47:20
676
原创 Web前端入门:JavaScript 的应用领域
截至目前,您应该对前端的 HTML + CSS 应该有了很清楚的认知,至少实现一个静态网页已经完全不在话下了。当然,CSS 功能绝不止这些,一些不太常用的 CSS 相关知识,后续将通过案例进行分享。那么咱们接下来看看 JavaScript 的相关知识,作为前端领域三剑客之一,JavaScript 也是前端最核心的技术。JavaScript 简称JS。
2025-05-15 17:18:07
864
原创 RAG越来越不准?你可能忽略了“元数据”的力量
元数据不仅是描述信息,更是大模型时代知识治理的基石。越来越多的团队正在加速知识库的建设,但忽略了元数据的重要性。也许你已经花了几个月构建文档,但一次简单的“属性标注”,却能让你的RAG真正聪明起来。下次遇到大模型“答非所问”,别急着怼模型,或许是元数据,还没准备好。从今天起,遇到RAG的问题,不妨先问一句:“元数据创建了吗?AI粉嫩特攻队RAG越来越不准?你可能忽略了“元数据”的力量 - AI粉嫩特攻队 - 博客园JNPF快速开发平台。
2025-05-15 14:58:55
909
原创 Web前端入门:CSS 内容溢出怎么处理?
前端在做页面开发的时候,必须要考虑各种内容超长的情况,多思考一下内容极限情况,就会少很多 bug!!前端路引Web前端入门第 50 问:CSS 内容溢出怎么处理?- 前端路引 - 博客园JNPF快速开发平台。
2025-05-13 17:22:39
875
原创 理解 C# 中的各类指针
变量可以理解成是一块内存位置的别名,访问变量也就是访问对应内存中的数据。指针是一种特殊的变量,它存储了一个内存地址,这个内存地址代表了另一块内存的位置。指针指向的可以是一个变量、一个数组元素、一个对象实例、一块非托管内存、一个函数等。截止到发文为止,.NET 最新正式版本为 .NET 9,C# 最新正式版本为 C# 13。文中提及的IL代码可能会随编译器版本的不同而有所差异,仅供参考。本文将介绍到发文为止 C# 中的各类指针,并对比差异:对象引用(Object Reference)
2025-05-13 15:09:28
1362
原创 K8s进阶之一文搞懂PV,PVC及SC
官方文档:配置 Pod 以使用 PersistentVolume 作为存储 | Kubernetes持久卷 | Kubernetes存储类 | KubernetesPV(Persistent Volume)是持久化卷的意思,是对底层的共享存储的一种抽象。一般情况下PV由kubernetes管理员进行创建和配置,它与底层具体的共享存储技术有关,并通过插件完成与共享存储的对接。PVC(Persistent Volume Claim)是持久卷声明的意思,是用户对于存储需求的一种声明。
2025-05-12 16:56:27
1295
原创 为Java虚拟机分配堆内存大于机器物理内存会怎么样?
对于第一阶段的内存申请,由于申请的是虚拟内存,实际上64 位操作系统,进程可以使用 128 TB 大小的虚拟内存空间,所以进程申请一个远大于本机物理内存是没问题的,只要不读写这个虚拟内存,操作系统就不会分配物理内存。另外,当内存使用存在压力的时候,会开始触发内存回收行为,会把这些不常访问的内存先写到磁盘中,然后释放这些内存,给其他更需要的进程使用。我们先使用如下命令关闭Swap,然后为虚拟机分配堆的大小为6G,实际上可用的物理内存是5.8G,所以不出意外的,内存分配失败了。可以看到,程序运行成功。
2025-05-12 14:44:39
956
原创 突破Excel百万数据导出瓶颈:全链路优化实战指南
1、数据分页策略使用有序 ID 分页避免 OFFSET 性能衰减// 优化分页查询if (!2、内存控制三位一体启用服务器 GC 模式配置共享数组池使用对象池复用 DTO3、异常处理金字塔try {// 核心逻辑catch (IOException ex) when (ex.Message.Contains("磁盘空间")) {// 磁盘异常处理// 数据库死锁处理// 通用异常处理。
2025-05-09 17:10:51
800
原创 迭代器失效:99%的C++程序员都会踩的坑 !
现在到了关键问题:什么是迭代器失效?简单讲,当你对容器进行了某些操作后,原先有效的迭代器变得无效了,再使用这个迭代器就会导致未定义行为(通常是程序崩溃),这就是迭代器失效。就好比你拿着一把钥匙(迭代器)去开一个门(访问容器元素),但有人趁你不注意把锁换了(容器结构改变),你的钥匙自然就不管用了。vector: 插入或删除元素后,该位置及其后面的迭代器都会失效;如果重新分配内存,所有迭代器都会失效。: 只有被删除元素的迭代器会失效。: 只有被删除元素的迭代器会失效。
2025-05-09 14:25:53
866
原创 Java的“伪泛型“变“真泛型“后,会对性能有帮助吗?
泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(type erasure),因此,Java的泛型完全由Javac等编译器在编译期提供支持,可以理解为Java的一颗语法糖,这种方式实现的泛型有时也称为“伪泛型”。泛型擦除本质上就是擦除与泛型相关的一切信息,例如参数化类型、类型变量等,Javac还将在需要时进行类型检查及强制类型转换,甚至在必要时会合成桥方法。
2025-05-08 17:35:53
703
原创 rust程序静态编译的两种方法总结
优先推荐使用方法一,但据网友说方法一某些库无法成功打包,此时可以考虑采用方法二的方式打包,但会有性能损失,需自行考量。Jiajie6591rust程序静态编译的两种方法总结 - Jiajie6591 - 博客园JNPF快速开发平台。
2025-05-08 14:29:58
586
原创 SpringBoot3整合SpringSecurity6(三)基于数据库的用户认证
接口在应用程序中初始化这个类的对象,使springsecurity不再从内存中获取用户信息,而是通过我们自己实现类从数据库中查询用户信息。其实基于数据库的用户认证和基于内存认证大同小异,我们只需要将从内存获取用户信息,换成从数据库获取用户信息即可。接下来,我们要做的就是把认证流程从内存中获取用户信息替换成我们自己实现从数据库中查询用户信息。方法中将用户输入的用户名密码和从数据库中获取到的用户信息进行比较,进行用户认证。注解,用来指定数据库表名。至此,我们已经成功整合数据库,并且从数据库中查询出了用户信息。
2025-05-06 17:55:05
911
原创 为什么重写equals一定也要重写hashCode方法?
==" 是运算符如果比较的对象是基本数据类型,则比较的是其存储的值是否相等;如果比较的是引用数据类型,则比较的是所指向对象的地址值是否相等(是否是同一个对象)。int a = 10;int b = 10;//true//显然不是同一个对象,false。
2025-05-06 16:03:03
619
原创 K8s 灰度发布实战:通过 Ingress 注解轻松实现流量分割与渐进式发布
灰度发布,也称为金丝雀发布(Canary Release),是一种渐进式的应用发布策略。将新版本应用逐步推送给一小部分用户,观察其运行状态,确认无误后再逐步扩大范围,最终完成全量发布。降低风险:通过小范围验证,避免因新版本问题导致全局故障。快速回滚:如果新版本出现问题,可以快速切换回旧版本。用户体验优化:逐步发布可以减少对用户的影响。通过 Kubernetes 的 Ingress 注解,我们可以轻松实现灰度发布,逐步将新版本应用推送给用户,降低发布风险。
2025-04-29 17:52:17
768
原创 详细剖析Java动态线程池的扩容以及缩容操作
在业务中,我们为了提高效率使用了线程,为了加快线程我们使用了线程池,而又为了更好的利用线程池的资源,我们又实现了动态化线程池。这也就是遇到问题、探索问题、解决问题的一套思路吧。我们从底层原理分析,发现动态线程池的底层原理非常简单,希望大家不要恐惧,往往拨开外衣,发现里面最根本的原理,才能是我们更好的捋清楚其中的逻辑。希望本文提供的动态化线程池思路能对大家有帮助。程序员博博详细剖析Java动态线程池的扩容以及缩容操作 - 程序员博博 - 博客园。
2025-04-29 14:21:57
844
原创 springboot分页查询并行优化实践
有人可能会担心并行查询,在高并发场景可能会导致count查询与limit数据查询不一致,但其实只要没有锁,只要是分开的两条sql查询,原mybatisplus分页插件也一样面临这个问题。解决传统分页查询中 串行执行 COUNT 与数据查询 的性能瓶颈,通过 并行化 减少总耗时,同时兼容复杂查询场景(如多表关联、核心线程数:CPU 核心数 + 1(或等于CPU核心数,避免上下文切换过多)。核心线程数:2 * CPU 核心数(确保正常负载下的高效处理)。最大线程数:根据系统资源调整(用于应对突发高并发)。
2025-04-28 16:22:49
754
原创 物流规划、仓储自动化和算法调度的问题分析
物流分拣配送, 仓库里是导轨传输货物, 货物比较大, 要用叉车搬运.现在有一批货要从深圳-广州-佛山-广西, 途径广州会卸一批货, 途径佛山再卸一批, 最后一批送到终点广西.这意味着在装车的时候广西的货要放在最里面, 佛山次之, 广州放最外面.问, 怎么通过算法实现控制导轨, 按这个优先级智能传输货物, 以方便叉车搬运装车。通过这种方式,系统保证了货物到达出货口的顺序与叉车期望的装车顺序一致,避免了混乱和阻塞,并将排序的复杂性留给了算法和控制系统,而不是叉车操作员。来“放行”货物进入最终的出库导轨。
2025-04-28 15:15:06
1081
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人