摘要: 一、Docker概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,目前主流的Linux操作系统已支持Docker,如Redhat RHEL6.5/CentOS6.5、Ubuntu 14.04以上的操作系统,docker的主要目标为:“Build、Ship and Run Any 阅读全文
posted @ 2017-02-08 14:08 webber_liu 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 最近的物联网智能网关(树莓派)项目中遇到这样一个问题:要从多个底层串口读取发来的数据,并且做出相应的处理,对于每个串口的数据的读取我能想到的可以采用两种方式: 一种是采用轮询串口的方式,例如每3s向每个串口的buffer区去取一次数据,但是这样可能会有缓冲区溢出的可能,同时,数据的同步也可能会出现一 阅读全文
posted @ 2017-01-15 19:29 webber_liu 阅读(2102) 评论(0) 推荐(0) 编辑
摘要: 在之前的树莓派网关项目中遇到了这样一个问题,由于要把网关写的Server持续运行,尤其是要加电自动开启。发现ssh登录开启服务程序之后,当把pty退出时Server端自动断开了,这里想到的APUE中第九章的内容,回顾了下关于会话首进程,进程组,控制终端的概念,所以我们需要把自己写的Server端变为 阅读全文
posted @ 2017-01-09 14:16 webber_liu 阅读(4735) 评论(0) 推荐(0) 编辑
摘要: multiprocessing并非是python的一个模块,而是python中多进程管理的一个包,在学习的时候可以与threading这个模块作类比,正如我们在上一篇转载的文章中所提,python的多线程并不能做到真正的并行处理,只能完成相对的并发处理,那么我们需要的就是python的多进程来完成并 阅读全文
posted @ 2016-12-24 14:45 webber_liu 阅读(14376) 评论(0) 推荐(0) 编辑
摘要: 经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然。所以有了下面的深入研究: 首先强调背景: 1、GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据 阅读全文
posted @ 2016-12-21 22:23 webber_liu 阅读(1945) 评论(0) 推荐(0) 编辑
摘要: 模块解读: 浅复制: x = copy.copy(y)深复制: x = copy.deepcopy(y)(注:模块特有的异常,copy.Error) 深copy与浅copy的差别主要体现在当有混合对象时,即在一个对象中包含其他子对象,比如在一个字典中的一个value是一个列表,这时:浅copy,没有 阅读全文
posted @ 2016-12-21 22:04 webber_liu 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 最近老板给提出一个需要,项目需求大致如下: 1、用树莓派作为网关,底层接多个ZigBee传感节点,网关把ZigBee传感节点采集到的信息通过串口接收汇总,并且发送给上层的HTTP Server; 2、要有数据的反向控制通道,即网关与Server间要保持长连接,采用websocket实现,以此实现给Z 阅读全文
posted @ 2016-12-12 18:53 webber_liu 阅读(1923) 评论(0) 推荐(0) 编辑
摘要: 归并排序仍然是利用完全二叉树实现,它是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。 基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并 阅读全文
posted @ 2016-12-07 20:40 webber_liu 阅读(5009) 评论(0) 推荐(0) 编辑
摘要: 堆排序是对选择排序的一种优化算法,都属于选择排序类。 基本过程:堆是一种完全二叉树,是一种树形选择结构,将待排序的序列构造成一个大顶堆(即每个节点的值都大于或等于其左右孩子节点的值),然后将堆顶的根节点移走,与堆数组的末尾元素交换,此时末尾元素就是最大值。再将剩余的n-1个序列重新构造一个堆,得到次 阅读全文
posted @ 2016-12-07 13:31 webber_liu 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 快速排序是对“冒泡排序”的优化算法,都属于交换排序类。 描述:它通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据要小,然后再按此方法对这两部分数据分别进行快速排序,整个过程递归进行,以此使得整个数据变成有序序列。 值得注意:目前C++,java,PHP,JS 阅读全文
posted @ 2016-12-06 14:40 webber_liu 阅读(244) 评论(0) 推荐(0) 编辑