一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

MQTT 协议

MQTT 是物联网(Internet of Things,IoT)的 OASIS 标准消息传递协议。它被设计为一个极其轻量级的发布/订阅消息传输,非常适合用较小的代码占用和最小的网络带宽连接远程设备。

龙生   11 Aug 2025
View Details

MQTT vs. XMPP

XMPP 是老牌的即时聊天协议,像 Google Hangouts, WhatsApp Messenger 等即时聊天程序都是基于 XMPP 的。
而 MQTT 是最近几年随着物联网行业的发展,才慢慢进入公众视线的,像 Facebook Messenger App 使用了 MQTT 协议。
MQTT 的特点在于报文小,协议简单,提供了三个 QoS 级别。这几个特性是专门为网络环境复杂的物联网(IoT)场景设计的。
XMPP 特点在于协议和扩展协议成熟,功能完善,专门为即时聊天(IM)场景设计。

龙生   11 Aug 2025
View Details

Java中List、Integer[]、int[] 的相互转换

本文涉及到一些 Java8 的特性。 int[]数组

  int[] 转 List<Integer>

  Arrays.stream(arr) 可以替换成IntStream.of(arr)。 1.使用Arrays.stream将int[]转换成IntStream。 2.使用IntStream中的boxed()装箱。将IntStream转换成Stream<Integer>。 3.使用Stream的collect(),将Stream<T>转换成List<T>,因此正是List<Integer>。 int[] 转 Integer[]

  前两步同上,此时是Stream<Integer>。 然后使用Stream的toArray,传入IntFunction<A[]> generator。 这样就可以返回Integer数组。 不然默认是Object[]。 List<Integer> 转 Integer[]

  调用toArray。传入参数T[] a。这种用法是目前推荐的。 List<String>转String[]也同理。 List<Integer> 转 int[]

  想要转换成int[]类型,就得先转成IntStream。 这里就通过mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream。 而IntStream中默认toArray()转成int[]。 Integer[] 转 int[]

  思路同上。先将Integer[]转成Stream<Integer>,再转成IntStream。 Integer[] 转 List<Integer>

  最简单的方式。String[]转List<String>也同理。 String 同理

  完整代码

  from:https://zhuanlan.zhihu.com/p/196698839

龙生   07 Aug 2025
View Details

WebRTC + WebSocket 实现视频通话

  WebRTC能让web应用和站点之间选择性地分享音视频流。在不安装其它应用和插件的情况下,完成点对点通信。 WebRTC背后的技术被实现为一个开放的Web标准,并在所有主要浏览器中均以常规JavaScript API的形式提供。对于客户端(例如Android和iOS),可以使用提供相同功能的库。 WebRTC是个开源项目,得到Google,Apple,Microsoft和Mozilla等等公司的支持。2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。

龙生   23 Jun 2025
View Details

数据安全能力

龙生   12 May 2025
View Details

VS2022安装.NET Framework4.5

1.去https://www.nuget.org/下载Microsoft.NETFramework.ReferenceAssemblies.net45
2.解压后把build/.NETFramework/v4.5复制到C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework

龙生   11 Apr 2025
View Details

Spring Boot中如何编写优雅的单元测试

单元测试是指对软件中的最小可测试单元进行检查和验证。在Java中,单元测试的最小单元是类。通过编写针对类或方法的小段代码,来检验被测代码是否符合预期结果或行为。执行单元测试可以帮助开发者验证代码是否正确实现了功能需求,以及是否能够适应应用环境或需求变化。

龙生   07 Apr 2025
View Details

解决git操作一直要求输入用户名和密码的问题

## local
git config --local credential.helper store

git config --local user.username "username"
git confgi --local user.password "password"

龙生   18 Mar 2025
View Details

K8S上生产环境后,90%都会遇到这个故障

我们了解到kubectl,它实在上是读取kube/config这个文件,向API Server发起请求。也就是kubectl的任何操作,都是携带这个文件向API Server获取数据的,显示到你当前的终端。

那这个提示就意味kube/config这个文件中的证书与API Server它的证书过期了。如果你使用kubeadm搭建的集群,它所有的证书默认存储在/etc/kubernetes/pki。这里面主要是k8s的证书和etcd使用的证书。这些证书默认有效期是1年。一旦过期,k8s集群就无法提供服务。

龙生   13 Mar 2025
View Details

一篇文章搞懂数据仓库:常用ETL工具、方法

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。

龙生   13 Mar 2025
View Details