代码改变世界

AbstractFactory模式

2010-12-12 23:22 by OCaml, 273 阅读, 0 推荐, 收藏, 编辑
摘要:AbstractFactory模式的思想: 提供一个接口创建一系列(related or dependent)的对象,无需指定他们具体的类。维护这样一个创建类总比维护n多相关对象的创建过程要简单的多。AbstractFactory模式的UML class 图解:AbstractFactory模式的使用时机: 一个系统要独立于他的对象(产品)的创建、组合和表示时。 一个系统需要多个对象(产品)系列中的一个来配置时。当你要强调一系列相关产品对象的设计以便进行联合使用时。如果你提供了一个类库,你只想显示库的借口而不是实现时。AbstractFactory模式的好处: 很明显将一组相关的对象统一(封装 阅读全文

linux网络编程

2010-12-11 22:18 by OCaml, 386 阅读, 0 推荐, 收藏, 编辑
摘要:linux网络概述:(服务器使用) 1、完善的内置网络:协议丰富。和内核结合的很好。 2、支持大量的网络软件。 3、提供了很多网络命令。 4、远程访问方便。 5、安全可靠。 6、TCP/IP参考模型。(应用层、传输层、网络层、网络接口层)。linux网络编程基础:1、套接字:socket是一种文件描述符。 1、流式套接字:SOCK_STREAM(tcp)安全可靠 2、数据包套接字:SOCK_DGRAM(udp)实时性好 3、原始套接字:SOCK_RAM(ip) 2、网络地址结构: 1、struct sock_addr 2、struct sockaddr_in 3、struct in_addr 阅读全文

debian vmwareTools安装总结

2010-12-06 09:29 by OCaml, 488 阅读, 0 推荐, 收藏, 编辑
摘要:刚刚安装了debian(这是第一次)跑到目录中一看,发现什么都没有(gcc、make)等都没有安装(被吓到了)。最后我还得自己来慢慢安装。首先要安装的当然是debian VMwareTools。因为我的是刚刚装的新系统(也就就是说什么都没有)。在网上找了些资料(后面有链接)终于把VMwareTools安装好了。步骤如下:1、安装GCC编译器和make: 因为安装VMwareTools需要编译和make所以要先安装它们。安装其实很简单,命令如下:apt-get install gcc其实你也可以直接安装“built-essential”这个包,这样更方便。2、安装内核编译头文件: VMwareT 阅读全文

debian下cvs服务安装

2010-12-05 22:29 by OCaml, 350 阅读, 0 推荐, 收藏, 编辑
摘要:cvs是一种协同开发以及版本控制的工具,也是目前比较流行的。昨天捣腾好了,今天总结一下:1、cvs安装:安装命令:apt-get install cvsd 检测是否安装成功:whereis cvsd 检测是否创建组:groups cvsd2、cvs配置: 创建仓库目录:mkdir /home/cvsrootmkdir /home/cvsroot/myrepos 设置仓库权限:cvsd-buildroot /home/cvsrootcvsd -d /home/cvsroot/myrepos init chown cvsd.cvsd /home/cvsroot/ -R 修改配置文件:vi /etc 阅读全文

我的vim的基本配置

2010-12-05 22:27 by OCaml, 461 阅读, 0 推荐, 收藏, 编辑
摘要:"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限set nocompatible"显示行号set number"检测文件的类型filetype on"记录历史的行数set history=1000"背景使用黑色set background=dark:highlight Normal ctermfg=grey ctermbg=darkblue"语法高亮度显示syntax on"下面两行在进行编写代码时,在格式对起上很有用;"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;"第 阅读全文

c sizeof

2010-12-05 22:17 by OCaml, 263 阅读, 0 推荐, 收藏, 编辑
摘要:1、sizeof到底是什么:sizeof是一元运算符(Unary operator) 语法规则如下:sizeof unary-expressionsizeof ( type-name )2、sizeof与结构体和联合体:struct test {char c;int a;double d;};当时我认为所占的空间是:13(这个结果肯定是不对的!)。其实用sizeof算出来的值是:16(微软的编译器、gcc的结果)这里面存在着一个内存对齐的问题:我要弄清楚的就是为什么要对齐、怎么对齐。3、sizeof的返回值:这是个让我心痛到永远的问题。因为我犯过错在这个问题上!#include<stdi 阅读全文

C语言的声明

2010-12-05 22:09 by OCaml, 383 阅读, 0 推荐, 收藏, 编辑
摘要:最近在恶补C语言,有时候感觉c语言的声明是真的复杂。关于结构:关于联合:关于枚举:一个简单c语言声明分析程序:设计思想:我们从左向右读取,把各个标识符依次压入栈中,直到读到第一个标识符为止。然后我们继续向右读如一个标记。也就是标识符右边那个标记。接着观察左边的那个标记(是否需要从栈中弹出)。要包含的头文件:#include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>定义两个宏一个是栈的大小,一个是字符串的长度:#define MAXTOKENS 100#def 阅读全文

C语言的声明

2010-12-05 22:09 by OCaml, 235 阅读, 0 推荐, 收藏, 编辑
摘要:最近在恶补C语言,有时候感觉c语言的声明是真的复杂。关于结构:关于联合:关于枚举:一个简单c语言声明分析程序:设计思想:我们从左向右读取,把各个标识符依次压入栈中,直到读到第一个标识符为止。然后我们继续向右读如一个标记。也就是标识符右边那个标记。接着观察左边的那个标记(是否需要从栈中弹出)。要包含的头文件:#include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>定义两个宏一个是栈的大小,一个是字符串的长度:#define MAXTOKENS 100#def 阅读全文

http长连接与短连接

2010-12-05 21:51 by OCaml, 5204 阅读, 2 推荐, 收藏, 编辑
摘要:一、长连接与短连接:长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。C/S通信。二、长连接与短连接的操作过程:短连接的操作步骤是:建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接长连接的操作步骤是:建立连接——数据传输...(保持连接)...数据传输——关闭连接三、长连接与短连接的使用时机:长连接:短连接多用于操作频繁,点对点的通讯,而且连接数 阅读全文