2006-06
13

Oracle管理中常用的SQL语句。
阅读全文 »


2006-06
13

Oracle使用过程中经常会用到的SQL语句。
阅读全文 »


2006-06
03

这篇文档描述了如何将第一版的Google Maps API从升级到2006年4月3日发布的第二版。如果你的网站是2006年4月3日之前开发的,你应该依据该文档的说明将你的网站升级到API的最新版本。

阅读全文 »
2006-06
02

Oracle中试图对一个子查询进行更新时可能会出现ORA-01779错误。该错误的内容为:

ORA-01779: cannot modify a column which maps to a non-key-preserved table
阅读全文 »
2006-05
26

简单介绍一下使用tkprof工具调整Oracle SQL语句性能的方法。
阅读全文 »


2006-05
25

启动时不连接服务器。

sqlplus /nolog

连接服务器的命令:

connect username/password@hoststring

设置行宽为1000字符。

set line 1000

设置列group_name的宽度为30字符。

col group_name format a30

启动外部编辑器编辑sql语句。

ed

设置ed命令启动的外部编辑器为vim。

define _EDITOR=vim

使用Windows下的gvim作为编辑器时应当加上-f参数。

define _EDITOR="gvim -f"

设置每页显示200条记录。

set pagesize 200

登录时自动执行的SQL脚本。

$ORACLE_HOME/sqlplus/admin/glogin.sql

各个用户自己的登录脚本。Oracle会在执行完glogin.sql之后执行该文件。搜索顺序为:当前目录->$SQLPATH。

login.sql

2006-05
08

程序编译的第一个阶段是词法分析,即把字节流识别为记号(token)流, 提供给下一步的语法分析过程。而识别记号的方法就是正则表达式的分析。 本文介绍利用有限自动机分析表达式的方法。

阅读全文 »
2006-04
26

学过C++的人都应该知道C++中有个虚函数的概念。而在php5中如何实现这个虚函数呢?请看下面的代码:

<?php
 class A {
    public function x() {
        echo "A::x() was called.\n";
    }
    public function y() {
        self::x();
        echo "A::y() was called.\n";
    }
    public function z() {
        $this->x();
        echo "A::z() was called.\n";
    }
}
class B extends A {
    public function x() {
        echo "B::x() was called.\n";
    }
}

$b = new B();
$b->y();
echo "--\n";
$b->z();
?>

该例中,A::y()调用了A::x(),而B::x()覆盖了A::x(),那么当调用B::y()时,B::y()应该调用A::x()还是B::x()呢?在C++中,如果A::x()未被定义为虚函数,那么B::y()(也就是A::y())将调用A::x(),而如果A::x()使用virtual关键字定义成虚函数,那么B::y()将调用B::x()。然而,在PHP5中,虚函数的功能是由 self 和 $this 关键字实现的。如果父类中A::y()中使用 self::x() 的方式调用了 A::x(),那么在子类中不论A::x()是否被覆盖,A::y()调用的都是A::x();而如果父类中A::y()使用 $this->x() 的方式调用了 A::x(),那么如果在子类中A::x()被B::x()覆盖,A::y()将会调用B::x()。

上例的运行结果如下:

A::x() was called. A::y() was called. 
--
B::x() was called. A::z() was called. 

2006-04
25

Windows+Apache2下安装php5的方法:

1. 解压php到某个地方

2. 修改apache的httpd.conf,添加如下几行:

LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"

3. 将php目录下的php5ts.dll复制到%PATH%环境变量指定的地方,比如C:\Windows\system32下,或者与apache.exe放到同一目录下

4. 修改php目录下的php-dist.ini为php.ini

5. 编辑php.ini,修改extension_dir为“php所在的路径” + \ext


2006-04
24

Apache的默认配置是会显示服务器信息的,比如访问一个服务器上不存在的页面,Apache会返回“Not Found”的错误,这个错误页面的最下方写着“Apache/2.0.55...”等等关于服务器的信息。这无疑为入侵者提供了可用的信息。

使用下面的配置可以使其仅显示Apache的字样:

ServerTokens Prod

而使用下面的配置可以干脆不显示服务器信息:

ServerSignature Off