FanMLei的博客

努力成为一名GEEK!

Docker

安装 apt-get install docker.io 获取镜像:docker pull <name> 运行一个容器: docker run <参数> <image name&...

2018-11-28 11:33:44

阅读数:32

评论数:0

Django中间件执行流程和CSRF验证

中间件执行流程 django的中间件是一个轻量级的插件,可以改变django的输入和输出,中间件共有5种方法,分别为: process_request(self,request) process_view(self, request, callback, callback_args, cal...

2018-11-28 01:19:59

阅读数:1276

评论数:0

Django rest framework 认证组件源码分析

基础知识 想要弄清楚rest framework的执行过程首先需要明白Django中CBV和FBV执行流程,http请求最最本质的就是一个socket,一个请求过来第一步就是做路由匹配,在FBV中因为视图本身就是一个函数,所以直接调用函数就可以了,但是CBV中视图是一个类而在这个类里面是我们编写...

2018-11-27 16:49:19

阅读数:2627

评论数:0

对于Python闭包的理解

首先看一个面试中非常常见的题目 def num(): return [lambda x: x * i for i in range(4)] print([ n(2) for n in num()]) 先看一下num函数的作用,定义了一个匿名函数,返回传入参数乘以列表生成式的每一...

2018-11-23 11:23:33

阅读数:1232

评论数:0

Leet Code OJ 简单(四)

88.合并两个有序数组     56ms  提交中击败了47.05% 的用户 class Solution: def merge(self, nums1, m, nums2, n): """ :typ...

2018-11-22 17:46:58

阅读数:25

评论数:0

从零开始搭建物联网平台(7):使用Vue编写前端页面

摘要: Vue我也是刚开始学的,看了两天的文档就开始着手做这件事了,所以对vue了解不太深入,没有能力说的的太详细万一是错误的不就误导别人了,所以只对几个相对来说比较主要的点说明一下。 搭建开发环境: 老生常谈的话题!首先自然是要安装nodejs,这个直接去官网下载安装即可,再使用命令npm...

2018-11-22 17:33:43

阅读数:144

评论数:0

从零开始搭建物联网平台(6):消息的持久化

遇到的问题: 查看了EMQ文档发现并不提供消息的持久化功能,MQTT协议是按照设备一直在线设计的,数据都是保存在内存里的,但是考虑到用户上传传感器数据不可能接收了就扔掉,那样就没法查看历史数据了,所以用户上传的消息必须要能够保存下来,以便查看历史数据,这样一来持久化功能就需要我们自己来实现。 ...

2018-11-07 11:43:57

阅读数:1322

评论数:0

从零开始搭建物联网平台(5):搭建后台服务(一)

数据库的设计: 后台使用Django web框架实现,Django和python怎么用就不介绍了,东西太多了,看完下面的这些博客就可以了,差不多就够了https://www.cnblogs.com/wupeiqi/articles/4938499.html 数据库设计:         我是...

2018-11-05 16:39:01

阅读数:1448

评论数:2

从零开始搭建物联网平台(4):订阅系统主题获取设备上下线消息

$SYS-系统主题 先来看一段EMQ对于系统主题的介绍:EMQ 消息服务器周期性发布自身运行状态、MQTT 协议统计、客户端上下线状态到 $SYS/ 开头系统主题。$SYS 主题路径以 “$SYS/brokers/{node}/” 开头,’${node}’ 是 Erlang 节点名称 系统主题...

2018-11-04 17:55:29

阅读数:242

评论数:0

从零开始搭建物联网平台(3):硬件部分的连接测试

搭建开发环境: 在开篇的时候就说过硬件部分会使用Arduino平台和NodeMCU,只是Arduino平台不能直接对NodeMCU进开发,正好换电脑了也需要重新安装一遍,就顺便说一下。 首先下载ArduinoIDE安装包官网太慢可以用这个链接:Arduino 1.8.7我使用的版本是1.8.7...

2018-11-04 03:42:50

阅读数:387

评论数:0

从零开始搭建物联网平台(2):MQTT服务的搭建

EMQ: 现有的MQTT服务器有很多,例如Mosquitto、Apache-Apollo、EMQ等等,最后呢选择了EMQ毕,国内公司的开源产品,中文资料相对要多一些。EMQ的官网宣称是百万级分布式开源物联网MQTT消息服务器,百不百万倒无所谓,反正是给自用的没有那么多的数据产生。 安装: 服...

2018-11-04 02:58:40

阅读数:967

评论数:0

从零开始搭建物联网平台(1):开篇

前言: 读大学的时候学的是物联网工程,大概是在大二的时候开始接触单片机,那时候特喜欢捣鼓那些东西,就觉得特别酷有极客范。还记得第一次做物联网相关的是一个远程控制的开关,第一次调通的时候真的很兴奋,啥也没干就挂在那用手机控制继电器听咔嗒咔哒的声音,现在想想真的好小儿科,明明只是按照人家的教程改改代...

2018-11-04 02:58:07

阅读数:233

评论数:0

常用排序算法:基数排序

算法思路: 步骤:1. 创建10个队列(0-9)                       2. 遍历每个数位,按照位数存入不同的桶中                       3. 然后再将桶中的元素依次取出,放回到原有列表中                       4. 继续执行上两...

2018-10-25 14:52:09

阅读数:41

评论数:0

常用排序算法:桶排序

算法思路: 我们之前提到过计数排序,计数排序在某些情况下并不太适合,例如元素范围太大的情况,桶排序算是对于计数排序的一种改进,桶排序首先根据元素大小放置到不同的桶中,然后在对每一个桶内元素进行排序。 例如数组[29,25,3,49,9,37,21,43],可以以10为区间来存放元素,具体操作如...

2018-10-24 23:58:39

阅读数:60

评论数:0

常用排序算法:计数排序

算法思路: 顾名思义计数排序就是统计每个数出现的次数,例如给0-20范围内的数排序,首先建立一个长度为21的空数组,然后统计每个数出现的次数,再按照下标存入空数组中,例如1出现10次那么数组中的第二个元素为10 ,统计完所有的数之后呢在新建一个数组,在遍历之前存放次数的数组,按照个数往新数组中添...

2018-10-24 17:39:25

阅读数:35

评论数:0

常用排序算法:希尔排序

算法思路: 希尔排序算是插入排序的一种,是改进版的直接插入排序,和直接插入排序不同的是它是按组进行插入排序的。步骤如下: 取一个整数d1 = n / 2,将元素分成d1个组,每组相邻元素之间距离d1,然后在每组内部进行直接插入排序。 取第二个整数d2 = d1 / 2再将元素分成d2个组,然...

2018-10-24 16:53:06

阅读数:20

评论数:0

常用排序算法:归并排序

算法思路: 简单来说归并排序就是将两个有序的序列合并成一个完整的有序序列。具体步骤如下:            1. 选取序列1的第一个元素和序列2的第一个元素,较小的存放到新序列的第一位            2. 选序列1的第二个元素再和序列2的第一个元素比较,选较小的存放到新序列的低二位 ...

2018-10-24 03:08:27

阅读数:18

评论数:0

常用排序算法:堆排序

算法思路: 堆:分为大根堆和小根堆        大根堆:一棵完全二叉树,满足任意一节点都比其孩子节点大。        小根堆:一棵完全二叉树,满足任意一节点都比其孩子节点小。 堆排序流程:  构造堆 得到堆顶元素,为最大元素 去掉堆顶,将堆的最后一个元素放到堆顶,然后调整重新使堆...

2018-10-23 18:20:14

阅读数:30

评论数:0

常用排序算法:快速排序

算法思路 快速排序差不多是面试中问的最多的一种排序算法了,快排是比较容易理解的,核心思路就是,选取一个数作为基准,将原来的列表分为两个部分,一部分全部小于这个基准数,另外一部分全部大于这个基准数,然后呢再按照这个方法对划分出来的两部分继续做同样的操作,直到无法划分的时候排序也就完成了。 以数组...

2018-10-23 15:00:21

阅读数:34

评论数:0

常用排序算法:直接插入排序

算法思路 插入排序就跟我们打扑克抽牌是一样的形式,每次新抽的牌插入到已有的有序牌中,是牌始终保持有序状态,例如[1,3, 2,4,0] 数组,先将1作为起始牌,下一张牌为3,第一趟完成后变成[1, 3]有序数组和[2,4,0]无序数组,接下来插入2,有序数组变成[1,2,3],无序数组变成[4,...

2018-10-22 16:54:19

阅读数:18

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭