Loading

摘要: 本期从 ThingsBoard 源码看 MQTT v3.1.1 的订阅链路:SUBSCRIBE/SUBACK 如何处理、主题白名单如何限制可订阅范围、`+` 与 `#` 通配符在 `MqttTopicMatcher` 与 `MqttTopicFilterFactory` 两套实现中的差异,以及 broker 为何把 QoS 封顶在 1。文末附三个可复现的动手实验。 阅读全文
posted @ 2026-10-13 10:55 belhomme 阅读(6) 评论(0) 推荐(0)
摘要: MQTT 报文就三段——固定头、可变头、载荷,第一个字节决定它是谁。ThingsBoard 用 Netty 把这件事做成了流水线:IpFilter 守门、MqttDecoder 把字节翻译成对象、最后交给 1600 行的 MqttTransportHandler 干活。最有意思的是 CONNECT 不走寻常路——鉴权是异步甩给核心服务的,Netty 线程一秒都不等,回调回来才回 CONNACK、才把连接标记为"已上线"。顺手还拆了三个坑:IpFilter 其实是防爆破的 IP 熔断器(默认还关着)、worker 线程数该看 CPU 核数而不是连接数、decoder 和 encoder 谁前谁后无所谓但都得排在业务 handler 前面。文末给了 mosquitto 和 20 行 Python 的小实验,连一次、故意输错一次令牌,亲眼看看 CONNACK 的 0 和 5。 阅读全文
posted @ 2026-10-09 18:05 belhomme 阅读(6) 评论(0) 推荐(0)
摘要: 记录一次 ThingsBoard 4.4.0-SNAPSHOT 在 macOS 上的完整编译过程。项目要求 JDK 25,通过 Homebrew 安装 OpenJDK 25,配合 Maven 3.9 并行编译,57 个模块全部构建成功,耗时不到 3 分钟。文中附带了环境配置、关键 pom.xml 版本声明以及编译命令,供后续参考。 阅读全文
posted @ 2026-06-29 13:31 belhomme 阅读(43) 评论(0) 推荐(0)
摘要: 昨天面试一家公司,被问了一连串关于 Netty 线程模型的问题: “Netty 的 workerGroup 默认线程数是多少?” “为什么默认值是 CPU 核心数的两倍?” “EventLoop 为什么必须是单线程?” “那 Tomcat 为什么又需要那么多线程?Netty 为什么线程这么少?” 说 阅读全文
posted @ 2026-03-11 14:57 belhomme 阅读(285) 评论(0) 推荐(0)
摘要: 在开发高并发系统时,限流是一个绕不开的话题。无论是为了保护后端服务不被突发流量打垮,还是为了防爬虫、防恶意攻击,限流都是最常用的手段之一。常见的限流算法有计数器(固定窗口)、滑动窗口、漏桶、令牌桶等。今天我们就来聊一聊如何用 Redis 的有序集合(ZSET)实现一个滑动窗口限流,并以 IP 维度限制 60 秒内最多 100 次请求为例,给出完整的设计思路和代码。 阅读全文
posted @ 2026-03-05 13:54 belhomme 阅读(537) 评论(0) 推荐(2)
摘要: 步骤 导入 Spring 坐标 <!-- pom.xml文件,配置maven环境 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2. 阅读全文
posted @ 2024-01-02 16:32 belhomme 阅读(53) 评论(0) 推荐(0)
摘要: 学习计组中,使用C语言实现全加器 阅读全文
posted @ 2023-07-23 01:28 belhomme 阅读(136) 评论(0) 推荐(0)
摘要: GAN 性能的提升从生成器 G 和判别器 D 进行左右互搏、交替完善的过程得到的。所以其 G 网络和 D 网络的能力应该设计得相近,复杂度也差不多。这个项目中的生成器,采用了两个全链接层接两组上采样和转置卷积层,将输入的噪声 Z 逐渐转化为 1×28×28 的单通道图片输出。 阅读全文
posted @ 2023-05-11 15:07 belhomme 阅读(258) 评论(0) 推荐(0)
摘要: 如今,手机已成为大众离不开的生活工具,而且它的迅速发展使得它的功能不再以通讯为主,手机逐渐发展为可移动的大众传播媒体终端设备,甚至可以比作为第五媒体。当今的大学生群体是智能手机使用者中的一支巨大的的队伍,零零后大学生在进入大学以来,学习生活中过度的依赖手机,甚至上课时忘记携带手机便会手足无措,神情恍惚。本比赛要求通过监控摄像头等拍摄到的画面判断画面中的人物是否正在使用手机 阅读全文
posted @ 2023-05-10 18:20 belhomme 阅读(463) 评论(0) 推荐(0)
摘要: 使用 PaddlePaddle 进行迁移学习,直接导入模型会有个警告,通过自定义网络结构,实现既加载了预训练模型,又能更好的训练自己的数据 阅读全文
posted @ 2023-05-10 00:28 belhomme 阅读(575) 评论(1) 推荐(0)