自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (2)
  • 收藏
  • 关注

原创 oracle 学习网址

http://mis.im.tku.edu.tw/~xman13a/oracle/tablespace/ora_1.htmhttp://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10743/toc.htm

2011-08-29 00:52:18 456

原创 epoll学习:思考一种高性能的服务器处理框架

<br /> 终于开始学习epoll了,虽然不明白的地方还是很多,但从理论到实践,相信自己动手去写一个具体的框架后,一切会清晰很多。<br /><br />1、首先需要一个内存池,目的在于:<br />·减少频繁的分配和释放,提高性能的同时,还能避免内存碎片的问题;<br />·能够存储变长的数据,不要很傻瓜地只能预分配一个最大长度;<br />·基于SLAB算法实现内存池是一个好的思路:分配不同大小的多个块,请求时返回大于请求长度的最小块即可,对于容器而言,处理固定块的分配和回收,相当

2010-08-30 21:05:00 1259

转载 C++中extern “C”含义深层探索

<br />(转)C++中extern “C”含义深层探索<br /> <br /> <br />1.引言<br />  C++语言的创建初衷是“a betterC”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局

2010-08-30 21:03:00 435

原创 (转)C++中extern “C”含义深层探索

<br />(转)C++中extern “C”含义深层探索<br /> <br /> <br />1.引言<br />  C++语言的创建初衷是“a betterC”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方

2010-06-21 18:51:00 417

转载 P2P之UDP穿透NAT原理并有UDP打洞的源码

   首先先介绍一些基本概念:            NAT(Network Address             Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network             Address/Port Translator)。           

2010-04-23 13:48:00 1016

转载 Apache 重写规则的常见应用 (rewrite)

本文出自:http://www.linuxforum.net 作者:吴阿亭 Jephe wu (2001-09-05 08:00:00) 一:目的本文旨在提供如何用Apache重写规则来解决一些常见的URL重写方法的问题,通过常见的 实例给用户一些使用重写规则的基本方法和线索。二:为什么需要用重写规则? 一个网站,如果是长期需要放在internet上提供服务,必定会有不断地更新和维护,

2010-04-23 10:26:00 500

转载 eproll技术和非阻塞的读写规则

 EPOLL技术在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#def

2010-04-22 22:45:00 2451

原创 awk 学习笔记

awk 是一个程式语言,对於资料的处理具有很强的功能。对於文 字档里的资料做修改、比对、抽取等的处理,有着简练速度快的特点常常与shell命令结合极大的简化工作1 awk 命令 文件名 更多是接收管道的数据在输出到管道中执行格式 awk pattern { action } patten 的种类/正则表达式/表达式 不为0 或是不为空串

2010-04-22 17:03:00 451

原创 apache的性能检测

apache 模块中有一些 对服务器管理和检测的模块module-status 可以检测服务器的状态如启动时间,最近一次重启时间,总连接数,总的数据传输量, cpu的利用率,还有些统计数据每秒处理多少个request, 每秒数据传输量, 每个request数据访问量当前连接数, 和 空闲work数服务器的启动/重启次数和服务时间 平且可以看到 各个连接的列表sr

2010-04-21 16:24:00 799

原创 图的小算法 二 (AOE/AOV网络)

void handle_AOV(){ int num = top, pos = 0, i, stack = -1, index, finish; int path[MAXLEN], ee[MAXLEN], le[MAXLEN], e[MAXLEN], l[MAXLEN], path2[MAXLEN]; ledge cur; for( i=0; i  if ( set[i]->flag == 0 )

2010-04-21 00:43:00 792

原创 图的小算法

/* 图的算法*/#include#include#include#define MAXLEN 128//节点数据结构typedef struct Vertex{ int value; //是否遍历过的标志位 int flag; int weight; struct Edge * next;}vertex, * lvertex;typedef struct Edge{ int weight

2010-04-19 01:35:00 476

原创 哈夫曼编码

几天看了下哈夫曼树, 输出费了点功夫 贴代码 留被参考 /* 实现对26个字符的编码*/#include #include#include//haffman tree 节点数据结构typedef struct Node { //预编码的字符 char value;          //父节点 struct Node * parent; struct Node * left; struct N

2010-04-18 00:42:00 455

原创 IM 问题归纳

1 当接收处理机 接收包,插入消息队列时发生死锁    先对信号量操作 sem_wait( &msgNonEmpty);当队列未满时进行写入操作,否则阻塞     访问队列pthread_mutex_lock(&queue)    sem_post(&msgNonFull) 释放队列资源    pthread_mutex_unlock(&queue) 释放队列锁    简单的读

2010-04-15 00:18:00 620

原创 c 学习笔记之 c IO标准库函数

 一直以来对c的IO函数一知半解,今天终于仔细研究了一下有些醍醐灌顶的感觉。 首先是对文件的理解。linux下,一切皆为文件,liunx就是一个大文件系统。我们常见的文件一般是,文本文件和二进制文件。文本文件主要是记录一些可读字符,这些字符是以字节为单位组织起来,可以是ascii码 utf8,iso gbk等编码形式。主要可以是文件,源码文件等等。二进制文件 则不是一些可读

2009-11-09 23:10:00 1014

原创 tcp/ip 学习笔记

最近学习网络编程,看了周立发老师的blog 也模仿写了一个文件管理并发服务器。 选择多进程并发服务器 技术难点:建立tcp 服务器              fork 产生新的处理进程              使用getopt 函数使服务器配置参数化, 使用同一的linux风格               设置端口复用,??               浏览文件系

2009-10-28 23:22:00 594

转载 cpu的工作模式

一。x86实模式介绍 二。实模式的问题与保护模式的出现 三。386以上处理器的特点 四。保护模式下的地址转换 一。x86实模式介绍 x86体系的处理器刚开始时只有20根地址线,寻址寄存器是16位。我们知道16位的寄存器可以访问64K的地址空间,如果程序要想访问大于64K的内存,就需要把内存分段,每段64K,用段地址+偏移量的方式来访问,这样使20根地址线全用上,最大的寻址空间就

2009-10-09 23:46:00 3808

转载 了解 bios

bios 是一个很重要的程序,需要了解其基本功能。 BIOS basic Input and oput system 基本输入输出系统,全称ROM-BIOS 只读存储器基本输入输出系统,负责最低级最直接的硬件操作, 是硬件与软件的连接器,负责硬件的即时要求,与软件对硬件的控制 主要有几个功能自诊断程序:通过读取CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化;

2009-10-09 23:10:00 605

原创 perl 实现二叉树,二叉平衡树

 #! /usr/bin/perl -wuse strict;use warnings;use Data::Dumper;my $head = undef;my $copy = /$head;foreach my $index( 1 .. 10 ){  &AVLTree_insert($copy, $index);}#&create_BSTree( $copy );#&create_tre

2009-09-18 22:09:00 1033

原创 perl 实现的基本排序算法

 #! /usr/bin/perl -wuse strict;use POSIX;use Data::Dumper;my @data = &generate_rand( 100  );#(3, 5,4, 43,990, 43,54, 2, 7, 45);#print Insert_sort(/@data);#&Selection_sort(/@data);#&merge_sort ( /@

2009-09-18 22:06:00 1209

转载 http 详解

 (一)初识HTTP消息头但凡搞WEB开发的人都离不开HTTP(超文本传输协议),而要了解HTTP,除了HTML本身以外,还有一部分不可忽视的就是HTTP消息头。做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两

2009-09-15 10:27:00 1632

原创 配置虚拟嵌入式环境

早就饱受没有开发板之苦而没有涉入这个领域,偶然间发现了skyeye这个开源项目,了解了下可以模拟嵌入式开发环境。他可以模拟多种主流嵌入式处理器 ARM7, ARM9, ARM10 等,与uclinux 就可以拥有一个交叉编译的环境。 查了下资料,转载一位老兄的帖子。  一、uClinux编译环境的配置和编译1、下载arm-elf-tools和uClinux http

2009-09-10 17:02:00 514

原创 linux c 编程

在linux下可以有很多编辑器用于编程,我更喜欢传统的vim,简洁而不失功能强大,符合linux 自由,实用,稳定,高效的精神。通常的vim 没有语法高亮,需要自己下载vim-full我用的ubuntu,所以笔记更多是出于这个美丽系统的角度。sudo apt-get install vim-full在/etc/vim/vimrc 中设置 sytanx on gcc 一宽强大

2009-09-10 00:59:00 516

原创 linux 常用命令

唧唧歪歪说了半天,今天晚上的主要工作是复习linux下的基础命令和linux c 开发的基础 如编辑器,编译器,调试器,make, autotools 等复习与学习。1 linux 基础指令  linux 下常用的指令都是经过shell 解释执行的,扎实的shell 语言基础 也是linux 程序开发的基础。每个用户登录后会有个专属的环境,也会有相应的环境变量       PA

2009-09-09 00:12:00 513

原创 嵌入式起步

     对现在的糟糕工作已经到了是可忍孰不可忍的地步了,决定 换个工作,换个方向。那想到手头上的技术是如此之偏,以至于空怀才不得遇,悲哉。只好重新对嵌入式linux 进行突击学习,希望临阵磨枪不快也光。还好LAMP 的开发经历让我对linux 比较熟悉,不过一次跳槽就要更符合自己的人生理想,也要对自己负责,所以要对原来的知识体系进行梳理,回顾,总结。学而不思则惘。由于两次误刷新的经历,差点让

2009-09-08 23:57:00 566

转载 mock

mock测试:就是在测试过程中,对于某些不容易构造或者 不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。mock对象:这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。mock对象使用范畴:真实对象具有不可确定的行为,产生不可预测的效果,(如:股票行情,天气预报) 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他

2009-01-13 16:34:00 771

原创 json

以前曾经看到过,以为是一个类似prototype的javascript类库,今天遇到了一个json问题才去深究下才知道到底是什么东西。JSON是一种轻量级数据交互的格式 javascript object notation .和xml一样是数据交互一中数据格式主要就是两个过程数据的序列化,与实例化两个过程物理格式有两种 对象object {"oscar":{"name":"oscar",age:1

2009-01-06 22:33:00 906

转载 NFS 协议

NFS是Net File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。 以下是NFS最显而易见的好处: 1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。 2.用户不必在每个网

2008-10-23 10:09:00 958

转载 linux 分区

1991年,芬兰的一名学生LinusTorvalds出于兴趣,以他的灵感和才思,开发了当今最为流行的免费操作系统Linux。Linux也正以它的优越性赢得越来越多的用户的喜爱,同时也被微软视为最可怕的竞争对手之一。全世界使用Linux操作系统的人正以惊人的速度增涨着,同时也产生了Linux诸多不同的版本,因为它实在是太可爱了,太好了。但这里也不能说它的好了,要不就有骗稿费之疑了。但它有

2008-10-21 09:42:00 490

转载 linux 权限

权限分类linux是优秀的安全的文件系统,其安全性体现在系统中所有的文件都采用权限管理机制,只有合法的、有效的用户才能访问、修改和执行与权限对应得文件。在ubuntu中,每一个文件都有三层机制,即:访问限制、用户限制和隶属于某个用户/组。其重要等级依次为用户(user)、组(group)、其它(others)。下面我们就这三个等级简略的说一下。权限分类如下:user :适用于该

2008-10-20 16:26:00 1312

转载 perl中grep,sort,map用法总结

简简单单讲map(一)map函数map BLOCK LISTmap EXPR, LISTmap函数对LIST里的每个元素按BLOCK或EXPR进行计算,遍历LIST时,临时将LIST里的每个元素赋值给$_变量。map对每次的计算返回一个结果列表,它在列表上下文里计算BLOCK或EXPR。每个LIST元素可能在输出列表里产生0个,1个,或多个元素。

2008-10-09 09:31:00 1358

原创 perl regexp

又重新看了下perl正则表达式,又有了新的感触他实在是太强大了,在这向大家共享一些小技巧1 拓展的正则表达式if($string =~ /^([+-]?)(?=/d|/./d)/d*(/./d*)?([Ee]([+-]?/d+))?$/);判断是否是数字,(?=/d|/./d)是一个扩展式(?KEY)是用来发现潜在可能情况 (?=)向前检测如果匹配上返回一个真是值 ;(?!)与其相反;向后方向(?

2008-10-07 13:52:00 874

转载 perl unicode

耐心看完本文, 相信你今后在unicode处理上不会再有什么问题.本文内容适用于perl 5.8及其以上版本.perl internal form在Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串,perl管它叫string. 也就是说: Perl只认识两种编码: Ascii(oc

2008-09-23 11:28:00 593

原创 javascript parseInt()的问题

今天遇到一个问题,估计是javascript 内置函数的bug 在用parseInt() 强制类型转换时 对字符串 ‘08’ ,‘09’ 直接转换为0而 ‘01’,‘02’ 等都可以转换为相应的个位数字,诡异阿 诡异 。

2008-09-04 15:16:00 400

转载 Javascript 技巧大全

Javascript 技巧大全 Event 事件  事件源对象 event.srcElement.tagNameevent.srcElement.type捕获释放event.srcElement.setCapture();event.srcElement.releaseCapture();事件按键even

2008-09-02 19:36:00 407

转载 keycode

Keycode对照表 字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按

2008-09-02 19:33:00 382

原创 时间比较

"JavaScript"> function  getInfo(a,b){        if(compare(a,b)){        alert("a>=b");    }else    {        alert("a);    }}function  compare(a,b){    alert("a = "+a);   

2008-09-02 14:38:00 405

转载 MYSQL中TIMESTAMP类型的默认值

MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。1、自动UPDATE 和INSERT 到当前的时间:表:/*DDL Information For - test.t1*/---------------------------------Table   Create Table                                                    

2008-09-02 11:23:00 724

转载 javascript

window.event.srcElement是指触发事件的对象例子:测试按钮  function aa(){    alert(window.event.srcElement.innerText)   //显示的是"测试按钮"  }   工厂模式代码如下function createcar(iColor,iDoors,iMpg) { var oTemCar =

2008-08-28 11:00:00 419

转载 perl eval

Perl eval函数探讨2008-07-21 12:14# a run-time error Perl 作为一种脚本语言可以实时地生成和执行代码。这种特性可以把代码的编译推迟到运行时,所以又称为“动态代码”。另外, Perl 也如 Java 、 C++ 一样提供了异常处理机制。本文将初步探讨 Perl 中实现动态代码和异常处理机制的函数: eval 。如有错误不足

2008-08-27 11:59:00 1016

原创 perl

defined($var) 是个测试函数,它不做任何修改,只是测试 $var 是否定义了。exists 是个专用来测试 hash 中是否存在某个键,或者数组中是否存在某个索引的函数,不能用来测试标量。它也不修改任何东西。if 就不多说了吧?它只是在 bool 上下文中计算表达式的值,然后根据计算结果进行流程控制。undef($var) 是将表达式所描述的内存单元的引用数渐 1,当减到 0 的时候就

2008-08-27 11:45:00 443

solr开源框架指南(english)

一个企业级开源搜索引擎最近的教程,很不错,需要英文功底

2010-03-11

flex cookbook

flex cookbook 中文版的,挺好的

2009-09-15

空空如也

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

TA关注的人

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