时间轮在 Netty , Kafka 中的设计与实现

博主头像 本文基于 Netty 4.1.112.Final , Kafka 3.9.0 版本进行讨论 在业务开发的场景中,我们经常会遇到很多定时任务的需求。比如,生成业务报表,周期性对账,同步数据,订单支付超时处理等。针对业务场景中定时任务逻辑复杂,执行时间长的特点,市面上已经有很多成熟的任务调度中间件可供我 ...

推荐一个C#轻量级矢量图形库

博主头像 推荐一个轻量级矢量图形库,可用于生成 PDF、SVG、PNG等。 01 项目简介 VectSharp 是一个功能强大的 C# 库,专门用于创建矢量图形,包括文本,不依赖任何第三方,支持跨平台运行,包括 Mac、Windows 和 Linux。使得开发者可以更容易地在他们的项目中集成矢量图形的生成和处 ...

.NET 9 增强 OpenAPI 规范,不再内置swagger

博主头像 在 .NET 9 的更新中,微软增强了原生 OpenAPI。这一变化表明 .NET 正在更加拥抱开放标准,同时让开发者体验更加轻松高效。本文将探讨为何进行这一更改、OpenAPI 的优势,以及如何在 .NET 9 中使用 OpenAPI。 为什么不再内置 Swagger? 1. 标准化的需求 Swa ...

manim边学边做--同伦变换

博主头像 在Manim中,移动一个元素除了之前介绍的方法之外,还可以通过同伦运算来移动一个元素。 与普通的移动元素方式相比,使用同伦运算移动一个元素时,实际上是在考虑整个空间的连续变形过程中元素的相应变化。 这种移动不是孤立地看待元素的位置改变,而是将元素置于空间的整体结构中,通过连续变形的方式实现元素的 “ ...

跟着 8.6k Star 的开源数据库,搞 RAG!

博主头像 过去 9 年里,HelloGitHub 月刊累计收录了 3000 多个开源项目。然而,随着项目数量的增加,不少用户反馈:“搜索功能不好用,找不到想要的项目!” 这让我意识到,仅仅收录项目是不够的,还需要通过更智能的方式,帮助用户找到心仪的开源项目。于是,我开始探索如何通过 RAG 技术解决这个问题。 ...

经典区间线段树详解:从原理到实践

博主头像 线段树(Segment Tree)是一种非常高效的树形数据结构,用于解决区间查询和修改问题。本文将通过分步骤讲解,带领读者熟练掌握线段树的原理与实现,并探索其应用场景。 引言:数组区间修改问题 线段树要解决这样一个经典问题:比如给定一个数组,频繁地需要进行以下操作: 区间查询:查询数组某一子区间内的 ...

JVM简介—3.JVM的执行子系统

博主头像 大纲 1.Class文件结构 2.Class文件格式概述 3.Class文件格式详解 4.字节码指令 5.类的生命周期和初始化 6.类加载的全过程 7.类加载器 8.双亲委派模型 9.栈桢详解 11.方法调用详解 12.基于栈的字节码解释执行引擎 1.Class文件结构 (1)Java跨平台的基础 ...

.NET周刊【12月第3期 2024-12-15】

博主头像 国内文章 重磅推出 Sdcb Chats:一个全新的开源大语言模型前端 https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro Sdcb Chats是一个新推出的开源大语言模型前端,旨在提升用户交互体验,并填补市场上基于.NET的前端空白。它 ...

Windows 记录开机后应用启动慢的问题

博主头像 最近大屏产品经常报一些开机启动的问题,工厂反馈厂测软件有些模块测试不通过,家里开发测试均发现Launcher等软件首次启动需要加载10多秒。 经过小伙伴们初步排查,发现是刷母盘后首次开机问题概率比较大。 1. 使用新母盘,首次开机是必现应用启动慢问题。 2. 将一个exe换个路径,重启电脑,也是会有 ...

在openEuler RISC-V上无痛部署Solidity

博主头像 近几年区块链很火,随着各国政府对加密技术的监管政策不断变化和BTC的暴涨,越来越多人对这项去中心化的技术充满着期待。这次我用openEuler 24.09 RISC-V的远程机器尝试编译了Solidity项目,发现过程比较顺畅,于是记录下来,后面有机会我也多多探讨区块链在RISC-V的可能性。 gi ...

Socat 命令总结

博主头像 事以密成,语以泄败。 导航 介绍 基本语法 用法示例 1. 回显输入 2. 回显输入 over TCP/UDP 3. 正向连接 shell 4. 反向连接 shell 5. 端口转发 6. 网络服务 7. 文件传输 8. 管道传输 9. 加密传输 10. TUN 网络 杂项 介绍 Socat 是一个 ...

Promise/A+ 规范 - 中文版本

博主头像 Promises/A+ 这是一个开放标准,旨在让不同开发者实现的 JavaScript Promise 能够无缝衔接并应用——由前辈们制定,为其他后来者提供参考 一个 promise 所表示的是异步操作的结果。与 promise 交互的主要方式是通过它的 then 方法,该方法会注册所传入的回调函数 ...

Go channel 原理

博主头像 作用 Go 语言的 channel 是一种 goroutine 之间的通信方式,它可以用来传递数据,也可以用来同步 goroutine 的执行。 chan 是 goroutine 之间的通信桥梁,可以安全地在多个 goroutine 中共享数据。 使用 chan 实现 goroutine 之间的协作 ...

Python中定位元素包含文本信息的详细解析与代码示例

博主头像 本文详细介绍了在Python中使用Selenium库定位包含文本信息的元素的方法。通过示例代码,展示了如何通过完整的链接文本、部分链接文本、XPath和CSS选择器等方式定位元素。这些技巧在网页自动化测试和数据抓取中非常有用,能够帮助开发者高效地查找和操作网页上的元素。 ...

性能优化!突破性能瓶颈的尖兵CPU Cache

博主头像 大家好,我是呼噜噜,今天我们来介绍计算机的储存器之一,CPU高速缓冲存储器也叫高速缓存,CPU Cache 缓存这个专业术语,在计算机世界中是经常使用到的。它并不是CPU所独有的,比如cdn缓存网站信息,浏览器缓存网页的图像视频等,但本文讲述的是狭义Cache,主要指的是CPU Cache,本文将其 ...

<1···202122···100>