Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布
“各位热爱 Pulsar 的小伙伴们,Pulsar 社区周报更新啦!这里将记录 Pulsar 社区每周的重要更新,每周发布。
”
本期主题:Apache Pulsar 新分支 3.3 版本发布
Apache Pulsar 新分支 3.3 版本发布:Apache Pulsar 3.3.0[1]
包含的 PIP:
PIP-315: Configurable max delay limit for delayed delivery #21798
PIP-321 Introduce
allowed-clusterat the namespace level #21648PIP-324: Alpine Docker images #21716
PIP-325: Add command to abort transaction #21731
PIP-326: Create a BOM to ease dependency management #21747
PIP-329: Strategy for maintaining the latest tag to Pulsar docker images #21872
PIP-330: getMessagesById gets all messages #21873
PIP 342: Support OpenTelemetry metrics in Pulsar client #22178
PIP-343: Use picocli instead of jcommander #22181
PIP-344 Correct the behavior of the public API pulsarClient.getPartitionsForTopic(topicName) #22182
PIP-335: Oxia metadata plugin #22009
PIP-339: Introducing the --log-topic Option for Pulsar Sinks and Sources #22071
详细新特性和 bugfix 等,请详见 Apache Pulsar 3.3.0 release-notes[2] 页面(版本策略[3])。
BIGO 百页小册《Apache Pulsar 调优指南》
Hi,Apache Pulsar 社区的小伙伴们,社区 2024 上半年度的有奖问卷调查来啦!
参与问卷调查可优先获得 BIGO 冯文智大咖贡献的100 页小册 《Apache Pulsar 调优指南》 ,精彩不容错过,详情请看问卷。
点击链接参与有奖问卷调查:👇🏻
Apache Pulsar 中文社区有奖问卷调查(2024 上半年度)

Pulsar Weekly Merge Stars
感谢以下的小伙伴,感谢你们本周为 Apache Pulsar 做的精彩贡献(排名不分先后)
“@MMirelli,@shoothzj,@dependabot[bot],@thetumbled,@mattisonchao,@AnonHxy,@rdhabalia,@poorbarcode,@horizonzy,@nodece,@entvex,@heesung-sn,@dragosvictor,@michaeljmarshall,@jiangpengcheng,@dlg99,@yaalsn,@merlimat,@zymap,@yangl,@lhotari
”
apache/pulsar
fix
[fix][meta]检查是否在 RocksdbMetadataStore 中关闭了元数据存储 [4] @lhotari
[fix]从BookieRackAffinityMapping中移除阻塞调用 [5] @merlimat
[fix] [broker]修复了Broker因为损坏的schema ledger导致无法加载stats-internal的问题。[6] @rdhabalia
[fix]移除函数中Java serde的开箱即用选项 [7] @merlimat
[fix]JWT CLI 工具应强制执行令牌验证 [8] @merlimat
[fix][sec]升级Bouncycastle库以解决CVEs [9] @lhotari
[fix] [conf]修正配置名称和拼写错误。[10] @thetumbled
[fix] [broker]默认禁用 loadBalancerDirectMemoryResourceWeight [11] @thetumbled
[fix] [broker]默认情况下禁用 loadBalancerMemoryResourceWeight [12] @thetumbled
[fix]将 io.airlift:aircompressor 从 0.20 升级到 0.27 [13] @dependabot[bot]
[fix][cli]修复通过 \"pulsar tokens create\" 创建的令牌过期问题 [14] @entvex
[fix][ci]修复在 x86 alpine 上 snappy-java 原生库加载失败 [15] @yaalsn
[fix] [broker]修正 ThresholdShedder 的文档并移除无用的方法。[16] @thetumbled
[fix] [broker]仅在内存中维持最后活跃信息。[17] @thetumbled
[fix][ml]修复 RangeCache 中的竞态条件 [18] @lhotari
[fix]将/pulsar-function-go中的google.golang.org/protobuf从1.32.0升级到1.33.0 [19] @dependabot[bot]
新特性
[improve]重构了BK ClientFactory,现在返回未来(futures)结果。[20] @merlimat
[improve][build]在构建 Docker 镜像时支持 git worktree 工作目录 [21] @lhotari
[improve][broker]减少OpenTelemetry消费者属性数量 [22] @dragosvictor
[improve]将 Jetcd 升级到 0.7.7 并将 VertX 升级到 4.5.8 [23] @merlimat
[improve]验证Functions utils中的用户路径 [24] @merlimat
[improve]在long -> int转换前验证参数范围 [25] @merlimat
[improve]使用Google re2/j库处理用户提供的正则表达式 [26] @merlimat
[improve][misc]将 OTel 库升级到 1.38.0 版本 [27] @lhotari
[improve] [pip]PIP-357:在负载均衡模块中修正配置名称。[28] @thetumbled
[improve][ml]RangeCache重构后续:使用StampedLock代替synchronized [29] @lhotari
[improve][ml]RangeCache 重构:测试竞争条件并防止无限循环 [30] @lhotari
[improve]升级到 Oxia client 0.3.0 [31] @zymap
[improve] [pip]PIP-356:支持从最早位置开始的地理复制 [32] @poorbarcode
[improve] [client]PIP-344 支持特性标志 supportsGetPartitionedMetadataWithoutAutoCreation [33] @poorbarcode
[improve][ci]添加 arm64 镜像构建 [34] @nodece
others
[feat][broker]PIP-264:增加broker web执行器指标 [35] @dragosvictor
[feat][broker]PIP-264:增加schema registry指标 [36] @dragosvictor
apache/bookkeeper
fix
[fix]修复 Auditor 忽略了在 Auditor 启动之前关闭的 bookies [37] @dlg99
新特性
[improve][tests]向后兼容性测试:新增版本,Pulsar升级案例,从旧服务器读取检查 [38] @dlg99
others
文档:修复 Google Kubernetes Engine 链接。[39] @shoothzj
测试:在testSequenceReadLocalEnsemble中关闭bookkeeper客户端 [40] @shoothzj
任务:删除已废弃的配置项 ensemblePlacementPolicyOrderSlowBookies [41] @shoothzj
将RocksDB升级到版本7.10.2 [42] @dlg99
从 testDecommissionBookie 方法中移除 @FlakyTest 注解 [43] @shoothzj
修复Windows上的RocksDB配置路径处理问题 [44] @shoothzj
替换 assert 语句为显式检查[45] @shoothzj
SingleDirectoryDbLedgerStorage 有时跳过乐观缓存写入 [46] @michaeljmarshall
防止因为 SingleDirectoryDbLedgerStorage 中的竞争引起的双重刷新 [47] @michaeljmarshall
修复 ledger-api 文档中的 bookkeeper-server-shaded 版本 [48] @yangl
在 AuditorPlacementPolicyCheckTest 中,将 RegistrationManager 放在 finally 块中关闭。[49] @horizonzy
修复在getLogSegmentNames中的zkGetLogSegmentNames重复调用问题 [50] @AnonHxy
关闭为空的segments产生的烦人日志记录 [51] @mattisonchao
streamnative/function-mesh
others
调整一些代码以避免重复 [52] @jiangpengcheng
apache/pulsar-client-go
others
[feat]PIP-188 支持蓝绿迁移 [53] @heesung-sn
apache/pulsar-helm-chart
others
添加 defaultPulsarImageRepository 配置 [54] @lhotari
升级 kube-prometheus-stack 到 59.x.x [55] @lhotari
支持 NodePort 代理服务 [56] @MMirelli
允许代理的服务 clusterIP 自定义 [57] @MMirelli
活动新闻
国内下一场 Meetup 计划将在北京举办,目前正在筹办中,相关合作等信息课联系 Pulsar Bot 咨询。
2024 年 7 月 26-28 日:阿帕奇软件基金会亚洲大会(CommunityOverCode Asia 2024)Messaging 专题[58]
参考资料
[1]
Apache Pulsar 3.3.0: https://pulsar.apache.org/release-notes/versioned/pulsar-3.3.0/
[2]Apache Pulsar 3.3.0: https://pulsar.apache.org/release-notes/versioned/pulsar-3.3.0/
[3]发版策略: https://pulsar.apache.org/contribute/release-policy/
[4][fix][meta]检查是否在 RocksdbMetadataStore 中关闭了元数据存储 : https://github.com/apache/pulsar/pull/22852
[5][fix]从BookieRackAffinityMapping中移除阻塞调用 : https://github.com/apache/pulsar/pull/22846
[6][fix] [broker]修复了Broker因为损坏的schema ledger导致无法加载stats-internal的问题。: https://github.com/apache/pulsar/pull/22845
[7][fix]移除函数中Java serde的开箱即用选项 : https://github.com/apache/pulsar/pull/22832
[8][fix]JWT CLI 工具应强制执行令牌验证 : https://github.com/apache/pulsar/pull/22831
[9][fix][sec]升级Bouncycastle库以解决CVEs : https://github.com/apache/pulsar/pull/22826
[10][fix] [conf]修正配置名称和拼写错误。: https://github.com/apache/pulsar/pull/22822
[11][fix] [broker]默认禁用 loadBalancerDirectMemoryResourceWeight : https://github.com/apache/pulsar/pull/22821
[12][fix] [broker]默认情况下禁用 loadBalancerMemoryResourceWeight : https://github.com/apache/pulsar/pull/22820
[13][fix]将 io.airlift:aircompressor 从 0.20 升级到 0.27 : https://github.com/apache/pulsar/pull/22819
[14][fix][cli]修复通过 "pulsar tokens create" 创建的令牌过期问题 : https://github.com/apache/pulsar/pull/22815
[15][fix][ci]修复在 x86 alpine 上 snappy-java 原生库加载失败 : https://github.com/apache/pulsar/pull/22804
[16][fix] [broker]修正 ThresholdShedder 的文档并移除无用的方法。: https://github.com/apache/pulsar/pull/22798
[17][fix] [broker]仅在内存中维持最后活跃信息。: https://github.com/apache/pulsar/pull/22794
[18][fix][ml]修复 RangeCache 中的竞态条件 : https://github.com/apache/pulsar/pull/22789
[19][fix]将/pulsar-function-go中的google.golang.org/protobuf从1.32.0升级到1.33.0 : https://github.com/apache/pulsar/pull/22261
[20][improve]重构了BK ClientFactory,现在返回未来(futures)结果。: https://github.com/apache/pulsar/pull/22853
[21][improve][build]在构建 Docker 镜像时支持 git worktree 工作目录 : https://github.com/apache/pulsar/pull/22851
[22][improve][broker]减少OpenTelemetry消费者属性数量 : https://github.com/apache/pulsar/pull/22837
[23][improve]将 Jetcd 升级到 0.7.7 并将 VertX 升级到 4.5.8 : https://github.com/apache/pulsar/pull/22835
[24][improve]验证Functions utils中的用户路径 : https://github.com/apache/pulsar/pull/22833
[25][improve]在long -> int转换前验证参数范围 : https://github.com/apache/pulsar/pull/22830
[26][improve]使用Google re2/j库处理用户提供的正则表达式 : https://github.com/apache/pulsar/pull/22829
[27][improve][misc]将 OTel 库升级到 1.38.0 版本 : https://github.com/apache/pulsar/pull/22825
[28][improve] [pip]PIP-357:在负载均衡模块中修正配置名称。: https://github.com/apache/pulsar/pull/22823
[29][improve][ml]RangeCache重构后续:使用StampedLock代替synchronized : https://github.com/apache/pulsar/pull/22818
[30][improve][ml]RangeCache 重构:测试竞争条件并防止无限循环 : https://github.com/apache/pulsar/pull/22814
[31][improve]升级到 Oxia client 0.3.0 : https://github.com/apache/pulsar/pull/22807
[32][improve] [pip]PIP-356:支持从最早位置开始的地理复制 : https://github.com/apache/pulsar/pull/22806
[33][improve] [client]PIP-344 支持特性标志 supportsGetPartitionedMetadataWithoutAutoCreation : https://github.com/apache/pulsar/pull/22773
[34][improve][ci]添加 arm64 镜像构建 : https://github.com/apache/pulsar/pull/22755
[35][feat][broker]PIP-264:增加broker web执行器指标 : https://github.com/apache/pulsar/pull/22816
[36][feat][broker]PIP-264:增加schema registry指标 : https://github.com/apache/pulsar/pull/22624
[37][fix]修复 Auditor 忽略了在 Auditor 启动之前关闭的 bookies : https://github.com/apache/bookkeeper/pull/4419
[38][improve][tests]向后兼容性测试:新增版本,Pulsar升级案例,从旧服务器读取检查 : https://github.com/apache/bookkeeper/pull/3981
[39]文档:修复 Google Kubernetes Engine 链接。: https://github.com/apache/bookkeeper/pull/4418
[40]测试:在testSequenceReadLocalEnsemble中关闭bookkeeper客户端 : https://github.com/apache/bookkeeper/pull/4416
[41]任务:删除已废弃的配置项 ensemblePlacementPolicyOrderSlowBookies : https://github.com/apache/bookkeeper/pull/4415
[42]将RocksDB升级到版本7.10.2 : https://github.com/apache/bookkeeper/pull/4413
[43]从 testDecommissionBookie 方法中移除 @FlakyTest 注解 : https://github.com/apache/bookkeeper/pull/4408
[44]修复Windows上的RocksDB配置路径处理问题 : https://github.com/apache/bookkeeper/pull/4407
[45]替换 assert 语句为显式检查: https://github.com/apache/bookkeeper/pull/4390
[46]SingleDirectoryDbLedgerStorage 有时跳过乐观缓存写入 : https://github.com/apache/bookkeeper/pull/4306
[47]防止因为 SingleDirectoryDbLedgerStorage 中的竞争引起的双重刷新 : https://github.com/apache/bookkeeper/pull/4305
[48]修复 ledger-api 文档中的 bookkeeper-server-shaded 版本 : https://github.com/apache/bookkeeper/pull/4108
[49]在 AuditorPlacementPolicyCheckTest 中,将 RegistrationManager 放在 finally 块中关闭。: https://github.com/apache/bookkeeper/pull/4080
[50]修复在getLogSegmentNames中的zkGetLogSegmentNames重复调用问题 : https://github.com/apache/bookkeeper/pull/4050
[51]关闭为空的segments产生的烦人日志记录 : https://github.com/apache/bookkeeper/pull/4048
[52]调整一些代码以避免重复 : https://github.com/streamnative/function-mesh/pull/760
[53][feat]PIP-188 支持蓝绿迁移 : https://github.com/apache/pulsar-client-go/pull/1210
[54]添加 defaultPulsarImageRepository 配置 : https://github.com/apache/pulsar-helm-chart/pull/503
[55]升级 kube-prometheus-stack 到 59.x.x : https://github.com/apache/pulsar-helm-chart/pull/502
[56]支持 NodePort 代理服务 : https://github.com/apache/pulsar-helm-chart/pull/500
[57]允许代理的服务 clusterIP 自定义 : https://github.com/apache/pulsar-helm-chart/pull/498
[58]CommunityOverCode Asia 2024 议题征集正式启动!: https://mp.weixin.qq.com/s/byAbsKwC7XofWwxGBiylCw
联系我们
“Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。GitHub 地址:http://github.com/apache/pulsar/
”
诚挚邀请您加入 Apache Pulsar 社区,与全球开发者一起学习、分享和成长,共同塑造云原生消息流平台的未来,一起打造更加开放和高效的开源技术生态!
推荐阅读
干货文章


相关文章:
Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布
“ 各位热爱 Pulsar 的小伙伴们,Pulsar 社区周报更新啦!这里将记录 Pulsar 社区每周的重要更新,每周发布。 ” 本期主题:Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布:Apache Pulsar 3.3.0[1…...
Go源码--sync库(3):sync.Pool(2)
回收 回收其实就是将 pool.local 置为空 可以让垃圾回收器回收 我们来看下 源码 func init() {// 将 poolCleanup 注册到 gc开始前的准备工作处理器中在 STW时执行runtime_registerPoolCleanup(poolCleanup) }这里注册了清理程序到GC前准备工作 也就是发生GC前需要执行这段代…...
Go如何在本地引用以及发布并引用自定义工具包
如何引用本地自定义工具包 我们首先要准备两个项目,分别为需要引入的工具包和当前项目。 myutils、myproject1. myutils为我们的项目1-工具包 package mypakgeimport "strings"func IsContains(s string) bool {if strings.Contains(s, "a")…...
使用了代理IP怎么还会被封?代理IP到底有没有效果
代理IP作为一种网络工具,被广泛应用于各种场景,例如网络爬虫、海外购物、规避地区限制等。然而,很多用户在使用代理IP的过程中却发现自己的账号被封禁,这让他们不禁产生疑问:使用了代理IP怎么还会被封?代理…...
在WSL2的Ubuntu中安装和使用Docker/Podman
在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好(例如在公司,能直接访问Google等)时, Docker/Podman 安装和使用不是问题。 当网络环境不佳(例如在家里),要把 WSL2 的 Ubun…...
【WEEK16】Learning Objectives and Summaries【Spring Boot】【English Version】
Learning Objectives: Learning SpringBoot Learning Content: Reference video tutorials【狂神说Java】SpringBoot最新教程IDEA版通俗易懂Dubbo and Zookeeper Integration Learning time and outputs: Week16 TUE~FRI 2024.6.11【WEEK16】 【DAY2】Dubbo和Zookeeper集成第…...
AI大模型会让搜索引擎成为历史吗?
AI大模型会让搜索引擎成为历史吗? 随着人工智能技术的不断发展,AI大模型已经在许多领域展现出了强大的能力。从自然语言处理到图像识别,AI大模型的应用越来越广泛。在这种背景下,有人开始提出一个问题:AI大模型是否可…...
SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则
SpringSecurity6从入门到实战之SpringSecurity6自定义认证规则 Spring Security 中默认所有的 http 请求都需要先认证通过后,才能访问。那么, 如何指定不需要认证就可以直接访问的资源呢?比如 用户的登录页面和注册页面,都是不需要…...
Java IO:byte[]、char[]、String三种对象的转换
String与byte[]对象进行转换时应指定编码格式,否则有潜在的乱码问题。byte[] b s.getBytes(“utf-8”); String s new String(b,“utf-8”); Java的IO库提供了专门的管道来对这3个对象进行读写,他们是StringReader/Writer CharArrayReader/Writer Byt…...
Elasticsearch:简化数据流的数据生命周期管理
作者:来自 Elastic Andrei Dan 今天,我们将探索 Elasticsearch 针对数据流的新数据管理系统:数据流生命周期,从版本 8.14 开始提供。凭借其简单而强大的执行模型,数据流生命周期可让n 你专注于数据生命周期的业务相关方…...
Verilog综合出来的图
Verilog写代码时需要清楚自己综合出来的是组合逻辑、锁存器还是寄存器。 甚至,有时写的代码有误,vivado不能识别出来,这时打开综合后的schematic简单查看一下是否综合出想要的结果。 比如:误将一个always模块重复一遍,…...
KT-H6测距模块标品,测距范围1500m,demo报价1000RMB,批量报价500RMB
激光测距传感器是一种用于测量距离的模块,通常由传感器和相关电子设备组成,测距模块可以集成到各种设备和系统中,以实现准确的测距和定位功能。KT-H6系列激光测距模块,为自主研发,激光波长905nm的激光器,专为热成像、夜视仪、无人机、安防、瞄具等产品定身打造,其优点是…...
C数据结构:排序
目录 冒泡排序 选择排序 堆排序 插入排序 希尔排序 快速排序 hoare版本 挖坑法 前后指针法 快速排序优化 三数取中法 小区间优化 快速排序非递归 栈版本 队列版本 归并排序 归并排序非递归 编辑 计数排序 各排序时间、空间、稳定汇总 冒泡排序 void Bub…...
【Python】在 Pandas 中使用 AdaBoost 进行分类
我们都找到天使了 说好了 心事不能偷藏着 什么都 一起做 幸福得 没话说 把坏脾气变成了好沟通 我们都找到天使了 约好了 负责对方的快乐 阳光下 的山坡 你素描 的以后 怎么抄袭我脑袋 想的 🎵 薛凯琪《找到天使了》 在数据科学和机器学习的工作…...
持续总结中!2024年面试必问 20 道并发编程面试题(九)
上一篇地址:持续总结中!2024年面试必问 20 道并发编程面试题(八)-CSDN博客 十七、请解释什么是Callable和FutureTask。 Callable和FutureTask是Java并发API中的重要组成部分,它们用于处理可能产生结果的异步任务。 …...
Linux:线程池
Linux:线程池 线程池概念封装线程基本结构构造函数相关接口线程类总代码 封装线程池基本结构构造与析构初始化启动与回收主线程放任务其他线程读取任务终止线程池测试线程池总代码 线程池概念 线程池是一种线程使用模式。线程过多会带来调度开销,进而影…...
集成学习方法:Bagging与Boosting的应用与优势
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
JEnv-for-Windows 2 java版本工具的安装使用踩坑
0.环境 windows11pro 1.工具下载 GitHub - Mu-L/JEnv-for-Windows: Change your current Java version with one line or JEnv-for-Windows:Change your current Java version with one line - GitCode 2.执行jenv 初始化 2.1 问题:PowerShell 未对文件\XXX.…...
linux中: IDEA 由于JVM 设置内存过小,导致打开项目闪退问题
1. 找到idea安装目录 由于无法打开idea,只能找到idea安装目录 在linux(debian/ubuntu)中idea的插件默认安装位置和配置文件在哪里? 默认路径: /home/当前用户名/.config/JetBrains/IntelliJIdea2020.具体版本号/options2. 找到jvm配置文件 IDEA安装…...
d3.js获取流程图不同的节点
在D3.js中,获取流程图中不同的节点通常是通过选择SVG元素并使用数据绑定来实现的。流程图的节点可以通过BPMN、JSON或其他数据格式定义,然后在D3.js中根据这些数据动态生成和选择节点。 以下是一个基本的示例,展示如何使用D3.js选择和操作流…...
为什么92%的AI创作者不敢打印自己的Midjourney作品?揭秘树莓派印相避坑指南,含色彩管理ICC配置包(限免72小时)
更多请点击: https://intelliparadigm.com 第一章:为什么92%的AI创作者不敢打印自己的Midjourney作品? 当一张由 Midjourney 生成的「超写实森林神殿」在屏幕上熠熠生辉时,创作者往往兴奋地截图、转发、设为壁纸——却极少有人按…...
通过AxisApi中转站使用国外API大模型教程
前言:所有的国外大模型想不通过中转站直接使用,其实是很麻烦的的事情,就拿codex来说,需要一个谷歌账号,没有谷歌账号需要注册,注册还必须要使用国外的手机号码和验证码校验审核,流程很繁琐&…...
从Java后端到AI风口:转型踩坑一年,我悟了!涨薪30%的真相是…
做了八年Java后端,去年咬牙转型AI应用开发。这一年踩过坑、加过班、也被面试官问倒过。但回头看,这条路选对了——薪资涨了30%,职业空间也打开了。我必须告诉那些还在犹豫要不要从后端跳出来的同行——现在的AI应用开发社招,确实是…...
正点原子阿尔法开发板uboot编译避坑指南:从源码到SD卡启动的完整流程
正点原子阿尔法开发板uboot编译全流程实战:从环境搭建到SD卡启动的深度解析 第一次接触正点原子阿尔法开发板时,最令人头疼的莫过于uboot的编译和烧录过程。那些看似简单的命令背后,隐藏着无数新手容易踩中的"暗坑"——从文件格式的…...
HX711终极指南:如何用24位ADC打造专业级电子秤系统
HX711终极指南:如何用24位ADC打造专业级电子秤系统 【免费下载链接】HX711 An Arduino library to interface the Avia Semiconductor HX711 24-Bit Analog-to-Digital Converter (ADC) for Weight Scales. 项目地址: https://gitcode.com/gh_mirrors/hx/HX711 …...
FoalTS 错误处理机制:构建健壮的后端应用
FoalTS 错误处理机制:构建健壮的后端应用 【免费下载链接】foal Full-featured Node.js framework 🚀 项目地址: https://gitcode.com/gh_mirrors/fo/foal FoalTS 是一个功能全面的 Node.js 框架,提供了强大的错误处理机制,…...
智能水表、血糖仪、工业HMI:STM32L152ZET6的超低功耗MCU应用版图
STM32L152ZET6:带LCD驱动的超低功耗Cortex-M3旗舰MCU 在电池供电的工业仪表、医疗设备和消费电子产品中,微控制器的功耗与集成度往往是决定产品可行性的关键因素。STM32L152ZET6是意法半导体STM32 L1系列中的高端型号,采用2020mm的LQFP-144封…...
从零搭建Modbus通信测试环境:TCP与串口双模式实战
1. 为什么需要搭建Modbus测试环境? 刚接触工业通信协议时,我最头疼的就是找不到合适的设备做测试。真实PLC动辄上万元,而Modbus作为工业领域最常用的通信协议之一,其实完全可以用软件模拟。搭建本地测试环境的好处很明显ÿ…...
保姆级教程:手把手教你用Intel RealSense D435i进行动态标定(附打印目标尺寸)
深度相机动态标定实战:从原理到精准优化的完整指南 在计算机视觉和机器人领域,深度相机的标定质量直接决定了三维感知的精度。许多开发者在初次使用Intel RealSense D435i这类设备时,常常会遇到深度图像噪点多、边缘模糊或数据空洞等问题。这…...
基于SSM框架的童装购买平台微信小程序(30286)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
