﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-天空是蓝色的-随笔分类-记事本</title><link>http://www.blogjava.net/bluesky/category/4622.html</link><description>做好软件为中国
#gcc -c helloworld.c -o helloworld.o //编译目标文件
#gcc helloworld.o -o helloworld //编译成可执行exe
#helloworld //运行exe</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 20:48:32 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 20:48:32 GMT</pubDate><ttl>60</ttl><item><title>[ZT]XFree86学习笔记</title><link>http://www.blogjava.net/bluesky/archive/2006/06/01/49459.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Thu, 01 Jun 2006 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/06/01/49459.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/49459.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/06/01/49459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/49459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/49459.html</trackback:ping><description><![CDATA[
		<p>XFree86学习笔记<br />整理：Jims of 肥肥世家<br />&lt;<a href="mailto:yjnet@21cn.com">yjnet@21cn.com</a>&gt;</p>
		<p>Copyright ? 2004 本文遵从GPL协议，欢迎转载、修改、散布。</p>
		<p>第一次发布时间:2004年8月14日</p>
		<p>
				<br />--------------------------------------------------------------------------------</p>
		<p>Table of Contents</p>
		<p>1. X window 介绍<br />1.1. X 简介<br />1.2. 版本<br />1.3. XFree86项目介绍<br />2. XFree86系统介绍<br />2.1. XFree86安装<br />2.2. XFree86配置<br />2.3. XFree86的文件系统<br />2.4. XFree86字体<br />2.5. 启动X11<br />2.5.1. 启动方法<br />2.5.2. 启用多用户会话<br />2.5.3. 终止X会话<br />3. X11客户程序常用选项<br />3.1. X程序常用选项<br />3.2. 使用客户程序资源<br />4. X window的网络应用<br />4.1. 远程会话<br />4.2. 远程桌面<br />4.3. 安全问题<br />5. X系统客户程序介绍<br />5.1. 环境设置命令<br />5.2. 小工具<br />6. X11多媒体客户程序介绍<br />7. 显示管理器<br />7.1. xdm的配置<br />8. 窗口管理器<br />8.1. WindowMaker<br />8.2. fvwm\fvwm2\fvwm95<br />8.3. enlightenment<br />8.4. mwm<br />8.5. twm<br />8.6. icewm<br />8.7. Sawfish<br />8.8. blackbox<br />9. 桌面环境<br />9.1. GNOMN<br />9.2. KDE<br />9.3. CDE<br />10. X web<br />List of Tables</p>
		<p>2.1. XFree86文件系统目录清单<br />3.1. X程序常用选项<br />Chapter 1. X window 介绍<br />Table of Contents</p>
		<p>1.1. X 简介<br />1.2. 版本<br />1.3. XFree86项目介绍<br />1.1. X 简介<br />X window系统是一个很复杂的网络图形界面系统，它的开发始于1984年，它被应用已有近20年。X也是一个协议，它定义程序(客户程序)如何与另一个在远程机器上运行的程序(服务器程序)交换信息。它最早是由数字设备公司(DEC)的Jim Gettys与麻省理工大学(MIT)的Ron Newman和Bob Scheifler共同开发的。当时DEC和MIT想共同开发一种分布式的计算环境，X系统就是他们研究成果的一部分，这项工作叫作雅典娜工程。现在X的管理机构是X 联盟(<a href="http://www.x.org">www.x.org</a>)。X系统由三部份组成，它们分别是X Server、Xclient和X协议。</p>
		<p>X Server是控制输入输出的程序，它是和底层硬件直接通信的。它接收X client程序的请求做建立窗口、绘制图形等工作。</p>
		<p>X client是基于X Server的客户程序，它请求X Server在指定的窗口进行各种操作。它不负责显示，只是给X Server发送一个请求，由服务器完成动作。</p>
		<p>X 协议是X Server和X Client之间沟通的语言。Xlib库能完成这种通信功能，所以可以基于它进行X client程序的开发。</p>
		<p>以下是X系统的几点优势：</p>
		<p>可移植性。X系统可移植到几乎所有的计算机图形系统下。</p>
		<p>标准化。X window系统提供一个标准的函数库和功能调用集合，抽象了硬件层功能，使程序开发更标准更快捷。</p>
		<p>网络化。它是基于网络的图形界面系统。</p>
		<p>模块化结构。能方便进行功能扩展。</p>
		<p>不嵌入操作系统中，适用于几乎所有的操作系统，如linux、solairs、windows等。</p>
		<p>1.2. 版本<br />1986年发布X10.4版</p>
		<p>1987年9月15日发布X11R1版(X11第一次修订版)。源程序有19MB，可在4种主要的操作系统下运行。 </p>
		<p>1988年发行第二修订版X11R2。该版提供了很多压缩的矢量字体，以及第三方软件商提供的软件工具。</p>
		<p>1991年8月29日发布了X11R5版。为X window系统增加了国际化功能。</p>
		<p>1994年4月21日，X11R6发布。这一版改进窗口管理、资源共享、会话管理等功能。</p>
		<p>1996年3月5日发布了X11R6.1版，支持16种操作系统，包括linux内核1.2.11。</p>
		<p>1996年12月23日发布了X11R6.3版，它是X联盟转换到TOG(开放工作组，一个非盈利机构)前最后的一个X版本。TOG由200个新成员和很多X联盟的原创成员组成。</p>
		<p>1998年1月4日，TOG发布了X11R6.4版。TOG工作组改变X 系统免费的许可证政策，如果从销售X系统中盈利，就须交纳年度注册费，价格是每5万个用户7500美元，随后又增加到至65000美元。由于新许可政策的实施，导致开源社区组成一个XFree86工程公司(一个非盈利的机构)开发了一个基于Intel PC平台的免费X系统XFree86。1998年9月TOG也放弃新许可政策，把X11R6.4版的许可恢复到旧的麻省理工的版本。</p>
		<p>2000年8月15日，X11R6.5.1发布。源文件容量扩充以144Mb，包含8100多个文件、600多种字体、345个手册页、20个程序库、70个图象和60个客户程序。现在最新的版本是X11R6.7.0，可以到<a href="http://www.x.org">http://www.x.org</a>下载。</p>
		<p>1.3. XFree86项目介绍<br />XFree86项目成立于1994年3月19日。最早的开发工作始于1992年，由一个开发小组完成，实现了基于Intel PC平台的X系统。1994年5月18日发布的XFree86 2.1版是第一个支持linxu的XFree86版本。2000年5月7日XFree86 4.0版发布，它是XFree86最重要的一个发布版，增加了很多功能。XFree86的意思是“提供X服务，它是自由的(free)，它是基于Intel的PC平台”。现在最新的XFree86版是4.4.0。可以到<a href="http://www.xfree86.org">http://www.xfree86.org</a>下载。基于windows平台也有X window系统，如：X-Win32、Extra!X、Exceed等。</p>
		<p>Chapter 2. XFree86系统介绍<br />Table of Contents</p>
		<p>2.1. XFree86安装<br />2.2. XFree86配置<br />2.3. XFree86的文件系统<br />2.4. XFree86字体<br />2.5. 启动X11<br />2.5.1. 启动方法<br />2.5.2. 启用多用户会话<br />2.5.3. 终止X会话<br />2.1. XFree86安装<br />安装软件与其它软件大同小异，这里就不详细介绍了。</p>
		<p>2.2. XFree86配置<br />在XFree86中的配置文件是XF86Config-4，下面介绍几种配置的工具：</p>
		<p>xf86config是一个基于文本的配置工具。在控制台运行该命令后按提示配置就可以了。</p>
		<p>reconfig用以把旧版的配置文件转换成4.0.1版的配置文件格式。</p>
		<p>可以用$ XFree86 -configure命令由系统自动生成一个叫XF86Config.new的配置文件，可基于这个文件再修改。最后用$ XFree86 -xf86config XF86Config.new进行测试。如果成功将出现一个带“X”的窗口。最后把正确的配置文件拷贝成/etc/X11/XF86Config-4。</p>
		<p>在XFree86 4.0.1后，还可通过xf86cfg这个图形化程序来进行配置。</p>
		<p>在各linux的发行版中，还包含有各自开发的配置工具，redhat有Xconfigurator；Mandrake 有DrakConf；SuSE 有SaX。</p>
		<p>下面是一个完整的配置文件例子：</p>
		<p>Section "ServerLayout"  ==============配置标识区<br />        Identifier     "XFree86 Configured"<br />        Screen      0  "Screen0" 0 0<br />        InputDevice    "Keyboard0" "CoreKeyboard"<br /># PS/2 Mouse not detected<br />        InputDevice    "Serial Mouse" "CorePointer"<br /># USB Mouse not detected<br />EndSection</p>
		<p>Section "ServerFlags" =================X 选项配置区<br />        Option "AllowMouseOpenFail"  "true"  ====允许在鼠标配置失败的情况下启动X<br />        Option "DontZap"   "true"            ====不能使用Ctrl+Alt+Backspace组合键退出X<br />        Option "DontZoom"  "true"            ====不能使用Ctrl+Alt+小键盘+-来切换显示模式<br />        </p>
		<p>EndSection</p>
		<p>Section "Files"     =========================字体配置区<br />        RgbPath      "/usr/X11R6/lib/X11/rgb"<br />        ModulePath   "/usr/X11R6/lib/modules"<br /># Additional fonts: Locale, Gimp, TTF...<br />#       FontPath     "/usr/X11R6/lib/X11/fonts/latin2/75dpi"<br />#       FontPath     "/usr/X11R6/lib/X11/fonts/latin2/100dpi"<br /># True type and type1 fonts are also handled via xftlib, see /etc/X11/XftConfig!<br />    FontPath    "/usr/X11R6/lib/X11/fonts/misc:unscaled"<br />    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"<br />    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"<br />    FontPath    "/usr/X11R6/lib/X11/fonts/PEX"<br />    FontPath    "/usr/X11R6/lib/X11/fonts/cyrillic"<br />    FontPath    "/usr/X11R6/lib/X11/fonts/TrueType"<br />EndSection</p>
		<p>Section "Module"<br />        Load  "ddc"  # ddc probing of monitor<br />        Load  "dbe"<br />        Load  "dri"<br />        Load  "extmod"<br />        Load  "glx"<br />        Load  "record"<br />        Load  "xtt"<br />EndSection</p>
		<p>Section "InputDevice"     ================键盘配置区<br />        Identifier  "Keyboard0"<br />        Driver      "keyboard"<br />        Option      "CoreKeyboard"<br />        Option "XkbRules" "xfree86"<br />        Option "XkbModel" "pc105"<br />        Option "XkbLayout" "us"</p>
		<p>EndSection</p>
		<p>Section "InputDevice"    =================串口鼠标配置区<br />        Identifier  "Serial Mouse"<br />        Driver      "mouse"<br />        Option      "Protocol" "Microsoft"<br />        Option      "Device" "/dev/ttyS0"<br />        Option      "Emulate3Buttons" "true"<br />        Option      "Emulate3Timeout" "70"<br />        Option      "SendCoreEvents"  "true"<br />EndSection</p>
		<p>Section "InputDevice"    =================ps/2鼠标配置区<br />        Identifier  "PS/2 Mouse"<br />        Driver      "mouse"<br />        Option      "Protocol" "auto"<br />        Option      "ZAxisMapping"          "4 5"<br />        Option      "Device" "/dev/psaux"<br />        Option      "Emulate3Buttons" "true"<br />        Option      "Emulate3Timeout" "70"<br />        Option      "SendCoreEvents"  "true"<br />EndSection</p>
		<p>Section "InputDevice"    =================usb鼠标配置区<br />        Identifier      "USB Mouse"<br />        Driver          "mouse"<br />        Option          "Device"                "/dev/input/mice"<br />        Option          "SendCoreEvents"        "true"<br />        Option          "Protocol"              "IMPS/2"<br />        Option          "ZAxisMapping"          "4 5"<br />        Option          "Buttons"               "5"<br />EndSection</p>
		<p>Section "Monitor"       ==================显示器配置区<br />        Identifier      "Monitor0"<br />        Option  "DPMS"  "true"<br />        VendorName      "MAG"<br />        ModelName       "MAG9705"<br />        HorizSync 30-86# DDC-probed<br />        VertRefresh 50-160# DDC-probed<br />        # These are the DDC-probed settings reported by your monitor.<br />        # 1600x1200, 65.0Hz; hfreq=81.25, vfreq=65.00<br />        ModeLine "1600x1200"    175.50 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync<br />        # 1280x1024, 75.0Hz; hfreq=79.98, vfreq=75.03<br />        ModeLine "1280x1024"    135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync<br />        # 1280x960, 85.0Hz; hfreq=85.40, vfreq=85.00<br />        ModeLine "1280x960"     148.50 1280 1344 1504 1728  960  961  964 1011 +hsync +vsync<br />        # 1024x768, 85.0Hz; hfreq=68.68, vfreq=85.00<br />        ModeLine "1024x768"      94.50 1024 1072 1168 1376  768  769  772  808 +hsync +vsync<br />EndSection</p>
		<p>Section "Device"       ===================显卡配置区           <br />        ### Available Driver options are:-<br /># sw_cursor is needed for some ati and radeon cards<br />Option "sw_cursor"<br />        #Option     "hw_cursor"<br />        #Option     "NoAccel"<br />        #Option     "ShowCache"<br />        #Option     "ShadowFB"<br />        #Option     "UseFBDev"<br />        #Option     "Rotate"<br />        Identifier  "Card0"<br />        Driver      "nv"            =======如果不清楚可选svga或vga<br />        VendorName  "NVidia"<br />        BoardName   "GeForce2 MX DDR"<br />#       BusID       "PCI:1:0:0"<br />EndSection</p>
		<p>Section "Screen"     =====================屏幕配置区<br />        Identifier "Screen0"<br />        Device     "Card0"<br />        Monitor    "Monitor0"<br />        DefaultColorDepth 24  ============用24位色深 <br />        SubSection "Display"<br />                Depth     1<br />                Modes "1024x768" "640x480" <br />                Virtual 0 0<br />        EndSubSection<br />        SubSection "Display"<br />                Depth     4<br />                Modes "1024x768" "640x480" <br />                Virtual 0 0<br />        EndSubSection<br />        SubSection "Display"<br />                Depth     8<br />                Modes "1024x768" "640x480" <br />                Virtual 0 0<br />        EndSubSection<br />        SubSection "Display"<br />                Depth     15<br />                Modes "1024x768" "640x480" <br />                Virtual 0 0<br />        EndSubSection<br />        SubSection "Display"<br />                Depth     16<br />                Modes "1024x768"  <br />                Virtual 0 0<br />        EndSubSection<br />        SubSection "Display"<br />        SubSection "Display"<br />                Depth     24<br />                Modes "1024x768" "640x480" <br />                Virtual 0 0<br />        EndSubSection<br />        SubSection "Display"<br />                Depth     32<br />                Modes "1024x768" "640x480" <br />                Virtual 0 0<br />        EndSubSection<br />EndSection</p>
		<p>2.3. XFree86的文件系统<br />大多数程序，字体和文件都放在/usr/X11R6目录下，而其它组件和配置文件则放在/etc/X11目录下，一些始化程序如xfs字体服务器就放到系统初始化目录/etc/init.d目录下。下面是一个XFree86系统目录列表：</p>
		<p>Table 2.1. XFree86文件系统目录清单</p>
		<p>目录 描述 <br />/etc/X11 X配置文件 <br />/usr/X11R6/bin X程序 <br />/usr/X11R6/include X11程序开发所需的#include文件和图形 <br />/usr/X11R6/lib X程序共享库 <br />/usr/X11R6/lib/X11 配置文件，应用程序资源文件文档、字体及国际化文件 <br />/usr/X11R6/lib/modules XFree86模块(驱动程序、扩展文件、字体文件等) <br />/usr/X11R6/man X手册页 <br />/usr/X11R6/share 各种X客户程序共享的资源文件 </p>
		<p>2.4. XFree86字体<br />可以在本地或远程安装字体。单机上运行的linux的字体目录主要是在/usr/X11R6/lib/X11/fonts目录下。有几个工具用以管理字体，分别是：</p>
		<p>mkfontdir用来在字体目录下创建字体名数据库。</p>
		<p>xlsfonts用来列出已安装字体。</p>
		<p>xfontsel用来显示从字体集中选中的各种字体。</p>
		<p>xfd用来显示在X字体中的字符。</p>
		<p>xset -q可查看字体的路径</p>
		<p>在fonts目录下列有已安装的各种字体目录，如100dpi/、75dpi/、misc/等，每个目录下都有一个fonts.dir和一个fonts.alias文件。fonts.dir文件是字体列表数据库，X 和xfs字体服务器用这个文件查找字体；fonts.alias文件包含两栏信息：名字和别名。可以利用这个文件给已有的字体创建新名字。Encodings目录中的是Type1 (也称TrueType)的字体编码。这些信息用来在显示器上绘制可缩放字体。</p>
		<p>XFree86还可使用远程XFree86 服务器上的字体，从而减少本地的字体存储空间，主要通过配置字体服务器xfs完成。为利用远程服务器上提供的字体，可用xset +fp unix/remote.org:7100命令可把远程X 服务器提供的字体增加到当前显示字体路径中。在单机上运行xfs时，可以用一个单一的设置代替XF86Config文件中列出的字体列表:</p>
		<p>Fontpath "nuix/:7100"</p>
		<p>不过，具体操作还没测试过。</p>
		<p>Xresources文件位于/etc/X11目录下，该文件包含所有客户程序的默认资源管理信息。如emacs,vim。emacs*Background:DarkSlateGray表示把emacs程序的背景设置为灰色。这样任何用户在你计算机上启动emacs编辑器，将使用灰色的背景。除非用本地设置来使之失效。</p>
		<p>2.5. 启动X11<br />X window的启动过程是由xinit客户端程序控制的，先启动X Server,接着启动窗口管理器，最后启动用户应用程序。用户主目录下的.xinitrc文件就是控制xinit程序启动什么窗口管理器、显示管理器和程序的文件。一般启动X window的方法有如下几种：</p>
		<p>2.5.1. 启动方法<br />各种linux的发行版都把运行级别5定为x window模式，所以最简单的方式是修改/etc/inittab文件，把系统的默认运行级别定为5，重启系统就可以了。有关系统运行级别的设置方法和原理可参考有关资料或man手册页。</p>
		<p>我们也可以用startx脚本从shell中手动启动x window。启动startx后，它会进行一些环境变量的测试，它会搜查xclient的位置：$HOME/.xinitrc和/etc/X11/xinit/xinitrc，还有xserver的位置：$HOME/.xserverrc和/etc/X11/xinit/xserverrc。如果主目录有配置文件就会优先使用，首先，xinit先执行.xserverrc的内容，如果找不到该文件，则用/etc/X11/xinit/xinit/xserverrc，如果都没有，就执行 X :0，启动X Server。接着xinit就会执行用户主目录下.xinitrc配置文件的内容。如果没有则到/etc/X11/xinit/下找xinitrc文件，如果都找不到，则执行xterm -geometry +1+1 -n login -display :0。一个简单的.xinitrc配置文件如下：</p>
		<p>export LANG=zh_CN.GB2312               ======这两行是设置中文环境变量<br />export  LC_ALL=zh_CN.GB2312<br />export XMODIFIERS="@im=Chinput"        ======设置Chinput为中文输入法<br />chinput&amp;                               ======启动chinput输入法服务器<br />wmaker&amp;                             ======启动window maker窗口管理器<br />用startx启动X的过程就是这样的。</p>
		<p>还有一个程序叫X，它只是启动X Server进入X环境，所以可用它来测试X Server服务是否成功启动。启动X后，可按Ctrl+Alt+F7切换到X界面。</p>
		<p>2.5.2. 启用多用户会话<br />如果有足够多的内存，可以用startx命令启动多个X会话。首先我们要启动到非X多用户模式下，如运行级别3。运行以下命令：$ startx -display :0 -vt7启动第一个会话，运行$ startx -display :1 -vt8启动第二个会话，可用Ctrl+Alt+F7/F8进行会话切换。</p>
		<p>2.5.3. 终止X会话<br />一种方法是通过窗口管理器的注销功能或在终端中打入logout，一种是通过Ctrl+Alt+Fn切换到其它控制台，再用kill终止。</p>
		<p>Chapter 3. X11客户程序常用选项<br />Table of Contents</p>
		<p>3.1. X程序常用选项<br />3.2. 使用客户程序资源<br />3.1. X程序常用选项<br />Table 3.1. X程序常用选项</p>
		<p>命令行选项 描述 <br />-bg color or -background color 设置背景色 <br />-bd color or -bordercolor color 设置窗口边框色 <br />-bw n or -borderwidth n 设置窗口边框的宽度，n的单位是象素 <br />-fg color 设置前景色 <br />-fn font 设置字体 <br />-geometry 宽X高+/-X偏移量+/-Y偏移量 指定客户程序窗口的宽度，高度和在桌面上的位置 <br />-iconic 以最小化的状态启动客户端程序 <br />-title string 设置窗口标题 </p>
		<p>以上参数只是一些程序常用的，有些程序可能不支持，要详细了解可使用命令的-h或--help参数查询，如rxvt --help。</p>
		<p>3.2. 使用客户程序资源<br />可使用资源设置文件为客户程序设置各种默认的属性，如字体、颜色等。这些客户程序资源文件一般保存在/usr/X11R6/lib/app-defaults目录下。可用$ appres xclock的形式来显示xclock程序的资源文件内容。我们可以用editres程序来更改客户程序的资源。还可以用xrdb来配置系统级别的资源。</p>
		<p>Chapter 4. X window的网络应用<br />Table of Contents</p>
		<p>4.1. 远程会话<br />4.2. 远程桌面<br />4.3. 安全问题<br />X 系统的网络模型是基于客户机/服务器的体系结构。客户机能远程登录进来，进行各种图形显示应用。</p>
		<p>4.1. 远程会话<br />有两台X系统，一台A，一台B。通过X系统的远程会话可以把A的xclock应用程序显示在B的显示器上。具体的操作步骤如下：</p>
		<p>首先要在两台电脑上安装X系统。在A电脑上以不带-nolisten tcp选项启动X(在Xsession里设置)。并在B上执行$ xhost + A，允许A电脑访问。</p>
		<p>在A电脑上执行$ xclock -display B:0.0&amp;，B的显示器上就会显示xclock时钟。</p>
		<p>连接完成后在B上要用$ xhost -A，取消A的远程访问权限。</p>
		<p>利用该功能，我们也可以利用telnet或ssh登录到远程服务器，在远程服务器上运行应用程序，再把显示传回本地显示。</p>
		<p>上面介绍的是基于主机的认证会话方式，还有一种更安全的基于cookis的认证方式，它要用到xauth这个程序，用它可生成一个本机的cookis保存在.Xauthority文件中，要进行认证需把它拷贝到另一台机的.Xauthority文件中。这样两台机就有了相同的cookis，连接时就可用于认证。在xauth里有两个有用的程序，一个是extract用于把cookis导出成一个文件，merge用于把导出的文件导入.Xauthority文件中。</p>
		<p>4.2. 远程桌面<br />可以利用Xvnc软件，实现远程桌面应用。该软件包括服务器和客户端，能让你在一台linux客户机上登录远程系统的桌面。包括windows、Machintosh、Solaris等。Xvnc是由英国剑桥的AT&amp;T研究室研制。使用方法如下：</p>
		<p>在A电脑上运行$ vncserver -geometry 800x600，启动服务器。</p>
		<p>在B电脑上运行$ vncviewer A:1，连接A系统桌面，桌面大小是800x600。</p>
		<p>4.3. 安全问题<br />可利用xterm的安全键盘功能。操作方法如下：</p>
		<p>在本地X会话过程中启动用户系统，$ xterm&amp;。</p>
		<p>然后把光标移到终端窗口内空白地方，按下Ctrl+单击鼠标左键，在弹出的快捷菜单中选中“Secue Keyboard”。这时，终端窗口使用相反的前后景色。这样，只有这个窗口可以输入信息，其它任何程序和窗口都不能输入信息。</p>
		<p>为了加强安全，还可以使用xfwp设置一个X防火墙。</p>
		<p>Chapter 5. X系统客户程序介绍<br />Table of Contents</p>
		<p>5.1. 环境设置命令<br />5.2. 小工具<br />5.1. 环境设置命令<br />用xset进行个性化设置，可以设置屏保、鼠标，显示器的能源之星特性(DPMS)等<br />$ xset -q 可以显示当前设置。</p>
		<p>$ xset s on 打开屏幕保护。</p>
		<p>$ xset s 60 设置屏保激活的时间为1分钟。</p>
		<p>$ xset s off 关闭屏幕保护。</p>
		<p>$ xset m "1 6"，放慢鼠标移动速度，$ xset m "30 10"，加快鼠标移动速度，$ xset m "default"，重置鼠标移动速度。</p>
		<p>用xsetroot设置根窗口显示背景，鼠标图案等。<br />$ xsetroot -solid black，把窗口背景设置为黑色。</p>
		<p>$ xsetroot -bitmap /usr/X11R6/include/X11/bitmaps/test.bmp，用test.bmp作为桌面背景</p>
		<p>$ xsetroot -cursor_name xxx。设置鼠标图案。$ xsetroot -cursor_name X_cursor，重置鼠标图案。</p>
		<p>通过xmodmap来重新排列键盘上的按键。<br />要使用xmodmap这个程序，需要有一个.Xmodmap的配置文件，配置按键的位置。配置文件内容如下：</p>
		<p>remove Lock = Caps_Lock<br />remove Control = Control_L<br />keycode 0x42 = Caps_Lock<br />keycode 0x25 = Control_L<br />add Lock = Control_L<br />add Control = Caps_Lock<br />接着调用$ xmodmap .xmodmap进行设置。</p>
		<p>为了更好设置，可以调用xev程序进行键位测试。</p>
		<p>$ xmodmap -e "pointer = 3 2 1" 可以把鼠标的左右键对调。</p>
		<p>xhost用于控制网络上哪些主机允许存取本地显示屏幕。<br />$ xhost +，允许所有主机存取本机显示屏幕，这样是很不安全，请使用时注意。</p>
		<p>$ xhost -，禁止所有用户存取本机显示屏幕。</p>
		<p>$ xhost + test，允许test这台机存取本机显示屏幕，也可以用IP地址。</p>
		<p>5.2. 小工具<br />xwd and xwud可截取和显示屏幕画面<br />$ xwd -out test.xwd 按下回车后，光标变成一个卷发型，移动光标到要截取的窗口上，按左键就可以了。图形保存在当前目录下。</p>
		<p>$ xwd -root -display B:0.0 -out test.xwd，用-root表示截取整个显示内容。</p>
		<p>$ xwd &lt; test.xwd，显示图形。</p>
		<p>用xbiff提示电子邮件到达信息，用xeyes显示眼睛图像，用xlogo显示X标识，用xclock显示时间,用xmag放大区域。<br />$ xbiff -update 15 -volume 100 -geometry 100x100 -fg white -bg blue。</p>
		<p>$ xeyes -fg red -center yellow。</p>
		<p>$ xlogo -fg black -bg lightgreen。</p>
		<p>$ xclock -d -update 1 -fg black -bg lightgreen，-d表示显示数字时钟。</p>
		<p>$ xmag ，回车后，光标变成一个L型，然后，在你想放大的地方按鼠标左键，则会把该区放大。</p>
		<p>利用Pilot-xfer来与PDA通信。<br />详细内容请参考相关资料。</p>
		<p>xload可显示系统状态。<br />$ xload&amp;</p>
		<p>xman可显示手册页<br />$ xman</p>
		<p>editres可获得和修改Xclient程序的资源信息。<br />$ editres。</p>
		<p>xlsclients可列出当前X Server中运行的客户程序。<br />$ xlsclients</p>
		<p>Chapter 6. X11多媒体客户程序介绍<br />GIMP,一个图象处理软件。</p>
		<p>SANE(Scanner Access Now Easy)，一个扫描仪支持软件包。</p>
		<p>Gun OCR/JOCR，光学字符识别软件。</p>
		<p>gPhoto，数码相机支持软件，支持超过100种相机。</p>
		<p>Xine，xmms，mplayer，realplay，多媒体播放软件</p>
		<p>Krabber，mp3转换工具。</p>
		<p>Chapter 7. 显示管理器<br />Table of Contents</p>
		<p>7.1. xdm的配置<br />显示管理器是负责管理X会话和登录的，在GNOMN中的是gdm，在KDE中的是kdm，还有一个早期使用过的xdm。显示管理器的作用和xinit差不多，都是控制进行X Server时要执行的工作。但显示管理器有以下优势。我们完全可用显示管理器替代xinit。</p>
		<p>显示管理器可同时控制多个X Server。</p>
		<p>它是循环执行的，可确保我们始终以X window图形界面登录。</p>
		<p>它的可配置性很强。能为每个用户配置不同的系统环境。</p>
		<p>为用户提供一种简单的登录方式。</p>
		<p>7.1. xdm的配置<br />xdm的配置文件位于/etc/X11/xdm目录下，首先应查询xdm-config文件。系统会先读取该文件的配置信息。xdm-config文档的内容如下：</p>
		<p>! $Xorg: xdm-conf.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $<br />!<br />! $XFree86: xc/programs/xdm/config/xdm-conf.cpp,v 1.7 2001/01/17 23:45:24 dawes Exp $<br />!<br />DisplayManager.errorLogFile:/var/log/xdm.log            ====出错日志文件路径<br />DisplayManager.pidFile:/var/run/xdm.pid<br />DisplayManager.keyFile:/usr/X11R6/lib/X11/xdm/xdm-keys<br />DisplayManager.servers:/usr/X11R6/lib/X11/xdm/Xservers  ====X Server服务器启动的配置文件<br />DisplayManager.accessFile:/usr/X11R6/lib/X11/xdm/Xaccess  ====控制多个图形终端时的配置文件<br />DisplayManager.authDir:/var/lib/xdm<br />DisplayManager.willing:su nobody -c /usr/X11R6/lib/X11/xdm/Xwilling<br />! All displays should use authorization.<br />! X terminals may not be configured that way, so they will require<br />! individualized resource settings.<br />DisplayManager*authorize:true<br />! Scripts to start the server, start the user session, and reset the server<br />DisplayManager*setup:/usr/X11R6/lib/X11/xdm/Xsetup<br />DisplayManager*startup:/usr/X11R6/lib/X11/xdm/Xstartup<br />DisplayManager*reset:/usr/X11R6/lib/X11/xdm/Xreset<br />DisplayManager*resources:/usr/X11R6/lib/X11/xdm/Xresources  ====启动时的资源配置文件<br />DisplayManager*session:/usr/X11R6/lib/X11/xdm/Xsession      ====启动及周期配置文件<br />DisplayManager*authComplain:true<br />!<br />DisplayManager*userPath:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games<br />DisplayManager*systemPath:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11</p>
		<p>DisplayManager*loginmoveInterval:10</p>
		<p>! SECURITY: do not listen for XDMCP or Chooser requests<br />! Comment out this line if you want to manage X terminals with xdm<br />DisplayManager.requestPort:0</p>
		<p>Xservers中列出xdm所管理的X Server的列表。如：:0 local /usr/X11R6/bin/X -vt7</p>
		<p>Xresourdes中列出了资源的名单，在登录窗口启动之前被xrdb加载。如：可通过该文件修改登录窗口的属性。</p>
		<p>Xsession中列出在一个会话周期内所运行的程序。最后一行所执行的程序可以持续整个管理周期。当该程序结束，则周期结束。需要把除最后一行外的所有程序放在后台运行。如果不这样做，周期将可以会出挂起或出错。如：执行twm行省略了"&amp;"，则它后面的程序将不会运行，直到twm程序结束。另外，最后的一行程序必须是可执行的命令，因为它将不间断地执行且保持你的周期继续活动。如果你把它放在后台运行，虽然它同样会顺利地执行，但此周期程序执行至配置文件结束时将会中断，因而造成周期的结束。如果不用exec引导程序，而且省略“&amp;”。则最后一行的程序也将会顺利地执行且此周期将不断地持续工作，比如:xterm -geometry -0+50 -ls -C。-C表示使xterm成为一个控制台终端，使所有的系统信息在该窗口中显示。-ls表示使它的shell成为login shell。如果可使shell读入你的login或profile，所以你自已设定的环境变量会自动设定。</p>
		<p>Chapter 8. 窗口管理器<br />Table of Contents</p>
		<p>8.1. WindowMaker<br />8.2. fvwm\fvwm2\fvwm95<br />8.3. enlightenment<br />8.4. mwm<br />8.5. twm<br />8.6. icewm<br />8.7. Sawfish<br />8.8. blackbox<br />X Server只负责程序的运行和输入输出，窗口界面它没有定义和管理，它要靠一种叫窗口管理器的软件来负责。这也是X window灵活强大的功能之一。通过不同的窗口管理器，你可以定义出千变万化的窗口环境，突显你的个性，要多酷有多酷。下面对一些常用的窗口管理器进行简单的介绍。</p>
		<p>8.1. WindowMaker</p>
		<p>8.2. fvwm\fvwm2\fvwm95</p>
		<p>8.3. enlightenment</p>
		<p>8.4. mwm</p>
		<p>8.5. twm</p>
		<p>8.6. icewm</p>
		<p>8.7. Sawfish</p>
		<p>8.8. blackbox</p>
		<p>Chapter 9. 桌面环境<br />Table of Contents</p>
		<p>9.1. GNOMN<br />9.2. KDE<br />9.3. CDE<br />桌面环境是一种工作环境，里面有窗口管理器，有系统管理程序，有文件管理程序和一些工具软件的集合。所以它可以说一个集成的环境，用于办公、娱乐等。在linux下比较流行的桌面环境有两个，一个是基于GTK+的GNOMN(GNU Network Object Model Environment)和一个是基于Qt的KDE(K Desktop Environment)。</p>
		<p>9.1. GNOMN</p>
		<p>9.2. KDE</p>
		<p>9.3. CDE</p>
		<p>Chapter 10. X web<br />在X11R6.4中提供了一种基于Web的X window解决方案叫broadway。它能使X window系统具有通过Web协议访问X应用程序能力，即X web。X web的体系结构包括5个关健部分：</p>
		<p>远程执行---提拱远程启动X 应用程序的机制。</p>
		<p>一致性访问---集成X11R6.4和Http协议，提供独立于平台的一致性访问，使它具有广泛的可用性。</p>
		<p>Web浏览器插入---结合远程执行，提供在浏览器中显示应用程序执行结果的功能。</p>
		<p>安全机制---用区分可信(内部)和不可信(外部)应用程序的方法提供安全机制。它的实现包括3部分，第一是扩充的pc机X 服务器功能；第二是增加防火墙的X 代理功能；第三是为用户提供控制在可信和不可信程序间交换数据的界面。</p>
		<p>LBX(窄带X )---用于改进X在广域网和低速拔号网络上的性能，使用的技术包括高速缓冲、数据压缩和简化应答。</p>
		<p>X web是一种分布式的应用，这也是X window系统设计时初衷。但由于当时分布式计算技术环境的不完善，使得它的功能在当时的环境下实现不了。现在，随着计算技术的飞速发展，如低成本宽带网络的迅速扩张，高性，低成本的CPU的使用，操作系统功能的不断完善，开发工具和方法的不断改进等，分布式计算环境已较完善，X window的分布式应用已渐渐成为现实。</p>
		<p>X web是一种较新的技术，具体还没有测试过，有兴趣的朋友可到<a href="http://www.broadwayinfo.com">http://www.broadwayinfo.com</a>网站了解一下。<br /></p>
<img src ="http://www.blogjava.net/bluesky/aggbug/49459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-06-01 10:33 <a href="http://www.blogjava.net/bluesky/archive/2006/06/01/49459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中国街头骗术大全（转贴）</title><link>http://www.blogjava.net/bluesky/archive/2006/02/16/30898.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Thu, 16 Feb 2006 00:47:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/16/30898.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30898.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/16/30898.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30898.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30898.html</trackback:ping><description><![CDATA[骗术一：通常是一男一女带个小孩，遇到模样老实的 (比如我)，上前说，钱丢了，没钱回家，给几块钱坐车吧。还有说是来深圳找亲戚，没找着，钱用光了，给几块钱给他们买点吃的。第一次遇到这种骗术往往容易上当，我在大学时就上当过。骗子骗了几块钱，马上又去骗别人。在深圳路边遇到过多次，广州一般出现在好又多，万佳等超市附近。<br />　　<br />　　　　<br />　　<br />　　　　骗术二：路边某个青年男子，带着个包，坐在地下，用粉笔在地下写一些什么&ldquo;找不到工作，太饿了，请好心人给点钱买东西吃&rdquo;。一样是骗子，如果到深圳、广州所有地方走一圈，保证可以找到上百个这样的骗子。<br />　　<br />　　　　<br />　　<br />　　　　骗术三：大学时室友遇到过一次，来深圳后本人遇到过三次。大概流程是这样的：当你从银行取钱出来，或者到邮政局存钱的话，旁边会有两个串通好的男子，一个假装把一捆钱丢在地上，往前走，后面的骗子故意在你面前将钱捡起来，然后把你拉到一边，把捡到的那叠钱放到你身上。而前面丢钱的骗子则返回，问后面的骗子是否捡到了钱，并且要后面的骗子搜身。后面的骗子说没有，然后把你拉到一边，说捡到的钱平分，现在钱在你身上，我现在跟他去搜身，我怕你在我去搜身后逃之夭夭，所以你要把你身上的部分钱押在我这里。如果你真的将你自己的部分钱押给他们，就再也找不到人了。你打开那捡到的一叠钱，会发现，表面是一张人民币，里面全是白纸。<br />　　<br />　　　　　　<br />　　<br />　　　　骗术四：就是手机短消息了，说什么你中了。。。。奖(比如笔记本电脑)云云，而你如果一个电话打过去，她们会叫你将钱寄到某个帐号，说是奖品的邮寄费。而你真的相信了，寄出去的钱就如同石沉大海。<br />　　<br />　　　　<br />　　<br />　　　　骗术五：路边的押注。几个碗倒盖地下，骗子凭借很快的手法，将一粒棋子放在某个碗下，让你去猜。如果你押50元，猜中了他倒赔你50，猜错了这50元就输了。这样的骗子，往往会有一群骗子来故意充当观众，起哄或者押钱。最近广州太平洋电脑城附近很多。<br />　　<br />　　　　<br />　　<br />　　　　骗术六：想起一个行骗的例子，尤其逢年过节，大家要警惕。我遇到一次，还真的上当了。－－有一个人抗一袋米，然后敲你家门，一张口就说：有一个60 多岁的老太太在我们店买了米，让我先送过来，她还要去其他地方买东西。米50块还没给。我当时心里觉得挺奇怪，我妈没这么老吧？？后来想想可能显老，而且又有这么一袋米，就给了钱。老妈回来一问，才知道上当受骗了。而且米很次，最多也就30搞定。这个骗术比较隐蔽。大家小心。<br />　　<br />　　　　<br />　　<br />　　　　骗术七：坐车去广州,半路上来一家伙,说自己做铅笔生意的,在车上跟别人攀谈,然后开始赌,手上拿红蓝铅笔各一枝,猜橡皮圈套在那枝铅笔上.亲眼看见我旁边那家伙把手表也输了.快到广州,开始参与赌的人全下了车,才知道是骗局.<br />　　<br />　　　　<br />　　<br />　　　　骗术八：还有一种，就是路上卖水果或者别的什么的，当你买他东西的时候，他会找你换钱。他零钱换成整钱。说零钱太多不好放。然后在数钱给了你的时候就少给你一张。如果你自己不细心，看着他明明数了十张给你，你自己一数就只有9张了。<br />　　<br />　　　　　　<br />　　<br />　　　　骗术九：今天坐公车,到站开门后,一个男人突然堵住车门说自己手机不见了,不让人下车.人群哗然.这时旁边有人说打那个男人的手机,看在谁身上响谁就是贼.这个男人就向边上的一个人借了手机要拨自己的号码,突然*近门口的一个人拔腿挤下车就跑,这个男人也没还人家的手机就叫嚣着追了过去,转眼都不见了.于是,这次真的有人丢了手机.....<br />　　<br />　　　　<br />　　<br />　　　　骗术十：还是几年前,我们住在NC的时候.就我家婆一人在家,也是一个男的敲门,说是**(我LG的名字)的同事,刚从上海出差回来,LG托他带了双皮鞋,380元,他现在要去办事身上带的钱不够, 叫家婆能不能先把钱给他,并拿出一双包装的很漂亮的鞋子,家婆说没那么多钱,刚好我媳妇快下班了,你就等一下吧.那人一听,赶紧说去LG单位找他就走了. 幸亏没上当,不过也挺险的,家婆随便让陌生人进门,要是强盗就完了.<br />　　<br />　　　　<br />　　<br />　　　　骗术十一：这是本人亲历。前两天晚上打的，从罗湖到福田一共花了二十多块吧，我给了一张一百块的给司机，他掏摸了半天，说没有零钱，要我凑零钱给他。我大惑问&ldquo;你干了一天怎么一百块都找不开&rdquo;。但我还是凑够零钱给他了，他就把一百块还给我。我一拿过手，大怒：&ldquo;你小子找死呀！&rdquo;，那小子赶快换了一张给我。嘿，那小子竟然偷龙转凤，给了我一张假钞。他不知道，我刚刚给他的那一张是我半个小时前才从提款机摁出来的，全新的。要不，还真给他蒙了。后悔没留意他的车牌，只知道是湖南攸县人<br />　　<br />　　　　<br />　　<br />　　　　骗术十二：和同事去服装店，同事看好了一衣服，很大方的将百元大钞递过去，自己却还站在镜子前比试比试，这时，服务小姐说话了：小姐，麻烦换一张，这张是假钞。我俩纳闷，我们刚从银行取的钱呢（那时还未听说过银行会出假钞），我们接过钱看了看，很镇静地说&ldquo;小姐，别骗了，不然我们报警了，我们刚发工资，钱的号码是都连在一起的&rdquo;，然后我们拿出荷包中所有的钞票，我还将号码念出来了（其实我当时就记下了那张钞票号码），小姐可能心虚，就将另张钞票退给了我们，还白送了我们一件衣服，哈，幸好我俩聪明，下次遇上这样的骗子，大家可以效仿。<br />　　<br />　　　　<br />　　<br />　　　　骗术十三：在路上遇到一个人，问一条较偏的路，然后说车子开不进去了，要你帮忙看一下车上的货，他去接人来卸货。如果你答应了，你就准备着上当吧。因为，你在守货时，会有有来将车开车，说是那人要他们来的，车刚走，那人和一大帮人就过来找你麻烦了，如果不拿出你身上的钱，你是走不掉了。<br />　　<br />　　<br />　　<br />　　　　骗术十五：在路上要有人问你银行怎么走,别搭理他, 他下一句肯定是问如何将手中外汇换成人民币,再后面就有骗子的同伙过来,不知不觉掉进一个骗局;或者在银行门口,有人问你换外汇的事,千万别理.这种骗局经常是天衣无缝,我一个朋友被骗走好几十万,平时看这小子还挺聪明的,也不贪财,可就是上当了,道高一尺,魔高一丈.听公安局的讲,在广东某镇,有好几千人在外从事这种骗术,做案后就换地方,很难抓到.<br />　　<br />　　　　<br />　　<br />　　　　骗术十六：在人来人往，热闹非凡的商铺，大家迫不及待地想快点买了东西就走，商家利用顾客这样的心理，当找回散钱时，竟会在其中夹着十元钱的假币！细心一点的顾客或许能发现什么，但很多人只是瞄一眼就走人了，哎，我就是差点上了那黑心老板的当！！！还好及时拿回了真家伙！各位女士们先生们购物时千万要留意哦！！！<br />　　<br />　　　　<br />　　<br />　　　　骗术十七：我前几天也给人骗了，不过有点无所谓而已，有一男一女学生模样来我家（梅林）推销洗发水，说是刚毕业的深圳大学国际贸易的学生，当时我们俩都在家里，我是深圳大学毕业的，我老婆也是深圳大学毕业的，而且我老婆还是国际贸易的，那个男的当时有点傻了，后来有点苦苦哀求的味道，看他们那么可怜我也就买了他们的产品（说家乐福要买140）给我30，呵呵，可能不好意思给我揭穿吧，骗少一些，我也无所谓，就给了他们30元，按照他们说的家乐福会上市这些洗发水，到现在也没有看到，呵呵，还是给他骗了.<br />　　<br />　　　　　　<br />　　<br />　　　　骗术十八：深圳华为一员工在外地出差的时候，收到深圳的一部手机发送的短信息：&ldquo;请注意：我们将连续六小时内不断地拨打你的电话，请作好心里准备。你可以选择关机，谢谢！&rdquo;在收到这条短信息后，便有一部深圳的小灵通不打来电话，康＊＊一接听，对方就说：&ldquo;我们将在六小时内连续不停拨打你的电话，你可以选择关机&ldquo;。康＊＊问对方为什么这样做，对方回答说是测试；问对方是什么单位，对方不回答，然后挂机。此后，康大约每分钟接到一次由这部小灵通打来的电话，康＊＊每次接听，对方就叫他关机。对方不断地拨打，康＊＊终于不堪忍受，只好关机。就在关机之后不大一会儿，康远在成都的家属打他的另外一部手机，说有人打电话到家里。来电人声称是华为公司人员，有关于康＊＊的急事找他的父母。康＊＊不解，于是向安全管理部总控中心员工求助热线求助。这是一起典型的诈骗未遂案件，其诈骗方法：犯罪嫌疑人狂打当事人的电话，当当事人不堪忍受而关机或拔线（固定电话），然后，犯罪嫌疑人将打电话给当事人的亲友，称当事人突发事故正在抢救，请对方立即汇多少钱到某某帐号，并声称，如果在多长时间内收不到钱将停止抢救。这时，接到电话的亲友会在第一时间内打当事人的电话，而当事人的电话恰恰因前述原因而关机或无法接听这恰恰佐证了当事人出了事故的&ldquo;事实&ldquo;，&ldquo;救人&ldquo;心切的亲友往往因此而上当。启发及忠告：<br />　　<br />　　　　<br />　　<br />　　　　1、当您碰到类似的事情时，请不要慌张，您可以在电话中主动揭穿犯罪嫌疑人的伎俩，以免对方心存幻想而不断来电骚扰。<br />　　<br />　　　　<br />　　<br />　　　　2、立即打电话给自已的亲友，告之此类事件的真伪，提醒亲友切勿上当受骗<br />　　<br />　　　　针对员工的几点预防措施：<br />　　<br />　　　　<br />　　<br />　　　　1、牢记公司24小时应急求助电话，并知会你的家人，任何有需要时均可电话求助，安全管理部会在第一时间受理并调动相关资源处理；<br />　　<br />　　　　2、及时更新你在公司《电话号码查询系统》中的记录，包括手机号码、办公电话及部门信息，这是安全管理部与你联系的主要利用平台；<br />　　<br />　　　　3、及时更新你在公司的人事档案，紧急情况下，安全管理部可以通过SAP系统查询你的相关信息，包括家庭住址及电话。<br />　　<br />　　　　　　<br />　　<br />　　　　骗术十九：2003年02月21日傍晚18：00左右，某公司一员工行走在广州市北京路步行街上,马路边的众多推销人员不断向其递来传单或宣传资料；某员工出于礼貌便接了几张传单，但当其拿着那几张传单数分钟之后，忽然觉得头脑昏眩起来，继而感到头前所未有地痛，此时某员工感到情况不妙，急忙跌跌撞撞地走到文明路口,拦了部出租车直奔附近的省人民医院。医院诊断，该员工是由于接触或吸入了一种混合性麻醉药(学名:达克罗宁，医生称如果过量容易导致死亡!!!!)而导致以上症状。案例分析：这是一起有预谋的抢劫未遂事件，一些图谋不轨的不法分子向路人发放预先喷上类似以上麻醉性药物的传单或宣传资料，然后锁定一些目标(特别是女性)，紧随其后，一旦药物发挥作用，不法分子便伺机对事主进行抢劫。建议：<br />　　<br />　　　　<br />　　<br />　　　　1、尽量不要接受街头派发的传单或宣传资料，特别是在独自一人的情况下，女性尤其要警惕；<br />　　<br />　　<br />　　<br />　　　　2、万一您误接了上述资料，并感觉身体不适，请立即向就近的警察求助，尽快就医。<br />　　<br />　　　　<br />　　<br />　　　　骗术二十：女生一定要看－－可怕的广州火车站和几乎被拐的MM，小姑娘们，小心呀！！！<br />　　<br />　　　　<br />　　<br />　　　　时间：2003年3月3日；地点：广州火车站广场<br />　　<br />　　<br />　　<br />　　　　人物：一个2002年毕业的涉世不深的女孩事件：<br />　　<br />　　　　<br />　　<br />　　　　今天下午，我的一个留校的同学给我突然给我打来电话，说有一个师妹去深圳找工作了，没有找到要从广州回家。让我帮忙请她吃顿饭，把她送上回家的火车我当时就答应了，然后根据同学留给我的电话，马上就给她联系了，电话打通后她告诉我现在已经进站了！因为我住处离火车站比较远，接站已经来不及了，于是就问她以前在广州站下过车吗？她说，每次去深圳都要在广州下车，她问我住哪儿，她下车后直接打的来找我。我听她的口气很自信，而且因为是大白天，我就同意了,然后告诉她一个广州很有名的大厦的名字，告诉她我在那下面等她挂了电话我就开始换衣服，准备出发了。此时这个女孩开始随着人流出站了。出站后她发现她的手机经过刚才的电话已经没有钱了！而在此之前她从来没有见过我，这是她在车站广场上发现了IC卡电话机，她想先给我说一声手机没钱了，然后在问问我穿什么衣服，于是她便拉着箱子走到一部话机旁边。她绝对没有想到，这时一个阴谋已经在悄悄的向她逼近了！<br />　　<br />　　　　<br />　　<br />　　　　她把箱子放在身前，开始拨电话了，这时她后面站了一个男的手里拿着卡，好像在排队打电话。正当她刚刚把我的号码拨完，突然后面那个人伸出手&ldquo;啪&ldquo;的一声把话机的压簧按了下去，电话没有接通。这时女孩转过身很气愤的看着那个人，那个男人立即满脸堆笑，连声说对不起！说不是故意的。然后告诉女孩，你按重播键就可以了！！！这个阴谋像一张网此刻已经张开了！！！女孩满脸疑惑的转过来，按了重播键。这次没有再挂断，通了！但是，是另外一个陌生的声音。女孩问：&ldquo;**在吗？&ldquo;那个声音：&ldquo;对不起，他刚才有急事出去了，连手机都没有拿，他让我去接你。&ldquo;女孩又问&ldquo;他不是让我打的去&times;&times;大厦吗？&ldquo;那个声音：&ldquo;是这样子，我们有车，现在我们去车站接你，你到车站旁边的&times;&times;等我！&ldquo;这是一直站在女孩身后的那个男子说话了：&ldquo;我知道&times;&times;这个地方，离这儿很近的刚才不好意思啊，为了表示歉意我送你去哪儿！！&ldquo;说着就拉起女孩的行李，这是电话那边已经挂了！那个可怜的女孩就傻乎乎的相信了那个人的话，跟着那个男子走，还不时的给那个男子道谢!!!当走到流花车站旁边的时候，那个男子好像遇到了一个熟人，打了个招呼。那个人笑嘻嘻的说：&ldquo;行啊你，这么靓的都搞得到！&ldquo;那个男子立刻板起脸，骂了一句。这时小师妹突然间像是意识到了什么，经过十几秒钟的思考，立刻明白了自己处境。她的腿都软了，但是那个人拉着她的行李，而行李里面装着她的学历学位证。小师妹装作很关心的说，你看你累得，满脸是汗！给擦擦汗吧！说着，便递过一沓纸巾！那个男子装作很憨厚，一边接过纸巾把行李放下，开始擦汗！！！小师妹这时突然拉起行李，像疯子一样飞快的跑起来，一边跑一边叫：&ldquo;救命啊，救命！！！&ldquo;那个男子也反应过来开始追，人很多，小师妹根本跑不快。但是就在这千钧一发之际，一个保安从前面听到喊声跑了过来，跑到小师妹跟前问：&ldquo;怎么了！&ldquo;可是我那可怜的小师妹已经神经高度亢奋了，根本不理保安还是一直跑。但是那个男子已经不敢再追了。小师妹看到前面停有一辆的士，这次作罢。惊魂未定的上了！而我在大厦下面已经等了15分钟了。终于我看到一个披头散发的女孩拉着行李朝我走过来了。我赶过去，问她是不是**.呵呵，她用近乎呆滞的眼神死死盯着我，要我出示身份证。幸好我的身份证总是放在钱包里面随身携带。看过之后，她接过我的手机，给我那个同学打通电话，让我接。之后又拿过电话，给我同学说了几句。挂机之后，拉着我的胳膊好一阵哭啊！！从来没有见到女孩子掉那么多眼泪！当时真把我吓坏了。不管怎么问怎么哄就是一直抱着我的胳膊哭，一句话都没有！！！引得过路的人纷纷侧目。没有办法，我只好带着她回到我的住处，她真的哭了一路！到家里，我让她洗了把脸给她到了杯茶，她的情绪才稳定下来，这时眼睛已经哭肿了。等她边哭边说，把经过讲完之后，我要带着她报警！她说死也不去广州火车站了。不管我怎么劝都不去报警了。歇了一会她让我带着她去东站上车。于是我带她到东站买了火车票，我一直把她送到窝铺车厢，把她安顿好！然后在她感激的眼神中下了车！她给我说的最后一句话是：我再也不来这儿！！！注意：那IC电话是做了手脚的！！！据称武昌、成都、西安火车站都有这样的事情。不要轻易和陌生人说话，不然不久以后你就可能出现在河南的山沟沟里面.<br />　　<br />　　　　<br />　　<br />　　　　骗术二十一：大约一个月前,我看到一个女子站在大型购物中心的入口。女子写了个自己的经历,好警告其它的女子们。几天前,这个女子购物完后走出购物中心,在上车前发现车胎泄气了,于是她从后车箱中拿出千斤顶准备换车胎。一个穿著西装手拿公文包的男士走到她旁边对她说?我看到你在换车胎，需要我帮忙吗?女子欣然的接受了男士的帮助。换车胎时女子与男士相谈甚欢，男士换好新车胎后帮女子将泄气的车胎及千斤顶放入后车箱并盖上车盖，并将手上的尘拍掉。当女子谢谢男士的帮助要进入车内时，男士告诉女子他的车子就在购物中心的附近，希望女子能让男士搭个便车送男士去自己停车的地方。女子有点意外并问男士怎么会将车停在另一边。男士解释说来购物中心和一个不常见面的老朋友饭、见面，离开时却走错出口。但他现在快迟到,而他的车子就在附近而已。女子不想拒绝男士，因为男士才帮自己更换车胎，而换车胎对女子并不容易。女子忽然想起男士在盖上后车盖前，将自己的公文包放入后车箱中，而那是在男士开口请女子让他搭便车之前。女子于是对男士说：自己很乐意载男士去他停车的地方,但自己忘了买一样东西。女子接着说只需要几分钟，男子可以坐在车内等，她很快就会回来。女子进入购物中心后找了安全人员，并将刚刚的事告诉他，安全人员与女子一起回到车旁时，男士已经离开了。女子及安全人员一起将后车箱中男士的公文包带到警察局。警察将公文包打开..(表面上而言是可以看看有没有证件好将公文包还给男士),他们发现里面装的竟然是绳子、胶带及刀子。当警察检查女子泄气的旧轮胎时，发现根本没有问题，只是被放气而已。男士有什么意图很明显，而且事前已经小心计划过。女子幸运的逃过一劫。如果女子当时坐在车里等男士替她换车胎，或者女子有小孩坐在系安全带的儿童安全座椅上，或者当时女子拒绝男士的要求将会发生多可怕的伤害。<br />　　<br />　　　　<br />　　<br />　　　　骗术二十二：是我的高中同学告诉我的。他的一个同事，前几天骑车回家路上，碰到2个男的问路。说完路线之后，男的说记不住。要求用笔记下来，便掏出纸笔给这位朋友。当时这个朋友就觉得有一股怪味从笔里传出来。写完，觉得有些头晕。这是两个男的还找不到，拉这位朋友带路。当时这位朋友心中有一个想法，一定要离开。边说，不行，我一定要走，便骑车走了。随后失去了记忆。好像睡着了。当他醒来，发现自己在去八达岭的京昌高速路上，还骑着车，被后面汽车的喇叭吵醒。已经是一个多小时之后了。于是往回走。在高速入口，管理人员见了他就骂，说刚才让他停他不听话，还以为他要骑车去长城。。。。。好了，大家明白了，关键就是那支笔散发出来的气体，可能导致你任人摆布或者暂时失去记忆.<br /><img src ="http://www.blogjava.net/bluesky/aggbug/30898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-16 08:47 <a href="http://www.blogjava.net/bluesky/archive/2006/02/16/30898.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]程序员的十种级别 </title><link>http://www.blogjava.net/bluesky/archive/2006/02/16/30897.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Thu, 16 Feb 2006 00:46:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/16/30897.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30897.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/16/30897.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30897.html</trackback:ping><description><![CDATA[程序员的十种级别<br /><br />第一级：神人，天资过人而又是技术狂热者同时还拥有过人的商业头脑，高瞻远瞩，技术过人，大器也。如丁磊，求伯君。<br /><br />第二级：高人，有天赋，技术过人但没有过人的商业头脑，通常此类人不是顶尖黑客就是技术总监之流。<br /><br />第三级：牛人，技术精湛，熟悉行业知识，敢于创新，有自己的公司和软件产品。<br /><br />第四级：工头，技术精湛，有领导团队的能力，此类人大公司项目经理居多。<br /><br />第五级：技术工人，技术精湛，熟悉行业知识但领导能力欠加，此类人大多为系分人员或资深程序员，基本上桀骜不逊，自视清高，不愿于一般技术人员为伍，在论坛上基本以高手面目出现。<br /><br />第六级：熟练工人，技术有广度无深度，喜欢钻研但浅尝辄止。此类人大多为老程序员，其中一部分喜欢利用工具去查找网上有漏洞的服务器，干点坏事以获取成绩感。如果心情好，在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。<br /><br />第七级：工人，某些技术较熟练但缺乏深度和广度，此类人大多为程序员级别，经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。<br /><br />第八级：菜鸟，入门时间不长，在论坛上会反复提问很初级的问题，有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研，一两年后就能升级到上一层。<br /><br />第九级：大忽悠，利用中国教育的弊病，顶着一顶高学历的帽子，在小公司里混个软件部经理，设计不行，代码不行，只会胡乱支配下属，拍领导马屁，在领导面前胡吹海侃，把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门，实在龌龊！<br /><br />第十级：驴或傻X，会写SELECT语句就说自己精通ORALCE，连寄存器有几种都不知道就说自己懂汇编，建议全部送到日本当IT产业工人，挣了日本人的钱还严重打击日本的软件业！<br /><br />其中又以前两级和后两级最为难得，其余级别只要努力，皆有可能达到。<br /><a href="http://blog.csdn.net/luna8418/archive/2005/09/25/489259.aspx">http://blog.csdn.net/luna8418/archive/2005/09/25/489259.aspx</a><br /><img src ="http://www.blogjava.net/bluesky/aggbug/30897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-16 08:46 <a href="http://www.blogjava.net/bluesky/archive/2006/02/16/30897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SCJP模拟题</title><link>http://www.blogjava.net/bluesky/archive/2006/02/15/30842.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Wed, 15 Feb 2006 09:50:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/15/30842.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30842.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/15/30842.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30842.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30842.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: scjp模拟试题（一）&nbsp;Question No: 11.public class test (2. public static void main (String args[]) {3. int i = 0xFFFFFFF1;4. int j = ~i;5.6. }7. )What is the decimal value of j at line 5?A. 0B. 1C. 14...&nbsp;&nbsp;<a href='http://www.blogjava.net/bluesky/archive/2006/02/15/30842.html'>阅读全文</a><img src ="http://www.blogjava.net/bluesky/aggbug/30842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-15 17:50 <a href="http://www.blogjava.net/bluesky/archive/2006/02/15/30842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache Cocoon入门</title><link>http://www.blogjava.net/bluesky/archive/2006/02/15/30818.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Wed, 15 Feb 2006 07:28:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/15/30818.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30818.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/15/30818.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30818.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30818.html</trackback:ping><description><![CDATA[<P>作者： 周靖 译 <BR><A href="http://www.zdnet.com.cn/developer/tech/story/0,3800067013,39139224-1,00.htm">http://www.zdnet.com.cn/developer/tech/story/0,3800067013,39139224-1,00.htm</A><BR><BR><BR>在某种意义上，可将Cocoon视为一个基于XML的内容管理系统，因其提供了一种机制来描述Web信息项目（内容）的结构和语义、这些项目的关系、它们如何随着时间的推移而发生改变（逻辑）以及在请求时如何向用户呈现（它们的样式）。事实上，Cocoon项目作为Apache Web服务器项目的一部分，它的作用之一就是组织和控制Apache麾下众多项目的文档化过程。</P>
<P>作为对其真实用途的一个比喻，Cocoon（茧）这个名字具有深远的意义。它代表一种包裹结构，其中的某些东西将从幼虫阶段成长为美丽的蝴蝶，并准备展翅飞翔。但在Apache Cocoon的<A href="http://xml.apache.org/cocoon/" target=_target>主页</A>上，没有对这个巧妙的比喻进行说明。相反，它只是对这个项目进行了准确的技术性解释：“Apache Cocoon是一个XML发布框架，它将XML和XSLT技术在服务器应用程序中的应用提升到一个新级别。Cocoon的宗旨是提升管道化SAX处理的性能和扩展性，通过对内容、逻辑和样式的分离来营造一个灵活的环境。”<BR></P>
<H5>
<H5>到底什么是Cocoon?</H5>
<P>Cocoon最初的型态是一个简单的Java servlet，全部使用标准W3C组件：用文档对象模型（DOM）来解析文档，用XML来捕捉和格式化数据，用XSLT来转换数据和合并/操纵XML文档，并用XSL来管理文档的表示以便通过Web传送。但人们很快就要求它为其他类型的内容提供服务（比如程序和文档），所以Cocoon逐渐发展成为一个完整的、基于XML的发布框架及系统。<BR></P>
<P>随着时间的推移，几个新的XML组件问世了，比如SAX。另外，XSL也逐渐细分为几个不同的组件，分别提供Transforms、Formatting Objects和XPath功能。这些新标准直接促成了Cocoon 2在2002年的问世，它定义了一个标准的（而且仍在发展的）内容管理系统，并面向公众开放。<BR><BR>就目前来说，我们可采取几种不同的方式来描述Cocoon：一个XML发布框架，一个数据源聚合器以及一系列管道和组件的集合。</P>
<H5>作为发布框架的Cocoon <BR></H5>
<P>Cocoon基于对SAX事件的管道式处理。Web应用程序如果围绕这个框架来构建，将获得较好的扩展性和性能。利用一个集中式的配置系统，你可以方便地创建、部署和维护Web应用程序。Cocoon使用了一个缓存系统，所有组件都可根据需要进行动态配置。接收到用户请求后，会自动检查缓存，判断请求的URI（统一资源标识符）是否存在。如果存在，就直接传递缓存的内容，不需要通过一个管道来处理它。<BR><BR></P>
<H5>Cocoon作为数据源聚合器<BR></H5>
<P>Cocoon可作为一个抽象的引擎使用（通过一个Java servlet），它基于自定义的协议处理程序，能通过标准URI来访问外部数据源。Cocoon甚至能递归调用自身，使数据流能在多个管道化阶段同时处理，从而提高处理速度和效率。</P>
<P><BR>管道和组件</P>
<P>Cocoon体系结构的核心设计思想是模块化和抽象处理。Cocoon管道在概念上和UNIX系统中使用的管道差不多，只是Cocoon管道中的所有元素都是通过解析XML文档而创建的SAX事件。Cocoon识别3种类型的管道元素（组件），分别是生成器（generators）、转换器（transformers）和序列化器（serializers）。其中，生成器使用一个请求的URI来生成SAX事件；转换器使用SAX事件并生成其他SAX事件；序列化器使用SAX事件并生成一些响应。</P>
<H5>Cocoon的用途<BR></H5>
<P>简单地说，Cocoon管道用于生成和递送内容。内容采用的是某种可识别的形式，由一个生成器和一个序列化器构成。在较典型的Cocoon管道中，生成器之后可能紧接着一个或多个转换器链，而序列化器用于生成不同格式的输出。采取这种方式，同一个源文档可为Web浏览器生成HTML格式的内容，为WAP设备生成WML格式的内容，为打印输出生成PDF格式的内容。<BR><BR>作为一个开发平台，Cocoon最吸引人的地方在于它提供了品种丰富的生成器、转换器和序列化器。人们为Cocoon 2项目开发和捐赠了许多这样的组件。一经捐赠，这些组件就可进行定制，以添加新功能或者进行扩展，从而创建出新的组件。<B>表</B><B>A</B>总结了适用于Cocoon的一些常用生成器、转换器和序列化器。<BR><BR></P>
<P>表A</P>
<P>
<TABLE class=text1 cellSpacing=0 cellPadding=0 width=535 border=1>
<TBODY>
<TR>
<TD vAlign=bottom width=69><STRONG>类别</STRONG></TD>
<TD vAlign=bottom width=154><STRONG>名称</STRONG></TD>
<TD vAlign=bottom width=304><STRONG>说明</STRONG></TD></TR>
<TR>
<TD vAlign=top width=69>生成器</TD>
<TD vAlign=top width=154>DirectoryGenerator</TD>
<TD vAlign=top width=304>将目录列表转换成XML格式，以便从中生成SAX事件</TD></TR>
<TR>
<TD vAlign=top width=69>生成器</TD>
<TD vAlign=top width=154>FileGenerator</TD>
<TD vAlign=top width=304>解析一个文件或URI，并生成SAX事件</TD></TR>
<TR>
<TD vAlign=top width=69>生成器</TD>
<TD vAlign=top width=154>JSPGenerator</TD>
<TD vAlign=top width=304>根据JSP页来生成XML和SAX事件</TD></TR>
<TR>
<TD vAlign=top width=69>生成器</TD>
<TD vAlign=top width=154>ServerPagesGenerator</TD>
<TD vAlign=top width=304>根据XSP页来生成XML和SAX</TD></TR>
<TR>
<TD vAlign=top width=69>转换器</TD>
<TD vAlign=top width=154>i18nTransformer</TD>
<TD vAlign=top width=304>使用i18n字典和语言参数值来转换SAX事件</TD></TR>
<TR>
<TD vAlign=top width=69>转换器</TD>
<TD vAlign=top width=154>XincludeTransformer</TD>
<TD vAlign=top width=304>通过为现有的SAX流添加SAX事件，从而处理<EM>xinclude</EM><EM>命名空间，并包括外部源</EM></TD></TR>
<TR>
<TD vAlign=top width=69>转换器</TD>
<TD vAlign=top width=154>XSLTransformer</TD>
<TD vAlign=top width=304>根据XSLT样式表定义来转换SAX事件流</TD></TR>
<TR>
<TD vAlign=top width=69>序列化器</TD>
<TD vAlign=top width=154>HTMLSerializer</TD>
<TD vAlign=top width=304>根据SAX事件来生成HTML响应</TD></TR>
<TR>
<TD vAlign=top width=69>序列化器</TD>
<TD vAlign=top width=154>PDFSerializer</TD>
<TD vAlign=top width=304>根据SAX事件，使用Apache FOP（格式输出处理器）来生成PDF</TD></TR>
<TR>
<TD vAlign=top width=69>序列化器</TD>
<TD vAlign=top width=154>SVG2JPGSerializer</TD>
<TD vAlign=top width=304>根据SVG SAX事件，使用Apache Batik来生成JPEG图像</TD></TR>
<TR>
<TD vAlign=top width=69>序列化器</TD>
<TD vAlign=top width=154>TextSerializer</TD>
<TD vAlign=top width=304>根据SAX事件来生成纯文本输出，适用于非XML文本，比如CSS或程序语言代码</TD></TR>
<TR>
<TD vAlign=top width=69>序列化器</TD>
<TD vAlign=top width=154>XMLSerializer</TD>
<TD vAlign=top width=304>根据SAX事件来生成XML响应</TD></TR></TBODY></TABLE></P>
<H5>可由Cocoon使用的部分组件<BR></H5>
<P>如所你见，Cocoon的功能并非只是简单地将数据格式化成HTML。在未来的文章中，我们将研究如何在Cocoon环境中创建和处理文档，并更详细地介绍在这个环境中工作所牵涉的问题。就目前来说，你只需理解Cocoon是针对多种目的来捕捉、呈现和递送Web内容的一种方式。</P>
<P>&nbsp;</P></H5><img src ="http://www.blogjava.net/bluesky/aggbug/30818.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-15 15:28 <a href="http://www.blogjava.net/bluesky/archive/2006/02/15/30818.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows Media Player 播放问题~~Windows Media Player 无法播放 刻录或同步此文件</title><link>http://www.blogjava.net/bluesky/archive/2006/02/15/30788.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Wed, 15 Feb 2006 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/15/30788.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30788.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/15/30788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30788.html</trackback:ping><description><![CDATA[Windows Media Player 无法播放、刻录或同步此文件，因为您的计算机上未安装必需的音频编解码器。<BR><BR>您尝试将文件刻录（复制）到 CD，但您以前从未在计算机上播放该文件。播放该文件，播放机应该尝试自动下载所需的编解码器。 <BR>播放机未配置为自动下载编解码器。要将播放机配置为自动下载编解码器，请在“工具”菜单上单击“选项”，再单击“播放机”选项卡，然后选中“自动下载编解码器”复选框。请注意，您必须以管理员或管理员组的成员身份登录才能完成上述过程。<BR><BR>OK~~<BR><A href="http://www.flickr.com/photos/chinawangliang/99626266/"><IMG height=232 src="http://static.flickr.com/42/99626266_e97913f50d_m.jpg" width=240 border=0></A><img src ="http://www.blogjava.net/bluesky/aggbug/30788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-15 12:55 <a href="http://www.blogjava.net/bluesky/archive/2006/02/15/30788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软反流氓软件</title><link>http://www.blogjava.net/bluesky/archive/2006/02/13/30483.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Mon, 13 Feb 2006 09:36:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/13/30483.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30483.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/13/30483.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30483.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30483.html</trackback:ping><description><![CDATA[<table width="72%" bgcolor="#ffffff" border="0">
    <tbody>
        <tr>
            <td class="f14" align="left" width="97%">
            <table style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" cellspacing="0" cellpadding="0" width="87%" border="0">
                <tbody>
                    <tr>
                        <td class="gray14">MicrosoftAntiSpywareInstall（微软反流氓软件）&nbsp;&nbsp; <br />软件大小：6&nbsp;MB&nbsp;&nbsp; <br />软件语言：英文&nbsp;&nbsp; <br />软件类别：国外软件&nbsp;/&nbsp;特别软件&nbsp;/&nbsp;系统安全&nbsp;&nbsp;&nbsp; <br />运行环境：Win2003,&nbsp;WinXP,&nbsp;Win2000,&nbsp;NT,&nbsp;WinME&nbsp;&nbsp; <br /><br />软件简介：&nbsp;&nbsp; <br /><br />微软正式把3721列为流氓软件！微软官方出了删除3721等的流氓软件的工具！&nbsp;&nbsp; <br /><br />　　1，&nbsp;首先下载微软反间谍软件MicrosoftAntiSpywareInstall.exe，界面是英文的，文字相当于高中英语水平，慢慢看能懂，安装后按提示升级最新数据库，执行SCAN，扫描时间长，要有耐心，后发现100多个3721，CNS*的东西，比一些3721专卸工具发现的多的多，有好多是隐藏的，选择REMOVE，慢慢的微软反间谍软件清除3721，CNS*的东西，再提示重新启动机器。&nbsp;&nbsp;&nbsp; <br /><br />　　2，&nbsp;第一次3721还没清除完，在/PROGRAM&nbsp;FILES/下还有3721目录，先卸载网络实名，右键清除开始------程序菜单中的3721条，再运行微软反间谍软件，扫描时间比第一次要短，后发现多个3721，CNS*的东西，但数量比第一次少多了选择，选择REMOVE，清除3721，CNS*的东西，再重新启动机器。&nbsp;&nbsp; <br /><br />　　3，&nbsp;再运行微软反间谍软件，就会发现没有3721，CNS*的东西。彻底清除3721。&nbsp;&nbsp; <br /><br />　　4，&nbsp;感觉目前微软反间谍软件清除3721最彻底，但需要很长时间。&nbsp;&nbsp; <br /><br />官方网站：&nbsp;&nbsp; <br /><a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx" target="_blank">http://www.microsoft.com/athome/security/spyware/software/default.mspx</a>&nbsp;&nbsp; <br /><br />官方下载：&nbsp;&nbsp; <br /><a href="http://download.microsoft.com/download/8/1/5/815d2d60-49b5-44dc-ae35-fca2f2c6f0cc/MicrosoftAntiSpywareInstall.exe" target="_blank"><font color="#261cdc">http://download.microsoft.com/download/8/1/5/815d2d60-49b5-44dc-ae35-fca2f2c6f0cc/MicrosoftAntiSpywareInstall.exe</font></a>&nbsp;&nbsp;&nbsp; <br />&nbsp; <br /></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
        <tr>
            <td height="17">&nbsp;</td>
            <td><font style="FONT-SIZE: 14px">帖子相关图片: </font><br /><img src="http://www.microsoft.com/library/media/1033/athome/security/images/spyware/product/55879_GAS_hero2_F.jpg" border="0" alt="" /></td>
        </tr>
    </tbody>
</table><img src ="http://www.blogjava.net/bluesky/aggbug/30483.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-13 17:36 <a href="http://www.blogjava.net/bluesky/archive/2006/02/13/30483.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面向对象的软件开发</title><link>http://www.blogjava.net/bluesky/archive/2006/02/13/30455.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Mon, 13 Feb 2006 06:42:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/13/30455.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30455.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/13/30455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30455.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30455.html</trackback:ping><description><![CDATA[1 历史回顾&nbsp;<br />　　针对日趋复杂的软件需求的挑战，软件业界发展出了面向对象(OO)的软件开发模式。目前作为针对&ldquo;软件危机&rdquo;的最佳对策，OO技术已经引起人们的普遍关注。最初被多数人看作只是一种不切实际的方法和满足一时好奇心的研究，现在得到了人们近乎狂热的欢迎。许多编程语言都推出了支持面向对象的新版本。大量的面向对象的开发方法被提出来。关于OO的会议、学术研讨班和课程极受欢迎。无数专业的学术期刊都为这一话题开辟了专门的版面。一些软件开发合同甚至也指明了必须使用OO的技术和语言。面向对象的软件开发对于90年代，就向是结构化的软件开发对于70年代那样让人着迷，而且OO的发展势头还在日益加速。&nbsp;<br /><br />　　诸如&ldquo;对象&rdquo;和&ldquo;对象的属性&rdquo;这样的概念，可以一直追溯到1950年代初。它们首先出现于关于人工智能的早期著作中。然而，OO的实际发展却是始于1966年 (当年文化大革命在中国爆发) 。 当时Kisten Nygaard和Ole-Johan Dahl开发了具有更高级抽象机制的Simula语言。Simula提供了比子程序更高一级的抽象和封装；为仿真一个实际问题，引入了数据抽象和类的概念。 大约在同一时期，Alan Kay正在尤他大学的一台个人计算机上努力工作，他希望能在其上实现图形化和模拟仿真。尽管由于软硬件的限制，Kay的尝试没有成功，但他的这些想法并没有丢失。70年代初期，他加入了Palo Alto研究中心(PARC)，再次将这些想法付诸实施。&nbsp;<br /><br />　　在PARC,他所在的研究小组坚信计算机技术是改善人与人、人与机器之间通讯渠道的关键。在这信念的支持下，并吸取了Simula的类的概念，他们开发出Smalltalk语言；1972年PARC发布了Smalltalk的第一个版本。大约在此时，&ldquo;面向对象&rdquo;这一术语正式确定。Smalltalk被认为是第一个真正面向对象的语言。 Smalltalk 的目标是为了使软件设计能够以尽可能自动化的单元来进行。在Smalltalk中一切都是对象-----即某个类的实例。最初的Smalltalk的世界中，对象与名词紧紧相连。Smalltalk还支持一个高度交互式的开发环境和原型方法。这一原创性的工作开始并未发表，只是视为带浓厚试验性质的学术兴趣而已。&nbsp;<br /><br />　　Smalltalk-80是PARC的一系列Smalltalk版本的总结，发布于1981年。1981年8月的&lt;&lt;BYTE&gt;&gt;杂志公布了Smalltalk开发组的重要结果。在这期杂志的封面图上，一个热气球正从一个孤岛上冉冉升起来，标志着PARC的面向对象思想的启航。该是向软件开发界公开发表的时候了。起初，影响只是渐进式的，但很快就跃升到火爆的程度。热气球确实启航了，而且影响深远。早期Smalltalk关于开发环境的研究导致了后来的一系列进展：窗口（window），图标（icon）,鼠标(mouse)和下拉式window环境。Smalltalk语言还影响了８０年代早期和中期的面向对象的语言，如：Object-C(1986), C++(1986), Self(1987),Eiffl(1987),Flavors(1986). 面向对象的应用领域也被进一步拓宽。对象不再仅仅与名词相联系，还包括事件和过程。1980 Grady Booch首先提出面向对象设计（OOD）的概念。然后其他人紧随其后，面向对象分析的技术开始公开发表。1985年，第一个商用面向对象数据库问世。1990年代以来，面向对象的分析、测试、度量和管理等研究都得到长足发展。目前对象技术的前沿课题包括设计模式(design patterns)、分布式对象系统和基于网络的对象应用等。&nbsp;<br /><br />2 动因&nbsp;<br />　　为什么面向对象运动发展到了现在这样火暴的程度？部分是源于人们长久以来的一个希望：人们希望它，象以前其他的软件开发技术一样，能够满足软件开发对于生产效率、可靠性、易维护性、易管理等方面的更高、更快、更强的迫切需求。除此之外，还有许多原因都促使了它的流行。&nbsp;<br /><br />　　面向对象的开发强调从问题域的概念到软件程序和界面的直接映射；心理学的研究也表明，把客观世界看成是许多对象更接近人类的自然思维方式。对象比函数更为稳定；软件需求的变动往往是功能相关的变动，而其功能的执行者----对象----通常不会有大的变动。另外，面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和封装。在一个对象内部的修改被局部隔离。面向对象开发的软件易于修改、扩充和维护。&nbsp;<br /><br />　　面向对象也被扩充应用于软件生命周期的各个阶段---从分析到编码。而且，面向对象的方法自然而然地支持快速原型法和RAD(Rapid Application Development)。面向对象开发的使用鼓励重用，不仅软件的重用，还包括分析、设计的模型的重用。更进一步，OO技术还方便了软件的互换性，即，网络中一个节点上应用能够利用另一个节点上的资源。面向对象的开发还支持并发、层次和复杂等一些在目前的软件系统中常见的现象。今天我们常常会需要建造一些软件系统----不止是一黑盒应用。这些复杂系统通常包含由多个子系统组成的层次结构。面向对象的开发支持开放系统的建设；利用不同的应用来进行软件集成有了更大的柔性。最后，面向对象开发的使用可以减小开发复杂系统所面临的危险，主要是因为系统集成遍布软件生命周期的各个阶段。&nbsp;<br /><br />3 面向对象的建模&nbsp;<br />　　面向对象的建模不仅仅是新的编程语言的汇总。它是一种新的思维方式，一种关于计算和信息结构化的新思维。面向对象的建模，把系统看做是相互协作的对象，这些对象是结构和行为的封装，都属于某个类，那些类具有某种层次化的结构。系统的所有功能通过对象之间相互发送消息来获得。面向对象的建模可以视为是一个包含以下元素的概念框架：抽象、封装、模块化、层次、分类、并行、稳定、可重用和可扩展性。&nbsp;<br /><br />　　面向对象的建模的出现并不能算是一场计算革命。更恰当地讲，它是面向过程和严格数据驱动的软件开发方法的渐进演变结果。软件开发的新方法受到来自两个方面的推动：编程语言的发展和日趋复杂的问题域的需求驱动。尽管在实际中分析和设计在编程阶段之前进行，但从发展历史看却是编程语言的革新带来设计和分析技术的改变。同样，语言的演变也是对计算机体系的增强和需求的日益复杂的自然响应。&nbsp;<br /><br />　　影响OO产生的诸多因素中，最重要的可能要算是编程方法的进步了。在过去的几十年中，编程语言中对抽象机制的支持已经发展到了一个较高的水平。这种抽象的进化从地址（机器语言）到名字（汇编语言），到表达式（第一代高级语言，如Fortran）,到控制（第二代高级语言，如Cobol），到过程和函数（第二代和早期第三代高级语言，如Pascal）,到模块和数据(晚期第三代高级语言，如modula),最后到对象（基于对象和面向对象的语言）。Smalltalk和其他面向对象语言的发展使得新的分析和设计的技术的实现成为可能。&nbsp;<br /><br />　　这些新的OO的技术实际上是结构化和数据库方法的融合。OO的方法中，小范围内对面向数据流的关注，如偶合和聚合，也是很重要的。同样，对象内部的行为最终也需要面向过程的设计方法。数据库技术中的实体-关系（ER图）的数据建模思想也在 OO的方法中得以体现。&nbsp;<br /><br />　　计算机硬件体系结构的进步，性能价格比的提高和硬件设计中对象概念的引入都对OO的发展产生了一定的影响。OO的程序通常要更加频繁地访问内存，需要更高的处理速度。他们需要并且也正在利用强大的计算机硬件功能。哲学和认知科学的层次和分类理论也促进了OO的产生和发展。最后，计算机系统不断增长的规模、复杂度和分布性都对OO技术起了或多或少的推动作用。&nbsp;<br /><br />　　因为影响OO发展的因素很多，OO技术本身还未成熟，所以在思想和术语上有很多不同的提法。所有的OO语言并非生而平等，他们在术语、概念的运用上也各不相同。尽管也存在统一的趋势，但就如何进行面向对象的分析、设计而言还没有完全达成共识，更没有统一的符号来描述这些活动。（说明：UML正在朝这方向努力） 但是，OO的开发已经在以下领域被证明是成功的：空中交通管理、动画设计、银行、商业数据处理、命令和控制系统、CAD、CIM、数据库、专家系统、图象识别、数学分析、音乐合成、操作系统、过程控制、空间站软件、机器人、远程通讯、界面设计和VLSI设计。毫无疑问，OO技术的应用已经成为软件工业发展的主流。&nbsp;<br /><br />4 面向对象编程&nbsp;<br />&lt;1&gt; 概念&nbsp;<br /><br />　　在面向对象编程中，程序被看作是相互协作的对象集合，每个对象都是某个类的实例，所有的类构成一个通过继承关系相联系的层次结构。面向对象的语言常常具有以下特征：对象生成功能、消息传递机制、类和遗传机制。这些概念当然可以并且也已经在其他编程语言中单独出现，但只有在面向对象语言中，他们才共同出现，以一种独特的合作方式互相协作、互相补充。&nbsp;<br /><br />过程化编程模式： 参数输入----- | 代 码 | ------结果输出&nbsp;<br /><br />为实现某个功能，参数被传入某个处理过程，最后传回计算结果。&nbsp;<br /><br />　 　| 对象------ 数据结构 面向对象编程模式：&nbsp;<br />界面 | 对象------ 和<br />　　 | 对象------ 操作&nbsp;<br /><br />　　OOP中，功能是通过与对象的通讯获得的。对象可以被定义为一个封装了状态和行为的实体；或者说是数据结构（或属性）和操作。状态实际上是为执行行为而必须存于对象之中的数据、信息。对象的界面，也可称之为协议，是一组对象能够响应的消息的集合。 消息是对象通讯的方式，因而也是获得功能的方式。对象受到发给他的消息后，或者执行一个内部操作（有时成为方法或过程），或者再去调用其他对象的操作。所有对象都是类的实例。类是具有相同特点的对象的集合，或者也可以说，类是可用于产生对象的一个模版。对象响应一个消息而调用的方法，由接受该消息的对象自己决定。 类可以以一种层次结构来安排。在这个层次结构中，子类可以从比他高的超类中继承得到状态和方法。当对象接收到一个消息后，寻找相应的方法的过程将在从该对象的类开始，并在该类所处的层次结构中展开，最后，直到找着该方法，或者什么也没找到（将会报错）。在某些语言中，一个给定的类可以从不止一个超类中继承，称之为多继承。如果采用动态联编，继承就导致了多态性。多态性描述的是如下现象：如果几个子类都重新定义了超类的某个函数（都用相同的函数名），当消息被发送到一个子类对象时，在执行时该消息会由于子类确定的不同而被解释为不同的操作。 方法也可以被包括在超类的界面中被子类继承，而实际上并不去真正定义他。这样的超类也叫抽象类。抽象类不能被实例化，因此也就只能被用于产生子类。&nbsp;<br /><br />&lt;2&gt; 语言&nbsp;<br /><br />面向对象的语言包含4个基本的分支：&nbsp;<br /><br />1 基于Smalltalk的; 包括smalltalk的5个版本，以Smalltalk-80为代表。&nbsp;<br /><br />2 基于C的; 包括 objective-C, C++, Java&nbsp;<br /><br />3 基于LISP的; 包括 Flavors, XLISP, LOOPS, CLOS&nbsp;<br /><br />4 基于PASCAL的。包括 Object Pascal, Turbo Pascal, Eiffel, Ada 95&nbsp;<br /><br />　　Simula实际上是所有这些语言的老祖宗。在这些OO语言中，术语的命名和支持OO的能力都有不同程度的差别。 尽管Smalltalk-80不支持多继承，它仍被认为是最面向对象的语言(the truest OO language)。<br /><br />　　在基于C的OO语言中，Object-C 是Brad Cox开发的，它带有一个丰富的类库，已经被成功用于大型系统的开发。C++是由贝尔实验室的Bjarne Stroustrup写的。它将C语言中的STRUCT 扩展为 具有数据隐藏功能的CLASS。多态性通过虚函数(virtual functions)来实现。C++ 2.0 支持多继承。在多数软件领域，尤其是Unix平台上，C++都是首选的面向对象编程语言。 同C和C++相类似的新一代基于Internet的面向对象语言Java是由Sun microsystems研制的。它于1995年伴随着Internet的崛起而风靡一时。用Java写的applets可以嵌入HTML中被解释执行，这使它具备了跨平台特性。Java和Ada一样支持多线程和并发机制，又象C一样简单、便携。<br /><br />　　基于LISP的语言，多被用于知识表达和推理的应用中。其中CLOS(Common LISP Object System)是面向对象LISP的标准版。<br /><br />　　在基于Pascal的语言中，Object Pascal是由Apple和Niklaus Wirth为Macintosh开发的,它的类库是MacApp。Turbo Pascal 是Borland公司以Object Pascal为范本开发的。<br /><br />　　Eiffel由交互软件工程公司的Bertrand Meyer于1987年发布的。它的语法类似Ada,运行于Unix环境。Ada在1983年刚出来时并不支持继承和多态性，因而不是面向对象的。到了1995年，一个面向对象的Ada终于问世，这就是Ada 95。<br /><br />　　除了上述的面向对象的语言之外，还有一些语言被认为是基于对象(Object-based)的。它们是：Alphard, CLU, Euclid, Gypsy, Mesa, Modula。<br /><br />5 面向对象的软件工程&nbsp;<br />生命周期&nbsp;<br /><br />　　尽管面向对象的语言正在取得令人激动的进展，但我们都知道，编码并非是软件开发中的问题的主要来源。相比之下，需求和分析的问题更加普遍，而且它们的纠错代价更加昂贵。因此， 对OO开发技术的关注就不能仅仅集中在编码上面，更应集中关心软件工程的其他方面。OO方法在处理复杂系统的分析和设计、分析和设计的重用方面的应用前景也是非常可观。如果我们承认OO的软件开发不仅仅局限于编码活动，那么就必须采用一种全新的开发模式，包括新的软件生命周期。 目前最常见的生命周期是&ldquo;瀑布&rdquo;模型（结构化）。它是在60年代末&ldquo;软件危机&rdquo;后出现的第一个生命周期模型。如下所示。<br /><br />分析 ----- 设计 ----- 编码 ----- 测试 ------ 维护<br /><br />　　如图所示，瀑布式生命周期的开发过程是顺序行进的；活动流向基本是单向的。它假设开发者在开发初期对系统的了解足够清楚。不幸的是，任何软件开发活动都不可避免地要涉及大量迭代过程，无论你事先是否安排。好的设计人员指的是那些能同时在抽象的层面和具体的细节上进行工作的实践家。总的来说，瀑布式生命周期的缺点表现在三个方面：&lt;1&gt; 后期的变化、迭代、改动困难 &lt;2&gt; 不支持重用 &lt;3&gt; 没有一个联系各个阶段的统一模型。<br /><br />　　面向对象的方法从问题模型开始，然后就是识别对象、不断细化的过程。它从本质上就是迭代的和渐增的。在这里，快速原型和反馈环路是必需的标准结构。开发过程就是一次次的迭代反复过程。随着迭代的进行，系统的功能不断完善。这里，传统的开发模式中在分析、设计和编码等各个阶段之间的明显界限变得模糊起来。其原因是因为对象的概念弥漫了整个开发过程。对象和它们之间的关系成为分析、设计和编码等各个阶段的共同表达媒介。开发的重心从编码向分析偏移，从功能为中心向数据为中心偏移。而且，面向对象开发的迭代和无缝性使得重用变得更加自然。<br /><br />　　近来，为改善面向对象开发的可管理性，玻姆(Boehm,1988)提出了一个结合了宏观和微观视角(macro &amp; microview)的螺旋开发模型。宏观包括3个阶段：1分析---发现和识别对象；2 设计---发明和设计对象；3 实施---创建和实现对象。每个宏观阶段都包含一些微观迭代活动。<br /><br />6 OOA和OOD<br />　　由于面向对象的技术还比较新，目前存在许多种面向对象的分析和设计方法。面向对象的分析(OOA)建立于以前的信息建模技术的基础之上，可以定义为是一种以从问题域词汇中发现的类和对象的概念来考察需求的分析方法。OOA的结果是一系列从问题域导出的&ldquo;黑箱&rdquo;对象。OOA通常使用&ldquo;剧情(scenarios)&rdquo;来帮助确定基本的对象行为。一个剧情是发生在问题域的一个连续的活动序列。在对一个给定的问题域进行 OOA时，&ldquo;框架&rdquo;(Frameworks)的概念非常有用。框架是应用或应用子系统的骨架，包含一些具体或者抽象的类。或者说，框架是一个特定的层次结构，包含描述某一问题域的抽象父类。当下流行的所有的OOA方法的一个缺点就是他们都缺乏一种固定的模式(formality)。<br /><br />　　在面向对象的设计(OOD)阶段,注意的焦点从问题空间转移到了解空间。OOD是一种包含对所设计系统的逻辑的和物理的过程描述，以及系统的静态和动态模型的设计方法(Booch,1994)。<br /><br />　　在OOA和OOD中，都存在着对重用性的关注。目前，OO技术的研究人员们正在尝试定义&ldquo;设计模式(design patterns)&rdquo;这一概念。它是一种可重用的&ldquo;财富&rdquo;，可以应用于不同的问题域。通常，设计模式指的是一种多次出现的设计结构或解决方案。如果对他们进行系统的归类，即可被重用，可以构成不同设计之间通信的基础。<br /><br />　　OOD技术实际上早于OOA技术而出现。目前在OOA和OOD已经很难画出一条清晰的界限。因此，下面的描述给出一些常用的OOA/OOD技术的（联合）概貌。<br /><br />　　Meyer 用语言作为表达设计的工具。(1988)<br /><br />　　Booch的OOD技术扩展了他以前在Ada方面的工作。他采用一种&ldquo;反复综合(round-trip gestalt)&rdquo;的方法，包括以下过程：识别对象，识别对象的语义，识别对象之间的关系，进行实施，同时包含一系列迭代。Booch是最先使用类图，类分类图，类模板和对象图来描述OOD的人(1991)。<br /><br />　　Wrifs-Brock's的OOD技术是由职责代理来驱动的。类职责卡(Class Responsibilities Cards)被用来记录负责特定功能的类。在确定了类及其职责之后，再进行更详细的关系分析和子系统的实施。(1990)<br /><br />　　Rumbaugh使用3种模型来描述一个系统：1 对象模型，描述系统中对象的静态结构；2 动态模型，描述系统状态随时间变化的情况；3 功能模型，描述系统中各个数据值的转变。对象图，状态转换图和数据流图分别被用于描述这3个模型。(1991)<br /><br />　　Coad和Yourdon采用以下的OOA步骤来确定一个多层OO模型（5个层次）：找出类和对象，识别结构和关系，确定主题，定义属性，定义服务。5个步骤分别对应模型的5个层次，即类和对象层，主题层，结构层，属性层和服务层。他们的OOD方法既是多层次的又是多方面的(multicomponent)。层次机构和OOA一样。多方面包括：问题域，人与人的交互，任务管理和数据管理。<br /><br />　　Ivar Jacobson 提出了Objectory方法(或Jacbson法)，一种他在瑞典Objective系统中开发的面向对象软件工程方法。Jacbson的方法特别强调了&ldquo;Use Case&rdquo;的使用。 Use Case成为分析模型的基础，用交互图(Interaction Diagram)进一步描述后就形成设计的模型。Use cases同时也驱动测试阶段的测试工作。到目前为止，Jacbson法是最为完整的工业方法。 （1992）<br /><br />　　以上所述的方法还有许多的变种，无法一一列出。近年来，随着各种方法的演变，它们之间也互相融合。1995年，Booch,Rumbaugh和Jacbson联手合作，提出了第一版的UML(Unified Modelling Language),一体化建模语言。(目前已经成为OO建模语言的事实标准)<br /><br />7 管理问题&nbsp;<br />　　当组织向面向对象的开发技术转向时，支持软件开发的管理活动也必然要有所改变。承诺使用OO技术即意味要改变开发过程，资源和组织结构。(Goldberg 1995) OO开发的迭代、原型以及无缝性消除了传统开发模式不同阶段之间的界限。新的界限必须被重新确定。同时，一些软件测度的方法也不在适用了。&ldquo;代码行数&rdquo;LOC(Lines of Code)绝对过时了。重用类的数目，继承层次的深度，类与类之间关系的数目，对象之间的耦合度，类的个数以及大小显得更有意义。在OO的软件测度方面的工作还是相当新的，但也已经有了一些参考文献。(Lorenz 1993)<br /><br />　　资源分配和人员配置都需要重新考虑。开发小组的规模逐步变小，擅长重用的专家开始吃香。重点应该放在重用而非LOC上。重用的真正实现需要一套全新的准则。在执行软件合同的同时，库和应用框架也必须建立起来。长期的投资策略，以及对维护这些可重用财富的承诺和过程，变的更加重要。<br /><br />　　至于软件质量保证，传统的测试活动仍是必须的，但它们的计时和定义必须有所改变。例如，将某个功能&ldquo;走一遍&rdquo;将牵涉到激活一个剧情(scenario),一系列对象互相作用，发送消息，实现某个特定功能。测试一个OO系统是另一个需要进一步研究的课题。发布一个稳定的原型需要不同与以往控制结构化开发的产品的配置管理。<br /><br />　　另一个管理方面要注意的问题是合适的工具支持。一个面向对象的开发环境是必须的。同时需要的还包括：一个类库浏览器，一个渐增型编译器，支持类和对象语义的调试器，对设计和分析活动的图形化支持和引用检查，配置管理和版本控制工具，以及一个象类库一样的数据库应用。<br /><br />　　除非面向对象开发的历史足以提供有关资源和消耗的数据，否则成本估算也是一个问题。计算公式中应该加入目前和未来的重用成本。最后，管理也必须明白在向面向对象方法转变的过程中要遇到的风险。如消息传递、消息传递的爆炸增长、动态内存分配和释放的代价。还有一些起步风险，如对合适的工具，开发战略的熟悉，以及适当的培训，类库的开发等。<br /><br />8 向面向对象转变&nbsp;<br />　　这个转变的时期可能相当长。培训是必须的。一个实验性质的向导项目也是有必要的。建议不要使用结构化和面向对象像结合的办法。越来越多的证据表明，成功需要完全的 OO解决方案.&nbsp;<br /><br />9 未来<br />　　总的来说，面向对象的技术是以前的软件开发技术自然演进的成果，对许多应用领域的软件开发都极具前途。借用Maurice Wilkes在他图灵奖颁奖仪式上的演讲的话：&ldquo;对象是软件界从70年代以来最激动人心的革新之一。&rdquo; (1996) 然而，面向对象的开发并非是包医百病的灵丹妙药，其发展还远未成熟。可是尽管OO技术的未来还未确定，但在90年代初期的一些预言都已实现。(Winblad 1990) 类库和应用程序框架在市场上已经可用。应用和环境之间的透明信息存取业已实现。支持用户在应用之间通信的的环境以及面向对象的继承多媒体工具包正在涌现。随着经验的积累，OO的发展将日渐流行，OO技术也将日趋成熟。当然，OO技术也有可能为某种处理更高一级抽象的开发技术取代或融合。这些都只是猜想。虽然在不远的将来，谈论对象无疑会显得过时，但现在，还有许多的问题等着我们去付出真正的热情。<br /><br /><a href="http://et.21cn.com/movie/pinglun/2003/08/25/1243146.shtml">http://et.21cn.com/movie/pinglun/2003/08/25/1243146.shtml</a><img src ="http://www.blogjava.net/bluesky/aggbug/30455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-13 14:42 <a href="http://www.blogjava.net/bluesky/archive/2006/02/13/30455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>巴以冲突</title><link>http://www.blogjava.net/bluesky/archive/2006/02/13/30424.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Mon, 13 Feb 2006 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/13/30424.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30424.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/13/30424.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30424.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30424.html</trackback:ping><description><![CDATA[<p style="TEXT-INDENT: 2em">正当新世纪伊始，巴以领导人同克林顿(<a class="blue" href="http://news.tom.com/renwu/kelindun/" target="_blank">专题</a>，<a class="blue" href="http://news.tom.com/pic/renwu/kelindun/" target="_blank">图库</a>)就和谈&ldquo;新建议&rdquo;进行紧锣密鼓磋商之时，约旦河西岸和加沙地带却依旧硝烟弥漫，干戈迭起。21世纪的曙光虽然照到了世界大地，但却难以驱散长期厚积于巴以上空的阴霾。 </p>
<p>
<table cellspacing="2" cellpadding="2" align="left" border="0">
    <tbody>
        <tr>
            <td>
            <script src="http://ad.tom.com/tomad/news/worldnewspip.js" type="text/javascript"></script>
            </td>
        </tr>
        <tr>
            <td height="3">&nbsp;</td>
        </tr>
        <tr>
            <td>
            <script src="http://ad.tom.com/tomad/news/text-world.js" type="text/javascript"></script>
            </td>
        </tr>
    </tbody>
</table>
　　回眸巴以争端，已有百年历史。俗话说，冤有头，债有主。巴以之间的一切恩怨、纷争乃至流血冲突，皆因争夺生存空间&mdash;&mdash;&mdash;土地而引起的。历史的积怨和现实的利益，酿成了老祖宗同为闪族的阿拉伯人和犹太人的&ldquo;兄弟阋墙&rdquo;。 </p>
<p>　　巴以争端有其历史渊源。巴勒斯坦地区位于约旦河与地中海之间，在《圣经》中有&ldquo;到处流着奶和蜜&rdquo;的肥沃热土之称。巴勒斯坦古称迦南地，迦南人在这里繁衍生息，迄今大约有5000年的历史。而犹太人原属生活在阿拉伯半岛的闪族的一个部落，居住在今天的伊拉克(<a class="blue" href="http://news.tom.com/feature/meiyi.html" target="_blank">专题</a>，<a class="blue" href="http://news.tom.com/pic/yizhan/" target="_blank">图库</a>)巴士拉地区。公元前18世纪，他们在部族领袖亚伯拉罕的带领下，沿着底格里斯河与幼发拉底河之间的商路开始迁徙，辗转于叙利亚地区，最后扎根于当时已有较高文明水平的迦南地，同当地的土著人和睦相处。 </p>
<p>　　经过几个世纪的休养生息，犹太人逐渐发展壮大起来，并于公元前11世纪建立了以色列国。然而，到了公元前926年，统一的以色列国一分为二，北部的叫做以色列王国，南部的称做犹太王国。两个犹太人王国控制了巴勒斯坦地区。公元前722年和586年，两个王国分别被亚术帝国和巴比伦帝国所灭。此后，巴勒斯坦地区又先后被波斯、希腊和罗马征服。直至公元135年，犹太人不甘奴隶处境，举行了武装起义。起义失败后，犹太人被迫背井离乡流散世界各地，留下来的人数大大减少，失去了在巴勒斯坦地区的优势。 </p>
<p>　　公元7世纪，阿拉伯帝国占领巴勒斯坦，当地居民大多皈依伊斯兰教，并与陆续迁入的阿拉伯人融合在一起，形成巴勒斯坦地区的阿拉伯人，即巴勒斯坦人。从此，他们世世代代居住了下来。虽然流散他乡，但犹太人从来没有放弃重回故土的念头。他们一直认为，巴勒斯坦是他们的&ldquo;根&rdquo;，是祖先从&ldquo;上帝&rdquo;那里得到的&ldquo;应许之地&rdquo;。19世纪末，&ldquo;犹太复国主义&rdquo;运动大规模兴起，流落在世界各地的犹太人纷纷踏上回归之路，返回巴勒斯坦地区定居。从此，阿犹两族便开始了长达百年的土地争夺大战。 </p>
<p>　　英国殖民主义的分治政策，对巴以争端的发展起了推波助澜的作用。巴以争端之初，摩擦仅仅围绕对土地的占有、草场的放牧、邻里间生活习俗的差异等小打小闹的非政治性问题，但是，自英国托管起，巴以两族的冲突就发展成了&ldquo;谁是巴勒斯坦的主人&rdquo;的矛盾。巴勒斯坦人是古迦南人的后裔，几千年来他们一直在此生息繁衍，自然是巴勒斯坦这块地区的主人；而犹太人则主张他们才是巴勒斯坦的真正主人，他们的祖先曾在这里生活了2000年，并建立过强盛的王国。第一次世界大战前，英帝国为了自己的利益，首先于1915年在《麦克马洪书简》中许诺阿拉伯在大战结束后建立阿拉伯国。然而，它又于1917年11月发表了《贝尔福宣言》，明确同意在巴勒斯坦建立&ldquo;犹太民族之家&rdquo;。英国的两面派政策，大大激化了要保卫家园的巴勒斯坦人和要在巴勒斯坦复国的犹太人之间的矛盾。19 47年4月，由于无力继续其统治，英国把巴勒斯坦问题提交联合国。在美、英、苏、法等国的操纵下，联合国大会不顾阿拉伯国家的反对，作出了分治巴勒斯坦的 181号决议，规定在巴勒斯坦地区同时建立犹太国和阿拉伯国，并对领土作出了偏向犹太人的具体划分。根据决议，犹太人分得土地1．52万平方公里，阿拉伯人只得到1．115万平方公里，面积约176平方公里的耶路撒冷城由联合国管理。 </p>
<p>　　1948年5月14日，以色列国宣告成立，而阿拉伯国则因当时的阿拉伯国家一致反对181号决议而未能成立。以色列国成立的第二天，埃及、约旦、叙利亚、黎巴嫩和伊拉克等阿拉伯5国发动了讨伐以色列的第一次中东战争。巴以争端从较小规模的争斗演变成了大规模的流血冲突，巴勒斯坦人和犹太人之间的仇怨越结越深，巴以争端也成了世界上持续时间最长、最为复杂的地区难题。&nbsp;<br /><br />1973年10月6日，斋月初十。吃过开斋饭的开罗民众与往年一样，照例平静祥和地过着自己的斋月之夜：有的到清真寺祈祷、颂经，有的在咖啡馆里聊天&hellip;&hellip; 。 </p>
<p>　　然而，到了半夜时分，埃及电台、电视台突然中断正常节目，开始&ldquo;莫名其妙&rdquo;地播放起鼓动人心的军乐。不一会儿，家家户户的收音机、电视机里传出埃及军队向以军发动大举进攻的消息：他们以迅雷不及掩耳之势，在枪林弹雨中强渡了苏伊士运河，冲破了被以色列吹嘘为&ldquo;固若金汤&rdquo;的巴列夫防线，向西奈半岛腹地挺进。 </p>
<p>　　一时间，开罗沸腾了！埃及沸腾了！全世界被震惊了！ </p>
<p>　　这就是著名的十月战争。为了打破长时间的&ldquo;不战不和&rdquo;的局面，当时的埃及总统萨达特和叙利亚总统阿萨德联手，从西奈和戈兰高地两条战线对以色列发动了闪电战。 </p>
<p>　　这次持续近两周的阿以大战，阿拉伯方面虽然先胜后败，但是，以军巴列夫防线一度被突破和以军开始的惨败，打破了&ldquo;以色列不可战胜&rdquo;的神话，鼓舞了阿拉伯人的士气。同时，这场战争引起了国际社会对阿以冲突的高度重视，揭开了政治解决阿以冲突的新纪元。 </p>
<p>　　自以色列建国以来，阿以之间可谓战火绵绵。小打小闹的流血冲突多不胜数，而规模较大的大仗就打过4次。除了作为第四次中东战争的十月战争，还有另外 3次。第一次中东战争发生在1948年5月至1949年2月，当时，埃及、约旦、叙利亚、黎巴嫩、伊拉克等国共同对付以色列。根据被阿拉伯国家拒绝的联合国181号巴勒斯坦分治决议，以色列5月14日宣布建国。翌日，阿拉伯5国联合出动军队对新生的以色列发动了进攻。这场战争以肢解联大181号决议分给巴勒斯坦的土地而告终，拟议中的巴勒斯坦国被以、埃、约三国分割，所以又称巴勒斯坦战争。作为胜利者的以色列又夺去了6000多平方公里；埃及占领了加沙地带约340平方公里；约旦占领了约旦河西岸和耶路撒冷老城，共5000多平方公里。这次瓜分使巴勒斯坦建国的梦想完全破灭，近百万巴勒斯坦人被赶出家园，流落到约旦、叙利亚、黎巴嫩等周边阿拉伯国家，沦为无家可归的难民。在以色列控制的2万多平方公里的土地上，只剩下16万巴勒斯坦人。 </p>
<p>　　在第一次中东战争中捞得不少实惠的以色列，很快又在被称为苏伊士运河战争的第二次中东战争中获利。尽管在持续9天的较量中，以色列在政治上失分不少，但它却凭借英法两国的鼎力相助打开了南部的通道，实现了亚喀巴湾的自由航行，从而把阿拉伯精心打造的对以包围圈撕开了一个缺口。 </p>
<p>　　尽管在前两次战争中以色列巩固和夯实了自己的实力基础，并站稳了脚跟。但是，在它看来，并没有完全实现自己的雄心，在1967年6月5日爆发的第三次中东战争中，以色列先发制人，一举击败了埃及、叙利亚、约旦三国联军。这一战，以色列可谓战果累累，不仅占领了整个巴勒斯坦地区以及埃及的西奈半岛和叙利亚的戈兰高地，使其控制区扩大到87721平方公里。同时，以军还达到了炫耀武力的目的，打出了&ldquo;以色列不可战胜&rdquo;的神话。这多少给阿拉伯国家在心理上造成了负担。的确，当时人口约1．2亿的阿拉伯国家竟然未能打败只有200多万人口的以色列，不能不说是一个&ldquo;奇迹&rdquo;。&ldquo;十室几人在，千山空自多&rdquo;。这场战争，又使近50万巴勒斯坦人被迫离乡背井，沦为新的&ldquo;世界难民&rdquo;。 </p>
<p>　　&ldquo;战伐乾坤破，疮痍府库贫&rdquo;。中东战争极大地消耗了以色列和阿拉伯国家的实力。据统计，仅4次中东战争参战各方投入的费用及造成的损失累计超过了5 000亿美元，伤亡人数在16万以上。&nbsp;<br /><br />有道是，&ldquo;乱世出英雄&rdquo;。自从以色列建国、巴勒斯坦人被赶出家园的时候起，巴勒斯坦的仁人志士就一直没有停止过斗争。五六十年代，随着全世界民族主义运动的风起云涌，在巴勒斯坦解放组织的领导下，巴勒斯坦人民在境内外开展着各种各样的斗争。在这漫长的血与火洗礼的战争岁月里，巴勒斯坦民族解放运动(简称&ldquo;法塔赫&rdquo;)应运而生，并作为巴勒斯坦人民的合法代表登上了国际舞台。而<a class="blue" href="http://news.tom.com/renwu/alafate/" target="_blank">阿拉法特</a>&mdash;&mdash;&mdash;这个被人们称为&ldquo;巴勒斯坦的希望之星&rdquo;的传奇人物，也开始在抗以斗争中脱颖而出，威震中东大地。 </p>
<p>　　阿拉法特1929年生于耶路撒冷。在1948年的第一次中东战争中，血气方刚的阿拉法特冲在了反以斗争的前列。战败后举家逃往埃及，后定居加沙地带。1950 年，阿拉法特进入开罗大学攻读土木建筑工程，毕业后到科威特找了一个活干。 1961年，他在科威特与战友阿布&middot;杰拉德等人秘密筹建了&ldquo;法塔赫&rdquo;及其军事机构&ldquo;暴风突击队&rdquo;，接着率领&ldquo;暴风突击队&rdquo;在被占领土打响了对以武装斗争的第一枪。从此，阿拉法特领导的巴勒斯坦解放运动在中东大地如火如荼，谱写了一曲可歌可泣的&ldquo;救亡建国&rdquo;之歌。 </p>
<p>　　&ldquo;自古英雄多磨难&rdquo;。阿拉法特这位极有传奇色彩的巴勒斯坦领导人，在领导武装斗争的战场上出生入死，多次在敌人的暗算中化险为夷。在政治斗争和武装斗争时期，他始终是以色列情报机构&ldquo;摩萨德&rdquo;的头号暗杀目标。 </p>
<p>　　众所周知，以色列的&ldquo;摩萨德&rdquo;堪称世界一流情报机构，其活动范围之广、手段之高明、行动之诡秘，让人惊叹。1985年10月1日，以色列在得到&ldquo;摩萨德&rdquo; 的确切情报后，旋即出动8架F&mdash;16战斗机和两架波音707武装空中加油机，长途奔袭了突尼斯首都南郊的巴解组织总部所在地。这一次，阿拉法特也奇迹般地躲过了谋杀。不知是&ldquo;鬼使神差&rdquo;，还是&ldquo;吉人自有天相&rdquo;？，原计划9月30日晚上回总部的阿拉法特，因临时紧急任务未能按时返回，让&ldquo;摩萨德&rdquo;扑了个空。然而，在阿拉法特那充满坎坷曲折、命运多舛的人生旅途中，最大的一次厄难当属19 92年4月7日的空中飞行了。当时，阿拉法特访问苏丹后乘一架&ldquo;安&mdash;26&rdquo;双引擎飞机前往利比亚南部的萨拉地区，准备视察设在那里的巴勒斯坦游击队训练营地。当飞机进入利比亚领空后，突然遇上了50年不遇的特大沙暴，飞机不得不迫降在沙漠之中。由于天气恶劣，失去了控制的飞机，如同断线的风筝，一头扎进了沙丘，机身断成三截。机组人员和部分随行人员不幸遇难，而阿拉法特却只擦破了一点皮。 </p>
<p>　　阿拉法特还有许多与常人不同之处，就连他的婚姻和家庭也带有浓烈的传奇色彩。据说，阿拉法特青年时期曾有过恋人。但是，脑袋掖在裤腰带上的他，为了巴勒斯坦的民族解放事业依然放弃了结婚成家的念头，作出终身不娶的决定。数十年的风雨中，他一直过着独身的生活，自称&ldquo;巴勒斯坦事业就是他的妻子和恋人&rdquo;。当然，阿拉法特也并非不食人间烟火，他也是有血有肉的人。1988年，巴解决定放弃武装斗争，走和谈之路。不久，他结识了比他小34岁的苏哈，并于 1991年底才结成良缘。1995年7月，阿拉法特老年得女。 </p>
<p>　　阿拉法特平易近人，生活简朴。多年来，他始终身着墨绿色咔叽布军装、头戴一方黑白格阿拉伯头巾、脚穿一双棕色皮靴，保持着&ldquo;巴勒斯坦突击队员&rdquo;的形象。如今，这位<a class="blue" href="http://news.tom.com/hot/nuobeier2003/" target="_blank">诺贝尔</a>和平奖获得者虽然已不在战场上赴汤蹈火，但却仍在为实现巴以永久和平而奔波忙碌着。 </p>
<p>
<paeg></paeg>
</p>
<p>1993年9月13日，巴解组织执委会主席阿拉法特和以色列时任总理拉宾这两位昔日的死对头终于走到了一起。在华盛顿白宫的南草坪，阿拉法特在热烈的掌声中主动向拉宾伸出和解之手，拉宾立即予以回应，两人的手长时间握在一起。这时，在一旁鼓掌的美国总统克林顿也情不自禁地将手放在他们紧紧握着的手上。这一震动世界的历史性握手，标志着长达半个世纪的巴以对立关系开始走向和解。巴以和谈正式启动，给中东地区的和平带来了希望。 </p>
<p>　　经过近百年的争斗和几十年的腥风血雨，巴勒斯坦和以色列最终认识到：彼此谁也吃不掉谁。以色列不能通过战争征服巴勒斯坦和阿拉伯人民，而巴勒斯坦和阿拉伯国家也不能把以色列&ldquo;赶到大海里去&rdquo;。在国际形势发生根本变化的二十世纪90年代初，巴以终于&ldquo;铸剑为犁&rdquo;，走上了和平解决百年恩怨的道路。 </p>
<p>　　在谈到以巴以和谈为核心的中东和平进程的时候，人们不会忘记和平进程的先驱&mdash;&mdash;&mdash;埃及已故总统萨达特。萨达特从第二次世界大战起便参加埃及人民反抗英国殖民主义占领的斗争。作为军人出身的萨达特，曾经指挥军队同以色列征战几十年，最后终于作出了同以色列和平解决领土纠纷的抉择：1977年他主动出访以色列，在国际社会的帮助下，通过艰难谈判于1978年同以色列总理贝京达成了&ldquo;戴维营协议&rdquo;，并于1979年签署&ldquo;埃以和约&rdquo;，收回了&ldquo;六&middot;五&rdquo;战争中失去的西奈半岛，开创了&ldquo;以土地换和平&rdquo;的解决领土纠纷的先河。由于对中东和平事业作出的突出贡献，他被授予1978年诺贝尔和平奖。萨达特虽然1981年10月 6日在接受军事检阅时不幸遇刺身亡，但埃及人民、全体阿拉伯人民和世界人民永远不会忘记他，每年人们自发地向开罗萨达特墓献上的鲜花就是明证。 </p>
<p>　　阿拉法特和拉宾沿着萨达特和贝京的足迹继续前行。阿拉法特不顾反对派的反对和激进派的劝阻，团结和调动积极力量，毅然走上了同以色列媾和的道路。拉宾也不顾国内反对党和极右势力的阻拦，以大无畏的精神承认了巴解组织。在 1993年9月9日交换的信件中，阿拉法特承认以色列在和平与安全中生存的权利，拉宾则回应承认巴解组织为和平谈判的巴勒斯坦人代表。 </p>
<p>　　被誉为&ldquo;和平缔造者&rdquo;的拉宾，在战争年代也曾是以色列一位叱咤风云的&ldquo; 战神&rdquo;。他1922年生于耶路撤冷，被称做&ldquo;土生土长的犹太人&rdquo;，少年时期就参加了犹太地下组织，1944年担任犹太特攻部队的副司令官，1948年在第一次中东战争中指挥过进攻耶城之战。1964年出任以军参谋长，1967年&ldquo;六&middot;五&rdquo;战争中与当时的国防部长达扬一起指挥战争。翌年进入政界，曾任以色列驻美大使、劳工部长、议员、国防部长和两任内阁总理。在1992年6月24日，作为工党领袖的拉宾再度当选以色列总理后，由于在巴以和谈中向巴方作出了一些让步，遭到反对党利库德集团和以国内极右势力的反对。1995年11月4日夜晚，拉宾在位于特拉维夫市中心的国王广场向10万人和平集会发表演说时，被以色列一右翼极端分子开枪击中，诀别了中东和平进程。对拉宾的不幸遇刺，以色列全国沉浸在极度悲痛之中，当拉宾的遗体停放在耶城的议会大厦前的时候，仅有500多万人口的以色列竟有100多万人前往那里向其告别。拉宾的遗体葬在以色列国家公墓&mdash;耶路撒冷的赫茨尔山。 </p>
<p>　　阿拉法特和拉宾因他们的&ldquo;历史性握手&rdquo;而同获1994年诺贝尔和平奖。拉宾 &ldquo;壮志未酬身先死&rdquo;，未能走完巴以和平之路。但人们相信，和平&mdash;&mdash;&mdash;巴以人民心中永恒的梦想，总有一天会得以实现。&nbsp;<br /><br /></p>
<p>2000年9月28日，以色列反对党利库德集团领导人<a class="blue" href="http://news.tom.com/renwu/shalong/" target="_blank">沙龙</a>不顾巴勒斯坦方面的反对，强行&ldquo;造访&rdquo;坐落在耶路撒冷老城的伊斯兰第三大圣地阿克萨清真寺。这一明目张胆亵渎伊斯兰圣地的挑衅行为，引起阿拉伯世界和全体穆斯林的极大愤慨。巴勒斯坦人立即作出回应，以各种方式对以色列发泄不满；以色列则出动军队对巴平民进行镇压。这导致了1987年巴勒斯坦大起义以来巴以之间规模最大的流血冲突。截至目前，已有300多人丧生，上万人受伤，其中绝大多数是巴勒斯坦平民，而冲突仍在时断时续地进行着。 </p>
<p>　　和平进程不进则退。此番流血冲突，导火索是沙龙一手点燃的，其实质却是戴维营峰会失败后巴以最终地位谈判没有进展的后果。沉淀了50多年的巴以争端过于沉重和复杂。去年7月巴以美峰会的失败，给急切希望达成巴以和平协议的巴勒斯坦民众泼了一瓢冷水。经过半个世纪战争和流离失所折磨的巴勒斯坦人，盼望尽早收复5次中东战争中失去的土地和其他民族权利，并早日建立自己独立的国家。因此，他们对承诺年内解决巴以冲突的巴拉克抱有过高的期望值。对巴以和谈难度估计不足的巴拉克，确实在竞选中作出过许诺，乐观地声称用一年多的时间彻底解决巴以争端，于2000年9月13日签署巴以和约，实现巴以之间的永久和平。巴拉克上台后，的确在积极推动巴以和谈、启动最终地位谈判方面作了不少工作，巴以和平进程也确实取得了不容忽视的进展。为了呼应巴拉克的行动，巴解组织中央委员会把原定1999年5月4日的建国日期推迟到2000年9月13日。然而，至关重要的戴维营峰会的失败，使和约的签署遥遥无期，巴勒斯坦建国也将面临困难，巴解不得不宣布再次推迟建国的日期。这一切使巴勒斯坦人大失所望。而以色列右翼势力又认为巴拉克让步过大，必须加以阻止。在这样的前提下，沙龙以进入圣地的形式放了一把火，点燃了这次流血冲突的导火索。接着，以方和巴方领导人都不够冷静，采取了一些过火的行动：巴方释放了一批被关押的哈马斯和圣战组织成员；以军动用飞机、火炮、坦克、导弹等重武器，对手中只有石块和弹弓的巴平民进行攻击。于是，冲突失去控制，愈演愈烈，一发不可收拾。 </p>
<p>　　已经持续了4个多月的巴以流血冲突，给巴以和谈的再次恢复制造了难以逾越的障碍。冲突之初，埃及等阿拉伯国家和包括联合国在内的国际社会积极进行斡旋。在联合国秘书长<a class="blue" href="http://news.tom.com/renwu/annan/" target="_blank">安南</a>等人的调解努力下，促成了沙姆沙伊赫多国首脑会议的召开，阿拉法特和巴拉克都在会上表示尽快制止冲突、恢复巴以和谈。然而，时间一天天过去了，停火协议并未得到执行，冲突未能得到平息，和谈也未能步入稳健的轨道。 </p>
<p>　　巴以旷日持久的流血冲突，自然会给中东局势带来极为不利的影响。但是，人们普遍认为，巴以和平进程不会就此消亡，中东局势也不会因此而失控，以致导致局部战争。首先，巴以双方从领导人到绝大多数公民都不愿再回到暴力年代。通过7年的谈判，巴勒斯坦已建立了国家政权的雏形&mdash;&mdash;&mdash;民族权力机构，已经拥有加沙地带60％和约旦河西岸42．9％的土地(含联合控制区)。巴方绝不会轻易放弃来之不易的和谈成果。以方也不愿既得的安全保障和和平环境丧失于一旦，为了获取被阿拉伯人包围的以色列人的生存安全，它不会轻易放弃和谈旗帜。其次，多数阿拉伯国家也不愿再同以色列兵戎相见。再者，在和平与发展成为当今世界主题的情况下，包括美国在内的国际社会也希望有一个和平的中东。他们不仅不会推波助澜，还会尽量帮助巴以两国设法平息冲突，重开和谈。所以从目前情况看，巴以流血冲突演变成地区战争的可能性基本没有。　　&nbsp;<br /><br /></p>
<p>巴勒斯坦人民前赴后继、苦苦奋斗了半个世纪的建国目标，未能在20世纪实现。而由于目前巴以流血冲突迟迟未能平息，和谈迟迟难以恢复，与之息息相关的巴勒斯坦建国问题，也自然而然地被悬在空中，成了名符其实的&ldquo;跨世纪工程 &rdquo;。 </p>
<p>　　按照联合国181号决议，一个独立的巴勒斯坦国应该在1948年与以色列国同时建立。然而，由于决议对以色列的明显偏袒，遭到阿拉伯国家一致反对，巴勒斯坦国未能建立。尔后由于4次中东战争和巴以争端的激化，巴勒斯坦的建国问题整整推迟了40年，直到1988年11月才在巴勒斯坦全国委员会阿尔及尔会议上被正式提出。巴以和谈开始以后，根据巴以奥斯陆协议和巴以达成巴过渡自治阶段的安排，巴解组织宣布在5年过渡自治结束时，即1999年5月4日，在约旦河西岸和加沙地带建立以耶路撒冷为首都的、独立的巴勒斯坦国。1994年5月宣告成立的巴勒斯坦民族权力机构，成了未来巴勒斯坦国的雏形和组织基础；而在巴过渡自治阶段以色列军队陆续撤出的&ldquo;六&middot;五&rdquo;战争中夺走的巴勒斯坦土地，将成为未来巴勒斯坦国的国土。至此，一个具有国土和国家机器的巴勒斯坦国行将诞生；而这成为了巴勒斯坦人民在世纪之交的最大期盼。 </p>
<p>　　巴勒斯坦建国日期的第一次推迟，是在1999年5月建国既定日期的前夕。巴以和平进程的开拓者拉宾1995年遇刺身亡后，以色列右翼利库德集团领导人内塔尼亚胡次年出任总理。内氏上台后，虽然没有放弃巴以和谈的旗帜，但他在和谈中推行的&ldquo;三不主义&rdquo;(不谈耶路撒冷地位、不谈停建犹太人定居点、不谈巴勒斯坦建国)和拖延政策，致使巴以和谈停滞不前，并使他自己被迫提前下台，当然也耽搁了预定的巴勒斯坦建国日期。1999年5月当选总理的以色列工党领袖巴拉克，立志继承拉宾的遗志，决心推进巴以和谈，很快同阿拉法特建立了互信。巴拉克上台后，承诺用一年多的时间完成巴以和谈、签署和约。阿拉法特在国际社会的劝说下，从实际出发，放弃了单方面建国的设想，决定推迟建国日期。巴解中央委员会全会决定，新的建国日期改在2000年9月13日，也就是巴拉克承诺的巴以最终地位谈判结束、签署巴以和约的日子。 </p>
<p>　　去年7月，举世关注的戴维营巴以美峰会失败后，巴以和谈又陷入停滞状态。此后，双方都曾为打破僵局作出努力，但无济于事。在预定日期临近的时候，阿拉法特曾宣布巴方考虑单方面建国，当即遭到了以色列的坚决反对。巴拉克威胁说，如果巴方单方面宣布建国，就意味着巴以和谈的成果丧失殆尽，以色列将吞并属于谈判范围内的约旦河西岸和加沙地带的大片被占领土。2000年9月10日，巴解组织中央委员会在加沙举行全会，决定把原定9月13日的建国日期推迟到年底，具体时间将在11月15日的会议上视情况决定。这是在巴以和谈有可能完全破裂的紧急关头，巴勒斯坦领导人审时度势、从实际出发采取的明智之举。巴解能够作出这一艰难抉择，得到了美以的欢迎，赢得了希望中东稳定的国际社会的普遍同情和赞扬。 </p>
<p>　　然而由于尔后形势的急转直下，原定11月15日的巴解中央委员会会议未能如期召开。而久久不能平息的大规模巴以流血冲突和和谈的停滞不前，又使这一计划最终泡汤。这样一来，巴勒斯坦人的建国梦便跨过了世纪门槛。 </p>
<p>　　巴建国日期的一再推迟，无疑令巴勒斯坦人民大失所望。这个&ldquo;跨世纪工程 &rdquo;，何时完成仍是个未知数。&nbsp;<br /><br /><a href="http://news.tom.com/1003/2004514-906430.html">http://news.tom.com/1003/2004514-906430.html</a></p><img src ="http://www.blogjava.net/bluesky/aggbug/30424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-13 11:04 <a href="http://www.blogjava.net/bluesky/archive/2006/02/13/30424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中东问题</title><link>http://www.blogjava.net/bluesky/archive/2006/02/13/30419.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Mon, 13 Feb 2006 02:51:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/02/13/30419.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/30419.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/02/13/30419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/30419.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/30419.html</trackback:ping><description><![CDATA[政治概念上的中东问题系指阿拉伯国家（包括巴勒斯坦）与以色列之间的冲突问题，也称阿以冲突。中东问题是列强争夺的历史产物，也是世界上持续时间最长的地区热点问题，至今已半个多世纪。中东问题的核心是巴勒斯坦问题。<br />&nbsp;&nbsp; <strong>一、巴勒斯坦和以色列历史梗概</strong><br />&nbsp;&nbsp; 巴勒斯坦古称迦南，包括现在的以色列、加沙、约旦河西岸和约旦。巴勒斯坦最早的居民是迦南人。约四千年前，希伯来人、腓力斯人先后从幼发拉底－底格里斯两河流域和爱琴海沿岸迁至巴勒斯坦。希伯来人不断与迦南人和腓力斯人作战，于公元前1020年建立了第一个希伯来人的王国。从公元前八世纪至公元二十世纪初，巴勒斯坦一直处于大国侵略、占领和争夺之中。公元前586年，新巴比伦王国将大批犹太人掳到巴比伦。公元前538年，波斯帝国允许被掳的部分犹太人返巴。犹太人在耶路撒冷重建圣殿。公元135年，犹太人被罗马帝国彻底赶出巴，流散世界各地。公元637年，巴成为阿拉伯帝国的一部分，阿人不断移入，形成现代巴勒斯坦阿拉伯人。<br />&nbsp;&nbsp; 在十九世纪末，生活在欧洲的犹太知识分子发动犹太复国主义运动，并于1897年在赫茨尔领导下在瑞士的巴塞尔城召开犹太复国主义大会，成立了世界犹太复国主义组织。该组织的目标是&ldquo;在巴勒斯坦为犹太民族建立一个由公正法律所保障的犹太人之家&rdquo;。英国为保住在苏伊士运河的利益，并向中东腹地扩张，扶植利用犹太复国主义运动，以控制巴勒斯坦地区。1917年，英发表《贝尔福宣言》，&ldquo;赞成在巴勒斯坦建立一个犹太民族之家&rdquo;。1922年7月，国际联盟通过了英国对巴勒斯坦的&ldquo;委任统治训令&rdquo;。此后，世界各地的犹太人开始不断地移居巴勒斯坦。<br />&nbsp;&nbsp; 1947年11月29日，联合国大会以３３票同意、１３票反对、１０票弃权通过了分治巴勒斯坦的１８１号决议。该决议规定：在巴勒斯坦地区成立两个独立国家，将巴勒斯坦２．７万平方公里土地中的１．５２万平方公里划归以色列国。巴勒斯坦国的面积为１．１５万平方公里。因耶路撒冷是犹太教、基督教和伊斯兰教三大宗教的圣地，耶城国际化，由联合国托管，面积为１５８平方公里。以色列国于1948年5月14日建立，成为世界上唯一一个根据联合国决议建立的国家。由于阿拉伯、巴勒斯坦人反对这一决议，巴勒斯坦国一直未建立。以色列国成立的第二天就爆发了以色列和阿拉伯国家的战争，从此开始了阿以冲突的漫长历史。<br />&nbsp;&nbsp;<strong>二、阿以间的四次大规模战争</strong><br />&nbsp;&nbsp;第一次中东战争（又称巴勒斯坦战争）。 1948年5月15日（即以色列建国第二天），约旦、埃及、叙利亚、黎巴嫩和伊拉克等国为反对以色列建国，组织了阿拉伯军团对以色列发动圣战。此次战争以以色列胜利告终。结果是：以色列不仅保住了分治决议划定的１．５２万平方公里，还占领了划给巴勒斯坦人建国的６７００平方公里土地和耶路撒冷西区；约旦占领了约旦河西岸的４８００平方公里土地和耶路撒冷老城，埃及控制了加沙３５０平方公里的土地。<br />&nbsp;&nbsp; 第二次中东战争（又称苏伊士运河战争）。1956年7月26日，埃及总统纳赛尔宣布将英、法投资修建的苏伊士运河收归国有，英、法以向埃及发动侵略战争，占领西奈半岛，后于1957年3月撤出。<br />&nbsp;&nbsp; 第三次中东战争（又称六&middot;五战争）。随着阿以对峙加剧，埃及于1967年5月向西奈半岛增兵，并要求联合国驻西奈部队撤出，同时派兵占据加沙地带，封锁蒂朗海峡，禁止以色列船只和向以运送战略物资的船只在亚喀巴湾航行，以色列于6月5日突然出动所有作战飞机对埃及、叙利亚、约旦三国机场进行轰炸，同日以出动装甲部队分三路向西奈半岛推进，在第四天到达苏伊士运河东岸后，埃及被迫接受停火；6日以军重创约旦驻约旦河西岸部队，并于7日占领了约旦河西岸；9日，以军进攻叙利亚的戈兰高地，叙利亚于11日宣布接受停火。以色列在这次战争中占领了近７万平方公里的阿拉伯土地。 <br />&nbsp;&nbsp; 第四次中东战争（又称十月战争或赎罪日战争）。 为打破不战不和状态，收复失地，埃及与叙利亚等阿拉伯国家于1973年10月6日同时向以军发动袭击。 阿拉伯产油国以&ldquo;石油武器&rdquo;支持同以交战国。但由于美全力支持以，阿国未能获胜。<br />&nbsp;&nbsp; <strong>三、解决中东问题的和平努力</strong><br />（一）安理会第242号决议（1967年11月22日通过）：要求以色列撤出第二次中东战争中占领的领土，结束一切好战言论和交战状态，使难民问题得到公正解决。<br />&nbsp;&nbsp; 安理会第338号决议（1973年10月22日通过）：要求各方在停火后立即执行242号决议，并在适当方面主持下开始进行和平谈判。<br />&nbsp;&nbsp; 日内瓦和平会议（1973年10月21日）：联合国秘书长主持在日内瓦举行中东和会。阿拉伯方面抵制会议。<br />&nbsp;&nbsp; 联大第3236号决议（1974年11月22日）：确认巴勒斯坦人民享有自决权、独立主权以及返回家园的权利。<br />（二）埃及、以色列戴维营协议（1978年9月17日）：为打破与以长期敌对局面，1977年11月埃及总统萨达特访问以色列。1978年9月，埃、以首脑在美主持下在美戴维营达成和解协议，1979年3月签署和平条约，1980年2月两国建交。<br />（三）目前的中东和平进程始于马德里和会。1991年10月30日，由美、苏主持在西班牙首都马德里召开中东和会，以色列和叙利亚、黎巴嫩、约旦、巴勒斯坦等阿拉伯国家参加。会议决定在联合国242号和338号决议基础上，以&ldquo;土地换和平&rdquo;为原则，阿以进行双边和多边形式和谈，实现中东和平。之后至1993年9月，以与巴、约、叙在美的邀请下在华盛顿共举行了12轮谈判。接着巴以、约以、叙以和黎以分别进行了双边谈判，但由于1996年6月以总理内塔尼亚胡上台执政后，在中东问题上坚持顽固立场，推行&ldquo;三不&rdquo;政策，背弃以&ldquo;土地换和平&rdquo;的原则，而以&ldquo;安全换和平&rdquo;的原则取而代之，致使中东和平进程严重受挫。1999年5月巴拉克当选以新总理后,采取了较前积极的中东政策,并与巴方签署了执行怀伊协议的备忘录,阿以和平进程出现转机。<br />&nbsp;&nbsp; <strong>四、中国关于中东问题的主张</strong><br />&nbsp;&nbsp; 中国认为，中东地区的和平与稳定对维护世界的和平与发展有着积极的意义。中国积极支持中东和平进程，确信实现中东和平是该地区各国人民的共同愿望，符合该地区各国人民的根本利益，认为中东和平进程不断取得进展是地区各国安全的保障。我们认为联合国有关中东问题的决议和马德里和会确定的&ldquo;土地换和平&rdquo;原则是中东和谈的基础，有关各方切实执行已达成的决议和谅解是中东和谈摆脱僵局的关键。中国将一如既往地同国际社会一道为中东早日实现全面和公正的和平做出努力。<br />&nbsp;&nbsp; 中国一贯重视与发展中国家的关系。中东国家均属发展中国家，与中国没有根本利害冲突，中国愿意在互相尊重的基础上加强和发展与地区各国和友好关系。中国与中东国家经济上有互补性，经贸合作关系发展潜力很大，中国愿在平等互利的基础上继续加强与地区国家的经贸合作。<br /><br /><a href="http://www.zxxk.com/forum/printpage.asp?BoardID=24&amp;ID=33658">http://www.zxxk.com/forum/printpage.asp?BoardID=24&amp;ID=33658</a><br /><img src ="http://www.blogjava.net/bluesky/aggbug/30419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-02-13 10:51 <a href="http://www.blogjava.net/bluesky/archive/2006/02/13/30419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>地球这么大</title><link>http://www.blogjava.net/bluesky/archive/2006/01/06/26922.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Fri, 06 Jan 2006 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/01/06/26922.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/26922.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/01/06/26922.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/26922.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/26922.html</trackback:ping><description><![CDATA[<P>I forget where&nbsp;I&nbsp;got&nbsp;the image...<BR><IMG height=1013 alt=1131016223.jpg src="http://www.blogjava.net/images/blogjava_net/bluesky/images/1131016223.jpg" width=600 border=0><BR></P><img src ="http://www.blogjava.net/bluesky/aggbug/26922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-01-06 17:32 <a href="http://www.blogjava.net/bluesky/archive/2006/01/06/26922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>爬白云山</title><link>http://www.blogjava.net/bluesky/archive/2006/01/03/26455.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Tue, 03 Jan 2006 09:53:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2006/01/03/26455.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/26455.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2006/01/03/26455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/26455.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/26455.html</trackback:ping><description><![CDATA[<BR><STRONG><FONT color=#ff0000 size=6>元旦放假活动<BR><IMG height=480 alt=r_673637348.jpg src="http://www.blogjava.net/images/blogjava_net/bluesky/6290/r_673637348.jpg" width=640 border=0><BR></FONT><BR></STRONG>前天朋友来家聊天，晚上去了中山纪念堂看广州新年歌舞晚会演出，有香香＋唐磊＋杨臣刚唱歌...<BR>昨天爬了白云山，2006年的第一次爬山吧，2005年10月份爬了一次，纪念一下；<BR>今天去了华南理工一同学那里，聊天，吃饭，学校的还是比较安静的地方啊，顺便把高等数学借了来。<IMG height=19 src="http://www.blogjava.net/Emoticons/77_77.gif" width=19 border=0><BR><IMG height=417 alt=em051026060.jpg src="http://www.blogjava.net/images/blogjava_net/bluesky/images/love/em051026060.jpg" width=272 border=0><img src ="http://www.blogjava.net/bluesky/aggbug/26455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2006-01-03 17:53 <a href="http://www.blogjava.net/bluesky/archive/2006/01/03/26455.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]快速排序</title><link>http://www.blogjava.net/bluesky/archive/2005/12/31/26159.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Sat, 31 Dec 2005 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/31/26159.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/26159.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/31/26159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/26159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/26159.html</trackback:ping><description><![CDATA[<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">快速排序&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>class&nbsp;Test&nbsp;{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;public&nbsp;static&nbsp;void&nbsp;quickSort(&nbsp;int</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[]</SPAN><SPAN style="COLOR: #000000">&nbsp;intArr</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;int&nbsp;startIndex</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;int&nbsp;endIndex&nbsp;)&nbsp;{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;int&nbsp;left&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;startIndex</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;int&nbsp;right&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;endIndex</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;int&nbsp;pivot&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(left+right)/</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;int&nbsp;tmp&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;do&nbsp;{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;while(&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">left</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">&lt;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">pivot</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">&nbsp;)&nbsp;&nbsp;left++</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;while(&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">right</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">&nbsp;&gt;&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">pivot</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">&nbsp;)&nbsp;right--</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;if(&nbsp;left&lt;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">right&nbsp;)&nbsp;{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;tmp&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">left</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">left</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">right</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;intArr</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">right</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;tmp</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;left++</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;right--</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;}while(left&lt;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">right)</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;if(&nbsp;left&lt;endIndex&nbsp;)&nbsp;quickSort(&nbsp;intArr</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;left</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;endIndex&nbsp;)</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;if(&nbsp;right&gt;startIndex&nbsp;)&nbsp;quickSort(&nbsp;intArr</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;startIndex</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;right)</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;public&nbsp;static&nbsp;void&nbsp;main(&nbsp;String</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[]</SPAN><SPAN style="COLOR: #000000">&nbsp;argus&nbsp;)&nbsp;{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;int</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[]</SPAN><SPAN style="COLOR: #000000">&nbsp;test&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;new&nbsp;int</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[]</SPAN><SPAN style="COLOR: #000000">{</SPAN><SPAN style="COLOR: #000000">5</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">4</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">}</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;quickSort(&nbsp;test</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&nbsp;test.length-</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">&nbsp;)</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;&nbsp;for&nbsp;(&nbsp;int&nbsp;i</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #008000">;</SPAN><SPAN style="COLOR: #008000">&nbsp;i&lt;test.length;&nbsp;i++&nbsp;)&nbsp;&nbsp;System.out.print(&nbsp;"test["+i+"]="+test[i]+"&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;);</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">&nbsp;}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>}&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV><A href="http://spaces.msn.com/members/zhangqingqi/">http://spaces.msn.com/members/zhangqingqi/</A><img src ="http://www.blogjava.net/bluesky/aggbug/26159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-31 10:30 <a href="http://www.blogjava.net/bluesky/archive/2005/12/31/26159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>{if $smarty.section.outer.index is odd by 2}</title><link>http://www.blogjava.net/bluesky/archive/2005/12/27/25594.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Tue, 27 Dec 2005 08:21:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/27/25594.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25594.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/27/25594.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25594.html</trackback:ping><description><![CDATA[test.tpl<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;table&nbsp;border</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">&gt;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>{section&nbsp;name</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">outer&nbsp;loop</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">$FirstName}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>{if&nbsp;$smarty.section.outer.index&nbsp;is&nbsp;odd&nbsp;by&nbsp;</SPAN><SPAN style="COLOR: #000000">3</SPAN><SPAN style="COLOR: #000000">}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&nbsp;bgcolor</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">#EFEFEF</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;&lt;td&gt;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$smarty.section.outer.index}-{$smarty.section.outer.rownum}&nbsp;.&nbsp;{$FirstName</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">outer</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">}&nbsp;{$LastName</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">outer</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;&lt;/tr&gt;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>{else}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&nbsp;bgcolor</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">#FFFFFFF</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;&lt;td&gt;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;{$smarty.section.outer.index}-{$smarty.section.outer.rownum}&nbsp;*&nbsp;{$FirstName</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">outer</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">}&nbsp;{$LastName</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">[</SPAN><SPAN style="COLOR: #800000">outer</SPAN><SPAN style="FONT-WEIGHT: bold; COLOR: #800000">]</SPAN><SPAN style="COLOR: #000000">}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;&lt;/tr&gt;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>{/if}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>{sectionelse}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;none<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>{/section}<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&lt;/table&gt;</SPAN></DIV>test.php<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;?php<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>require&nbsp;'lib/Smarty-</SPAN><SPAN style="COLOR: #000000">2.6.11</SPAN><SPAN style="COLOR: #000000">/libs/Smarty.class.php'</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>$smarty&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;new&nbsp;Smarty</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>//$smarty-&gt;compile_check&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;true</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">//$smarty-&gt;debugging&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;true</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>//$smarty-&gt;assign(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">hello</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">byby</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">$smarty-&gt;assign(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">FirstName</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">array(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">John</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Mary</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">James</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Henry</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Tom</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Hello</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">))</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>$smarty-&gt;display('test.tpl')</SPAN><SPAN style="COLOR: #008000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>?&gt;</SPAN></DIV><BR><BR>{if $smarty.section.outer.index is odd by 1} 
<TABLE border=1>
<TBODY>
<TR bgColor=#fffff0>
<TD>0 -1 * John </TD></TR>
<TR bgColor=#efefef>
<TD>1 -2 . Mary </TD></TR>
<TR bgColor=#fffff0>
<TD>2 -3 * James </TD></TR>
<TR bgColor=#efefef>
<TD>3 -4 . Henry </TD></TR>
<TR bgColor=#fffff0>
<TD>4 -5 * Tom </TD></TR>
<TR bgColor=#efefef>
<TD>5 -6 . Hello </TD></TR></TBODY></TABLE><BR>{if $smarty.section.outer.index is odd by 2}<BR>
<TABLE border=1>
<TBODY>
<TR bgColor=#fffff0>
<TD>0 -1 * John </TD></TR>
<TR bgColor=#fffff0>
<TD>1 -2 * Mary </TD></TR>
<TR bgColor=#efefef>
<TD>2 -3 . James </TD></TR>
<TR bgColor=#efefef>
<TD>3 -4 . Henry </TD></TR>
<TR bgColor=#fffff0>
<TD>4 -5 * Tom </TD></TR>
<TR bgColor=#fffff0>
<TD>5 -6 * Hello</TD></TR></TBODY></TABLE><BR>{if $smarty.section.outer.index is odd by 3}<BR>
<TABLE border=1>
<TBODY>
<TR bgColor=#fffff0>
<TD>0 -1 * John </TD></TR>
<TR bgColor=#fffff0>
<TD>1 -2 * Mary </TD></TR>
<TR bgColor=#fffff0>
<TD>2 -3 * James </TD></TR>
<TR bgColor=#efefef>
<TD>3 -4 . Henry </TD></TR>
<TR bgColor=#efefef>
<TD>4 -5 . Tom </TD></TR>
<TR bgColor=#efefef>
<TD>5 -6 . Hello</TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/bluesky/aggbug/25594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-27 16:21 <a href="http://www.blogjava.net/bluesky/archive/2005/12/27/25594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>试用wiki</title><link>http://www.blogjava.net/bluesky/archive/2005/12/27/25530.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Tue, 27 Dec 2005 02:00:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/27/25530.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25530.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/27/25530.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25530.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25530.html</trackback:ping><description><![CDATA[<DIV class=section id=section_36>
<TABLE border=1>
<TBODY>
<TR>
<TD>名称</TD>
<TD>网址</TD>
<TD>语言</TD>
<TD>数据库</TD>
<TD>demo</TD>
<TD>我的评价</TD></TR>
<TR>
<TD>dokuwiki</TD>
<TD>http://wiki.splitbrain.org/wiki:dokuwiki</TD>
<TD>语言</TD>
<TD>文本</TD>
<TD>http://www.phpwact.org/</TD>
<TD>~~</TD></TR>

<TR>
<TD>JSPwiki</TD>
<TD>http://www.jspwiki.org/wiki/JSPWikiDownload</TD>
<TD>Java</TD>
<TD>文本</TD>
<TD>官方</TD>
<TD>~~</TD></TR></






</TBODY></TABLE></DIV><img src ="http://www.blogjava.net/bluesky/aggbug/25530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-27 10:00 <a href="http://www.blogjava.net/bluesky/archive/2005/12/27/25530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>qooxdoo 0.1.4 released </title><link>http://www.blogjava.net/bluesky/archive/2005/12/26/25459.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Mon, 26 Dec 2005 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/26/25459.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25459.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/26/25459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25459.html</trackback:ping><description><![CDATA[<DIV class=news-date>11/12/2005 </DIV>
<DIV class=news-entry>
<H3 class=news-header><A title="Permanent link to this article" href="http://qooxdoo.oss.schlund.de/2005/11/12/qooxdoo-014-released">qooxdoo 0.1.4 released</A> </H3>
<P class=news-header>Ajax<BR><BR>qooxdoo is an advanced open-source javascript based toolkit. qooxdoo continues where simple HTML is not enough anymore. This way qooxdoo can help you to get your rich web application interface done - easier than ever before.</P></DIV><img src ="http://www.blogjava.net/bluesky/aggbug/25459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-26 16:54 <a href="http://www.blogjava.net/bluesky/archive/2005/12/26/25459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>俺今天想了半天的PHP 但是搞不定</title><link>http://www.blogjava.net/bluesky/archive/2005/12/24/25335.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Sat, 24 Dec 2005 15:36:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/24/25335.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25335.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/24/25335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25335.html</trackback:ping><description><![CDATA[俺把刚申请的<A href="http://www.ziki.cn">www.ziki.cn</A>域名绑定到我的一个万网的空间上去，两个域名同时绑定到那个空间，<BR>想访问这两个域名时候看到的内容不同，俺想通过php的函数得到访问的url然后根据url不同再include不同的页面，但是俺的阴谋没有得逞，<IMG height=19 src="http://www.blogjava.net/Emoticons/cry_smile.gif" width=19 border=0>，看了看php的函数只有<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #800080">$_SERVER</SPAN><SPAN style="COLOR: #000000">[</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">REQUEST_URI</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">]</SPAN></DIV>只能得到访问的uri，拿不到域名更别说判断了，php啊～～<BR><IMG height=120 alt=2ACEBCC06C3A703E7F2066A2FA56FEA3.GIF src="http://www.blogjava.net/images/blogjava_net/bluesky/images/icq/2ACEBCC06C3A703E7F2066A2FA56FEA3.GIF" width=120 border=0><BR><img src ="http://www.blogjava.net/bluesky/aggbug/25335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-24 23:36 <a href="http://www.blogjava.net/bluesky/archive/2005/12/24/25335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>baidu的圣诞logo</title><link>http://www.blogjava.net/bluesky/archive/2005/12/24/25322.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Sat, 24 Dec 2005 12:11:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/24/25322.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25322.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/24/25322.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25322.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25322.html</trackback:ping><description><![CDATA[<IMG height=100 alt=slogo_051224.gif src="http://www.blogjava.net/images/blogjava_net/bluesky/images/baidu/slogo_051224.gif" width=185 border=0><BR><IMG height=19 src="http://www.blogjava.net/Emoticons/77_77.gif" width=19 border=0><img src ="http://www.blogjava.net/bluesky/aggbug/25322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-24 20:11 <a href="http://www.blogjava.net/bluesky/archive/2005/12/24/25322.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个在线编辑器</title><link>http://www.blogjava.net/bluesky/archive/2005/12/23/25197.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Fri, 23 Dec 2005 05:17:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/23/25197.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25197.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/23/25197.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25197.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25197.html</trackback:ping><description><![CDATA[<IMG height=130 alt=icq72.gif src="http://www.blogjava.net/images/blogjava_net/bluesky/images/icq/icq72.gif" width=105 border=0><BR><BR>What you see is what you get <BR><BR><SPAN class=deepgreentext><B>WYSIWYG</B></SPAN>&nbsp;<BR><BR>所见即所得 CMS <BR><BR>FCKCeditor <A href="http://www.fckeditor.net/">http://www.fckeditor.net/</A><BR><BR>htmlArea <A href="http://www.htmlarea.com/">http://www.htmlarea.com/</A><BR><BR>FreeTextBox <A href="http://www.freetextbox.com/">http://www.freetextbox.com/</A><BR><BR><img src ="http://www.blogjava.net/bluesky/aggbug/25197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-23 13:17 <a href="http://www.blogjava.net/bluesky/archive/2005/12/23/25197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反向连接简介</title><link>http://www.blogjava.net/bluesky/archive/2005/12/22/25132.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Thu, 22 Dec 2005 14:26:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/12/22/25132.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/25132.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/12/22/25132.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/25132.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/25132.html</trackback:ping><description><![CDATA[<P><A href="http://www.microsoft.com/china/msdn/archives/library/dnexxml/html/xml09162002.asp"><IMG height=130 alt=icq00.gif src="http://www.blogjava.net/images/blogjava_net/bluesky/images/icq/icq00.gif" width=105 border=0><BR>http://www.microsoft.com/china/msdn/archives/library/dnexxml/html/xml09162002.asp</A><BR><BR><A href="http://in.comengo.net/index.php/archives/add-inbound-link-to-your-blog/">http://in.comengo.net/index.php/archives/add-inbound-link-to-your-blog/</A><BR><BR><A href="http://blog.wespoke.com/archives/000571.php">http://blog.wespoke.com/archives/000571.php</A></P><img src ="http://www.blogjava.net/bluesky/aggbug/25132.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-12-22 22:26 <a href="http://www.blogjava.net/bluesky/archive/2005/12/22/25132.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [函数]function CheckUrl(url: string): Boolean; //检查一个URL是否有效函数</title><link>http://www.blogjava.net/bluesky/archive/2005/11/29/21788.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Tue, 29 Nov 2005 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/11/29/21788.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/21788.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/11/29/21788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/21788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/21788.html</trackback:ping><description><![CDATA[<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">//</SPAN><SPAN style="COLOR: #000000">检查一个URL是否有效函数<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">//</SPAN><SPAN style="COLOR: #000000">可用来检测网络连接是否正确，InternetCheckConnection函数检查不准确，有些情况无法检测到，而以下CheckUrl函数则不会。<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">//</SPAN><SPAN style="COLOR: #000000">uses&nbsp;wininet;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>function&nbsp;CheckUrl(url:&nbsp;string):&nbsp;Boolean;&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>var<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;hSession,&nbsp;hfile,&nbsp;hRequest:&nbsp;hInternet;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;dwindex,&nbsp;dwcodelen:&nbsp;dword;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;dwcode:&nbsp;array[</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">..</SPAN><SPAN style="COLOR: #000000">20</SPAN><SPAN style="COLOR: #000000">]&nbsp;of&nbsp;Char;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;res:&nbsp;PChar;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>begin<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;Result&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;false;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;Pos(</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #800000">http://</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #000000">,&nbsp;LowerCase(url))&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;0&nbsp;then&nbsp;&nbsp;url&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #800000">http://</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;url;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;hSession&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;InternetOpen(</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #800000">InetURL:/1.0</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #000000">,&nbsp;INTERNET_OPEN_TYPE_PRECONFIG,<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;nil,&nbsp;nil,&nbsp;0);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;Assigned(hsession)&nbsp;then<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;begin<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;hfile&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;InternetOpenUrl(hsession,&nbsp;PChar(url),&nbsp;nil,&nbsp;0,&nbsp;INTERNET_FLAG_RELOAD,&nbsp;0);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dwIndex&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;0;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;dwCodeLen&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HttpQueryInfo(hfile,&nbsp;HTTP_QUERY_STATUS_CODE,&nbsp;@dwcode,&nbsp;dwcodeLen,&nbsp;dwIndex);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;PChar(@dwcode);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(res&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #800000">200</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #0000ff">or</SPAN><SPAN style="COLOR: #000000">&nbsp;(res&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #800000">302</SPAN><SPAN style="COLOR: #800000">'</SPAN><SPAN style="COLOR: #000000">);&nbsp;</SPAN><SPAN style="COLOR: #000000">//</SPAN><SPAN style="COLOR: #000000">200</SPAN><SPAN style="COLOR: #000000">,302未重定位标志<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;Assigned(hfile)&nbsp;then<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InternetCloseHandle(hfile);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;InternetCloseHandle(hsession);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;end;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>end;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV><BR><STRONG>作者Blog：</STRONG><A id=ArticleContent1_ArticleContent1_AuthorBlogLink href="http://blog.csdn.net/siow/" target=_blank>http://blog.csdn.net/siow/</A><img src ="http://www.blogjava.net/bluesky/aggbug/21788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-11-29 10:35 <a href="http://www.blogjava.net/bluesky/archive/2005/11/29/21788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2005年11月15日工作总结</title><link>http://www.blogjava.net/bluesky/archive/2005/11/16/20123.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Wed, 16 Nov 2005 10:04:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/11/16/20123.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/20123.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/11/16/20123.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/20123.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/20123.html</trackback:ping><description><![CDATA[<P>先写几句警醒自己的话<BR><BR>责任感 危机感 自我管理意识<BR><BR>今天调试了Js的问题，Foreach的组件还是有问题。<BR><BR>这段时间的生活工作时间表<BR><BR>每天晚上22：00～23：00睡觉<BR>早上06：20开始起床<BR>06：40～06：50出门<BR>06：50～07：00座上车<BR>07：10～07：30到达体育中心<BR>运动？<BR>07：20～08：00坐上车<BR>08：10～08：20到公司<BR>09:00～12：00工作<BR><BR>12：00～14：00吃饭休息<BR>14：00～18：00工作<BR><BR>18：10～离开公司坐车回家<BR>19：50～20：20 到家<BR><BR><A href="http://www.plogworld.net/">http://www.plogworld.net/</A><BR><A href="http://www.bo-blog.com/">http://www.bo-blog.com/</A><BR><A href="http://oblog.cn/">http://oblog.cn/</A><BR><A href="http://wordpress.org/">http://wordpress.org/</A><BR><A href="http://marcoss.com.ar/dsgn/equix/">http://marcoss.com.ar/dsgn/equix/</A><BR><A href="http://marcoss.com.ar/dsgn/equix/">http://marcoss.com.ar/dsgn/equix/</A><BR><A href="http://ma-yue.net/">http://ma-yue.net/</A><BR><A href="http://www.ciker.org/blogview.asp?logID=165&amp;cateID=4&amp;page=2">http://www.ciker.org/blogview.asp?logID=165&amp;cateID=4&amp;page=2</A><BR><A href="http://www.ciker.org/default.asp">http://www.ciker.org/default.asp</A><BR><BR><BR><BR><BR></P><img src ="http://www.blogjava.net/bluesky/aggbug/20123.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-11-16 18:04 <a href="http://www.blogjava.net/bluesky/archive/2005/11/16/20123.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CS网址</title><link>http://www.blogjava.net/bluesky/archive/2005/11/15/19845.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Tue, 15 Nov 2005 04:59:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/11/15/19845.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/19845.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/11/15/19845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/19845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/19845.html</trackback:ping><description><![CDATA[<A href="http://gearlog.com/blogs/gearlog/default.aspx">http://gearlog.com/blogs/gearlog/default.aspx</A><BR><BR><A href="http://blogs.msdn.com/">http://blogs.msdn.com/</A><BR><BR><A href="http://www.communityserver.cn/files/default.aspx">http://www.communityserver.cn/files/default.aspx</A><BR><BR><A href="http://communityserver.org/">http://communityserver.org/</A><img src ="http://www.blogjava.net/bluesky/aggbug/19845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-11-15 12:59 <a href="http://www.blogjava.net/bluesky/archive/2005/11/15/19845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有用的网址</title><link>http://www.blogjava.net/bluesky/archive/2005/11/14/19651.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Mon, 14 Nov 2005 00:21:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/11/14/19651.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/19651.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/11/14/19651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/19651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/19651.html</trackback:ping><description><![CDATA[<A href="http://www.poultryinfo.org/farechannel/ShowArticle.asp?ArticleID=25941">http://www.poultryinfo.org/farechannel/ShowArticle.asp?ArticleID=25941</A><BR><BR><A href="http://www.javapassion.com/">http://www.javapassion.com/</A><BR><BR><A href="http://www.hzxzy.com/newEbiz1/EbizPortalFG/portal/html/index.html">http://www.hzxzy.com/newEbiz1/EbizPortalFG/portal/html/index.html</A><BR><BR>61.151.239.81 beauty<img src ="http://www.blogjava.net/bluesky/aggbug/19651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-11-14 08:21 <a href="http://www.blogjava.net/bluesky/archive/2005/11/14/19651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>加密解密的帖子</title><link>http://www.blogjava.net/bluesky/archive/2005/11/09/18914.html</link><dc:creator>bluesky</dc:creator><author>bluesky</author><pubDate>Wed, 09 Nov 2005 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/bluesky/archive/2005/11/09/18914.html</guid><wfw:comment>http://www.blogjava.net/bluesky/comments/18914.html</wfw:comment><comments>http://www.blogjava.net/bluesky/archive/2005/11/09/18914.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluesky/comments/commentRss/18914.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluesky/services/trackbacks/18914.html</trackback:ping><description><![CDATA[HOW TO：使用 C# .NET 加密和解密文件<BR><A href="http://support.microsoft.com/kb/307010/zh-cn">http://support.microsoft.com/kb/307010/zh-cn</A><BR><BR><A href="http://community.csdn.net/Expert/topic/4246/4246076.xml">http://community.csdn.net/Expert/topic/4246/4246076.xml</A><img src ="http://www.blogjava.net/bluesky/aggbug/18914.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluesky/" target="_blank">bluesky</a> 2005-11-09 10:07 <a href="http://www.blogjava.net/bluesky/archive/2005/11/09/18914.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>