自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

千里之行,始于足下

不积硅步,无以至千里;不积小流,无以成江海......

  • 博客(26)
  • 资源 (23)
  • 收藏
  • 关注

原创 nginx学习——建立hash表的前提条件

在前面两篇博文中分别介绍了nginx中普通hash表和带有通配符的hash表的建立和查找。今天主要是介绍建立普通hash表和带通配符hash表的前提条件:哈希key数组的初始化以及key-value对的添加。

2016-08-31 22:59:27 1278

原创 nginx学习——从基本hash表到支持通配符的hash表(下)

在上一篇博文介绍了nginx中基本hash表的实现,今天主要是来介绍nginx是如何实现支持通配符的hash表。话说在看支持通配符的hash表源码时我惊奇地发现它的设计思路居然和我之前设计的中文字典树基本一致,觉得nginx的设计也不过如此,但是看完hash表源码后我才发现我还是too young too simple,nginx的hash表考虑到的问题我想的要多得多!

2016-08-29 23:55:20 1881

原创 nginx学习——从基本hash表到支持通配符的hash表(上)

hash表示典型的空间换时间的数据结构,对元素进行查找、插入速度的时间复杂度为O(1),这种高效地方式非常适合频繁读取、插入、删除元素,在nginx服务器中,hash表也得到了广泛应用。在nginx基本hash表中,关键字一般是字符串(URL域名),但是如果要让hash表支持统配符,比如”*.test.com“,就需要用到nginx中特有的支持通配符的hash表。

2016-08-28 23:09:32 1959

原创 nginx学习——nginx中的内存池技术(与STL内存池对比分析)

所有的内存池都有一个共同的特点,那就是一开始就将申请大块内存,避免重复申请释放小区块造成内存碎片。nginx也不例外,我们来看看nginx是怎样管理内存吧!

2016-08-27 23:00:19 3806 3

原创 每日一练——两个单链表相交的一系列问题

题意描述:单链表可能有环,也可能无环。给定两个单链表的头节点head1和head2,这两个链表可能相交,也可能不相交。请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null。要求:如果链表1的长度为N,链表2的长度为M,时间复杂度请达到O(N+M),额外空间复杂度请达到O(1)。

2016-08-25 22:54:44 1142

原创 linux基础——linux下多路IO复用接口之select/poll

函数select和poll用于IO复用,它们都是监视一个或多个文件描述符集合,可以进行IO操作的时候就返回。一、函数select()select允许内核等待多个事件中的任何一个发生,并且只要有一个或多个事件发生或者经历了一段指定的时间后才唤醒它。函数原形如下:#include #include #include #include int select(

2016-08-23 23:51:56 1223

原创 STL学习——STL中的内存池管理技术

当我们new一个对象时,实际做了两件事情:(1)使用malloc申请了一块内存。(2)执行构造函数。

2016-08-18 23:08:53 16226 3

原创 计算机网络——TCP协议中的三次握手四次挥手以及11种状态转换

TCP的传输连接分为3个阶段:连接建立(三次握手)、数据传送和连接释放(四次挥手)。TCP传输连接的管理就是使传输连接的建立和释放都能正常地进行。

2016-08-14 20:37:19 27006 2

原创 linux基础——linux下五种IO模型小结(阻塞IO、非阻塞IO、IO复用、信号驱动式IO、异步IO)

一、阻塞IO模型 (同步I/O)阻塞IO是指进程进行IO操作的时候,因为数据没准备好或者缓冲区里没有空间而无法进行IO操作会进入睡眠,直到数据准备或者缓冲区有空间才回被唤醒的行为。阻塞IO是最通用的IO类型,所有套接字默认情况下都是阻塞的。输入操作:read、readv、recv、recvfrom和recvmsg,调用这些输入函数之一,如果缓冲区没有数据可读,该进程会投入睡眠,直到

2016-08-13 19:50:32 3007

原创 每日一练——用两个栈实现队列&用两个队列实现栈

题目一由两个栈组成的队列【题目】编写一个类,用两个栈实现队列,支持队列的基本操作(push、pop、front)。注意点:1、如果stack_push要往stack_pop中压入数据,必须一次性把stack_push中的数据全部压入。2、如果stack_pop不为空,stack_push绝对不能向stack_pop中压入数据。templateclass queue{

2016-08-10 22:52:41 665

原创 数据结构——从英文字典树到中文字典树

昨天面试电话中的一道题,题目如下:给你一个姓名的集合,查找你的名字是否在里面出现,比如搜索姓氏为叶的人,那么会出现所有姓为叶的人,应该如何设计?当时的回答是,姓为key,名为value,存放到multimap中,使用multimap中的count函数统计key为叶的个数,然后用find函数找到第一个key为叶的指针,使用迭代器从该指针向后查找count个元素,判断这count个元素中是否有姓名

2016-08-09 23:08:09 9265

原创 设计模式——单例模式(Singleton Pattern)实现

什么是单例模式?单例模式(Singleton Parttern)保证一个类仅有一个实例,并提供一个访问它的全局访问点。类似于全局变量,但是效果比全局变量更优,全局变量必须在程序开始就创建,如果后面没有用到,会造成资源的浪费。

2016-08-07 23:01:26 692 5

原创 每日一练——大数加减乘除运算实现(网易笔试题)

前几天做网易笔试题时最后一道题是设计一个大数类,实现加减运算,因为做这道题时只有5分钟,结果我刚把类写出来,考试时间就结束了。其实在去年12月我写过一个RSA的加解密程序,其中就用到了大数的加减乘除运算(当然这只是RSA用到的一小部分),后面顺便附上面试时经常会让手写的加、减、乘代码。

2016-08-06 23:05:53 4624

原创 STL学习——STL中的关联式容器总结(RB-tree、set、map、hashtable、hash_set、hash_map)

所谓关联式容器,观念上类似于关联式数据库:每个元素都有一个键值(key)和一个实值(value)。当元素被插入到关联式容器中时,容器内部结构便依照其键值大小,以某种特定规则将这个元素放置到适当位置。关联式容器没有所谓的头尾(只有最大或最小元素),所以不会有所谓push_back()、push_front()等操作行为。

2016-08-05 22:56:16 1629

原创 STL学习——STL中的序列式容器及适配器总结(vector、list、deque、stack、queue)

所谓序列式容器、其中的元素都可序,但未必有序。STL提供了vector,list,deque,stack,queue,priority-queue等等序列式容器。其中stack和queue由于只是将deque改头换面,技术上被归类为一种配接器(adapter),以下总结了序列式容器。

2016-08-04 22:56:29 820

原创 每日一练——求一个只包含0、1的矩阵中只包含1的最大子矩阵大小

题目描述:给定一个无序矩阵,其中只有1和0两种值,求只含有1的最大正方形的大小。例如给定如下矩阵:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0Return 4int max_square(vector>& matrix) { int row = matrix.size(); int col = matrix[0

2016-08-03 22:56:20 7636

原创 每日一练——轮询调度算法和短作业优先调度算法的平均等待时间

今天做亚信的笔试题遇到的轮询调度算法,和春招做的百度笔试题短作业优先调度算法很相似,但是难度要UPUP。做题的过程中,因为没有正确地处理迭代器失效的问题浪费了好多时间(>﹏轮询调度算法如果一个系统可以在单个CPU上运行多个并发作业,那么就该系统而言,“调度”是指:系统选择运行哪些任务,何时运行,何时中断以及以何种方式运行或中断。轮询调度规则是指:每个作业运行时间固定,该作业结束后,切换

2016-08-01 22:58:06 7287 2

原创 linux基础——经典线程同步问题解析及编程实现

前两天写了个简单的线程池,结果在处理线程的同步互斥上花了不少时间,觉得有必要把以前学习的知识再过一遍,这次主要复习的是几个非常经典的同步互斥问题:生产者-消费者问题、读者-写者问题、哲学家进餐问题以及吸烟者问题

2016-07-31 23:47:32 2588

原创 linux基础——linux进程与线程的区别与联系

进程和线程的区别与联系:1、从属:一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。1、调度:在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程的切换。在不同进程中进行线程切换,如从一个进程内的线程切换到另一个进程的线程时,会引起进程切换。

2016-07-28 14:18:18 872

原创 linux基础——linux线程间通信及同步机制总结

线程间的通信有两种情况:1、一个进程中的线程与另外一个进程中的线程通信,由于两个线程只能访问自己所属进程的地址空间和资源,故等同于进程间的通信。2、同一个进程中的两个线程进行通信。本文说的就是第二种情况。关于进程间通信(IPC)可以看我的另一篇博文http://blog.csdn.net/a987073381/article/details/52006729

2016-07-25 22:45:16 44204 9

原创 每日一练——从长度为n的数组里选出m个数使和为固定值sum

这个问题是我从leetcode上一道问题所想到的,原题:如果是从数组中选出2个数相加使之成为固定的数sum,这当然很简单,把数组中的数字遍历一遍,判断另一个数字是否也在数组中即可。代码如下。 vector twoSum(vector& nums, int target) { vector result; map cache;//第一个为数字,第二个为下标

2016-07-24 22:47:19 26166 3

原创 linux基础——linux进程间通信(IPC)机制总结

在linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。在linux下有多种进程间通信的方法:半双工管道、命名管道、消息队列、信号、信号量、共享内存、内存映射文件,套接字等等。使用这些机制可以为linux下的网络服务器开发提供灵活而又坚固的框架。

2016-07-23 21:33:12 51348 10

原创 数据结构——二叉树的四种遍历方式(非递归)

二叉树遍历:  前序遍历:根左右(栈实现)中序遍历:左根右(栈实现)后序遍历:左右根(栈实现)层次遍历:从上往下遍历(队列实现)结构体如下:struct CTreeNode{ int m_Data; CTreeNode *m_lpLeft; CTreeNode *m_lpRight;};对于先序遍历,我们参考先序遍历的递归方式,先访问当前节点,递

2016-07-18 20:50:26 769

原创 linux基础——epoll学习笔记

epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了边缘触发(Edge Triggered),这就使得用户空间程序

2016-07-14 22:46:42 812

原创 每日一练——判断两序列是否为同一二叉搜索树序列

题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题思路:    sequence中从start到end,可以看成三个部分,最后一个是根节点,第一部分的所有数据均小于根节点,第二部分的所有数据均大于根节点。注意第一部分可能为空,第二部分也可能为空。先找到第一部分和第二部分的分割点,从分割

2016-07-12 14:02:49 1188 1

原创 每日一练——矩阵中的最大递增路径

题目描述:Given an integer matrix, find the length of the longest increasing path.From each cell, you can either move to four directions: left, right, up or down. You may NOT move diagonally or move

2016-07-11 16:16:47 2639

SM2椭圆曲线公钥密码算法行业标准文档

SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。SM2算法和RSA算法都是公钥密码算法SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。

2016-11-09

祖冲之序列密码算法行业标准文档(含代码和测试数据)

祖冲之算法(ZUC)是加密算法128-EEA3和完整性算法128-EIA3的核心,是由中国科学院和通信安全研究中心研制,下载内容包含128-EEA3和128-EIA3说明书、ZUC说明书、设计与评估报告、代码及测试数据等等,物有所值。Ps.文档是英文的。

2015-10-23

2012年下半年软件设计师真题(含详细解析)高清版本

2012年下半年软件设计师真题(含详细解析)高清版本

2014-05-13

2010年上半年软件设计师真题(含详细解析)高清版本

2010年上半年软件设计师真题(含详细解析)高清版本

2014-05-13

扫描防范技术的研究(含源码)

第12章 扫描防范技术的研究 12.3 MultiWaiter 12.4 MultiListener 12.5 Sniffer_NetStat 终于传完了

2014-03-13

漏洞扫描器的设计(含源码)

第11章 漏洞扫描器的设计(含源码) 11.1.3 DemoInject 11.1.4_1 Inject ASP 11.1.4_2 PortScan_Inject 11.2 ExhaustPassword 11.3 PortScan_DDOS 11.4 Sniffer_Pass 11.5 PortScan_Match

2014-03-13

服务发现扫描器的设计(含源码)

第10章 服务发现扫描器的设计 10.5 SSDPScaner 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,物有所值,可以根据需要下载

2014-03-13

第9章 命名管道扫描器的设计

第9章 命名管道扫描器的设计 9.6 SearchSql 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,物有所值,可以根据需要下载

2014-03-13

第8章 基于应用的服务扫描器的设计

8.2 ServiceScaner_WWW 8.3 ServiceScaner_FTP 8.5 ServiceScaner_NetResource

2014-03-13

基于协议的服务扫描器的设计(含源码)

7.1.1.1 HTML 7.2 ServiceScaner_WWW 7.4 ServiceScaner_FTP 7.6 ServiceScaner_Telnet 7.8 ServiceScaner_Email

2013-10-18

ICMP扫描器的设计(含源码)

第6章 ICMP扫描器的设计(含源码) 6.6 MultiPing 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,物有所值,可以根据需要下载

2013-10-07

SNMP扫描器的设计(含源码)

第5章 SNMP扫描器的设计(含源码) 5.4 SNMPTools 5.5 SNMPScaner 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,物有所值,可以根据需要下载

2013-10-07

NetBIOS扫描器的设计(含源码)

第4章 NetBIOS扫描器的设计(含源码) 4.7 ReadMAC 4.8 NetBIOSScaner 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,物有所值,可以根据需要下载

2013-10-07

TCP/UDP端口扫描器的设计(含源码)

第3章 TCP/UDP端口扫描器的设计 3.4 PortScan_TCP 3.5 PortScan_UDP 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,可以根据需要下载

2013-10-07

网络协议和网络编程例程

第2章 网络协议和网络编程例程 2.3.2 Redirect 2.3.3 Pipe 因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,可以根据需要下载

2013-10-07

网络扫描技术揭秘 第0章 备用资料(含源代码)

因为网上没有网络扫描技术揭秘的源代码,所以自己买了书dump下光盘按章节上传,可以根据需要下载

2013-10-07

计算机网络实验指导书(详细版)

实验一 RJ-45接口连线实验 实验二 交换机基本配置 实验三 局域网组网和基本网络命令 实验四 路由器的命令行界面配置 实验五 路由器端口的基本配置 实验六 路由器的系统和配置信息 实验七 静态路由 实验八 基于TCP协议的聊天程序的开发 附录1 实验原理 附录2 实验源程序 附录3 聊天程序客户端程序说明 附录4 聊天程序服务器端程序说明 附录五 常用系统资源汇集附录五 常用系统资源汇集 物有所值~

2013-10-07

一套源码过各种保护

一套源码过各种保护,一套源码过各种保护.

2013-08-27

国内某公司的保护源码

protect_Source.rar 国内某公司的保护源码.

2013-08-27

《数据库系统概论》实验指导书

实验一:数据库管理系统软件的使用 实验二:数据库的建立和维护 实验三:数据库的简单查询和连接查询 实验四:数据库的嵌套查询实验 实验五:数据库的分组查询和统计查询 实验六:数据库视图的定义及使用 实验七:数据完整性实验 实验八*:数据库备份和恢复实验 实验九:使用ASP访问SQL SERVER数据库 实验十:数据库课程设计

2013-05-22

《汇编语言程序设计》实验指导书

实验一: 汇编环境与DEBUG调试 实验二:8086汇编语言顺序程序设计 实验三:8086汇编语言分支程序设计 实验四:8086汇编语言循环程序设计 实验五:8086汇编语言子程序程序设计 实验六:段的组合与定位 实验七:8086汇编语言中断程序设计 实验八:磁盘文件系统设计

2013-05-22

Sniffer使用教程

第1章 Sniffer软件简介 1-1 1.1 概述 1-1 1.2 功能简介 1-1 第2章 报文捕获解析 2-1 2.1 捕获面板 2-1 2.2 捕获过程报文统计 2-1 2.3 捕获报文查看 2-2 2.4 设置捕获条件 2-4 第3章 报文放送 3-1 3.1 编辑报文发送 3-1 3.2 捕获编辑报文发送 3-2 第4章 网络监视功能 4-1 4.1 Dashbord 4-1 4.2 Application Response Time (ART) 4-1 第5章 数据报文解码详解 5-1 5.1 数据报文分层 5-1 5.2 以太报文结构 5-1 5.3 IP协议 5-3 5.4 ARP协议 5-5 5.5 PPPOE协议 5-6 5.6 Radius协议 5-9

2013-05-22

《网络管理与维护》实验指导书

《网络管理与维护》实验指导书 1、IP地址和MAC地址 2、IP链路测试 3、网络查看和搜索 4、网络诊断分析 5、网络安全测试 6、网络维护和恢复 7、服务器的构建

2013-05-22

空空如也

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

TA关注的人

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