中文圈程序员的碎碎念
509 subscribers
3.52K photos
21 videos
129 files
28.7K links
嘿!你也来看码农又在写啥BUG了吗
Download Telegram
使用 Spring Modulith 进行事件外部化

在本文中,我们将讨论在@Transactional块中发布消息的需求以及相关的性能挑战,例如延长的数据库连接时间。为了解决这个问题,我们将利用Spring Modulith的功能来监听 Spring 应用程序事件并自动将它们发布到Kafka主题。事件外部化即从模块内部向外发布事件到其他地方。事务操作和消息代理对于本文的代码示例,我们假设我们正在编写负责在 Baeldung 上保存文章的功能:@Serviceclass Baeldung {    private final ArticleRepository articleRepository;    // constructor    @Tr

via 极道 (author: banq)
Java中CountDownLatch教程

在本文中,我们将了解如何使用 Java CountDownLatch 编写考虑并发性的测试用例。Java CountDownLatch自版本 1.5 起就可用,它是java.util.concurrent包含许多其他与线程相关的实用程序的包的一部分。什么是Java CountDownLatch 类Java CountDownLatch 类最重要的方法是await和countDown方法。 await方法用于暂停当前线程的执行,直到CountDownLatch的计数器达到值0或者线程被中断。 countDown方法用于减少内部计数器的值。 因此,Java CountDownLatch 类的目标是

via 极道 (author: banq)
Spring框架爆CVE-2024-22233漏洞

VMware Spring Framework 6.0.15/6.1.2中发现漏洞:已被宣布为关键漏洞。受此漏洞影响的是HTTP Request Handler组件的一些未知功能。使用未知输入进行操作会导致拒绝服务漏洞。漏洞的 CWE 定义为CWE-404。在资源可供重用之前,产品不会释放或错误地释放资源。众所周知,它会影响可用性。在 Spring Framework 版本 6.0.15 和 6.1.2 中,用户可能会提供可能导致拒绝服务 (DoS) 情况的特制 HTTP 请求。具体来说,当满足以下所有条件时,应用程序就容易受到攻击:  应用程序使用 Spring MVC 类路径上有 Spri

via 极道 (author: banq)
深度解析C#数组对象池ArrayPool<T>底层原理

提到池化技术,很多同学可能都不会感到陌生,因为无论是在我们的项目中,还是在学习的过程的过程,都会接触到池化技术。池化技术旨在提高资源的重复使用和系统性能,在.NET中包含以下几种常用的池化技术。 (1)、连接池(Connection Pool):用于管理数据库连接的池化技术。连接池允许应用程序重复使 ...

via 48小时阅读排行 - 博客园 (author: 彭_泽)
一种轻量分表方案-MyBatis拦截器分表实践

背景 部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性。 业界常见方案 针对冷数据多的大表,常用的策略有以2种: 1 ...

via 48小时阅读排行 - 博客园 (author: 京东云开发者)
你不知道的Linux shell操作

Linux Shell 脚本入门教程 Linux Shell 脚本是一种强大的工具,它允许您自动化日常任务和复杂操作。在本教程中,我们将逐步介绍几个实用的 Shell 脚本示例。每个示例都将详细说明,以便即使是初学者也能轻松理解和应用。 1. 基础 Shell 脚本 示例 1: "Hello Wor ...

via 48小时阅读排行 - 博客园 (author: lyxlucky)
使用Visual Studio调试 .NET源代码

前言 在我们日常开发过程中常常会使用到很多其他封装好的第三方类库(NuGet依赖项)或者是.NET框架中自带的库。如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调试体验和生产效率会得到大大的提升。今天我们就一起来学习一下如何使用Visual Studio调试.N ...

via 10天推荐排行 - 博客园 (author: 追逐时光者)
Java中使用Lombok简化日志的@CustomLog

Lombok库成为游戏规则改变者,特别是它的@CustomLog功能。此注释彻底改变了开发人员处理日志记录的方式,日志记录是软件开发的重要组成部分。通过显着减少样板代码,Lombok 不仅简化了日志记录过程,还增强了代码的可读性和可维护性。了解 Lombok 及其日志记录功能Lombok 是 Java 生态系统中的一个变革性工具,以自动化样板代码(如 getter、setter、构建器、toString方法等)而闻名。这不仅使代码更具可读性,而且更易于维护。其吸引力的一个关键部分是它如何简化各种开发流程,包括日志记录。Lombok 为内置日志框架提供了一套注释,可以满足 Java 开发中的各种

via 极道 (author: banq)
Spring中的LocalEntityManagerFactoryBean

在 Java 开发的动态世界中,有效管理实体管理器对于构建健壮且可扩展的应用程序至关重要。该领域的一个关键角色是 LocalEntityManagerFactoryBean,它是一个强大的工具,可促进 JPA(Java Persistence API)在本地环境中的无缝集成。在这篇博文中,我们将探讨 LocalEntityManagerFactoryBean 是什么、其主要功能,并提供实践示例来展示其实力。了解 LocalEntityManagerFactoryBean:LocalEntityManagerFactoryBean 是 Spring Framework 的一部分,专门设计用于简化

via 极道 (author: banq)
SpringBoot中DataSourceTransactionManager

在基于 Spring 的应用程序中,"DataSourceTransactionManager "通常用于在使用关系数据库时管理事务。它负责在一个或多个数据库之间协调事务。以下示例演示了如何在 Spring 应用程序中使用 `DataSourceTransactionManager` 。假设您已在 Spring 应用程序上下文中配置了数据源,您可以如下设置 `DataSourceTransactionManager`:  @Configuration   @EnableTransactionManagement   public class AppConfig {       @Bean

via 极道 (author: banq)
系统分析中循环流程图 (CFD)

在错综复杂的商业分析世界中,了解各种经济主体之间复杂的相互作用对于做出明智的决策至关重要。在理解这些相互作用方面发挥关键作用的工具之一是循环流程图(CFD)。这种视觉表现形式起源于经济学领域,现已进入商业分析师的工具箱,提供了资金、商品和服务如何在垂直行业或组织内流通的整体视图。在本文中,我们深入研究循环流程图的本质,并探索其在业务和系统分析领域的应用。什么是循环流程图循环流程图是最初创建的图形表示形式,用于显示经济体中的资金、商品和服务的流动。它的核心阐述了家庭、企业、政府和国际参与者之间的交易。该图通常由两个主要部门组成——家庭部门和商业部门——通过货币、商品和服务的流动相互联系。 家庭-

via 极道 (author: banq)
45从零开始用Rust编写nginx,静态文件服务器竟然还有这些细节

本章中讲述了浏览器缓存的设计(ETAG, Last-Modified, Cache-Control, Expires)及断点续传(Accept-Ranges: bytes)的实现流程及相关的部分源码,希望可以让你更了解文件服务器内部的原理组成。 ...

via 48小时阅读排行 - 博客园 (author: 问蒙服务框架)
【VictoriaMetrics的vmbackupmanager】这个一年卖 2 万美元的功能,我做出来了

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.背景 在可观测领域的 metrics 解决方案中,VictoriaMetrics 整个产品体系的性能非常高。两年前,我们团队用这个组件来代替 kafka+ ...

via 48小时阅读排行 - 博客园 (author: ahfuzhang)
Go中使用HTMX编写ToDo案例演示

在 Web 开发领域,简单性和效率是关键。这就是 HTMX 和 Go 的结合发挥作用的地方。HTMX 允许您直接在 HTML 中访问 AJAX、CSS Transitions、WebSockets 等,使您的前端开发更加简单。另一方面,Golang 以其后端开发的效率和简单性而闻名。在这篇博文中,我们将在前端使用 HTMX 并使用 Go 作为后端服务器来创建一个基本的 Todo 应用程序。设置Go环境首先,确保您的系统上安装了 Go。您可以从Go 官方网站下载。安装后,为我们的项目创建一个新目录并初始化一个新的 Go 模块:mkdir todo-appcd todo-appgo mod ini

via 极道 (author: banq)
Spring文档:DDD主导Spring Data JDBC的实现

所有Spring Data模块的灵感都来自Domain Driven Design中的“repository”、“aggregate”和“aggregate root”概念。这些对于Spring Data JDBC可能更重要,因为在某种程度上,它们与使用关系数据库时的正常实践相反: 聚合是一组实体,保证在对其进行的原子更改之间保持一致。 一个典型的例子是Order和OrderItems。 Order上的属性(例如,numberOfItems与OrderItems的实际数量一致)在进行更改时保持一致。 每个聚合只有一个聚合根,它是聚合的实体之一。 聚合只能通过聚合根上的方法进行操作。 这就是前面

via 极道 (author: banq)
比Nginx更好用的Gateway! Token新开源Gateway,使用yarp实现的一个反向代理,支持界面操作动态添加集群添加路由绑定,并且支持动态添加域名绑定https证书,超强yarp+FreeSql+MiniApis纯原生接口实现。 功能亮点 在线配置域名证书:实时生效,无需重启服务。 集 ...

via 10天推荐排行 - 博客园 (author: tokengo)
大模型应用开发:为产品创建一个AI客服/智能助手

本文将继续展示AI助手的开发方式,在OpenAPI中它的名字是Assistants。Assistants的主要作用是强化大模型在某方面的应用能力,比如目前已经大范围使用的AI客服和知识库助手,它们可以准确的理解用户的问题,并在限定的知识范围内进行精准回答。另外借助Assistants的能力,我们还可... ...

via 48小时阅读排行 - 博客园 (author: 萤火架构)
Memos WebHook 在 Cloudflare Worker 利用 GitHub API 实时备份记录

自从利用 Cloudflare Worker 为 Memos 搭建 WebHook 服务之后就一直在考虑利用 WebHook 做点事情,首先想到的就是利用 GitHub 对 memo 记录进行备份,有了 Memos WebHook 服务就可以在每次创建 memos 之后实时触发 Cloudflare Worker 进行内容的备份:Memos Backup to GitHub With Cloudflare Worker

This post is for subscribers only
Subscribe now
Already have an account? Sign in

查看全文

via Shadow Walker 松烟阁 (author: edony)