07 2011 档案
摘要:在Linux中,库,也称为“shared component”或者“archive libraries”,指的是将一个或多个编译好的object code文件打包成一个文件,以供使用。至于使用库的原因和优缺点在这里不想多讲,本小结仅关注如何在Linux中构建和使用库,以及关于库配置的一些小结。 Linux 库的类型: linux中有两种类型的库可以被创建: 1 静态库(static librari...
阅读全文
摘要:名词缩写 VM: virtual machine Xen Components: xen虚拟环境由多个组件构成,它们一起提供虚拟化的环境。这些组件包括: xen hypervisor Domain 0 Domain Management and Control (Xen DM & C) Domain U (Dom U) PV Guest Domain U (Dom U) HVM Guest 下图...
阅读全文
摘要:PHP ORACLE 之 "团队合作" 由于公司的业务需要, 开发数据分析系统。 使用的技术为EXTJS负责前端的开发, PHP完成业务逻辑的实现,ORACLE数据库来实现数据的持久化存储。在搭建测试环境的过程中,为了让PHP和ORACLE成为伙伴费了不是力气。究其原因主要是Oracle客户端的版本和php的OCI接口匹配的问题。 总结下整个环境的版本: PHP 5.2.6 Apache/2.2....
阅读全文
摘要:XWork2中的配置主要是有以下几个类完成: ConfigurationManager Configuration ConfigurationProvider 其中:Configuration和ConfigurationProvider是两个接口。 ConfigurationManager: 是XWork2配置的核心, 它支持ConfigurationProvider的动态加入,进而可以生成自设定...
阅读全文
摘要:srum: An introduction Sprint: a fucosed effort for a 30-day period toward fixed goal[为固定目标的、以30天为周期的集中式努力]Scrum is based on Sprint. Product owner: Product Owner 复责编辑产品计划中的变化,并其对可能功能进行优先级划分。[A PO compi...
阅读全文
摘要:啥时候你想到用Abstract Factory Pattern? 恩 .... 1 当你的系统需要独立于产品实体的如何被创建、如何被构成、如何被展现的时候,可以考虑使用Abstract Factory Pattern. 2 一个系统需要被配置成不同family的成品, 如界面风格,motif风格、mercury风格。 3 提供一套产品的库, 需要只对我提供构建产品的接口。 具体一点,看下面这个实...
阅读全文
摘要:what is the closure? 在计算机领域当中, a closure is a function that is evaluated in an environment containing one or more bound variables. 当该函数被调用时, 它可以访问该环境中的变量,直接使用closure的例子如,函数式语言如ML和LISP。 在其它一些语言中构造对象也通常...
阅读全文
摘要:关于C++ 中的RAII(Resource Acquisition In Initialisation) Wrapper 问题:class的构造函数中如果出现异常而被捕获中止,则对象构造不完整, 相应的析构函数也不会被调用。 如果在构造的异常出现之前已经有指向其它对象的堆指针被实例化, 由于该对象的析构函数 不被调用,而使得对象的堆指针指出的堆内存不被释放。 如: 1 //: C01:Rawp...
阅读全文
摘要:从c语言世界来到C++世界~~ Item1 优先使用const 和inline来取代#define 这个准则应该理解成优先依靠compiler而不是依靠preprocessor来检查程序的错误。 定义一个常量的格式 const int NUM_LIMIT = 100; 1 当定义常量指针的时候,事情略微变得复杂 const char * pConst const = "is a constant...
阅读全文
摘要:How apache starts 如果配置文件中的Listen directive设置了默认端口为80(或者是其它的值,但要小于1024),接下来apache httpd就需要root权限来启动apache,这是因为在将应用进程绑定在(1-1024)这个保留端口范围内的时候,需要root权限。当 server一旦启动并且执行了些许初步动作,比如打开log日志文件,接下来server会装载执行指定...
阅读全文
摘要:setjmp、longjmp不适合c++的类机制 setjmp和longjmp是c中的库函数,其对应的头文件是<setjmp.h>,在c++中其对应的头文件为<csetjmp>. setjmp和longjmp为非本地化的goto函数。 首先setjmp()保存了当前程序运行时的状态,当你遇到麻烦的时候, 调用longjmp可以恢复到刚才保存的状态。 但setjmp和longjmp不适合c++, ...
阅读全文
摘要:Java 程序设计语言当中没有专门的Collection literal语法, 所以, 如果创建一个Collection对象并同时为其添加一定数量的成员需要很多代码。 解决这一窘境的变通方法是提供一个vararg collection factory method, 用来创建或列举出Collection当中包含的成员。 如下: 构造一个Collection的原始的做法是: Set<String> ...
阅读全文
摘要:首先, 是看下JavaScript中创建一个Class的基本步骤, 拿一个例子来说明这个问题: step 1: 定义Class的构造函数(construct)。 /** * Rectangle class definition. */ function Rectangle(w, h) { this.width = w; this.height = h; } 小贴士: var r = new R...
阅读全文
摘要:由于工作需要, 最近开始使用Perl来作为服务器脚本来处理Web 请求。系统采用的Template 来做Web page 的模板,用来简化繁琐但并不困难的HTML标签的编写。 Question 1: Template Toolkit 是啥? Template Toolkit是一组Perl Module的集合, 它实现了一种快速的、灵活的、功能强大模板处理系统(Template Process Sy...
阅读全文
摘要:CPIO 是一种binary file archiver, 同时也定义了一种文件格式(file format). CPIO software utility 被作为tape archiver,它最初是作为PWB/UNIX(Programmer's Workbech:1976, 在UNIX最开始在Bell Lab出现的时候,UNIX主要是用于研究目的, 随着UNIX的商业价值逐渐被挖掘出来,一个裁剪...
阅读全文
摘要:今天由于公司的NFS server重启,从而导致挂载了NFS文件目录的server里出现了大量的hung住的进程,因为当希望将出错的挂载点umount时候, 出现了一些问题。 目前问题已经解决,在这里做下总结。 问题:当NFS Server重新启动后,重新对相应的挂载点从新进行挂载(也就是 umount/mount) 当执行umount /mnt/ 命令的时候,系统提示: Umount: /mnt...
阅读全文
摘要:Apache HTTP server 如何启动? 如果Listen directive 在conf文件中指定为默认的80端口(或者小于1024的其他端口),则需要root权限来启动HTTPD进程。当HTTP Server启动之后,并且完成了一些初始化的动作,如打开Apache的日志文件, Apache HTTPD进程会启动一定数量的child processes, 这些child process用...
阅读全文
摘要:RPM(RPM Package Manager),是一个package管理系统。名称RPM有两种含义,一个是software 以RPM格式进行打包;另外一个指的是RPM package manager本身。 RPM常用命令: rpm –i, –install 安装 rpm –U, –upgrade 升级 rpm –F, –freshen rpm –e, –erase 删除 输出选项:-v –h r...
阅读全文
摘要:在UNIX系统下, 可以把任何一个对象看成是对象。如一个正在运行的进程(/proc/run/sys … etc)。访问文件不仅仅指的是常规的文件(regular, binary), 也有许多其他类型的文件,如block,charcater,FIFO,unix socket, socket等。当你通过ls命令,来查看指定目录下的目录清单的时候,可以查看一部分文件类型的目录清单,但有些情况不存在对应得...
阅读全文
摘要:对于linux系统管理员来说,随着业务的发展,磁盘容量不足是需要面对的一个难题。这里通过两种方式来说明如果添加新的磁盘到linux 系统当中去。一是连接新的disk,对disk分区和格式化,然后合并以存在的filesystem和新增加的disk的filesystem。二是通过 linux logical volumn manager 来管理磁盘。 添加新的disk到linux当中来 [完成的任务]...
阅读全文
摘要:RAID 0: (Disk Striping) 通过使用RAID 0,RAID Controller可以试图将数据平均的分布到RAID set中去进行存储。比喻来说,可以将Disk比作是装食物的盘子,而将数据比喻成蛋糕,比方说现在你用四种口味的蛋糕,分别为巧克力,香草,樱桃和草莓 。RAID 0的初始化过程就像是将蛋糕切片,并且把切片分别发到不同的盘子当中去。而RAID 0的driver使得ope...
阅读全文
摘要:场景,假设/home 下已经没有足够的空间,由于预算的问题,也不太可能购买一块足够大的磁盘,用来作为/home的空间。 1 备份你的数据 使用工具打包你/home目录下的数据,因为LVM会破坏其physical volumn上的数据。 因为/home下存放了你所有用户的数据,并且/home挂载在/dev/hde5 上, 所有为了在对/home进行操作的时候不受其他人的干扰,首先进入single-u...
阅读全文
摘要:Bridged networking (aka, physical device sharing)被用来为Virtual machine 指定一个专门的物理网卡设备。 首先, 由于NetworkManager不支持bridging,所以,需要disable NetworkManager servcie. 这样才可以使用network scripts(/etc/sysconfig/network-s...
阅读全文
摘要:原文连接:http://www.cyberciti.biz/tips/build-linux-kernel-module-against-installed-kernel-source-tree.html 一 在没有linux kernel源码的条件下build linux kernel module How do I build Linux kernel module against insta...
阅读全文
摘要:XS: eXternal Subroutine, 也叫做xsub. 它是perl代码中调用c或者c++ 子例程的接口。 在许多情形下,如一些CPU或内存密集型的任务,单纯使用PERL很难满足这些需求,这时,可以使用c或c++语言完成该任务,提供好接口后,通过XS接口可以直接被PERL 代码以module的形式调用。 环境: OS :debian 5 lenny PERL: This is perl...
阅读全文
摘要:Unicode 简介: Unicode 是标准的字符集,它的目的是对世界上任何文字系统里面的符号和其它一些符号进行编码。它为在任何一个其它character set standards 中的charater提供对应的code point。 unicode 中的character是一个抽象实体,Unicode是语言无关的和显示无关的,也就是说,每一个character对应一个唯一code point...
阅读全文
摘要:1)get kernel source code from longriver: cd /pbdf/ISO/redhat/betas/rhel5.5rc2/Server/SRC/DVD //RHEL5.5rc2 source code 2) Mount -o loop RHEL5.4-Server-20090819.0-SRPMS-DVD.iso /mnt Cd /mnt/SRPM [root@...
阅读全文
摘要:由于Makefile不是很熟悉,为了以后使用方便,在此记录一个常用Makefile,并且会继续更新。 common stanza: #common header SHELL = /bin/sh CC=gcc COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDDIR) $(LDFLAGS) ...
阅读全文
摘要:Debian Linux JRE 默认是GCJ(GNU Compiler for Java): bl25p-18:~# java -version java version "1.5.0" gij (GNU libgcj) version 4.3.2 Copyright (C) 2007 Free Software Foundation, Inc. This is free software; s...
阅读全文
摘要:rsync 是remote sync。 一 rsync基本用法: 1 本地使用rsyncrsync [OPTION...] SRC... [DEST][root@bl25p-19 rsync]# rsync -zvr out/ out-dest sending incremental file list a b coptions:-z: 压缩-v:verbose-r: indicate recur...
阅读全文
摘要:1 reprepro 简介 reprepro之前的名称为mirrorer, 它是创建debian package(.dsc, .deb, udeb)的local repository的工具。 关于reprepro, 详情请参考http://mirrorer.alioth.debian.org/ 2 创建repository root目录 /home/yubo/public_html/debian为...
阅读全文
摘要:没有废话,直奔主题 什么是Kdump? Kdump 是一种的新的crash dump捕获机制,用来捕获kernel crash时候产生的crash dump。Kdump需要配置两个不同目的的kernel,其中一个我们在这里称作standard(production) kernel;另外一个称之为Crash(capture)kernel。 standard(production)kernel,是指我...
阅读全文
摘要:准备: 首先,你需要安装Debian Lenny build kernel所需要的包,如下: build-essential: essential package for building Debian packages: make, gcc, … bzip2 : compress and decompress utilities for bz2 files. libncurses5-dev: d...
阅读全文
摘要:Linux是多任务操作系统(multitask OS), 在单处理器系统上,多任务操作系统需要使得在其上运行的进程认为是自己使得独占处理器资源,所以这仅仅是逻辑上的并行。在多处理器系统里,多任务操作系统可以实现真正实现并行,也就是在不同的处理器上运行着不同的进程。而如何在这两种的机器上实现多进程并行执行(逻辑上和物理上),则是调度器的主要任务。 Linux scheduler的历史 从1991年l...
阅读全文
摘要:LINUX Operating System 监控统计信息: free 内存管理: free 结果: total used free shared buffers cached Mem: 2025356 1469320 556036 0 226972 961492 -/+ buffers/cache: 280856 1744500 Swap: 4194232 45912 4148320 结果中的...
阅读全文
摘要:fuser 概述 fuser命令是用来显示所有正在使用着指定的file, file system 或者 sockets的进程信息。 例一: #fuser –m –u /mnt/usb1 /mnt/usb1: 1347c(root) 1348c(guido) 1349c(guido) 在例子一中,使用了-m和-u选项,用来查找所有正在使用/mnt/usb1的所有进程的PID已经该进程的OWNER,如...
阅读全文