NK_test的博客

二十岁到三十岁,热血的岁月

排序:
默认
按更新时间
按访问量

针对移动机器人的人体目标检测和跟踪系统的实现

预期效果机器人可以在较为简单的生活环境背景中,实现对单个人体目标的检测和实时跟踪,做出前进、后退、左转和右转等基本操作。运行环境 Windows7、 Visual Studio 2013 EmguCv2.4.9 小R科技-51duino WiFi视频智能小车机器人(更换加强版的路由模块) 基本思路...

2017-07-02 16:50:48

阅读数:4026

评论数:3

基于protobuf service使用rpc入门教程

protobuf简介什么是protobufProtocol Buffers (ProtocolBuffer/ protobuf )是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。现阶段支持C++、JAVA、Python等三种编程语言。在...

2017-05-24 21:38:33

阅读数:7784

评论数:2

Muduo 网络库源码分析 之 关键技术点总结

最近又把muduo网络库仔细研究了一遍,收获良多。本文将对muduo中的设计思想以及关键的技术细节进行总结和分析,当然由于篇幅的原因这里更多的是对关键技术的简略提及,具体细节还需要读者自己去查找学习资料。muduo/base Date类 日期类的封装,使用Julian(儒略日)可以方便的计算日期...

2017-04-28 18:41:59

阅读数:1375

评论数:1

从wireshark中学网络分析(二)

在上一篇文章中提到了TCP的延迟确认,延迟确认并不一定能提高性能,在某些场景下,开启延迟确认甚至会严重降低网络传输性能。(一)下面列出几个开启延迟确认降低网络性能的场景:场景一:想象这样一个场景,服务端开启了延迟确认,客户端在同一时刻发送了9个TCP包,其中3、4、5号因为拥塞丢失了。那么传输过程...

2017-03-02 17:34:27

阅读数:1560

评论数:1

从wireshark中学网络分析(一)

网络是很抽象的,但是在wireshark里面却又是相对直观的。这里我们列举了5个问题来进一步直观地学习TCP协议,并且从中了解分析网络性能的一般方法。 问题一:关于子网掩码和网关服务器A和B的网络配置如下: A: IP address: 192.168.26.129 Subnet mask: 25...

2017-02-26 17:34:07

阅读数:3464

评论数:2

搭建基于openvswitch vxlan协议的多主机KVM虚拟机连接环境

背景通过在物理机上启动多个KVM的方式可以用来模拟需要使用大量物理机的环境,并进行服务功能的一些验证。同一物理机上的KVM之间是可以进行通信的,但是不同物理机之间的KVM通信就需要使用openvswitch来进行连接。VXLAN(Virtual eXtensible Local Area Netw...

2016-12-04 18:43:00

阅读数:3075

评论数:0

2016小米在线编程题解

题目一世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?思路:很简单啊,异或操作,然后右移算出1的个数。class Solution { public: /** * 获得两个整形二进制表达位数不同的数量 ...

2016-10-21 12:57:13

阅读数:1264

评论数:0

Effective C++ 简要条款分析(一)

Effective C++ 简要条款分析(一)c++实在是一门深奥晦涩的语言,不同专业水准的程序员写出来的代码质量有着天壤之别,以至于必须出版一本图书提供一些“专家经验”来引导c++程序员写出更加高质量的代码。《Effective C++》就是这样一本书。建议你在有一定的代码积累后阅读这本书,这里...

2016-10-01 22:57:44

阅读数:987

评论数:0

CPU 负载观察和性能监测

CPU负载和利用率CPU 的负载和利用率是两个不同的概念,但是他们都可以在top命令中查看。CPU利用率显示的是程序在运行期间实时占用的CPU百分比,而CPU负载显示的是一段时间内正在使用和等待使用CPU的平均任务数。CPU利用率高,并不意味着CPU的负载大。两者之间没有必然的关系。常用命令介绍:...

2016-09-28 22:55:39

阅读数:3562

评论数:3

使用Muduo完成数独和八数码问题求解服务器

在剖析完Muduo网络库源码之后,我们试着完成一个高效的数独和八数码问题求解服务器。 先说说为什么要选择这两个问题?数独问题一直是陈硕老师很喜欢的问题,在muduo网络库中多次提到并有示例。八数码问题是我很喜欢的问题,所以在此综合完成求解数独和八数码问题的高效服务端程序。 编写这样一个看似简单的服...

2016-05-28 21:08:50

阅读数:11417

评论数:0

编译原理:LL(1)文法 语法分析器(预测分析表法)

设计要求:对于任意输入的一个LL(1)文法,构造其预测分析表,并对指定输入串分析其是否为该文法的句子。 思路:首先实现集合FIRST(X)构造算法和集合FOLLOW(A)构造算法,再根据FIRST和FOLLOW集合构造出预测分析表,并对指定的句子打印出分析栈的分析过程,判断是否为该文法的句子。 ...

2016-05-22 20:54:31

阅读数:33282

评论数:10

C++ 捕获本机网卡的IP包并对其解析的实现

编程要求:捕获本机网卡的IP包,对捕获的IP包进行解析。要求必须输出以下字段:版本号、总长度、标志位、片偏移、协议、源地址和目的地址。 TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram).这是一个与硬件无关的虚拟包,由首部和数据两部分组成.首部的前一部分是固...

2016-05-08 21:54:19

阅读数:6974

评论数:7

python: 知乎大规模(34k)用户爬虫

前些天学习python,完成了python练习册的大部分习题:https://github.com/Show-Me-the-Code/python(我的github上有习题代码,欢迎自取)。之后看到@salamer的一个python爬虫项目,觉得很不错。于是自己花了4天的时间完成了一个大规模爬取知...

2016-05-06 14:51:25

阅读数:10172

评论数:4

编译原理:C语言词法分析器

编译原理的实验:完成对C++语言的词法分析 先说一下整体框架: 基类:Base  封装了一些基础的字符判断函数,如下: int charkind(char c);//判断字符类型 int spaces(char c); //当前空格是否可以消除 int characters(char c)...

2016-04-25 22:09:57

阅读数:9682

评论数:0

Muduo网络库源码分析(六)TcpConnection 的生存期管理

TcpConnection是使用shared_ptr来管理的类,因为它的生命周期模糊。TcpConnection表示已经建立或正在建立的连接,建立连接后,用户只需要在上层类如TcpServer中设置连接到来和消息到来的处理函数,继而回调TcpConnection中的 setConnectionCa...

2016-04-22 15:29:13

阅读数:6499

评论数:0

Muduo网络库源码分析(五)Acceptor和TcpServer类

首先,我们先提一下对Socket的封装(不复杂,所以简单说一下)。 Endian.h : 封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。 SocketsOps.h/ SocketsOps.cc :封装了socket相关系统调用。 Socket...

2016-04-16 01:09:29

阅读数:9374

评论数:0

Muduo网络库源码分析(四)EventLoopThread和EventLoopThreadPool的封装

muduo的并发模型为one loop per thread+ threadpool。为了方便使用,muduo封装了EventLoop和Thread为EventLoopThread,为了方便使用线程池,又把EventLoopThread封装为EventLoopThreadPool。所以这篇博文并没...

2016-04-15 13:34:02

阅读数:7674

评论数:0

Muduo网络库源码分析(三)线程间使用eventfd通信和EventLoop::runInLoop系列函数

先说第一点,线程(进程)间通信有很多种方式(pipe,socketpair),为什么这里选择eventfd? eventfd 是一个比 pipe 更高效的线程间事件通知机制,一方面它比 pipe 少用一个 file descripor,节省了资源;另一方面,eventfd 的缓冲区管理也...

2016-04-12 23:59:56

阅读数:8134

评论数:1

Muduo网络库源码分析(二) 定时器TimeQueue,Timer,TimerId

首先,我们先要明白为什么需要设计这样一个定时器类? 在开发Linux网络程序时,通常需要维护多个定时器,如维护客户端心跳时间、检查多个数据包的超时重传等。如果采用Linux的SIGALARM信号实现,则会带来较大的系统开销,且不便于管理。 Muduo 的 TimerQueue 采用了最简单的...

2016-04-04 19:53:11

阅读数:3586

评论数:0

连接两个链表的实现

题目: 有以ha为头结点的链表,元素个数为m;以hb为头结点的链表,元素个数为n。现在需要你把这两个链表连接起来,并使时间复杂度最小,请分析并实现。 思路: 很简单的链表操作的题目,逆序头部插入,并将长度较长的一方接到较短的后面,时间复杂度为O(min(m,n))。 #include #incl...

2016-04-04 15:38:59

阅读数:4329

评论数:0

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