摘要:
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语言世界来到C++世界~~ Item1 优先使用const 和inline来取代#define 这个准则应该理解成优先依靠compiler而不是依靠preprocessor来检查程序的错误。 定义一个常量的格式 const int NUM_LIMIT = 100; 1 当定义常量指针的时候,事情略微变得复杂 const char * pConst const = "is a constant... 阅读全文
摘要:
关于C++ 中的RAII(Resource Acquisition In Initialisation) Wrapper 问题:class的构造函数中如果出现异常而被捕获中止,则对象构造不完整, 相应的析构函数也不会被调用。 如果在构造的异常出现之前已经有指向其它对象的堆指针被实例化, 由于该对象的析构函数 不被调用,而使得对象的堆指针指出的堆内存不被释放。 如: 1 //: C01:Rawp... 阅读全文
摘要:
setjmp、longjmp不适合c++的类机制 setjmp和longjmp是c中的库函数,其对应的头文件是<setjmp.h>,在c++中其对应的头文件为<csetjmp>. setjmp和longjmp为非本地化的goto函数。 首先setjmp()保存了当前程序运行时的状态,当你遇到麻烦的时候, 调用longjmp可以恢复到刚才保存的状态。 但setjmp和longjmp不适合c++, ... 阅读全文
摘要:
How apache starts 如果配置文件中的Listen directive设置了默认端口为80(或者是其它的值,但要小于1024),接下来apache httpd就需要root权限来启动apache,这是因为在将应用进程绑定在(1-1024)这个保留端口范围内的时候,需要root权限。当 server一旦启动并且执行了些许初步动作,比如打开log日志文件,接下来server会装载执行指定... 阅读全文
摘要:
首先, 是看下JavaScript中创建一个Class的基本步骤, 拿一个例子来说明这个问题: step 1: 定义Class的构造函数(construct)。 /** * Rectangle class definition. */ function Rectangle(w, h) { this.width = w; this.height = h; } 小贴士: var r = new R... 阅读全文
摘要:
Java 程序设计语言当中没有专门的Collection literal语法, 所以, 如果创建一个Collection对象并同时为其添加一定数量的成员需要很多代码。 解决这一窘境的变通方法是提供一个vararg collection factory method, 用来创建或列举出Collection当中包含的成员。 如下: 构造一个Collection的原始的做法是: Set<String> ... 阅读全文
摘要:
CPIO 是一种binary file archiver, 同时也定义了一种文件格式(file format). CPIO software utility 被作为tape archiver,它最初是作为PWB/UNIX(Programmer's Workbech:1976, 在UNIX最开始在Bell Lab出现的时候,UNIX主要是用于研究目的, 随着UNIX的商业价值逐渐被挖掘出来,一个裁剪... 阅读全文
摘要:
由于工作需要, 最近开始使用Perl来作为服务器脚本来处理Web 请求。系统采用的Template 来做Web page 的模板,用来简化繁琐但并不困难的HTML标签的编写。 Question 1: Template Toolkit 是啥? Template Toolkit是一组Perl Module的集合, 它实现了一种快速的、灵活的、功能强大模板处理系统(Template Process Sy... 阅读全文
摘要:
Apache HTTP server 如何启动? 如果Listen directive 在conf文件中指定为默认的80端口(或者小于1024的其他端口),则需要root权限来启动HTTPD进程。当HTTP Server启动之后,并且完成了一些初始化的动作,如打开Apache的日志文件, Apache HTTPD进程会启动一定数量的child processes, 这些child process用... 阅读全文
摘要:
今天由于公司的NFS server重启,从而导致挂载了NFS文件目录的server里出现了大量的hung住的进程,因为当希望将出错的挂载点umount时候, 出现了一些问题。 目前问题已经解决,在这里做下总结。 问题:当NFS Server重新启动后,重新对相应的挂载点从新进行挂载(也就是 umount/mount) 当执行umount /mnt/ 命令的时候,系统提示: Umount: /mnt... 阅读全文
摘要:
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... 阅读全文