<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LXDOS的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LXDOS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LXDOS]]></copyright><item><title><![CDATA[MQTT5协议报文格式]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/123640989</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/123640989</guid><author>LXDOS</author><pubDate>Wed, 23 Mar 2022 17:14:34 +0800</pubDate><description><![CDATA[MQTT控制报文由三部分组成：固定头（Fixed header）+可变头（Variable header）+有效载荷（Payload）




二、控制报文格式


MQTT控制报文由三部分组成：固定头（Fixed header）+可变头（Variable header）+有效载荷（Payload）

Fixed header
			固定头部，MQTT协议分很多种类型，如连接，发布，订阅，心跳等。其中固定头是必须的，所有类型的MQTT协议中，都必须包含固定头
		Variable he...]]></description><category></category></item><item><title><![CDATA[IoT物联网平台通信MQTT之Topic定义方式]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/123679872</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/123679872</guid><author>LXDOS</author><pubDate>Wed, 23 Mar 2022 11:56:43 +0800</pubDate><description><![CDATA[IoT物联网平台通信MQTT之Topic定义方式]]></description><category></category></item><item><title><![CDATA[Mavlink协议(第二版)]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/120554937</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/120554937</guid><author>LXDOS</author><pubDate>Mon, 21 Mar 2022 16:39:18 +0800</pubDate><description><![CDATA[文章目录协议简介一、Mavlink协议主要特点二、数据结构不兼容标志 (MAVLink 2)兼容性标志 (MAVLink 2)有效载荷格式MAVLink 2 的数据包格式
协议简介
MavLink官网：https://mavlink.io/
一、Mavlink协议
MAVLink 是一种非常轻量级的消息传递协议，用于与无人机（以及机载无人机组件之间）进行通信。
MAVLink 遵循现代混合发布-订阅和点对点设计模式：数据流作为主题发送/发布，而任务协议或参数协议等配置子协议是点对点重传。
官方文档]]></description><category></category></item><item><title><![CDATA[计算JTS缓冲区面积（Java）]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/120841130</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/120841130</guid><author>LXDOS</author><pubDate>Tue, 19 Oct 2021 10:29:43 +0800</pubDate><description><![CDATA[根据两个点坐标，加上点幅宽计算点的路径面积，此为计算多边形面积，主动去掉重复面积。
引入pom文件：
&lt;dependency&gt;
    &lt;groupId&gt;com.vividsolutions&lt;/groupId&gt;
    &lt;artifactId&gt;jts&lt;/artifactId&gt;
    &lt;version&gt;1.13&lt;/version&gt;
&lt;/dependency&gt;

处理demo：
package com.demo.u]]></description><category></category></item><item><title><![CDATA[坐标点/GPS点/经纬度/UTM的抽稀算法-道格拉斯算法]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/120840753</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/120840753</guid><author>LXDOS</author><pubDate>Tue, 19 Oct 2021 10:17:06 +0800</pubDate><description><![CDATA[输入点集合进行抽稀，根据不同的抽稀力度获取不同的点集结果，力度越大，点集越稀疏。
package com.hxkj.common.utils;

import java.util.*;


/**
 * 坐标处理类 GPS点的抽稀-道格拉斯算法
 *
 * @author Elinx
 * @since 2021-05-31 10:28
 */
public class GisDouglasUtil {

    /**
     * 计算两点距离
     *
     * @param point1 点]]></description><category></category></item><item><title><![CDATA[XY坐标两点插值（加密）计算（Java）]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/120840611</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/120840611</guid><author>LXDOS</author><pubDate>Tue, 19 Oct 2021 10:09:58 +0800</pubDate><description><![CDATA[已知两个点的坐标，这个两个点可以连成一条直线，目前在这条直线上按照固定距离进行插值，即增加更多点在这条直线上。
package com.demo.utils;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 两点插值计算
 *
 * @author elinx
 * @since 2021-09-24 14:05
 */
public class PointInterUtil {

    @D]]></description><category></category></item><item><title><![CDATA[Git使用命令大全（整理备用）]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/118786308</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/118786308</guid><author>LXDOS</author><pubDate>Fri, 16 Jul 2021 10:17:29 +0800</pubDate><description><![CDATA[Git常用命令指南
Git仓库设置
创建一个新仓库
git clone git://github.com/elinxer/library.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

推送现有文件夹
cd existing_folder
git init
git remote add origin git://github.com/elinxer/libr]]></description><category></category></item><item><title><![CDATA[thinkphp6 phpunit单元测试完整用法]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/115242832</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/115242832</guid><author>LXDOS</author><pubDate>Fri, 26 Mar 2021 16:17:41 +0800</pubDate><description><![CDATA[概述

折腾了一个上午搞这个单元测试，的亏是通了，不然要面壁去了。

thinkphp6官方并没有支持phpunit的集成使用，不知道为什么，虽然不妨碍我们直接使用phpuint，单局限性很大，我们只能对通用类和不涉及框架层面进行测试，如接口验证之类。这样的单元测试意义并不大，不能注入到核心里面，还不如直接看接口返回得了，造啥测试，既然用了必然是想要代码质量更高的。
打通任督二脉
想要运行并测试框架内部的逻辑，那么怎么引入就成了最大的问题，官方没有说明，这里是基于折腾过的文章进行验证通过的。
主要原理就是，]]></description><category></category></item><item><title><![CDATA[centos7安装mysql8]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/89108292</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/89108292</guid><author>LXDOS</author><pubDate>Tue, 16 Mar 2021 11:06:02 +0800</pubDate><description><![CDATA[PHP高可用架构实现以及概要实验之一
]]></description><category></category></item><item><title><![CDATA[MySQL单个大表增量备份+索引+结构变更简单方法]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/113698802</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/113698802</guid><author>LXDOS</author><pubDate>Fri, 05 Feb 2021 16:43:51 +0800</pubDate><description><![CDATA[由于使用了低版本mysql，且是myisam引擎，在进行一个千万级数据表加索引时过于缓慢，安全起见采用增量模式备份新表，通过重命名方式迁移结构到新的备份表。
测试版本，目前针对的是MySQL低版本模式进行的测试，与此版本无关。

以下操作皆可以直接用于测试，是编写文章过程实际SQL
思路，依据原始表，创建三个insert，update，delete表，依赖主键ID，并创建三个触发器，然后全量备份原始表为一个新表，因为原始表数据的增删改都会记录在三个表，故单表SQL的操作记录可以直接拿到。这时选一个时间，或做]]></description><category></category></item><item><title><![CDATA[关于后端编程‘闭环’的一些思考]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/113680527</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/113680527</guid><author>LXDOS</author><pubDate>Fri, 05 Feb 2021 14:09:25 +0800</pubDate><description><![CDATA[注：本文仅为个人后端编程开发中的一些思考，如果帮助，甚是荣幸。

1.编码curd的苦楚

当我初初接触编程的时候，战战兢兢打开记事本写下第一个HTML hello并刷新浏览器显示，那种心情激动而自豪，目前是没有了。相信80%的后端程序员都在curd的业务中反反复复，挣扎着如何避免继续curd的过程中继续curd。

对于广大后端达瓦里氏来说，编码就是对着业务编写curd相关逻辑，建个表，建个model，搞个控制这样的了，相差不大，业务复杂的来个服务类，又或者整个中间件之类。

其实写了这么多年代码，回头一]]></description><category></category></item><item><title><![CDATA[Go生成json、解析json和多维json数组解析]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/108093432</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/108093432</guid><author>LXDOS</author><pubDate>Wed, 19 Aug 2020 10:07:18 +0800</pubDate><description><![CDATA[go生成和解析json结构是按结构体模式解析的，所以结构体类型一定要多练习熟悉。
完整代码（可以运行）:
// +build ignore
package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name string
	Age  int
}

type Family struct {
    Persons []Person
}

func main() {
	// 根据结构体生成json
	manJson := Pe]]></description><category></category></item><item><title><![CDATA[Go语言基础语法之一]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/107619334</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/107619334</guid><author>LXDOS</author><pubDate>Mon, 17 Aug 2020 14:18:18 +0800</pubDate><description><![CDATA[文章目录前提基础说明1.文件结构2.语法基础
前提
开发环境：vscode配套装完
go版本： go version go1.14.4 windows/amd64
基础说明
1.文件结构
package main

import( "fmt")

func main() {
	fmt.Println("fuck", "trump!")
}

以上是go语法基础结构，也是第一个代码。
注意：Go常用只能用双引号，单引号初学阶段可以直接放弃记忆，当他不存在，后续强大了自己查原因。
2.语法基础
定义变量
// ]]></description><category></category></item><item><title><![CDATA[Easyui 分页工具条自动带指定查询参数queryParams]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/107843135</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/107843135</guid><author>LXDOS</author><pubDate>Thu, 06 Aug 2020 16:34:02 +0800</pubDate><description><![CDATA[背景
在一个后台管理模块有使用了easyUI组件，然而就如何自动带上搜索历史参数进行分页时也一致，保持结果符合搜索条件，如存在条件，结果为100页，点击下一页时也带入搜索条件。
解决方式是使用  $grid.datagrid 的 queryParams 参数，非常简单，由于该问题查询了两次百度，故记录一下。
场景和原理
查询列表页，存在搜索条件，查询点击按钮，table列表
页面加载时就会触发内容列表加载一次，当触发查询按钮时，触发函数 queryRecord 即重新加载一次
$grid.datagrid(]]></description><category></category></item><item><title><![CDATA[Mysql行锁forUpdate实验以及记录锁、间隙锁，临键锁]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/107578544</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/107578544</guid><author>LXDOS</author><pubDate>Sat, 25 Jul 2020 15:42:00 +0800</pubDate><description><![CDATA[背景
在编写一个领取码的时候，业务复杂度不高，所以直接做了个查询的排它锁 for update，同时研究了行锁相关的内容，因为经人提点说，，MySQL行锁只在主键和唯一索引起效，根据个人经验，相信MySQL不会仅仅如此，故进行了这次实验。这里仅研究悲观锁（排它锁）。
准备工具
1.MySQL版本：8.0.16
2.命令行
3.一张表
4.一组范围查询sql,一组主键id查询sql
5.插入1000条数据
使用到的分析命令：
SELECT version(); # 查询MySQL版本

SET autocom]]></description><category></category></item><item><title><![CDATA[go编译找不到包golang.org/x/net]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/107482640</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/107482640</guid><author>LXDOS</author><pubDate>Tue, 21 Jul 2020 10:32:37 +0800</pubDate><description><![CDATA[go编译找不到包golang.org/x/net运行环境编译发生错误问题原因解决办法
运行环境
go 版本：go version go1.14.4 windows/amd64
使用包：net/http
import (
	"fmt"
	"net/http"
)


编译发生错误
在安装自定义包时无法获取包
go get -u github.com/jackdanger/collectlinks
unrecognized import path "golang.org/x/net/html": https f]]></description><category></category></item><item><title><![CDATA[解决go包管理代理网址无法访问：proxy.golang.org]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/104749494</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/104749494</guid><author>LXDOS</author><pubDate>Mon, 09 Mar 2020 12:03:39 +0800</pubDate><description><![CDATA[go相关官方地址被墙真的很让人暴躁：

go版本：go version go1.13.6 windows/amd64



安装gin框架时使用了：go get github.com/kardianos/govendor

然后：

go get github.com/kardianos/govendor: module github.com/kardianos/govendor: Get ht...]]></description><category></category></item><item><title><![CDATA[go安装gin框架失败错误解决：sum.golang.org被墙]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/104749071</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/104749071</guid><author>LXDOS</author><pubDate>Mon, 09 Mar 2020 11:50:00 +0800</pubDate><description><![CDATA[go版本：


go version go1.13.6 windows/amd64


在使用下面命令准备安装gin试用一下时，发现，是不是卡主，然后直接报错：


go get -u github.com/gin-gonic/gin


go: finding github.com/gin-gonic/gin v1.5.0
go: downloading github.com/gin-gonic...]]></description><category></category></item><item><title><![CDATA[PHP7.3.10编译安装]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/102295446</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/102295446</guid><author>LXDOS</author><pubDate>Mon, 07 Oct 2019 11:23:05 +0800</pubDate><description><![CDATA[php7.3.10编译安装
配置安装环境（裸机）： centos7.2
下载指定PHP版本源码包


github https://github.com/php/php-src.git


download https://www.php.net/downloads.php


su - root &amp;&amp; cd ~/
wget https://www.php.net/distribu...]]></description><category></category></item><item><title><![CDATA[charles抓包使用说明+ssl]]></title><link>https://blog.youkuaiyun.com/LXDOS/article/details/88868995</link><guid>https://blog.youkuaiyun.com/LXDOS/article/details/88868995</guid><author>LXDOS</author><pubDate>Thu, 28 Mar 2019 14:50:48 +0800</pubDate><description><![CDATA[charles使用说明

1.网上下载Charles工具，需要破解则自行破解
2.Charles装证书抓取
先开启Charles SSL设置

https/ssl

3.在系统内安装ssl证书，如何安装？
随意打开一个手机内部浏览器，输入地址： chls.pro/ssl
即可进行证书安装

4.客户端进行WiFi链接设置，WiFi代理为本机局域网IP，并设置端口8888即可完成抓包

charle...]]></description><category></category></item></channel></rss>