自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)         1. 泛化(Generalization)        【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的

2015-01-31 23:07:32 1011

原创 nginx的hash表结构

前言ngx中的hash表有两种,一种是常规的hash表,另外一种是带有通配符的hash表(其中包含前缀通配符和后经通配符)。而带通配符的hash表是基于常规hash表建立的。ngx_hash_t是nginx中的hash表的实现,定义和实现位于src/core/ngx_hash.c和src/core/ngx_hash.h文件中。ngx_hash_t的实现与一般的hash表实现大同小异。对于常

2015-01-31 21:00:56 658

转载 http协议

简介        超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息。HTTP 请求报文        HTTP 请求报文由请求行、请求头部、空行 和 请求包体 4 个部分组成,如下图所示:

2015-01-28 22:36:35 802

原创 nginx中的数组结构ngx_array_t

nginx中的ngx_array_t类似于c语言中的数组,其是基于内存池动态分配的。主要包含在文件src/core/ngx_array.h和/src/core/ngx_array.c两个文件中。1、ngx_array_t的数组结构typedef struct { void *elts; //数组的首地址 ngx_uint_t nelts; //数组中的

2015-01-25 17:06:05 1028

转载 UML关系(泛化,实现,依赖,关联(聚合,组合))

UML的构造快包含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物(2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系(3) 图(10种):用例图,类图,对象图,包图,组件图,部署图,状态图,活动图,序列图,协作图事物是对模型中最具代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。  (2) 关系(4种)UML 中类与类, 类

2015-01-24 21:52:51 635

原创 nginx的内存池及内存管理

nginx对内存的管理是由自己实现的内存池结构ngx_pool_t来完成,本文主要讲nginx的内存管理。nginx对内存管理涉及到四个文件:src/core/ngx_palloc.h、src/core/ngx_palloc.c、src/os/unix/ngx_alloc.c、src/os/unix/ngx_alloc.hngx_alloc.h和ngx_alloc.c文件主要是对mallo

2015-01-24 21:37:15 2000

原创 DLX算法介绍

在介绍DLX算法前,先说下X算法,通过比较才 知道DLX算法的好。X算法是一种常规的回溯算法,我们可以用一个递归过程求精确覆盖问题。递归过程描述为:选择一个没有被删除的列,然后枚举该列为1的行,将该行作为解的一部分,删除所选择的行中为1的列(在删除列时,将对应的行也删除)。用伪代码表示如下,其中A表示覆盖时的矩阵if A is empty, the problem is solved;

2015-01-23 22:14:16 11702

原创 nginx的master和worker进程间的通信

本文 主要分析master进程和worker进程之间是如何使用channel来完成通信的。这部分实现的代码主要分布在src/os/unix/ngx_channel.c文件中。master进程将数据传给worker进程,用socketpair创建的通道channel[0]将命令发送给worker进程,告诉worker进程要做什么。而worker进程不需要告诉master进程做什么,是一个单向的通道。

2015-01-23 00:02:22 3850

原创 nginx进程管理之worker进程

主要分析一下worker进程的情况。首先找到worker进程的入口-ngx_worker_process_cycle。这个函数不仅是worker进程的入口函数,而且是worker进程 循环工作的主要函数。首先将全局变量ngx_process设置为worker进程的标志,然后调用ngx_worker_process_init,对worker进程作初始化操作。先看看worker进程的初始化过程。

2015-01-21 23:36:51 2641

原创 window下运行linux程序

首先下载cygwin,然后在安装目录下找到cygwin.bat文件,添加:@echo offC:set CYGWIN=tty notitle globset PATH=%PATH%;c:\cygwin64\bin;c:\cygwin64\sbin;c:\cygwin64\usr\bin;c:\cygwin64\usr\sbin;c:\cygwin64\usr

2015-01-20 18:36:44 637

转载 The C10k problem —— 高性能服务器开发必读

The C10k problem

2015-01-20 13:53:51 1078

原创 window和linux下遍历目录的比较

window下,遍历目录主要是用FindFirstFile和FindNextFile,而linux下是用opendir和readdir实现void scanFile(char *szDir){ WIN32_FIND_DATA FindFileData; char szFilePath[MAX_PATH]; strncpy(szFilePath, szDir, strlen(szDir

2015-01-19 22:54:00 3717

原创 fork的总结

1、文件共享fork时,创建的文件描述符,父子进程共享。在父子进程都对文件操作时,如果没有作同步处理,会出现相互干扰问题。现在说下fork后处理文件描述符的常用情况(1)父进程等待子进程完成。在这种情况下,父进程无需对其描述符亻任何处理,当子进程终止后,它曾进行的读写操作的任一共享描述符的偏移量已进行了相应更新。(2)父、子进程各自执行不同的程序段。在这种情况下,fork后,父、子进程

2015-01-17 21:14:16 789

原创 nginx进程管理之master进程

nginx分为single和 master两种进程模型。master模型为一个master模型和n个worker进程的工作方式 。本文分析nginx的 master进程做了哪些事情,它是如何管理好各个worker进程的。在main函数中完成了nginx启动初始化过程,启动初始化过程中的一个重要环节就是解析配置文件,回调各个配置指令的回调函数,因此完成了各个模块的配置相互关联。在完成初始化后,就

2015-01-17 20:38:39 4856

原创 sigsuspend的使用

sigsupend是设置信号掩码,等待信号发生,调用 信号处理函数,恢复先前的信号掩码。先阻塞SIGINT信号,然后用sigsuspend设置信号掩码为0(即可以处理任何信号 ),但是按组合键Ctrl+C时,根本就没有捕捉到,但 是在另一台虚拟机上是可以的,后来又试了在终端上输入kill -信号名 pid,这样也是可以触发信号,代码如下:#include #include #inc

2015-01-16 21:40:42 743

原创 vim的命令总结

全复制: 按ESC,再ggyG全删除:按ESC,再dG

2015-01-16 21:21:25 670

原创 nginx启动初始化过程(二)

前面提到nginx启动过程中,关键部分是ngx_init_cycle。ngx_init_cycle()函数究竟做了哪些工作。ngx_cycle_t结构定义在src/core/ngx_core.h文件中。ngx_timezone_update(); /* force localtime update with a new timezone */ tp = ngx_timeof

2015-01-15 21:40:58 674

原创 TCP/IP协议:链路层

1、引言在TCP/IP协议簇中,链路层的目的有三个:(1)为IP模块 发送和接收IP数据 报(2)为ARP模块发送ARP请求和接收ARP应答(3) 为RARP模块发送RARP请求和接收RARP应答TCP/IP支持多种不同的链路层协议,取决于网络所使用的硬件,如以太网、令牌环网、FDDI(光纤分布式数据接口)及RS-232串行线路等。2、以太网和IEEE802封装帧格式采

2015-01-15 00:21:53 754

原创 nginx的启动初始化过程(一)

nginx的启动初始化在src/core/nginx.c的main函数中完成,也是整个nginx的入口。nginx的初始化主要围绕一个类型为ngx_cycle_t的全局变量ngx_cycle展开。main函数做的第一件事是对参数选项进行处理,如下if (ngx_get_options(argc, argv) != NGX_OK) {        return 1;    }

2015-01-13 21:00:24 1055

转载 编程经典书籍

编程经典书籍1、Java Java编程语言(第三版)---Java四大名著----James Gosling(Java之父) Java编程思想(第2版)----Java四大名著----Bruce Eckel Java编程思想(第3版)----Java四大名著----------------Bruce Eckel JAVA 2核心技术 卷I:基础知识(原书第7版)

2015-01-13 09:35:40 628

原创 nginx的安装

nginx依赖以下模块:1、gzip模块需要zlib库2、rewrite模块需要pcre库(正则表达式)3、ssl功能需要openssl库安装pcre1、获取pcre编译安装包,在http://www.pcre.org/上可以获得当前最新的版本2、解压缩pcre-xx.tar.gz包3、进入解压缩目录,执行./configure4、make 和make in

2015-01-12 19:10:54 589

原创 TCP/IP协议:概述

1、分层 TCP/IP分为四层协议系统每一层负责的功能如下:(1)链路层:也称为数据链路层或网络接口层,通常包含操作系统中的设备驱动程序和计算机中对应的网络接口卡。(2)网络层:处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层包括IP协议(网际协议),ICMP(Internet互联网控制报文协议),IGMP(Internet组管理协议)(3)运输层

2015-01-11 21:50:58 608

转载 Oracle学习网站

Oracle学习网站http://www.oracle-base.com 能弄懂这里面的文章,那oracle的基本功就非常扎实。(英)http://asktom.oracle.com/pls/apex/f?p=100:1:0 ; 主要是高手答疑的网站,偏向提高类(英)http://www.qujon.com/ ; 一大堆视频教程,仅供参考,偶尔听听别人的声音是很有必要的。(中)

2015-01-11 19:44:18 734

原创 网络编程学习笔记(获取所有网络接口)

主要是用ioctl函数,同时需要头文件/* net/if.h -- declarations for inquiring about network interfaces Copyright (C) 1997-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU

2015-01-10 21:51:02 1176

原创 oracle11g安装中的问题

1、缷载时oci.dll文件删除不了?删除注册表中oracle相关的项,环境变量中的oracle路径去掉,重启后即可删除2、安装进提示有指定的sid已经存在?删除注册表中oracle相关的项

2015-01-09 20:19:17 1765

原创 题目1507:不用加减乘除做加法

题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。输入:输入可能包含多个测试样例。对于每个测试案例,输入为两个整数m和n(1输出:对应每个测试案例,输出m+n的值。样例输入:3 47 9样例输出:716思路:两个数a,b相加,a ^ b表示不

2015-01-07 23:33:44 526

转载 ext2文件系统

注意:节点号有相对于整个文件系统来说的inode号,我们暂时叫他fsinode号,有相对于块组来说的inode号,我们暂时叫他block inode,同理,块号也有相对于文件系统来说的fsblock,和相对于块组来说的block,inode表项里的block[0]~block[12]里的32位数值,指的是fsbolock,而目录文件的block里的记录,他的节点号指的是fsinode,他们的换算关

2015-01-07 21:20:39 469

原创 windows下获取柱面、扇区数,扇区大小

物理硬盘命名为\\.\PhysicalDrive0用CreateFile打开物理硬盘,然后用DeviceIoControl的参数IOCTL_DISK_GET_DRIVE_GEOMETRY,代码如下#include #include #include #define wszDrive L"\\\\.\\PhysicalDrive0"BOOL GetDriveGeometry(LP

2015-01-07 20:39:55 3859

原创 网络编程(原始套接字)

原始套接字提供如下功能:1、读写ICMPv4,IGMPv4及ICMPv6分组。如ping程序,就是使用原始套接口中发送ICMP回显请求,并接受ICMP回显应答2、读写特殊的IPv4数据报。大多数内核处理值为1(ICMP),2(IGMP)、6(TCP)和17(UDP)的数据报。协议字段还可能为其他值3、使用IP_HDRINCL套接口选项可以构造自己的IPv4头部。原始套接口的

2015-01-06 23:25:31 1503

原创 nginx中的event模块

event中将事件驱动模块,由于支持跨平台,抽象出了event模块。它支持的event类型有:1、AIO(异步I/O)2、/dev/poll(solaris和unix特有)3、epoll(linux特有)4、eventport(solaris 10特有)5、kqueue(BSD特有)6、poll7、rtsig(实时信号)8、selectevent模块的主要功能就

2015-01-05 20:35:09 2342

原创 UVa11264 - Coin Collector(贪心)

Our dear Sultan is visiting acountry where there are n different types of coin. He wants to collectas many different types of coin as you can. Now if he wants to withdrawXamount of money from a Bank

2015-01-03 18:27:17 910

原创 2014年总结

今天是2014年的最后天,回顾这一年,有得也有失。只是希望在2015年所有的一切会变好,同时也对2015年作些规划:1、看一些文学方面的书籍(10篇+)2、加强网络编程及数据库方面的学习,同时也不忘算法这方面的学习(UVa上再刷150+),但是重点还是在网络及数据库3、学习设计模式

2015-01-01 09:48:19 440

flash精彩实例chm

介绍flash基本操作以及mtv制作和as

2009-11-20

Linux C编程一站式学习

添加了GFDL许可证,正式网络发布。第三部分还很粗糙,错误也有不少,有待改进。第一部分和第二部分已经比较成熟,第二部分还差三章没写。

2009-09-11

Ubuntu Linux实用学习教程.pdf

Ubuntu 完全基于 Linux 操作系统, 可以免费得到社区及专业机构的支持。庞大的社区是它成长的沃土,请向这片动人的热忱敞开心扉。

2009-09-11

空空如也

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

TA关注的人

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