自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个菜鸟的博客

一直一直进步

  • 博客(30)
  • 资源 (12)
  • 收藏
  • 关注

原创 MySQL安装及介绍

1、安装sudo apt-get install mysql-server mysql-client2、查看安装端口情况sudo netstat -tap | grep mysql3、配置文件位置sudo vim /etc/mysql/my.cnf4、打开关闭服务/etc/init.d/mysql start/stop5、卸载...

2018-04-25 16:57:05 222

原创 Libevent之 bufferevent 及 bufferevent_sock 详解

通常已连接的套接字除了相应事件之外,应用还希望做一定的数据缓冲。决定要向连接写入一些数据,把数据放入到缓冲区中。等待连接可以写入。写入尽量多的数据。记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入。这种缓冲IO模式很通用,libevent为此提供了一种通用机制即。由一个底层的传输端口(如已连接套接字)、一个读取缓冲区和一个写入缓冲区组成。与通常的事件在底层传输端口已经就绪,可以读取或者写入的时候执行回调不同的是,在读取或者写入了足够量的数据之后再调用用户提供的回调。用户通过。

2018-04-24 17:36:12 5789 1

原创 Libevent之evconnlistener详解

#evconnlistener的简介基于event和event_base已经可以写一个CS模型了。但是对于服务器端来说,仍然需要用户自行调用socket、bind、listen、accept等步骤。这个过程有点繁琐,并且一些细节可能考虑不全,为此Libevent推出了一些对应的封装函数,简化了整个监听的流程,用户仅仅需要在对应回调函数里面处理已完成连接的套接字即可。1、省去了用户手动注册事件的过程。2、省去了用户去验证系统函数返回是否成功的问题。3、帮助用户完成了处理非阻塞套接字accpet的麻烦。

2018-04-24 17:25:07 8601 2

原创 Libevent之bufferevent详解

#简介bufferevent专门为封装成带有缓冲区的socket套接字。当有数据到来时,我们只需要在回调函数里面通过封装函数读取数据即可,根本不需要自己处理一些细节,以及缓存的问题。bufferevent其实也就是在的基础上再进行一层封装,其本质还是离不开event和event_base,从bufferevent的结构体就可以看到这一点。bufferevent结构体中有两个event,分别用来监听同一个fd的可读事件和可写事件。为什么不用一个event同时监听可读和可写呢?这是因为监听可写是困难的,下

2018-04-23 22:00:25 10569 2

转载 Libevent之evbuffer详解

介绍对于任何网络库(模块)而言,一个缓冲模块都是必不可少的。缓冲模块主要用于缓冲从网络接收到的数据,以及用户提交的数据(用于发送)。很多时候,我们还需要将网络模块层(非TCP层)的这些缓冲数据拷贝到用户层,而这些内存拷贝都会消耗时间。为此Libevent提供了evbuffer用于处理缓冲网络IO的缓冲部分,为后续bufferevent的工作做准备。evbuffer结构体缓冲区由evbu...

2018-04-23 20:52:28 5918

原创 超时重传、慢启动和拥塞控制、快速重传及恢复

1、超时重传1、引言 TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对任何实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传的频率。 对每个连接, TCP管理4个不同的定时器:1、重传定时器使用于当希望收到另一端的...

2018-04-16 23:47:41 4688 2

原创 算法之大数据部分

占楼

2018-04-16 20:36:28 147

转载 Linux 进程间通信小总结

进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNIX 系统IPC最

2018-04-14 21:03:49 222

原创 非阻塞式socket

引言返回错误EWOULDBLOCK或EAGAIN。 套接字的默认状态是阻塞的。这就意味着当发出一个不能立即完成的套接字调用时,其进 程将被投入睡眠,等待相应操作完成。可能阻塞的套接字调用可分为以下四类:( 1 ) 输入操作,包括read 、 readv、 recv、 recvfrom和 recvmsg共5个函数。如果某个进程对一个阻塞的TCP套接字(默认设置)调用这些输入函数之,而且该...

2018-04-14 15:40:17 11795

原创 TCP三次握手和四次挥手过程及套接字选项

三次握手1)服务器必须准备好接受外来的连接。这通常在调用socket,bind,listen这三个函数来完成,我们称之为被动打开(passive open)。(2)客户通过调用socket,connect发起主动打开(active open)。这导致客户tcp发送一个SYN(同步)分节,它告诉服务器客户将在待建立的tcp连接中发送数据的初始序列号。通常SYN分节不携带数据,其所在的IP数据...

2018-04-14 11:04:25 1174

原创 Nignx安装、configure、Nignx命令行控制

最为简单的按照,就是全部使用默认选项./configuremake make install1、configureconfigure脚本检测操作系统内核和已经安装的软件, 参数的解析(option), 中间目录的生成(init)以及根据各种参数生成一些C源码文件、 Makefile文件等。 make命令根据configure命令生成的Makefile文件编译Nginx工程, ...

2018-04-12 19:54:18 522

原创 Nignx架构详解、配置文件解释及模块相关语法

1、引言Nginx拥有大量官方发布的模块和第三方模块,这些已有的模块可以帮助我们实现Web服务器上很多的功能。使用这些模块时,仅仅需要增加、修改一些配置项即可。 因此,本章的目的是熟悉Nginx的配置文件, 包括配置文件的语法格式、 运行所有Nginx服务必须具备的基础配置以及使用HTTP核心模块配置静态Web服务器的方法,最后还会介绍反向代理服务器。2、Nginx进程模型详细解释...

2018-04-12 00:10:17 446

转载 解剖Nginx·自动脚本篇(5)编译器相关主脚本

解剖Nginx·自动脚本篇(5)编译器相关主脚本Author: PoechantBlog: blog.CSDN.net/PoechantEmail: zhongchao.ustc#gmail.com (#->@)Date: March 12th, 2012Copyright ...

2018-04-11 22:08:11 2784

转载 解剖Nginx·自动脚本篇(4)工具型脚本系列

解剖 Nginx·自动脚本篇(4)工具型脚本系列Author: PoechantBlog: blog.CSDN.net/PoechantEmail: zhongchao.ustc#gmail.com (#->@)Date: March 12th, 2012Copyright © 柳大·Poechant目录1、auto/have 向自动配置头文件追加可用宏定义(ob...

2018-04-11 22:02:38 591

转载 解剖Nginx·自动脚本篇(3)源码相关变量脚本 auto/sources

解剖 Nginx ·自动脚本篇(3)源码相关变量脚本 auto/sourcesAuthor: PoechantBlog: blog.CSDN.net/PoechantEmail: zhongchao.ustc#gmail.com (#->@)Date: March 6th, ...

2018-04-11 21:41:50 458

转载 解剖Nginx·自动脚本篇(2)设置初始变量脚本 auto/init

解剖 Nginx ·自动脚本篇(2)设置初始变量脚本 auto/initAuthor: PoechantBlog: blog.CSDN.net/PoechantEmail: zhongchao.ustc#gmail.com (#->@)Date: March 4th, 201...

2018-04-11 20:46:16 446

转载 解剖Nginx·自动脚本篇(1)解析配置选项脚本 auto/options

基础知识: https://blog.csdn.net/u010710458/article/details/79890155 https://blog.csdn.net/u010710458/article/details/79900837 解剖 Nginx ·自动脚本篇(1)解析配置选项脚本 auto/optionsAu...

2018-04-11 20:34:39 1076 1

转载 Linux错误代码含义

常用linux错误代码含义,如下表所示:名称值描述EPERM1操作不允许ENOENT2无此文件或目录ESRCH3无此进程EINTR4中断系统调用EIO5I/O 错误ENXIO6无此设备或地址E2BIG...

2018-04-11 10:12:30 623

原创 深入剖析select、poll、epoll

1、基本概念  IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。   (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 ...

2018-04-11 10:11:08 582

原创 Linux5大IO模型

1、概念理解:在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式。 1、同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。就是我调用一个功能,该功能没有结束前,我死等结果。2、异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个

2018-04-11 09:29:57 584

原创 Shell重点详解

1、参数位置特殊字符$0:当前脚本的文件名$1,$2,...,$n: 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $#:传递给脚本或函数的参数个数。$*:传递给脚本或函数的所有参数,通常接合for使用$@:传递给脚本或函数的所有参数。被双引号(" ")包含时,与$*稍有不同$?:上个命令的退出状态,或函数的返回值。一般情况下...

2018-04-11 00:23:11 1271

原创 Nginx之工欲善其事,必先利其器

优秀的工具+持久的耐心。开始起来 https://blog.csdn.net/u010710458/article/details/79877142

2018-04-10 16:14:21 233

原创 必备强大工具合集

1、当之无愧是SISource Insight是如今最好用的语言编辑器之一,支持几乎所有的语言, 如C、C++、ASM、PAS、ASP、HTML等常见的,还支持自己定义关键字,Source Insight提供了可快速访问源代码和源信息的功能。Source Insight自动创建并维护它自己高性能的符号数据库,包括函数、method、全局变量、结构、类和工程源文件里定义的其它类型的符号。Sour...

2018-04-10 10:19:52 1041

原创 STL之算法模板函数实现详解

1、<algorithm>1、transformtemplate <class InputIterator, class OutputIterator, class UnaryOperation>OutputIterator transform(InputIterator first, InputIterator last, ...

2018-04-09 21:39:46 588

原创 TCP坚持定时器和保活定时器

开始。慢慢看起来。

2018-04-09 20:34:56 524

原创 TCP超时与重传

1、超时重传1、引言 TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对任何实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传的频率。 对每个连接, TCP管理4个不同的定时器:1、重传定时器使用于当希望收到另一端的...

2018-04-09 20:33:17 12209 2

原创 经典DP问题求解

1、求连续子数组的最大和 2、最长公共子序列 1、子序列: 一个序列A = a1,a2,……an,中任意删除若干项,剩余的序列叫做A的一个子序列。也可以认为是从序列A按原顺序保留任意若干项得到的序列,子序列与原序列顺序相同,但是不必是连续的 例如: 对序列 1,3,5,4,2,6,8,7来说,序列3,4,8,7 是它的一个子序列。 对于一个长度为n的序列,它一共有2^n 个子序列,有...

2018-04-08 09:42:46 5415

原创 遇到的在线编程题目

https://segmentfault.com/a/1190000011202631

2018-04-07 22:45:59 210

原创 C++虚函数要点合集

参考: https://blog.csdn.net/lihao21/article/details/506883371、动态类型与静态类型静态类型:指不需要考虑表达式的执行期语义,仅分析程序文本而决定的表达式类型。静态类型仅依赖于包含表达式的程序文本的形式,而在程序运行时不会改变。通俗的讲,就是上下文无关,在编译时就可以确定其类型。 动态类型:基类的指针和基类引用有可能为动态类型,就是...

2018-04-03 22:09:15 532

原创 Lazy Evaluation

1、引用计数 M29 2、区别对待读取和写入 M30 3、Lazy Fetching(懒惰提取) 4、懒惰表达式计算

2018-04-02 21:10:08 450

2019年秋招面试总结

2019年秋招面筋,几乎查看了牛客网上全部互联网大厂的面筋并结合自己的面试过程,总结出来的一份大面筋,希望对学弟们有用。

2018-10-30

Source Insight 4.00.0084破解版安装包

Source Insight 4.00.0084破解版,本版本完美解决了中文乱码问题。非常适合阅读源代码。

2018-04-10

google-c++编程风格(高清版).pdf

带书签的Google-C++编程风格介绍,许多开源代码都采用了这里面的规则,可以看看。然后阅读代码更加清晰。

2018-02-06

CCSv6 License

CCSv6的许可证,绝对可用,其他很多虽然是这个名字,但是根本就不是6的许可证,依旧不能调试。我在测试了很多之后都不能用,然后在外国网站找到了这个,亲测绝对可用。利用CCS里面的License管理器读入即可。

2017-09-20

CCSv5 License

CCSv5的许可证,绝对可用,直接下载,然后利用CCS里面的License管理器读入即可。。。。。。。。。。。。。。。。。。。。

2017-09-20

TCP/IP进行网际互联 卷1 原理、协议与结构和TCP-IP详解卷一:协议

两本合集。里面可能含有一些自己pdf标记,自行删除即可。 TCP/IP协议栈 TCP-IP详解卷一:协议 TCP IP进行网际互联 卷1 原理、协议与结构

2017-09-14

永磁同步电机simulink仿真

永磁同步电机simulink仿真,里面写了部分卡尔曼进行位置估计,但是效果不好,但是里面的有位置传感器的仿真是可以的。参考一篇论文上面做的。

2017-04-10

第九届飞思卡尔光电组源代码,华南赛区二等奖

源代码

2017-04-10

C#棋士飞行器源代码,初学者可以看看

C#棋士飞行器源代码,初学者可以看看 很容易理解的东西 本人也是刚刚学习 刚刚写的

2014-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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