MQTTv5.0 ---AUTH – 认证交换

AUTH报文被从客户端发送给服务端,或从服务端发送给客户端,作为扩展认证交换的一部分,比如质询/ 响应认证。如果CONNECT报文不包含相同的认证方法,则客户端或服务端发送AUTH报文将造成协议错 误(Protocol Error)。 AUTH报文固定报头 AUTH报文固定报头第3,2,1,0位是保留位,必须全设置为0。客户端或服务端必须把其他值当做无效 值并关闭网络连接 剩余长度字段 等于可变报头的长度,编码为变长字节整数。 AUTH可变报头 AUTH报文可变报头按顺序包含以下字段:认证原因
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

android -------- LiveDataBus的使用

LiveData是17年GoogleIO大会上提出来的一个新技术。相对于通信总线类型的框架EventBus和RxBus来说,它更简单,更简洁、更解耦。 LiveEventBus是一款Android消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持AndroidX,支持跨进程,支持跨APP LiveDataBus优点 LiveDataBus的实现及其简单 相对EventBus复杂的实现,LiveDataBus只需要一个类就可以实现 LiveDataBus可以减小APK包
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Java中集合的有序问题 Java中List Set Map 是否有序等总结

Java中的容器主要包括两方面: Collection:List、Set、queue Map:HashMap、treeMap;   一. Collection 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。 HashSet:基于哈希表实现,支持快速查找,但不支持有序性操作。并且失去了元素的插入顺序信息,也就是说使用 Iterator
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Django学习(不定期更新)

基于luffy项目的疑问点解决 删除掉.git文件夹,应该是该项目不需要git 在git克隆代码之后,初始化git,自动创建git仓库需要的目录,这些文件夹存在于项目下的.git文件夹中 .git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,具体信息.git文件夹 django的settings.py 中MIDDLEWARE需要注释掉,否则可能会引起异常(POST请求时因为开启防止csrf,报403错误,csrf跨站请求伪造,对网站的恶意利用,依赖web浏览器的,被混淆
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

jQuery --- 实现 checkbox 样式的单选框

这是之前写的一个模态框 要求单选 但是 要求radio的默认样式 太难看了 就想用checkbox + js 自己把它改成单选框 如下:   html代码: <div class="list-item"> <input type="checkbox" id="1" value=""> <label for="1">Dance of the Reed Pipes</label> </div> <div class="list-item"> <input type
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Stream接口

继承关系 继承 BaseStream<T, Stream<T>>,BaseStream 继承 AutoCloseable 文档说明 流是一个元素的序列,支持串行与并行的聚合操作 除了对象引用流的 Stream,还有一些原生特化的版本:IntStream、LongStream、DoubleStream;这些特化版本也被称作流,并且保留着流本身具有的特性及限制 目的:减少装箱拆箱操作 继承关系: 均与 Stream 一样,继承 BaseStream<T, Stream<T>>,只是泛型变成了指定类
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

docker_Ubuntu16.04下安装cuda

  经过一上午的研究,终于配置好docker环境,并成功安装cuda9.0。   (1)下载安装文件。首先去英伟达官网下载cuda安装包:https://developer.nvidia.com/cuda-toolkit-archive      (2)更新系统驱动   系统设置-》软件和更新-》附加驱动-》更新nvidia和intel   假如更新驱动出现了循环登录系统的问题,请先卸载驱动,然后使用带驱动的安装方法来解决问题(万能药)。 此时驱动的卸载方法:由于登陆进入不到图形用户界面(GU
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

如何安装双系统ISO篇

装Windows 用UltraISO制作正版Windows 10启动盘,从U盘启动后安装Windows。 分区方案:个人喜欢C、D、E三个卷,且C为固态放系统文件,D和E为HDD,分别命名为“文档”和“软件”,顾名思义,“文档”需要分配比“软件”多很多的空间。如果不满意现有硬盘的分区方案,有两种方案: 方案一(没试过):在安装Windows时重新分区,参考 https://jingyan.baidu.com/article/19020a0a2df11a529c284251.html 方案二:用
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

C++ 单例模式实现 C++ 单例模式(懒汉、饿汉模式)

C++ 单例模式(懒汉、饿汉模式) C++实现单例模式(包括采用C++11中的智能指针) 饿汉模式: class CSingleton { private: CSingleton() { } public: static CSingleton * GetInstance() { static CSingleton instance;
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Django项目: 2.模板抽取

为什么要抽模板,因为这样能够复用代码,减少代码量,需要原代码时就不需要修改,也不需要添加; 如果不同,就只需要单独修改不一样的地方就行 : 多挖坑,少代码,这就是抽模板的精髓,挖坑就是({% block xxx %}需要改变的代码{% endblock %}) 静态页面抽取模板 一、分析静态页面 1.静态vs动态    2.本次项目页面分析 本项目由5个模块组成分别是:news、course、doc、user、admin,按照django的风格,在前面创建的模板文件夹templates下,分别
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Python学习之turtle库和蟒蛇绘制程序

Python的函数库 Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:。 比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安装。 Python对函数库引用的方式 第一种方式 import <库名> 例如: import turtle(turtle库是Python中绘制图形的库,里面包含多种绘制图形的方法) 如果需要用到函数库中函数,需要使用: <库名>. <函数名> 比如要用到turtle库里面绘制直线的fd()方法,
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Markdown写随笔

1.排版章节 大标题 小标题 一级标题 二级标题 三级标题 四级标题 2.插入列表 个人编程,写一个命令行程序 注册Github账号,建立项目仓库 添加ReadMe.md并编辑,描述项目的简要介绍、功能、用例、下载、文档等 建立doc目录存放存放文档 建立scripts目录存放可公开配置信息 建立src目录存放源码 建立test目录存放测试脚本及其数据 建立psp表格,预估下述几个过程的耗时估计 分析程序的需求,并提交文档到github 基本需求 扩展需求 高级需求 功能设计,并提交文档到gi
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

java基本语法之标识符等

一、基本语法 1、大小写敏感 2、类名首字母大写 3、方法,就是函数,以小写开头。 4、源文件名应于类名相同,文件名后缀为.java 5、主方法入口:Java 程序由 public static void main(String []args) 开始执行。 二、标识符:类名、方法名、变量名称为标识符 1、以大小写字母、$、_开头,后面为数字、字母、美元符号、下划线任意组合 2、不能将关键字为标识符 3、大小写敏感!!! 三、修饰符 访问修饰符: default、protected、public
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Java类加载器初识

类加载器基本概念 类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java虚拟机使用Java类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。 类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java类。通过此实例的newInstance()方法就可以创建出该类的一个对象。实际的情况可能更加复杂
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

EZOJ #387字符串

分析 似乎ttl的模拟赛t3总是折半搜索? 先把所有串转化为每个字母的0/1状态 之后我们将所有字符串分为两半 分别枚举状态 我们发现只有左右两边的字母状态相等才能保证这个集合合法 所以我们在搜左半边的时候每次加入一个pair 表示异或值为x用了y个数 搜完后先将它排序 然后搜右边的时候每次lower_bound一下即可 似乎ttl的数据比较强我的代码常数又很大,所以要开O2才能过/kk 代码 #include<bits/stdc++.h> using namespace std; #de
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Visual Studio、.NET Framework、VC++、C#各个版本的对应关系

Visual Studio、.NET Framework、VC++、C#各个版本的对应关系 Visual Studio版本 .NET Framework版本 内部版本 VC++版本 C#版本 Visual Studio 2002 .NET Framework1.0 7.0 VC++2002 VC#1.0 Visual Studio 2003 .NET Framework1.1 7.1 VC++2003 VC#1.1 Visual Studio 2005 .NET Framework2.0 8.
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

IO复用解述

I/O多路复用 select select 允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或指定时间后返回它。 select函数原型 #include <sys/select.h> #include <sys/time.h> int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout); 返回值:监听到有事件发生的文件描述符的个数,超时为0,错误为 -
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

随机控制器

随机执行底下的请求
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

Oracle中存储过程的使用

一、什么是存储过程: 存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。其优点如下: 1. 存储过
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0

.net设计模式-观察者模式

行为型设计模式:关注对象和行为的分离 观察者模式:解决一个对象里面某件事情发生后,会触发一系列其他对象的动作,然后不希望对象之间紧密依赖问题 有一个猫叫的类,它如果执行miao的方法,会有一系列的动作触发 1 public class Cat 2 { 3 public void Miao() 4 { 5 Console.WriteLine("{0} Miao.....", this.GetType().Name)
分类: 其他 发布时间: 09-14 22:45 阅读次数: 0