<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[九天揽月]]></title><description><![CDATA[IOT builder]]></description><link>https://blog.csdn.net/qq_37949192</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_37949192]]></copyright><item><title><![CDATA[零拷贝技术]]></title><link>https://blog.csdn.net/qq_37949192/article/details/139505133</link><guid>https://blog.csdn.net/qq_37949192/article/details/139505133</guid><author>qq_37949192</author><pubDate>Thu, 06 Jun 2024 17:35:28 +0800</pubDate><description><![CDATA[零拷贝的技术原理]]></description><category></category></item><item><title><![CDATA[工业互联网通讯协议—欧姆龙CP系列(Fins tcp)]]></title><link>https://blog.csdn.net/qq_37949192/article/details/138336784</link><guid>https://blog.csdn.net/qq_37949192/article/details/138336784</guid><author>qq_37949192</author><pubDate>Tue, 30 Apr 2024 10:38:36 +0800</pubDate><description><![CDATA[欧姆龙CP系列设备FINS Tcp协议]]></description><category></category></item><item><title><![CDATA[FastJson转化时BigDecimal与Double问题]]></title><link>https://blog.csdn.net/qq_37949192/article/details/137822332</link><guid>https://blog.csdn.net/qq_37949192/article/details/137822332</guid><author>qq_37949192</author><pubDate>Tue, 16 Apr 2024 13:50:45 +0800</pubDate><description><![CDATA[在使用FastJson将json字符串转化为jsonObject时，FastJson默认会将小数转为BigDecimal类型，但有时候我们想要的是double类型。]]></description><category></category></item><item><title><![CDATA[pnpm:无法加载文件 xxx.pnpm.ps1]]></title><link>https://blog.csdn.net/qq_37949192/article/details/135213899</link><guid>https://blog.csdn.net/qq_37949192/article/details/135213899</guid><author>qq_37949192</author><pubDate>Tue, 26 Dec 2023 09:43:01 +0800</pubDate><description><![CDATA[pnpm:无法加载文件 xxx.pnpm.ps1，因为在此系统上禁止运行脚本]]></description><category></category></item><item><title><![CDATA[Linux下设置网关以及网络相关命令]]></title><link>https://blog.csdn.net/qq_37949192/article/details/133925429</link><guid>https://blog.csdn.net/qq_37949192/article/details/133925429</guid><author>qq_37949192</author><pubDate>Thu, 19 Oct 2023 14:26:11 +0800</pubDate><description><![CDATA[Linux下设置网关以及网络相关命令]]></description><category></category></item><item><title><![CDATA[Java虚拟机(Jvm)中类加载器(ClassLoader)]]></title><link>https://blog.csdn.net/qq_37949192/article/details/116521569</link><guid>https://blog.csdn.net/qq_37949192/article/details/116521569</guid><author>qq_37949192</author><pubDate>Fri, 27 May 2022 13:26:09 +0800</pubDate><description><![CDATA[一、类加载器机制与分类

1、类加载机制

每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑，这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件，”.class”文件中保存着Java代码经转换后的虚拟机指令，当需要使用某个类时，虚拟机将会加载它的”.class”文件，并创建对应的class对象，将class文件加载到虚拟机的内存，这个过程称为类加载，这里我们需要了解一下类加载的过程，如下：





【加载】：类加载时类加载过程的第一个阶段，在加载阶段，虚拟机需要完.]]></description><category></category></item><item><title><![CDATA[MQTT与TCP通信协议的对比]]></title><link>https://blog.csdn.net/qq_37949192/article/details/122987950</link><guid>https://blog.csdn.net/qq_37949192/article/details/122987950</guid><author>qq_37949192</author><pubDate>Thu, 17 Feb 2022 17:44:51 +0800</pubDate><description><![CDATA[一、背景

在物联网场景开发中，大多数通信模组都支持TCP、UDP、MQTT、CoAP、HTTP、LwM2M等网络通信协议，其中既有负责传输层协议，也有应用层协议，不同协议适用的场景也不尽相同。

二、协议分层



上图中举例了网络分层中最常见的几种协议：

应用层：应用程序负责将数据以相应规则(协议)进行包装，发给传输层

	MQTT：消息队列遥测传输
		CoAP：受限应用协议
		HTTP：超文本传输协议
	
	传输层：负责将应用层传输过来的数组进行分组，为确保终端接收数据的顺序和完整性，会对每个分]]></description><category></category></item><item><title><![CDATA[Golang—— GMP模型发展(一)]]></title><link>https://blog.csdn.net/qq_37949192/article/details/122955886</link><guid>https://blog.csdn.net/qq_37949192/article/details/122955886</guid><author>qq_37949192</author><pubDate>Wed, 16 Feb 2022 17:35:25 +0800</pubDate><description><![CDATA[Golang中的GMP模型]]></description><category></category></item><item><title><![CDATA[关于工业互联网的浅薄认知--3]]></title><link>https://blog.csdn.net/qq_37949192/article/details/120787476</link><guid>https://blog.csdn.net/qq_37949192/article/details/120787476</guid><author>qq_37949192</author><pubDate>Fri, 15 Oct 2021 17:56:44 +0800</pubDate><description><![CDATA[前言

数字化转型需要进行各层次融合，解决数据孤岛，做到数据连通，真正挖掘数据作用。

平台融合

1、纵向终端与云端融合

这就是物理层的互联互通，到数据采集的自动化、可视化、直到整个分析的数字化服务。我这里做了一个展示图。



首先有一个边缘的感知，包括你的控制系统、设备，在不同情况下，你来采集数据，可以用公有云，在边缘也可以用私有云。最重要的是数据的管理和分析，不同来源的数据怎么融合起来。

当你有了这些东西，就既可以提供远程的服务，也可以提供线下的服务。实际上在数字化里面也有O2O...]]></description><category></category></item><item><title><![CDATA[关于工业互联网的浅薄认知--2]]></title><link>https://blog.csdn.net/qq_37949192/article/details/120785440</link><guid>https://blog.csdn.net/qq_37949192/article/details/120785440</guid><author>qq_37949192</author><pubDate>Fri, 15 Oct 2021 16:26:54 +0800</pubDate><description><![CDATA[前言

为什么很多公司上了ERP、MES等系统，仍然效率很低？企业数字化改革3大挑战都有哪些？

一、管理

第一个挑战肯定在管理上面，其实最根本的还是战略

首先得理解自己战略目标是什么。有的企业是大批量生产相对单一的产品，有的是小批量定制化的。我们刚才讲了有连续工艺，也有离散制造。如果你是做小批量定制化产品的，再去搞大型的自动化，未必是一个最好的解决方案。

讲完战略，接下来是文化，很多时候制造业在做数字化，员工觉得这是IT部门，信息化部门...]]></description><category></category></item><item><title><![CDATA[关于工业互联网的浅薄认知--1]]></title><link>https://blog.csdn.net/qq_37949192/article/details/120782463</link><guid>https://blog.csdn.net/qq_37949192/article/details/120782463</guid><author>qq_37949192</author><pubDate>Fri, 15 Oct 2021 14:58:44 +0800</pubDate><description><![CDATA[前言

第一次工业革命（蒸汽时代）：18世纪60年代—19世纪中
	第二次工业革命（电气时代）：19世纪下半叶—20世纪初
	第三次工业革命（信息化时代）：20世纪后半期，约在二战之后
	第四次工业革命（智能化时代）：21世纪开始
工业4.0

关键点：

工业4.0有一个关键点，就是“原材料（物质）”=“信息”。具体来讲，就是工厂内采购来的原材料，被“贴上”一个标签：这是给A客户生产的XX产品，XX项工艺中的原材料。准确来说，是智能工厂中使用了含有信息的“原材料”，实现了“原材料（物质）”...]]></description><category></category></item><item><title><![CDATA[深入理解TCP与UDP的区别]]></title><link>https://blog.csdn.net/qq_37949192/article/details/117808027</link><guid>https://blog.csdn.net/qq_37949192/article/details/117808027</guid><author>qq_37949192</author><pubDate>Fri, 15 Oct 2021 14:12:40 +0800</pubDate><description><![CDATA[一、前言

经常在面试中被问到网络协议，TCP/IP协议簇中最具有代表性的两个传输层协议：Tcp与Udp的区别，网上好多

二、TCP/IP网络模型
]]></description><category></category></item><item><title><![CDATA[IEC104协议]]></title><link>https://blog.csdn.net/qq_37949192/article/details/120076822</link><guid>https://blog.csdn.net/qq_37949192/article/details/120076822</guid><author>qq_37949192</author><pubDate>Fri, 03 Sep 2021 14:24:25 +0800</pubDate><description><![CDATA[项目介绍  

该项目基于Netty实现的底层网络通信，支持从站服务端、主站客户端的模式, 可以通过Master采集数据，也可以通过Slave模拟终端。该项目已经支持: S帧、U帧、总召唤指令、沾包拆包等功能，由于104协议部分内容存在可扩展性，因此本项目只完成通讯部分以及协议的解码和转码部分。在实际使用过程中需要按照硬件厂商提供的点表再将消息部分装换成可识别的业务对象。


使用

### 主站



// 创建一个配置文件
Iec104Config iec104Conf...]]></description><category></category></item><item><title><![CDATA[DDD+双中台]]></title><link>https://blog.csdn.net/qq_37949192/article/details/119203903</link><guid>https://blog.csdn.net/qq_37949192/article/details/119203903</guid><author>qq_37949192</author><pubDate>Thu, 29 Jul 2021 09:45:08 +0800</pubDate><description><![CDATA[一、背景

    DDD（Domain Driven Design）：领域驱动设计 。

    随着业务的发展，每个产品都需要对应数量的开发者作为支撑，但在长期的协作中，我们发现开发团队都会遇到一些普遍难点：构建速度慢、开发测试周期长、协作困难等。

在快速的业务迭代中，各团队的开发人员往往只会将所在团队的问题进行简单的优化，因此会存在各大团队重复造轮子、耦合严重的现象。



针对这种情况，需要将开发中遇到的问题进行抽象、形成一个统一的解决方案。

二、案例说明

我...]]></description><category></category></item><item><title><![CDATA[Golang基础语法-切片(slice)]]></title><link>https://blog.csdn.net/qq_37949192/article/details/118304453</link><guid>https://blog.csdn.net/qq_37949192/article/details/118304453</guid><author>qq_37949192</author><pubDate>Mon, 28 Jun 2021 16:49:20 +0800</pubDate><description><![CDATA[一、前言

Go语言中有数组与切片的概念，两者最简单的区别就是，数组在声明的时候需要指定数组大小，数组类型和操作不够灵活，而切片不需要，因此Go中常用的就是切片，本文主要讲解切片。



二、切片（slice）

    切片就是一种简化版的动态数组。下面是切片的结构定义，reflect.SliceHeader:


type SliceHeader struct {
	Data uintptr
	Len  int
	Cap  int
}

Data 是指向数组的指针
	Len 是...]]></description><category></category></item><item><title><![CDATA[Docker 设置国内镜像源]]></title><link>https://blog.csdn.net/qq_37949192/article/details/117815701</link><guid>https://blog.csdn.net/qq_37949192/article/details/117815701</guid><author>qq_37949192</author><pubDate>Fri, 11 Jun 2021 14:12:56 +0800</pubDate><description><![CDATA[创建或修改 /etc/docker/daemon.json 文件，修改为如下形式


# vi /etc/docker/daemon.json
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl restart docker.service


]]></description><category></category></item><item><title><![CDATA[Golang-Go语言关键特性Channel、Goroutine、HTTP Server]]></title><link>https://blog.csdn.net/qq_37949192/article/details/117711811</link><guid>https://blog.csdn.net/qq_37949192/article/details/117711811</guid><author>qq_37949192</author><pubDate>Wed, 09 Jun 2021 09:37:48 +0800</pubDate><description><![CDATA[一、前言

GO语言之所以厉害，是因为它在服务端的开发中，总能抓住程序员的痛点，以最直接、简单、高效、稳定的方式来解决问题。这里我们并不会深入讨论GO语言的具体语法，只会将语言中关键的、对简化编程具有重要意义的方面介绍给大家
...]]></description><category></category></item><item><title><![CDATA[Golang——Go语言发展史（一）]]></title><link>https://blog.csdn.net/qq_37949192/article/details/117689274</link><guid>https://blog.csdn.net/qq_37949192/article/details/117689274</guid><author>qq_37949192</author><pubDate>Tue, 08 Jun 2021 13:04:47 +0800</pubDate><description><![CDATA[一、前言

个人认为：作为一名语言爱好者，需要了解到一门语言的发展史（当然这个在面试的时候属于拓展话题，会让面试官眼前一亮）。如果单纯停留在使用者的角度，

二、
]]></description><category></category></item><item><title><![CDATA[POST与GET的详细区别]]></title><link>https://blog.csdn.net/qq_37949192/article/details/117477739</link><guid>https://blog.csdn.net/qq_37949192/article/details/117477739</guid><author>qq_37949192</author><pubDate>Wed, 02 Jun 2021 18:49:44 +0800</pubDate><description><![CDATA[一、前言

网上大多数介绍都是比较简答的，本文详细介绍了HTTP请求中POST与GET方式的区别。

二、HTTP协议中请求方式

1、HTTP/1.0中，定义了GET、POST、HEADER三种请求方式

2、HTTP/1.1中，新增了五种：PUT、DELETE、OPTIONS、TRACE、CONNECT

但是我们一般在项目中编码经常用到的是GET和POST

三、GET与POST简单区别

1、GET请求在URL中传递参数（有长度限制），POST是在request body中传递参数；

2、POST]]></description><category></category></item><item><title><![CDATA[高效序列化protobuf和protostuff的区别]]></title><link>https://blog.csdn.net/qq_37949192/article/details/117471822</link><guid>https://blog.csdn.net/qq_37949192/article/details/117471822</guid><author>qq_37949192</author><pubDate>Wed, 02 Jun 2021 16:23:33 +0800</pubDate><description><![CDATA[一、前言

   在我们的开发过程中，序列化是经常需要处理的问题，比如在做分布式访问数据时，或者是在做redis缓存存储数据时，如果我们涉及的知识面不够广的话，可能会简单的使用JDK的序列化，也即在需要序列化的类上implementsSerializable接口去实现序列化，我想说的是这种方式在小系统中尚且可以用一用，如果是并发很大的系统会受到严重影响，这是由于JDK自带的序列化效率很低，不论是时间上还是空间上。我们经常使用的序列化方式还有XML和Json，说实在的我更多的是使用Json，我觉得它...]]></description><category></category></item></channel></rss>