﻿<?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/badboyryan/category/13029.html</link><description>&lt;hr color=red&gt;
&lt;marquee  direction=left bgcolor= aaaaee behavior=scroll scrollamount=2 onmouseover="this.stop();" onmouseout="this.start();" width=500&gt;
&lt;font color=green&gt; 在恰当的时间、地点以恰当的方式表达给恰当的人...&lt;/font&gt;&amp;nbsp;&amp;nbsp;&lt;font color=blue&gt;阅读的时候请注意分类，佛曰我日里面是谈笑文章，其他是各个分类的文章，积极的热情投入到写博的队伍中来，支持blogjava做大做强！向dudu站长致敬&gt;&gt; &gt;  &lt;a href=http://t.qq.com/badboyryan&gt;我的微博敬请收听&lt;/a&gt; &lt;/font&gt;
&lt;/marquee&gt; 
&lt;hr color=blue&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 25 Aug 2015 10:42:48 GMT</lastBuildDate><pubDate>Tue, 25 Aug 2015 10:42:48 GMT</pubDate><ttl>60</ttl><item><title>ftp批量上传不需要提示yes</title><link>http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 25 Aug 2015 05:42:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/426973.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/426973.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/426973.html</trackback:ping><description><![CDATA[<br />1、就是用mput。传之前先拍prompt，这样不会每传一个文件就要你确认。然后lcd到目录下用mput *上传。<br />2、将目录打包上传。&nbsp;<img src ="http://www.blogjava.net/badboyryan/aggbug/426973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2015-08-25 13:42 <a href="http://www.blogjava.net/badboyryan/archive/2015/08/25/426973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Win7下解决80端口被占用的办法</title><link>http://www.blogjava.net/badboyryan/archive/2011/01/16/343044.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Sun, 16 Jan 2011 02:44:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2011/01/16/343044.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/343044.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2011/01/16/343044.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/343044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/343044.html</trackback:ping><description><![CDATA[1.打开RegEdit:<br />
2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP<br />
3.找到一个DWORD值Start，将其改为0<br />
4.重启电脑，System进程将不会占用80端口
<img src ="http://www.blogjava.net/badboyryan/aggbug/343044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2011-01-16 10:44 <a href="http://www.blogjava.net/badboyryan/archive/2011/01/16/343044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IEtab 插件让firfox使用IE心</title><link>http://www.blogjava.net/badboyryan/archive/2010/06/26/324544.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Sat, 26 Jun 2010 02:26:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2010/06/26/324544.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/324544.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2010/06/26/324544.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/324544.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/324544.html</trackback:ping><description><![CDATA[Firefox 升级到 3.03 发现IEtab插件已经更新了，这就是说Firefox 3.03 也有IEtab插件可以用了<br />
有了IEtab 插件，可以在用Firefox时，让单个标签页，非常方便的右键 切换到IE核心去显示<br />
<br />
<a href="https://addons.mozilla.org/zh-CN/firefox/addon/1419" target="_blank">https://addons.mozilla.org/zh-CN/firefox/addon/1419</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/324544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2010-06-26 10:26 <a href="http://www.blogjava.net/badboyryan/archive/2010/06/26/324544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>超牛的批处理</title><link>http://www.blogjava.net/badboyryan/archive/2007/07/20/131412.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 20 Jul 2007 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2007/07/20/131412.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/131412.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2007/07/20/131412.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/131412.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/131412.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 无敌的批处理		近对于批处理技术的探讨比较热，也有不少好的批处理程序发布，但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件，也就更谈不上自己动手编写了，古语云：“授人以鱼，不如授人以渔。”因为网上好像并没有一个比较完整的教材,所以抽一点时间写了这片&lt;&lt;简明批处理教程&gt;&gt;给新手朋友们.也献给所有为实现网络的自由与共享而努力的朋友们. 		批处理文件是无格式...&nbsp;&nbsp;<a href='http://www.blogjava.net/badboyryan/archive/2007/07/20/131412.html'>阅读全文</a><img src ="http://www.blogjava.net/badboyryan/aggbug/131412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2007-07-20 10:09 <a href="http://www.blogjava.net/badboyryan/archive/2007/07/20/131412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu的root密码，以及VMTools的安装</title><link>http://www.blogjava.net/badboyryan/archive/2007/03/28/106989.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 28 Mar 2007 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2007/03/28/106989.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/106989.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2007/03/28/106989.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/106989.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/106989.html</trackback:ping><description><![CDATA[
		<p>新接触ubuntu（base on debian）的人，大多会因为安装中没有提示root密码而不太清楚为什么会这样。<br />如何设定/改变/启用 root 使用者的密码?<br />sudo passwd root<br />为了启用 root 帐号 (也就是 设置一个口令) 使用: <br />sudo passwd root<br />当你使用完毕后屏蔽 root 帐号 使用: <br />sudo passwd -l root<br />这个将锁住 root 帐号. <br />如何在终端机模式下切换到 root 身份?<br />sudo -s -H<br /><br /><br /><br />如何安装Vm tools<br /><br />Mware Tools for Linux Guests </p>
		<p>Power on the virtual machine. <br />After the guest operating system has started, prepare your virtual machine to install </p>
		<p>VMware Tools. <br />Choose File &gt; Install VMware Tools. </p>
		<p>The remaining steps take place inside the virtual machine. </p>
		<p>Be sure the guest operating system is running in text mode. You cannot install VMware Tools </p>
		<p>while X is running. <br />As root (su -), mount the VMware Tools virtual CD-ROM image, change to a working directory </p>
		<p>(for example, /tmp), uncompress the installer, then unmount the CD-ROM image. <br />Note: You do not use an actual CD-ROM to install VMware Tools, nor do you need to download </p>
		<p>the CD-ROM image or burn a physical CD-ROM of this image file. The VMware Workstation </p>
		<p>software contains an ISO image that looks like a CD-ROM to your guest operating system. </p>
		<p>This image contains all the files needed to install VMware Tools in your guest operating </p>
		<p>system. </p>
		<p>Note: Some Linux distributions use different device names or organize the /dev directory </p>
		<p>differently. If your CD-ROM drive is not /dev/cdrom, modify the following commands to </p>
		<p>reflect the conventions used by your distribution. </p>
		<p>mount /dev/cdrom /mnt<br />cd /tmp<br />tar zxf /mnt/vmware-linux-tools.tar.gz<br />umount /mnt </p>
		<p>Run the VMware Tools installer. <br />cd vmware-tools-distrib<br />./vmware-install.pl </p>
		<p>Log out of the root account. <br />exit </p>
		<p>Start X and your graphical environment. <br />In an X terminal, launch the VMware Tools background application. <br />vmware-toolbox &amp; </p>
		<p>Note: You may run VMware Tools as root or as a normal user. To shrink virtual disks, you </p>
		<p>must run VMware Tools as root (su -). </p>
		<p>
				<br />Starting VMware Tools Automatically </p>
		<p>You may find it helpful to configure your guest operating system so VMware Tools starts </p>
		<p>when you start your X server. The steps for doing so vary depending on your Linux </p>
		<p>distribution and your desktop environment. Check your operating system documentation for </p>
		<p>the appropriate steps to take. </p>
		<p>For example, in a Red Hat Linux 7.1 guest using GNOME, follow these steps. </p>
		<p>Open the Startup Programs panel in the GNOME Control Center. <br />Main Menu (click the foot icon in the lower left corner of the screen) &gt; Programs &gt; </p>
		<p>Settings &gt; Session &gt; Startup Programs </p>
		<p>Click Add. <br />In the Startup Command field, enter vmware-toolbox. <br />Click OK, click OK again, then close the GNOME Control Center. <br />The next time you start X, VMware Tools starts automatically. </p>
		<p>
				<br />Uninstalling VMware Tools </p>
		<p>If you need to remove VMware Tools from your Linux guest operating system, log on as root </p>
		<p>(su -) and run the following command: </p>
		<p>vmware-uninstall-tools.pl </p>
		<p>
				<br />VMware Tools for FreeBSD Guests </p>
		<p>Power on the virtual machine. <br />Prepare your virtual machine to install VMware Tools. <br />Choose File &gt; Install VMware Tools. </p>
		<p>The remaining steps take place inside the virtual machine, not on the host computer. </p>
		<p>Be sure the guest operating system is running in text mode. You cannot install VMware Tools </p>
		<p>while X is running. <br />As root (su -), mount the VMware Tools virtual CD-ROM image, change to a working directory </p>
		<p>(for example, /tmp), uncompress the installer, then unmount the CD-ROM image. <br />Note: You do not use an actual CD-ROM to install VMware Tools, nor do you need to download </p>
		<p>the CD-ROM image or burn a physical CD-ROM of this image file. The VMware Workstation </p>
		<p>software contains an ISO image that looks like a CD-ROM to your guest operating system. </p>
		<p>This image contains all the files needed to install VMware Tools in your guest operating </p>
		<p>system. </p>
		<p>mount /cdrom <br />cd /tmp<br />tar zxf /cdrom/vmware-freebsd-tools.tar.gz<br />umount /cdrom </p>
		<p>Run the VMware Tools installer. <br />cd vmware-tools-distrib<br />./vmware-install.pl </p>
		<p>Log out of the root account. <br />exit </p>
		<p>Start X and your graphical environment <br />In an X terminal, launch the VMware Tools background application. <br />vmware-toolbox &amp; </p>
		<p>Note: You may run VMware Tools as root or as a normal user. To shrink virtual disks, you </p>
		<p>must run VMware Tools as root (su -). </p>
		<p>Note: In a FreeBSD 4.5 guest operating system, sometimes VMware Tools does not start after </p>
		<p>you install VMware Tools, reboot the guest operating system or start VMware Tools on the </p>
		<p>command line in the guest. An error message appears: </p>
		<p>Shared object 'libc.so.3' not found. </p>
		<p>The required library was not installed. This does not happen with full installations of </p>
		<p>FreeBSD 4.5, but does occur for minimal installations. To fix the problem of the missing </p>
		<p>library, take the following steps: </p>
		<p>Insert and mount the FreeBSD 4.5 installation CD or access the ISO image file. <br />Change directories and run the installation script. <br />cd /cdrom/compat3x<br />./install.sh </p>
		<p>果然按着上面的步骤我的Vm上面的ubuntu安装成功了，怎么和windows这么的类似啊，终于理解<br />windows是名牌西服，而Linux是定制西服的道理了。<br /> 我最近想学习一下嵌入式Linux，了解操作系统的原理，所以就弄一个Linux的环境玩玩<br /><br /><br /><br /><br /></p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/106989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2007-03-28 15:50 <a href="http://www.blogjava.net/badboyryan/archive/2007/03/28/106989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个LINUX学习高手写给初学者的话</title><link>http://www.blogjava.net/badboyryan/archive/2007/03/28/106904.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 28 Mar 2007 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2007/03/28/106904.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/106904.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2007/03/28/106904.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/106904.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/106904.html</trackback:ping><description><![CDATA[
		<div id="art" style="MARGIN: 15px; LINE-HEIGHT: 150%">现在好多的人开始接触电脑的时候，见到的应该是Windows98说实话，98 已经是一个很人性化，封装的很好的一个系统了一个对电脑一窍不通的人都能很快的使用它。这样很多人对 
<p>　　"电脑"的印象和那些和我一样一开始接触的是DOS人是绝然不同的。在DOS时代，如果你对电脑的基础知识不懂的话是玩不动它的，不像现在好多人CPU是什么都不知道，却能够<!--NEWSZW_HZH_BEGIN--><!--NEWSZW_HZH_END-->是Flash </p><p>　　高手，倾倒MM无数。如果你是这样的人，你要学Linux，你有一段回头路要走，为什么，看下去 </p><p>　　我们先看看MS<span class="yqlink"><a title="操作系统" onclick="activateYQinl(this);return false;" href="http://www.iask.com/n?k=操作系统" target="_blank"><font color="#336699">操作系统</font></a></span>的发展，他有两套内核MSDOS---&gt;DOS+Win3.2--&gt;Win9X \ </p><p>　　---&gt;WinXP WindowsNT3.1---NT4.0--&gt;Win2000 / </p><p>　　他的发展是从DOS这个纯字符界面的系统发展到一个由字符界面的内核加上一个图像界面的应用程序(Win3.2)再到结合把两个合为一体的Win95，到现在再并上一开始就是图形界面的NT成为 </p><p>　　WindowsXP，他未来的野心就是并上internet成为 .net现在我们来看Linux，Linux只是个内核！这点很重要，你必须理解这一点。 </p><p>　　只有一个内核是不能构成一个操作系统的。现在的linux操作系统如redhat，蓝点，红旗等，都是用这么一个内核，加上其它的用程序（包括X）构成的。任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。 </p><p>　　现在我就拿MS的系统和linux的系统的互相对应来让大家更多的认识Linux如果你装过DOS，那你一定知道安装完成之后整个硬盘是这样根目录下有io.sys msdos.sys command.com config.sys autoexec.bat共5个文件，以及C:\dos这个目录，很简单。其中io.sys和msdos.sys就是系统的内核，command.com是用户界面(shell)，config.sys和autoexec.bat是配置文件，C:\DOS目录下面的是一般应用程序系统启动时首先装入io.sys，再根据配置文件的设置装入msdos.sys和command.com，然后就出现提示符，现在你就能输入命令了。如copy c:\aaa.txt d:\aaa.txt 来拷贝文件。也你能够使用C:\dos目录下的一些应用程序来完成工作，如用edit编辑文件，用Qbasic写basic程序。 </p><p>　　接下去你安装了一个叫做Foxpro2.6的程序，这个程序可以让你做一些数据库方面的工作，然后你在安装了一个叫做windows3.2中文版的程序，这个程序可厉害了，你现在不用在命令行下打命令了，可以用鼠标来操作了，打开文件管理器，打开C 再打开另一个窗口D，用鼠标一拉就能完成copy c:\aaa.txt d:\aaa.txt这个命令，你只是动了几次食指和现在在windows98下没么两样。</p><p>　　OK ，goto linux安装好linux之后根目录下有boot，bin，sbin，etc，usr/bin，等几个目录 </p><p>　　boot下有vmlinuz这个文件，这个就是内核，就是目前世界上最厉害的黑客linus带头写的那个东东。 </p><p>　　bin下有sh，这个就是shell（==command.com，用户界面）因为UNIX系统是没有内部命令这个说法的，准确地说/bin+/sbin == Command.com而/etc == config.sys + msdos.sys剩下/usr/bin == c:\dos </p><p>　　当然。因为Linux比Dos庞大得多，所以，reahat和红旗或者有不同的安排方法，各种目录下的东西并不规则。linux的启动同样是装载vmlinuxz，然后装载sh（或者其他的shell，如bash)，出来提示符。现在你同样能输入命令了。如cp /aaa.txt /tmp/aaa.txt。同样可以用vi编辑文件，用gcc编译程序 </p><p>　　接下去你安装了一个叫做MySQL的程序，这个程序可以让你做一些数据库方面的工作，然后你再安装了一个叫做kde4.0的程序，这个程序可厉害了，你现在不用在命令行下打命令了，可以用鼠标来操作了，打开文件管理器，打开/ 再打开另一个窗口/tmp，用鼠标一拉就能完成cp /aaa.txt /tmp/aaa.txt这个命令，你只是动了几次食指和现在在windows98下没什么两样 </p><p>　　看到这里希望你明白我为什么说你在走回头路，因为目前的Linux操作系统==MS的Win3.2但MS系统已经走过了9X，现在是XP了，整整落后了两代。当然，这是从用户界面上来说的，但也恰恰是很多人装个Linux之后就是在X的kde上搞东搞西，而其它的什么都搞不起来，为什么搞不起来因为你没搞过DOS，你根本就不知道系统还可以有这样的搞法。你一开始接触的就是98，电脑给你的感觉就是用鼠标来操作的东西，你认为同样是操作系统，Linux也应该是这样的东西。你根本就没有想过你一直以为你在玩的是Linux，但实际上你玩的只不过是一个运行在Linux系统上的程序而已。因此很多人装完搞了几天说，靠，Linux不过如此。这话可以说对也可以说不对Linux嘛，你都还没见到是什么样子，你有什么资格说它怎样呢？但kde嘛，就真的确实不过如此，你用过98吧，现在你去用用3.2看看，你有什么 </p><p>　　感觉？从稳定性来说，我不拿98比了，拿95，如果同样的工作，95一天崩溃1次的话，那X会崩溃10次，如果是2000的话，2000一天崩溃1次，X会崩溃100次。和3.2是差不多的。但为什么还是会听说比如某些好莱坞的电影特技是在Linux上完成的呢？为了出席一次重要宴会，你可以去买一套名牌西装，也可以去订做一套，订做的当然更加合身更加好看，但价格也更贵，工作量也更大名牌西装==Windows系统定做西装==Linux系统+修改系统内核+修改X代码+修改kde代码+专门写的特技软件你现在装的那套西装是街边货，也就是reahat服装厂为了适应全世界所有人的身材批量生产的东东。明白了吧？如果你明白，那你也就明白了Linux比Window好的一个方面了，我也就不用废话，那么为什么Linux往往会和黑客撤上关系呢？记得我看过一本书这么写，"Linux是由一个叫linus的黑客及互联网上很多的黑客共同编写而成"。所以，一个由黑客写成的系统怎么会和黑客没有关系呢？当然这个“黑客”的定义和现在很多中国人心中的"黑客"的定义是绝然不同的前者是几乎从未入侵过其他系统，而后者是入侵过就是了。</p><p>　　如果你是一个美术工作者，你也是几乎除了睡觉就在用电脑，你时时都开着photoShop在那里搞啊搞，在美术这个行业，你也算得上是这个行业里的高手了。但你根本就不关心你所做的，电脑里面到底是怎么帮你完成的。电脑不过是你创作的一个工具。就像音乐是很多人喜欢听的，但你根本不关心你所听到的音乐，她从原来歌星嘴里发出来到被你来欣赏，她到底是怎么个回事。但对一HIFI发烧友而言，她关心的就只是这些。现在回到我刚刚说到了copy命令，对于一个黑客而言，她根本不关心aaa.txt这个文件里面的内容，她关心的是从C:\aaa.txt到d:\aaa.txt这个过程中，电脑它到底干了什么？现在我问一下正在看这个帖子的人：把一个文件从一个地方拷贝到另一个地方这个事情你肯定是做过的对吧？但当你这样做的时候，你是否有想过电脑内部它是怎样来完成你的这个操作的呢？如果你的回答是：哎呀，我倒真的从未想过耶~~那么，你根本没有黑客的天分，你还是到轻松一刻混比较有前途。 </p><p>　　寻根问底是黑客的天性，在这点上，Linux可以满足，但windows不能，你在dos上按下copy C:\aaa.txt d:\aaa.txt。复制的任务是完成了，但电脑作了什么你知道么？你只能根据你的经验的积累，大概的判断系统怎么完成，在你没看过copy的源代码之前你根本没法确定你的判断是否正确的。但UNIX上cp的源代码基本上是随手就能拿到。 </p><p>　　TCP/ip方面，linxu可以让你一杆子捅到内核中去，但windows你只能捅到winsockapache和系统的具体交流你可以一清二楚，但IIS和系统的交流你却不可能知道Linux和黑客的关系是在这里，和入侵是一点关系都没有的。很多远程漏洞的攻击程序是要在unix系统上编译的这没错，但是那些程序本来的意义就是举个例子让你看好过说，你看得懂的话，改一改在Win上同样可以编译。 </p><p>　　UNIX和Windows相比有太多的优点，也有太多值得你去弄的地方，只是我说不出来就像你深爱一个人的时候，你根本没法说出你爱他什么，她有什么地方值得你去爱但，Windows不是垃圾，绝对不是，作为一个工具来使用，她比UNIX好上几百倍似乎你现在都该明白为何很多远程漏洞的攻击程序是以unix的习惯写的，因为能够发现这个漏洞，说明他对系统相当的熟悉，而且是UNIX让他对系统相当的熟悉，他不自觉地就是用了UNIX的那一套，不过，它的这些代码却很大的可能是用UltraEdit在windows系统下敲的。 </p><p>　　好像跑题了，我说要给想学Linux(UNIX)的朋友的一点建议，但却说了这样的话， </p><p>　　但我觉得没有跑题，我希望你看到这里已经能够知道我要给你的建议是什么了。 </p><p>　　1.根据你目前的水平，确定Linux对你的意义有多大。 </p><p>　　2.确定你玩的是Linux而不是X </p><p>　　3.把X系统卸了，剩下的空间装上源代码 </p><p>　　4.不要用rpm -i的方式安装程序，用自己编译的方法 </p><p>　　5.找个合用的telnet软件，我推荐SecureCRT. </p><p>　　6.如果你只有一台电脑，安装Vmware.用这个方式来接触UNIX </p><p>　　7.再看一下帖子，自己再一次体会我帖子中暗藏的建议 </p><p>　　8.在学习Linux的过程中的，把被linux玩的经验记下来 </p><p>　　9.在玩linux的过程中，把linux怎么被你玩的趣事记下来</p><div>                   from linuxeden.com</div></div>
<img src ="http://www.blogjava.net/badboyryan/aggbug/106904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2007-03-28 11:35 <a href="http://www.blogjava.net/badboyryan/archive/2007/03/28/106904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用GDB和Bochs调试内核源代码</title><link>http://www.blogjava.net/badboyryan/archive/2007/03/23/105827.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 23 Mar 2007 06:18:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2007/03/23/105827.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/105827.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2007/03/23/105827.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/105827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/105827.html</trackback:ping><description><![CDATA[
		<br />   本节说明如何在现有Linux系统（例如RedHat 9）上使用Bochs模拟运行环境和gdb工具来调试Linux 0.11内核源代码。在使用这个方法之前，你的Linux系统上应该已经安装有X window系统。由于Bochs网站提供的RPM安装包中的Bochs执行程序没有编译进与gdb调试器进行通信的gdbstub模块，因此我们需要下载Bochs源代码来自行编译。<br /><br />   gdbstub可以使得Bochs程序在本地1234网络端口侦听接收gdb的命令，并且向gdb发送命令执行结果。从而我们可以利用gdb对Linux 0.11内核进行C语言级的调试。当然，Linux 0.11内核也需要进行使用-g选项重新编译。<br /><br />14.13.1 编译带gdbstub的Bochs系统<br />   Bochs用户手册中介绍了自行编译Bochs系统的方法。这里我们给出编译带gdbstub的Bochs系统的方法和步骤。首先从下面网站下载最新Bochs系统源代码（例如：bochs-2.2.tar.gz）：<br /><br />   <a href="http://sourceforge.net/projects/bochs/" target="_blank">http://sourceforge.net/projects/bochs/</a><br /><br />   使用tar对软件包解压后会在当前目录中生成一个bochs-2.2子目录。进入该子目录后带选项“--enable-gdb-stub”运行配置程序configure，然后运行make和make install即可，见如下所示：<br /><br />[root@plinux bochs-2.2]# ./configure --enable-gdb-stub<br />checking build system type... i686-pc-linux-gnu<br />checking host system type... i686-pc-linux-gnu<br />checking target system type... i686-pc-linux-gnu<br />...<br />[root@plinux bochs-2.2]# make<br />[root@plinux bochs-2.2]# make install<br /><br />   若在运行./configure时我们碰到一些问题而不能生成编译使用的Makefile文件，那么这通常是由于没有安装X window开发环境软件或相关库文件造成的。此时我们就必须先安装这些必要的软件。<br /><br /><br />14.13.2 编译带调试信息的Linux 0.11内核<br />   通过把Bochs的模拟运行环境与gdb符号调试工具联系起来，我们既可以使用Linux 0.11系统下编译的带调试信息的内核模块来调试，也可以使用在RedHat 9环境下编译的0.11内核模块来调试。这两种环境下都需要对0.11内核源代码目录中所有Makefile文件进行修改，即在其中编译标志行上添加-g标志，并去掉链接标志行上的-s选项：<br /><br />LDFLAGS = -M -x                                         // 去掉 -s 标志。<br />CFLAGS  =-Wall -O -g -fomit-frame-pointer \             // 添加 -g 标志。<br /><br />   进入内核源代码目录后，利用find命令我们可以找到以下所有需要修改的Makefile文件：<br /><br />[root@plinux linux-0.11]# find ./ -name Makefile<br />./fs/Makefile<br />./kernel/Makefile<br />./kernel/chr_drv/Makefile<br />./kernel/math/Makefile<br />./kernel/blk_drv/Makefile<br />./lib/Makefile<br />./Makefile<br />./mm/Makefile<br />[root@plinux linux-0.11]#<br /><br />   另外，由于此时编译出的内核代码模块中含有调试信息，因此system模块大小可能会超过写入内核代码映像文件的默认最大值SYSSIZE = 0x3000（定义在boot/bootsect.s文件第6行）。我们可以按以下方法修改源代码根目录中的Makefile文件中产生Image文件的规则，即把内核代码模块system中的符号信息去掉后再写入Image文件中，而原始带符号信息的system模块保留用作gdb调试器使用。注意，目标的实现命令需要以一个制表符（TAB）作为一行的开始。<br /><br />Image: boot/bootsect boot/setup tools/system tools/build<br />       cp -f tools/system system.tmp<br />       strip system.tmp<br />       tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) $(SWAP_DEV) &gt; Image<br />       rm -f system.tmp<br />       sync<br /><br />   当然，我们也可以把boot/bootsect.s和tools/build.c中的SYSSIZE值修改成0x8000来处理这种情况。<br /><br /><br />14.13.3 调试方法和步骤<br />   下面我们根据在现代Linux系统（例如RedHat 9）系统上和运行在Bochs中Linux 0.11系统上编译出的内核代码分别来说明调试方法和步骤。<br /><br />1 调试现代Linux系统上编译出的Linux 0.11内核<br />   假设我们的Linux 0.11内核源代码根目录是linux-rh9-gdb/，则我们首先在该目录中按照上面方法修改所有Makefile文件，然后在linux-rh9-gdb/目录下创建一个bochs运行配置文件并下载一个配套使用的根文件系统映像文件。我们可以直接从网站下载已经设置好的如下软件包来做实验：<br /><br />   <a href="http://oldlinux.org/Linux.old/bochs/linux-0.11-gdb-rh9-050619.tar.gz" target="_blank">http://oldlinux.org/Linux.old/bochs/linux-0.11-gdb-rh9-050619.tar.gz</a><br /><br />   使用命令“tar zxvf linux-gdb-rh9-050619.tar.gz”解开这个软件包后，可以看到其中包含以下几个文件和目录：<br /><br />[root@plinux linux-gdb-rh9]# ll<br />total 1600<br />-rw-r--r--    1 root     root        18055 Jun 18 15:07 bochsrc-fd1-gdb.bxrc<br />drwxr-xr-x   10 root     root         4096 Jun 18 22:55 linux<br />-rw-r--r--    1 root     root      1474560 Jun 18 20:21 rootimage-0.11-for-orig<br />-rwxr-xr-x    1 root     root           35 Jun 18 16:54 run<br />[root@plinux linux--gdb-rh9]#<br /><br />这里的bochs配置文件与其他Linux 0.11配置文件的主要区别是在文件头部添加有以下一行内容，表示当bochs使用这个配置文件运行时将在本地网络端口1234上侦听gdb调试器的命令：<br /><br />gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0<br /><br />运行这个实验的基本步骤如下：<br /><br />(1).启动X window系统后打开两个终端窗口；<br />(2).在一个窗口中，把工作目录切换进linux-gdb-rh9/目录中，并运行程序“./run”，此时该窗口中会显示一条等待gdb来连接的信息：“Wait for gdb connection on localhost:1234”，并且系统会创建一个Bochs主窗口（此时无内容）；<br />(3).在另一个窗口中，我们把工作目录切换到内核源代码目录中linux-gdb-rh9/linux/，并运行命令：“gdb tools/system”；<br />(4).在运行gdb的窗口中键入命令“break main”和“target remote localhost:1234”，此时gdb会显示已经连接到Bochs的信息；<br />(5).在gdb环境中再执行命令“cont”，稍过一会gdb会显示程序停止在init/main.c的main()函数处。<br /><br />下面是运行gdb和在其中执行的一些命令示例。<br /><br />[root@plinux linux]# gdb tools/system        <br />GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)<br />Copyright 2003 Free Software Foundation, Inc.<br />GDB is free software, covered by the GNU General Public License, and you are<br />welcome to change it and/or distribute copies of it under certain conditions.<br />Type "show copying" to see the conditions.<br />There is absolutely no warranty for GDB.  Type "show warranty" for details.<br />This GDB was configured as "i386-redhat-linux-gnu"...<br />(gdb) break main               <br />Breakpoint 1 at 0x6621: file init/main.c, line 110.<br />(gdb) target remote localhost:1234<br />Remote debugging using localhost:1234<br />0x0000fff0 in sys_mkdir (pathname=0x0, mode=0) at namei.c:481<br />481     namei.c: No such file or directory.<br />       in namei.c<br />(gdb) cont                        <br />Continuing.<br />Breakpoint 1, main () at init/main.c:110    <br />110             ROOT_DEV = ORIG_ROOT_DEV;<br />(gdb) list                                  <br />105     {                       /* The startup routine assumes (well, ...) this */<br />106     /*<br />107      * Interrupts are still disabled. Do necessary setups, then<br />108      * enable them<br />109      */<br />110             ROOT_DEV = ORIG_ROOT_DEV;<br />111             drive_info = DRIVE_INFO;<br />112             memory_end = (1&lt;&lt;20) + (EXT_MEM_K&lt;&lt;10);<br />113             memory_end &amp;= 0xfffff000;<br />114             if (memory_end &gt; 16*1024*1024)<br />(gdb) next <br />111             drive_info = DRIVE_INFO;<br />(gdb) next <br />112             memory_end = (1&lt;&lt;20) + (EXT_MEM_K&lt;&lt;10);<br />(gdb) print /x ROOT_DEV                      <br />$3 = 0x21d                                   <br />(gdb) quit                                   <br />The program is running.  Exit anyway? (y or n) y<br />[root@plinux linux]#<img src ="http://www.blogjava.net/badboyryan/aggbug/105827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2007-03-23 14:18 <a href="http://www.blogjava.net/badboyryan/archive/2007/03/23/105827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最老的可运行的Linux系统如何在windows下学习嵌入式Linux</title><link>http://www.blogjava.net/badboyryan/archive/2007/03/23/105810.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 23 Mar 2007 05:20:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2007/03/23/105810.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/105810.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2007/03/23/105810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/105810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/105810.html</trackback:ping><description><![CDATA[
		<strong>这可是赵博士的大作啊，学习嵌入式Linux的来吧！谁有qq群的留个言一起学习！<br /><br /></strong>为了配合大家学习《Linux内核完全注释》一书，经过一段时间的摸索，我终于把linux 0.1x内核运行的文件系统制作出来了。为了方便大家实验，我制作了一个在bochs系统下运行的软件包。其中包括启动映像文件bootimage-0.1x和一个60MB的硬盘映像文件hdc.img。<br /><br />运行环境：<br />bochs 2.x模拟系统。<br /><br />运行配置：<br />软件包中已经自带bochsrc.txt.<br /><br />安装方法：<br />将该软件包linux-0.1x.zip复制到bochs的主目录（通常是C:\Program Files\Bochs-2.1）中解包，会生成linux-0.1x子目录。将该子目录中的配置文件bochsrc.txt复制到主目录中，即可运行。<br /><br />常见问题：<br />由于各个版本的bochs可能将其一些配置文件（比如BIOS-bochs-latest等）放置的位置不同，可能会造成不能运行的问题。在本模拟软件的配置文件中，bochs的这些配置文件是默认放在bochs主目录下的，若你的这些配置是放在某个子目录中的话，可以将它们复制到主目录下，或者修改本模拟包自带的bochsrc.txt配置文件。<br /><br />下载位置：<br />http://oldlinux.org/download/linux-0.1x.zip  ( 2MB )<br /><br />Bochs模拟系统：<br />http://oldlinux.org/download/Bochs-2.1.pre2.exe   ( 2.9MB )<br /><img src ="http://www.blogjava.net/badboyryan/aggbug/105810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2007-03-23 13:20 <a href="http://www.blogjava.net/badboyryan/archive/2007/03/23/105810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>胡锦涛：以创新的精神加强网络文化建设和管理 </title><link>http://www.blogjava.net/badboyryan/archive/2007/01/25/95936.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Thu, 25 Jan 2007 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2007/01/25/95936.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/95936.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2007/01/25/95936.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/95936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/95936.html</trackback:ping><description><![CDATA[
		<p>胡锦涛：以创新的精神加强网络文化建设和管理   <br />  　　在1月23日下午进行的中共中央政治局第三十八次集体学习中，中共中央总书记胡锦涛强调，加强网络文化建设和管理，充分发挥互联网在我国社会主义文化建设中的重要作用，有利于提高全民族的思想道德素质和科学文化素质，有利于扩大宣传思想工作的阵地，有利于扩大社会主义精神文明的辐射力和感染力，有利于增强我国的软实力。我们必须以积极的态度、创新的精神，大力发展和传播健康向上的网络文化，切实把互联网建设好、利用好、管理好。 <br /><br /><br />网络高手将来有大展宏图的机会了！！HOHO</p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/95936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2007-01-25 15:11 <a href="http://www.blogjava.net/badboyryan/archive/2007/01/25/95936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用 Oracle JDeveloper 构建您的第一个 GWT Web 应用程序</title><link>http://www.blogjava.net/badboyryan/archive/2006/11/24/83191.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 24 Nov 2006 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/11/24/83191.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/83191.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/11/24/83191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/83191.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/83191.html</trackback:ping><description><![CDATA[
		<h2>使用 Oracle JDeveloper 构建您的第一个 GWT Web 应用程序</h2>
		<p>到目前为止，您已经了解了 GWT 的工作方式；现在，让我们编码示例 Web 应用程序。 </p>
		<p>示例应用程序是一个工作列表管理器。其特性十分简单：创建、编辑、删除工作列表并对其进行优先级排列。我们选择了该示例是因为它很容易理解，然而其实施涵盖了大量 GWT 的特性。 </p>
		<p>下面是最终应用程序的屏幕快照： </p>
		<p align="center">
				<img alt="图 1" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f1.jpg" />
		</p>
		<p>
		</p>
		<h3>第 1 步：安装 GWT</h3>
		<p>从 Google 的 Web 站点 http://code.google.com/webtoolkit/ 下载 GWT。在写本文时，GWT 推出的是 Windows 和 Linux 版本。GWT 是特定于平台的，因为其托管模式在 Firefox 的修改版本中工作，该版本本身依赖于平台。（我们可以在 Apple 计算机上成功地使用 GWT 的 Linux 版本，但是托管模式不起作用。） </p>
		<p>GWT 下载形式是一个归档文件，您必须使用 Linux 上的 <tt>tar -xvf</tt> 命令或者 Windows 上的解压缩工具进行解压缩。这就是您安装该工具包需要做的所有工作。</p>
		<p>
		</p>
		<h3>第 2 步：运行 applicationCreator 脚本</h3>
		<p>打开命令行，转至 GWT 的安装目录。该目录包含 applicationCreator 脚本，我们将使用该脚本启动我们的应用程序。由于我们希望应用程序存储在 Oracle Technology Network 目录中，因此我们将“-out otn”作为参数添加到脚本中。在 Linux 上，键入： </p>
		<pre>./applicationCreator -out otn otn.todo.client.TodoApp<br /></pre>
		<p align="center">
				<img alt="图 2" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f2.jpg" />
		</p>
		<p>在 Windows 上，使用： </p>
		<pre>applicationCreator -out otn otn.todo.client.TodoApp<br /></pre>该脚本生成基本的项目结构 — 请求的应用程序类中的示例“Hello word”代码以及两个脚本：TodoApp-shell（用于在托管模式下运行应用程序）和 TodoApp-compile（用于打包应用程序以便在 Web 模式下使用）。 
<p></p><h3>第 3 步：在 JDeveloper 中打开项目</h3><p>启动 JDeveloper 并创建一个新的 Web 项目： </p><p align="center"><img alt="图 3" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f3.jpg" /></p><p>单击 <span style="FONT-WEIGHT: bold">Next</span> 按钮。JDeveloper 将询问新项目的位置。使用应用程序的名称作为 <span style="FONT-WEIGHT: bold">Project Name</span>，选择应用程序根目录（如步骤 2 的定义）作为 <span style="FONT-WEIGHT: bold">Directory Name</span>：</p><p align="center"><img alt="图 4" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f4.jpg" /></p><p>单击 <b>Next</b> 按钮，并验证您的应用程序是 J2EE 1.4 应用程序：</p><p align="center"><img alt="图 5" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f5.jpg" /></p>单击 <span style="FONT-WEIGHT: bold">Next</span> 按钮，并选择您的项目 Web 属性：Document Root 是当前项目的 www 目录，J2EE Web Application Name 和 J2EE Context Root 都是项目名称： 
<p style="TEXT-ALIGN: center"><img alt="图 6" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f6.jpg" /></p><p>这将创建 JDeveloper 项目，但是将出现某些编译错误，因为 GWT 的库未包含在项目类路径中。在项目属性中，选择左侧端树的 <span style="FONT-WEIGHT: bold">Libraries</span> 节点，并添加 gwt-user.jar 库：</p><div style="TEXT-ALIGN: center"><img alt="图 7" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f7.jpg" /></div><p></p>您的项目现在应该可以编译，看起来与以下内容相似： 
<p style="TEXT-ALIGN: center"><img alt="图 8" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f8.jpg" /></p><p></p><h2>编写客户端代码</h2><p>上面的 applicationCreator 脚本创建了一个基本的“Hello world”应用程序，可在 otn.todo.client 程序包中使用。下面是其主要方法： </p><pre>public void onModuleLoad() {<br />    final Button button = new Button("Click me");<br />    final Label label = new Label();<br /><br />    button.addClickListener(new ClickListener() {<br />      public void onClick(Widget sender) {<br />        if (label.getText().equals(""))<br />          label.setText("Hello World!");<br />        else<br />          label.setText("");<br />      }<br />    });<br /><br />    RootPanel.get("slot1").add(button);<br />    RootPanel.get("slot2").add(label);<br />  }<br />}<br /></pre>该方法将创建一个按钮“Click Me”。单击该按钮后，将显示“Hello World”。 
<p>该方法分为三部分： </p><ol><li>创建 Button 和 Label 小部件 
</li><li>创建 ClickListener 对象。该代码与您用 Swing 编写的内容很接近；如果您具有桌面 Java 背景则更容易理解。 
</li><li>在 HTML 页上显示小部件：slot1 和 slot2 都是该页上的 HTML 元素 </li></ol>用作框架的 HTML 页位于 src/otn/todo/public 目录中。它将两个 HTML 元素（slot1 和 slot2）定义为表单元格。 
<h2>在托管模式下运行和调试<b></b></h2><br />现在您已经创建了应用程序并且已经看到其生成的内容，结下来让我们来执行它。 
<p>您可以通过从命令行使用 TodoApp-shell 脚本轻松地运行该项目。虽然这是启动应用程序的很好途径，但是您可能更喜欢直接从 JDeveloper 内启动应用程序。为此，单击 Run 菜单，选择 Choose Active Run Configuration &gt; Manage Run Configurations。编辑默认的运行配置并使用以下命令：</p><ul><li>对于 Default Run Target：使用 com.google.gwt.dev.GWTShell，它在特定于平台的 GWT jar 内。在 Linux 上，它类似以下内容： <pre>path.to.your.gwt.installation.directory/gwt-devlinux.jar!/com/google/gwt/dev/GWTShell.class<br /></pre>在 Windows 上，它类似以下内容： <pre>path.to.your.gwt.installation.directory/gwt-dev-windows.jar!/com/google/gwt/dev/GWTShell.class<br /></pre></li><li>对于 Program Arguments，使用： <pre>-out path.to.your.gwt.installation.directory/otn/www otn.todo.TodoApp/TodoApp.html<br /></pre></li><li>对于 Run Directory，使用 <pre>path.to.your.gwt.installation.directory/otn<br /></pre></li></ul>最终结果类似以下内容： 
<p style="TEXT-ALIGN: center"><img alt="图 9" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f9.jpg" /></p>要运行您的应用程序，您必须向其类路径中再添加两个库：GWT 特定于平台的 jar 和应用程序的 src 目录： 
<p style="TEXT-ALIGN: center"><img alt="图 10" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f10.jpg" /></p>您现在应能够从 JDeveloper 运行应用程序了。 
<p>这是一个很复杂的设置，但是令人欣慰的是，您可以重新使用它对应用程序进行调试。使用 Debug 按钮而不是 Run 按钮。然后，您可以象平常一样使用调试器 — 设置断点、逐步执行代码等： </p><p style="TEXT-ALIGN: center"><img alt="图 11" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f11.jpg" /></p>关于该特性给人印象很深的是，您可以通过标准的 JDeveloper 调试器调试用 Java 编写的客户端代码。 
<p></p><h2>扩展您的 GWT Web 应用程序</h2><p>现在您已经创建了一个简单的 GWT Web 应用程序，让我们通过两个最常用的 GWT 特性对其进行扩展：RPC 机制（该机制允许应用程序调用服务器端代码）和 History 对象（通过该对象，用户可精确处理浏览器的 Back 按钮）。 </p><p></p><h3>使用 RPC 进行客户端和服务器之间的数据交换</h3><p>到目前为止，您只创建了应用程序的客户端代码：使用 GWT 编译器，您已经生成了大量 HTML 和 JavaScript 文件，它们将在最终用户的浏览器中运行。但是，如果该应用程序不能与服务器通信就没有什么用处了。 </p><p>使用 GWT，客户端/服务器通信就是对 servlet 进行编码并使其与应用程序通信。下面是您要做的工作。 </p><p><span style="FONT-WEIGHT: bold">创建一个定义您的服务的接口。</span>该接口必须扩展 Google 的 com.google.gwt.user.client.rpc.RemoteService 接口，并可以放到客户端程序包（本例为 otn.todo.client）中。 </p><p>然后，对接口进行编码以便允许您在服务器上读取和写入工作列表： </p><pre>package otn.todo.client;<br />import java.util.List;<br />import com.google.gwt.user.client.rpc.RemoteService;<br />public interface TodoListBackupService extends RemoteService {<br />/**<br />* Save the to-do list on the server.<br />*/<br />void saveTodoList(List todoList);<br />/**<br />* Get the to-do list on the server.<br />*/<br />List getTodoList();<br />}<br /></pre>对 Servlet 进行编码。在服务器端，您必须编码出具有以下特征的类： 
<ol><li>扩展 Google 的 com.google.gwt.user.server.rpc.RemoteServiceServlet 类（该类反过来会扩展 Java 的 javax.servlet.http.HttpServlet，有效使其成为 servlet） 
</li><li>实施步骤 1 中编写的接口 
</li><li>位于服务器程序包（本例为 otn.todo.server）中 </li></ol><pre>package otn.todo.server;<br /><br />import java.util.ArrayList;<br />import java.util.List;<br /><br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpSession;<br /><br />import otn.todo.client.Todo;<br />import otn.todo.client.TodoListBackupService;<br /><br />import com.google.gwt.user.server.rpc.RemoteServiceServlet;<br /><br />public class TodoListBackupServiceImpl extends RemoteServiceServlet implements<br />		TodoListBackupService {<br /><br />	private static final String TODOLIST_KEY = "TODOLIST_KEY";<br /><br />	public void saveTodoList(List todoList) {<br />		HttpServletRequest request = this.getThreadLocalRequest();<br />		HttpSession session = request.getSession();<br />		session.setAttribute(TODOLIST_KEY, todoList);<br />	}<br /><br />	public List getTodoList() {<br />		HttpServletRequest request = this.getThreadLocalRequest();<br />		HttpSession session = request.getSession();<br />		if (session.getAttribute(TODOLIST_KEY) == null) {<br />			List todoList = new ArrayList();<br />			Todo todo = new Todo("Hello from the server");<br />			todoList.add(todo);<br />			return todoList;			<br />		} else {<br />			return (List) session.getAttribute(TODOLIST_KEY);<br />		}<br />	}<br />}</pre>该 servlet 在用户的 HttpSession 中只存储工作列表；这当然是保存数据的基本方法。在一般的应用程序中，您可以使用 JNDI 访问 EJB，或者使用任何经典模式从 servlet 访问业务服务。 
<p>最后，您必须在 servlet 容器内配置该 servlet。如果您使用的是 GWT shell，您可以在 *.gwt.xml 配置文件中进行配置，本例中该配置文件为 TodoApp.gwt.xml： </p><pre>&lt;module&gt;<br />	&lt;!-- Inherit the core Web Toolkit stuff. --&gt;<br />	&lt;inherits name='com.google.gwt.user.User'/&gt;<br />	&lt;!-- Specify the app entry point class. --&gt;<br />	&lt;entry-point class='otn.todo.client.TodoApp'/&gt;<br />	&lt;servlet path="/todoListBackupService" class="otn.todo.server.TodoListBackupServiceImpl"/&gt;<br />&lt;/module&gt;</pre>如果您希望在其他应用服务器（如 OC4J）中对其进行配置，只需将平常的 XML 配置添加到 WEB-INF/web.xml 文件中即可： <pre>&lt;servlet&gt;<br />	&lt;servlet-name&gt;TodoListBackupService&lt;/servlet-name&gt;<br /> &lt;servlet-class&gt;otn.todo.server.TodoListBackupServiceImpl&lt;/servlet-class&gt;<br />&lt;/servlet&gt;<br /><br />&lt;servlet-mapping&gt;<br />	&lt;servlet-name&gt;TodoListBackupService&lt;/servlet-name&gt;<br />	&lt;url-pattern&gt;/todoListBackupService&lt;/url-pattern&gt;<br />&lt;/servlet-mapping&gt;<br /></pre>添加一些粘合剂。我们需要的粘合剂是 Async 类，它必须遵循几个规则： 
<ul><li>位于客户端程序包（otn.todo.client）中。 
</li><li>其名称与步骤 1 中描述的接口的名称相同，最后面添加 Async。 
</li><li>其方法与步骤 1 中描述的接口的方法相同，但是它们都回调一个附加参数 com.google.gwt.user.client.rpc.AsyncCallback。 </li></ul><pre>package otn.todo.client;<br /><br />import java.util.List;</pre><ul><pre><br /><br />import com.google.gwt.user.client.rpc.AsyncCallback;<br /><br />public interface TodoListBackupServiceAsync {<br /><br /> /**<br /> * Save the to-do list on the server.<br /> */<br /> void saveTodoList(List todoList, AsyncCallback callback);<br /><br /> /**<br /> * Get the to-do list on the server.<br /> */<br /> void getTodoList(AsyncCallback callback);<br />}<br /></pre></ul><ul></ul>在应用程序内使用该类。要从客户端应用程序内访问服务器端代码，使用 com.google.gwt.core.client.GWT 类，该类可以创建一个很特殊的对象： <pre>TodoListBackupServiceAsync todoListBackupService = (TodoListBackupServiceAsync) GWT.create(TodoListBackupService.class);<br /></pre>这将在运行时创建一个实施两个接口的类： 
<ul><li>我们刚刚在步骤 3 中进行编码的 Async 接口 
</li><li>Google 的 com.google.gwt.user.client.rpc.ServiceDefTarget 接口 </li></ul>第二个接口用于配置类以便它可以指向步骤 2 中定义的 servlet： <pre>ServiceDefTarget endpoint = (ServiceDefTarget) todoListBackupService; endpoint.setServiceEntryPoint("/todoListBackupService");<br /></pre>现在您已经将该对象配置为可访问服务器端服务，让我们来访问服务。如您在步骤 3 中所见，Async 接口允许您通过添加 AsyncCallback 回调参数访问在服务中定义的所有方法。该参数用于定义应用程序的行为，具体取决于服务器端调用的成功或失败： <pre> AsyncCallback callback = new AsyncCallback() {<br />         public void onSuccess(Object result) {<br />             printTodoList();<br />         }<br /><br />         public void onFailure(Throwable caught) {<br />             Window.alert("Warning : the to-do list could not be saved on the server. Maybe the server is down.");<br />         }<br />     };</pre>让我们把它们全都放在一起。下面是访问 TodoListBackupService 业务服务的两个客户端方法的完整代码：一个用于在服务器端保存工作列表，另一个用于读取该列表： <pre> /**<br />     * Update the to-do list with data from the server.<br />     */<br />    private void updateTodoListFromServer() {<br />        TodoListBackupServiceAsync todoListBackupService =<br />            (TodoListBackupServiceAsync)GWT.create(TodoListBackupService.class);<br /><br />        ServiceDefTarget endpoint = (ServiceDefTarget)todoListBackupService;<br />        endpoint.setServiceEntryPoint("/todoListBackupService");<br /><br />        AsyncCallback callback = new AsyncCallback() {<br />                public void onSuccess(Object result) {<br />                    todoList = (List)result;<br />                    saveTodoListInHistory();<br />                }<br /><br />                public void onFailure(Throwable caught) {<br />                    Todo todo =<br />                        new Todo("ERROR!! Server could not be reached.");<br />                    todoList.add(todo);<br />                    saveTodoListInHistory();<br />                }<br />            };<br /><br />        todoListBackupService.getTodoList(callback);<br />    }<br /><br />    /**<br />     * Save the to-do list on the server.<br />     */<br />    private void saveTodoListOnServer() {<br />        saveTodoListInHistory();<br /><br />        TodoListBackupServiceAsync todoListBackupService =<br />            (TodoListBackupServiceAsync)GWT.create(TodoListBackupService.class);<br /><br />        ServiceDefTarget endpoint = (ServiceDefTarget)todoListBackupService;<br />        endpoint.setServiceEntryPoint("/todoListBackupService");<br /><br />        AsyncCallback callback = new AsyncCallback() {<br />                public void onSuccess(Object result) {<br />                    printTodoList();<br />                }<br /><br />                public void onFailure(Throwable caught) {<br />                    Window.alert("Warning : the to-do list could not be saved on the server. Maybe the server is down.");<br />                }<br />            };<br /><br />        todoListBackupService.saveTodoList(todoList, callback);<br />    }</pre>示例应用程序在启动时进行服务器端调用。该调用将返回用户的 HttpSession 中保存的最新工作列表，或者包含“Hello from the server”工作的新工作列表：<br /><br /><div style="TEXT-ALIGN: center"><img alt="图 12" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f12.jpg" /></div><h3>管理 Back 按钮</h3><p>在高端 Web 应用程序中，浏览器的 Back 按钮经常断开。经典的 Ajax 应用程序不支持返回前一 Web 页的标准 Web 行为。 </p><p>另一方面，GWT 允许对 Back 按钮进行编程处理。这是一个功能强大却又很难处理的特性，我们将在示例应用程序中对其进行探究。提议是将 Back 按钮用作 Undo 按钮：单击该按钮将显示最新事件之前的工作列表。同样地，Forward 按钮将用作 Redo 按钮。</p><p>实施 HistoryListener 接口。要以编程方式管理 Back 按钮，GWT 应用程序必须实施 com.google.gwt.user.client.HistoryListener 接口。这将强制编写 onHistoryChanged(String _historyToken) 方法： </p><pre>public class TodoApp implements EntryPoint, HistoryListener {<br /><br />    /**<br />     * This method is called whenever the application's history changes.<br />     */<br />    public void onHistoryChanged(String _historyToken) {<br />        if (Integer.parseInt(_historyToken) + 1 != historyToken) {<br />            if (historyMap.get(_historyToken) != null) {<br />                historyToken = Integer.parseInt(_historyToken);<br />                todoList = (List) historyMap.get(_historyToken);<br />            }<br />        }<br />        printTodoList();<br />    }</pre>该方法意味着当浏览器的历史记录更改时接收事件。您必须将其作为监听器添加到 GWT 的 History 对象中。该操作通常在 onModuleLoad() 方法中完成，以便 History 对象在启动时正确初始化： <pre> /**<br />  * This is the entry point method.<br />  */<br />    public void onModuleLoad() {<br /><br />        History.addHistoryListener(this);<br /><br />    }</pre>现在，每次浏览器的历史记录更改时都会调用 onHistoryChanged(String _historyToken) 方法。 
<p>该方法可以根据作为参数传递的令牌重新创建应用程序的状态。本例中，您将使用该令牌作为密钥来查找存储在历史地图中的工作列表。 </p><p>向历史记录中添加条目。要使 onHistoryChanged(String _historyToken) 方法起作用，您必须预先在历史记录中存储一些条目。 </p><p>利用 History 对象很容易实现，可以使用其静态 newItem(String historyToken) 方法： </p><pre>private void saveTodoListInHistory() {<br />        List todoListClone = new ArrayList();<br />        Iterator it = todoList.iterator();<br />        while (it.hasNext()) {<br />            Todo todo = (Todo) it.next();<br />            todoListClone.add(todo.clone());<br />        }<br />        historyMap.put(String.valueOf(historyToken), todoListClone);<br />        History.newItem(String.valueOf(historyToken));<br />        historyToken++;<br />    }</pre>在本例中，您将应用程序状态存储在了地图中，因此使用历史记录令牌可以找到它。注意，您使用了一个数字作为历史记录令牌，也可以改用任何字符串。 
<h2>部署您的 Web 应用程序</h2><p>要部署通过 GWT 构建的 Web 应用程序，您需要编译客户端代码，在 Web 应用程序的 .war 文件中打包结果，然后将 .war 文件部署到相应的应用服务器 OC4J 上。 </p><p></p><h3>编译客户端代码</h3><p>编译客户端代码的方法有多种。使用 applicationCreator 脚本后，GWT 将创建一个名为 TodoApp-compile 的 shell 脚本。您可以从命令行启动该脚本。与 TodoApp-shell 一样，这是编译应用程序的很好方法；但是，您可能更喜欢直接从 JDeveloper 内部启动该脚本。 </p><p>另一种编译代码的方法使以托管模式执行应用程序，以便直接从 JDeveloper 编译代码。您的应用程序的窗口的工具栏包含编译/浏览按钮，与下图类似：</p><p></p><p></p><p style="TEXT-ALIGN: center"><img alt="图 13" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f13.jpg" /></p>在编译过程结束时，您的默认 Web 浏览器将打开以便您可以测试结果。GWT 开发 shell 的窗口将显示编译是否成功： 
<ul><p style="TEXT-ALIGN: left"></p></ul><div style="TEXT-ALIGN: center"><img alt="图 14" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f14.jpg" /></div><ul><p style="TEXT-ALIGN: center"></p></ul>无论您使用何种方法编译代码，您都可以在项目的 www/otn.todo.TodoApp 中找到生成的文件。 
<p>最后一种编译代码的方法是使用 Ant。GWT 不提供特定的 Ant 任务，但是您可以通过标准的 Java Ant 任务启动任何 Java 类（例如 GWTCompiler）。首先，定义包含 GWT jar 的路径： </p><pre><br />&lt;path id="project.class.path"&gt;<br /> &lt;pathelement path="${java.class.path}/"/&gt;<br /> &lt;pathelement location="src"/&gt;<br /> &lt;pathelement path="/your/path/to/gwt-user.jar"/&gt;<br /> &lt;pathelement path="/your/path/to/gwt-dev-linux.jar"/&gt;<br /> &lt;!-- ... --&gt;<br />&lt;/path&gt;<br /></pre>现在，定义专用于编译客户端代码的任务： <pre>&lt;target name="GWTcompile"&gt;<br />   &lt;java classpathref="http://www.oracle.com/technology/pub/articles/project.class.class.path"<br />       classname="com.google.gwt.dev.GWTCompiler"<br />       fork="true"&gt;<br />       &lt;arg value="-out"/&gt;<br />      &lt;arg value="${gwt.output.dir}"/&gt;<br />     &lt;arg value="${entry.point.class}"/&gt;<br /> &lt;/java&gt;<br />&lt;/target&gt;<br /><br /></pre>在属性文件中设置 gwt.output.dir 和 entry.point.class 变量，如下所示： <pre>gwt.output.dir=www<br />entry.point.class=otn.todo.TodoApp<br /></pre>最后，在 Ant 脚本中声明属性文件（此处为 build.properties），如下所示： <pre>&lt;property file="build.properties"/&gt;<br /></pre>您可以通过在任务的 Context 菜单中选择 Run Target GWTCompile 直接启动该新的目标：<br /><br /><div style="TEXT-ALIGN: center"><img alt="图 15" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f15.jpg" /></div><ul><p style="TEXT-ALIGN: left">Apache Ant Log 窗口将显示以下结果： </p></ul><pre>GWTcompile:<br /> [java] Output will be written into www\otn.todo.TodoApp<br /> [java] Compilation succeeded<br /><br />BUILD SUCCESSFUL<br /></pre><h3>在 OC4J 中部署</h3><p>编译完应用程序之后，在 OC4J 下部署它只需创建一个适当的部署配置文件。如果您按照前面描述的步骤进行操作，您应该已经具有一个默认的部署配置文件。如果没有，只需选择 File &gt; New...&gt; Deployment Profiles &gt; WAR File，创建一个新的配置文件。 </p><p>使用您的配置，一切都应该正常工作。但是，如果您遇到任何问题，请查看以下常见的错误： </p><ul><li>在 Project Properties 的 Project Content &gt; Web Application 中，HTML Root Directory 应该是应用程序的 www 目录（在该目录中，GWT 将对应用程序进行编译以便在托管模式下运行）。 
</li><li>在部署配置文件的 File Groups &gt; WEB-INF/lib &gt; Contributors 中，应该添加 gwt-user.jar。该 jar 文件包括 J2EE 规范中的 javax.servlet 程序包。这在本例中没有引起任何问题；但是，您通常不应将这些类部署在 Web 应用程序中，因为它们会引起麻烦。如果发生了这种情况，GWT 还提供有一个 gwt-servlet.jar 文件，它是没有 javax.servlet 程序包的 gwt-user.jar。 
</li><li>Web 应用程序的上下文根影响 GWT 的 RPC 机制。如果 GWT 客户端应用程序要与服务器通信（如“使用 RPC 进行客户端和服务器之间的数据交换”所述），它必须可以找到服务器。这就是我们已经讨论过的 endpoint.setServiceEntryPoint("") 方法的目的。在本例中，我们将应用程序部署到了服务器的根上，这就是 GWT shell 默认的工作方式。但是，如果您将应用程序部署到 TodoApp Web 上下文（在部署配置文件的一般属性中），请将端点设置为 /TodoApp/todoListBackupService 而不要设置为 /todoListBackupService。不用忘记该 URL 还应正确映射到应用程序的 web.xml 文件中（如前所述）。 
</li><li>假设 OC4J 已在系统上正确安装，将应用程序部署到服务器是很简单的：只需右键单击部署配置文件，并选择 Deploy to OC4J。 </li></ul>部署的应用程序有两部分： 
<ul><li>客户端应用程序是一组先前编译的 HTML 和 JavaScript 文件。（请参见“编译客户端代码”部分。）OC4J 充当经典的 Web 服务器，将这些文件传递给用户。 
</li><li>服务器端应用程序基本上是一个处理 RPC 通信的 servlet。在 OC4J 中部署后，该 servlet 可以访问诸如 EJB 或 JMS 提供商等企业资源。 </li></ul>性能智能化为静态资源提供了高效服务；应用程序的主要性能瓶颈来源于客户端/服务器通信。但是由于有 OC4J，我们可以访问一些有趣的服务器端性能图形： <br /><br /><div align="center"><img alt="图 16" src="http://www.oracle.com/technology/pub/images/dubois-gwt-f16.jpg" /></div><br />如该图形所显示的，在正常负载下（每秒几个请求），应用程序的服务器端部分在平均不到 4 ms 的时间内进行响应，这是很难得的结果。<img src ="http://www.blogjava.net/badboyryan/aggbug/83191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-11-24 10:31 <a href="http://www.blogjava.net/badboyryan/archive/2006/11/24/83191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>营运驾驶员从业资格培训考试与资格证综合管理系统</title><link>http://www.blogjava.net/badboyryan/archive/2006/11/06/79397.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Mon, 06 Nov 2006 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/11/06/79397.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/79397.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/11/06/79397.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/79397.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/79397.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本系统分为三个部分：省节点部分、市节点部分和考点节点部分。<br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; mso-char-indent-count: 2.0">
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<br />   省节点部分包括以下四个子系统：<br /><br /><br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">培训考务管理子系统，主要负责从市节点获得考生信息、考试安排信息、约考信息，并批复约考，生成考试试卷。另外还有用户管理和成绩统计的功能。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">题库维护子系统，主要负责维护考题题库。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">资格证管理子系统，主要负责管理资格证新证号码的分发以及资格证迁入、迁出等异动情况。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后台服务子系统，主要负责各个节点间的信息同步。<br /><br /></span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">市节点部分包括以下四个子系统：<br /><br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l2 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">培训与考务子系统，主要负责制定培训计划、管理参训人员信息、安排参训人员考试以及向省节点提供培训计划、参训信息等信息，向省节点上传约考信息。另外也具有用户管理和成绩统计的功能。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l2 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">资格证管理子系统，主要负责从省节点下载新证号码以便颁发新证，管理资格证的异动信息并向省节点提供异动信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l2 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">学员报名子系统，主要负责记录和管理参训人员的具体信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l2 level1 lfo2; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实操成绩录入子系统（</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">B/S</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构），主要负责录入考生的实际操作等非理论考试的成绩。</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<br />
						<br />考点节点部分包括以下四个子系统：<br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l1 level1 lfo3; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">考点控制子系统，主要负责下载考试安排信息、考生信息和试卷信息，保证各考点的考试正常进行。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l1 level1 lfo3; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">考场监考子系统，主要负责管理考场内的考生信息以及标记考生的作弊行为。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l1 level1 lfo3; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">考生答题子系统，负责考生上机答题。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 45pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l1 level1 lfo3; tab-stops: list 45.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings">
						<span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实操成绩录入子系统（</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">B/S</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构），功能与市节点的实操成绩录入子系统相同，只是操作了不同的数据库。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
						<o:p>
						</o:p>
				</span>
		</p>
		<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">三个部分各自都有独立的数据库，各个部分之间的数据同步通过省后台服务子系统完成。省节点需要从市节点获得考生档案及考试安排的相关信息，省节点需要对考试安排作出批复，生成考卷并将信息反馈给市节点，考试结束后省节点需要从考点节点获得考生的考试成绩，省节点需要给通过考试的考生统一分配资格证号并下发到市节点以便颁发资格证书，省节点还要从市节点获得有异动的从业人员的档案信息；市节点和考点节点都需要从省节点获得已批复的约考信息（包括考生和考试安排信息）和试卷信息，市节点需要从考点节点获得考生考试的结果。<br /><br />上面是设计思路，程序使用VB语言和vs.net技术实现。易于维护使用，计算机上级考试通用性比较好，<br />上面是普通的机器考试系统的总体设计，有什么意见请回复</span> 。<img src ="http://www.blogjava.net/badboyryan/aggbug/79397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-11-06 14:29 <a href="http://www.blogjava.net/badboyryan/archive/2006/11/06/79397.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby on  rails之旅</title><link>http://www.blogjava.net/badboyryan/archive/2006/10/13/75033.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 13 Oct 2006 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/10/13/75033.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/75033.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/10/13/75033.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/75033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/75033.html</trackback:ping><description><![CDATA[
		<p>开发的效率果然是高，下面几点体会：</p>
		<p>1、rails的安装很简单，安装之后直接可以使用了（OS ：WINXP ＋SP2）</p>
		<p>2、根据数据表生成MVC各层的代码，有点和java里面的Modestry框架雷同</p>
		<p>3、中文乱码问题的解决；<br />   在application.rb文件中修改加入filter 真的像和java在web.xml加入filter一样<br />   class ApplicationController &lt; ActionController::Base<br />      before_filter :set_charset<br />      def set_charset<br />         @headers["Content-Type"] = "text/html;charset=gb2312"<br />      end<br />    end</p>
		<p>4、 welcome_controller.rb 这里面的方法</p>
		<p>     layout  'framework',:except=&gt;[:login]<br />     def login<br />       case @request.method<br />     end</p>
		<p>     如何访问这个控制器里面的Action可以采用这个地址<br />     <a href="http://ip:3000/welcome/login">http://IP:3000/welcome/login</a><br />     和Struts里面的真的是异曲同工</p>
		<p>5、 当前中国对Rails 的态度是观望，外国听说已经风行了，程序员在10月刊也在推崇呢，<br />    先下手为强了，建议中国的ISP也多支持一下我们FANS的需求，把你的Server也镀镀金。<br /><br />坏男孩原创<br /><br />引用请注明出处：<a href="/badboyryan">http://www.blogjava.net/badboyryan</a><br /><br />更多新知识学习：<a href="/badboyryan/category/13029.html">http://www.blogjava.net/badboyryan/category/13029.html</a></p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/75033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-10-13 17:08 <a href="http://www.blogjava.net/badboyryan/archive/2006/10/13/75033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在RubyOnRails里使用UTF-8及中文字符串</title><link>http://www.blogjava.net/badboyryan/archive/2006/10/12/74796.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Thu, 12 Oct 2006 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/10/12/74796.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/74796.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/10/12/74796.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/74796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/74796.html</trackback:ping><description><![CDATA[
		<span class="postbody">结合RubyOnRails官方Wiki上的一些介绍和自己实践写的。这个方法就是在使用rails的内置的长度校验的时候要考虑到中文一般占用3个字符。 <br /><br />Ruby本身不支持UTF-8，但是我们可以使用一些办法使用8bit的字符来储存UTF-8编码后的字符串.但是这会导致一些字符串函数出现问题，可以通过使用jcode包里的函数来替换原来的字符串函数，如length可以用jlength替换。 <br />1、首先，我们需要在public/dispatch.cgi文件的#!/path/to/ruby后面加上-Ku -rjcode <br />2、然后，需要使用一个before_filter来输出http头，表示使用utf-8字符集。 <br />class ApplicationController &lt; ActionController::Base <br />before_filter :set_charset <br /><br />def set_charset <br />@headers["Content-Type"] = "text/html; charset=utf-8" <br />end <br />end <br />3、接着，如果要在Safari浏览器里使用rails的ajax帮助函数，则必须加入以下代码 <br />class ApplicationController &lt; ActionController::Base <br />after_filter :fix_unicode_for_safari <br /><br /># automatically and transparently fiixes utf-8 bug <br /># with Safari when using xmlhttp <br />def fix_unicode_for_safari <br />if @headers["Content-Type"] == "text/html; charset=utf-8" and <br />@request.env['HTTP_USER_AGENT'].to_s.include? 'AppleWebKit' then <br />@response.body = @response.body.gsub(/([^\x00-\xa0])/u) { |s| "&amp;#x%x;" % $1.unpack('U')[0] } <br />end <br />end <br /><br />4、另外，可能需要调整数据库的设置能够存储utf-8字符串。 <br /><br />5、必须把rb源文件以及rhtml等模版文件都保存为utf-8格式。 <br />这样你就可以直接在rb源文件里输入中文了。<br /><br /></span>
<img src ="http://www.blogjava.net/badboyryan/aggbug/74796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-10-12 15:44 <a href="http://www.blogjava.net/badboyryan/archive/2006/10/12/74796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQLJ是什么？优点？</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/30/73020.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Sat, 30 Sep 2006 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/30/73020.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/73020.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/30/73020.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/73020.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/73020.html</trackback:ping><description><![CDATA[
		<span lang="EN-US">SQLJ</span>
		<span>是一种允许把静态的</span>
		<span lang="EN-US"> SQL</span>
		<span>语句以文本形式嵌入</span>
		<span lang="EN-US">Java</span>
		<span>程序中的语言。在写一个</span>
		<span lang="EN-US">SQLJ</span>
		<span>应用程序时，我们编写一段</span>
		<span lang="EN-US">Java</span>
		<span>程序然后遵循某些特定的标准法则把</span>
		<span lang="EN-US">SQL</span>
		<span>语句嵌入在其中，这些法则定义了</span>
		<span lang="EN-US">SQL</span>
		<span>语句怎样写入</span>
		<span lang="EN-US">Java</span>
		<span>程序（具体情况请看</span>
		<span lang="EN-US">Oracle 8i SQLJ</span>
		<span>开发指南与参考</span>
		<span lang="EN-US">,</span>
		<span>你可以在</span>
		<span lang="EN-US">Documentation Library</span>
		<span>光盘上找到）。</span>
		<span lang="EN-US">
				<br />
		</span>
		<span>接下来，我们运行一个</span>
		<span lang="EN-US">SQLJ</span>
		<span>翻译器，通过把嵌入式结构化查询语句替换为调用调用</span>
		<span lang="EN-US">SQLJ</span>
		<span>运行时程序库的方式把</span>
		<span lang="EN-US">SQLJ</span>
		<span>程序转换成一个标准的</span>
		<span lang="EN-US">Java</span>
		<span>程序。生成的</span>
		<span lang="EN-US">Java</span>
		<span>程序就可以使用任何标准的</span>
		<span lang="EN-US">Java</span>
		<span>编译程序</span>
		<span lang="EN-US">(</span>
		<span>例如</span>
		<span lang="EN-US">javac)</span>
		<span>来编译了然后就可以配合数据库使用了。</span>
		<span lang="EN-US">SQLJ</span>
		<span>运行期环境是由一个瘦（即没有额外系统开销）</span>
		<span lang="EN-US">SQLJ</span>
		<span>运行时程序库组成，也就是说用纯</span>
		<span lang="EN-US">Java</span>
		<span>实现调用相应的数据库（</span>
		<span lang="EN-US">Oracle, DB2</span>
		<span>等等）的</span>
		<span lang="EN-US">JDBC</span>
		<span>驱动程序。</span>
		<p>
				<span>　　</span>
				<span lang="EN-US">SQLJ</span>
				<span>类似于其他的嵌入式结构化查询语言的实现</span>
				<span lang="EN-US">,</span>
				<span>像</span>
				<span lang="EN-US">Oracle Pro * C (</span>
				<span>嵌入</span>
				<span lang="EN-US">C</span>
				<span>语言环境的</span>
				<span lang="EN-US">SQL)</span>
				<span>。</span>
				<span lang="EN-US">SQLJ</span>
				<span>语言设计的目的就是帮助基于</span>
				<span lang="EN-US">Java</span>
				<span>的程序员构建数据库应用程序。</span>
				<span lang="EN-US">SQLJ</span>
				<span>是一个</span>
				<span lang="EN-US">ISO</span>
				<span>和</span>
				<span lang="EN-US">ANSI</span>
				<span>标准，也就是说由领头的数据库与软件供应厂商开发和支持的，包括</span>
				<span lang="EN-US">ORACLE</span>
				<span>数据库管理系统公司</span>
				<span lang="EN-US">,</span>
				<span>国际商业机器公司</span>
				<span lang="EN-US">,</span>
				<span>美国赛贝斯公司</span>
				<span lang="EN-US">, Informix</span>
				<span>公司，美国康柏公司等。所有这些公司合作开发兼容的</span>
				<span lang="EN-US">SQLJ</span>
				<span>翻译器来实现使用不同的数据库。</span>
		</p>
		<p align="left">
				<span>　<b>　</b></span>
				<b>
						<span lang="EN-US">SQLJ</span>
				</b>
				<b>
						<span>的优点</span>
				</b>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<span>　　一个编译过的</span>
				<span lang="EN-US">SQLJ</span>
				<span>应用程序是一个标准的</span>
				<span lang="EN-US">Java</span>
				<span>程序，可以在任何具备三个组件的环境中运行，这三个组件是：</span>
				<span lang="EN-US">JVM, SQLJ</span>
				<span>运行时程序库和</span>
				<span lang="EN-US">JDBC</span>
				<span>驱动程序。</span>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<span>　　它提供了下列好处</span>
				<span>∶</span>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<span>　　<b>紧凑的代码</b></span>
				<span lang="EN-US"> SQLJ</span>
				<span>代码比</span>
				<span lang="EN-US">JDBC</span>
				<span>代码更加紧凑并且无差错。在编译时对语法和语义进行检查。</span>
				<span lang="EN-US">SQLJ</span>
				<span>编译器提供了类型检查和模式对象检查来找出在</span>
				<span lang="EN-US">SQL</span>
				<span>语句中的语法错误或遗漏或拼错这样的错误，这是在编译过程中进行而不是在运行过程中进行。因此，使用</span>
				<span lang="EN-US">SQLJ</span>
				<span>编写的程序比使用</span>
				<span lang="EN-US">JDBC</span>
				<span>编写的程序更加健壮。</span>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<span>　　<b>多厂商互用性</b></span>
				<span lang="EN-US"> SQLJ</span>
				<span>语法是由主要的软件供应厂商开发和支持的。因为</span>
				<span lang="EN-US">SQLJ</span>
				<span>程序使用运行时</span>
				<span lang="EN-US">JDBC</span>
				<span>调用访问数据库，所以</span>
				<span lang="EN-US">SQLJ</span>
				<span>可以访问任何</span>
				<span lang="EN-US">JDBC</span>
				<span>驱动程序可以实现的数据库服务器。</span>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<span>　　<b>灵活的部署</b></span>
				<span>
				</span>
				<span>因为</span>
				<span lang="EN-US">SQLJ</span>
				<span>运行时程序库是基于</span>
				<span lang="EN-US">Java</span>
				<span>的程序，所以</span>
				<span lang="EN-US">SQLJ</span>
				<span>应用程序可以在任何</span>
				<span lang="EN-US">JDBC</span>
				<span>配置环境中配置，例如瘦客户端，中间层或是数据库服务器上等。</span>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<span>　　<b>供应厂商具体定制</b>　</span>
				<span lang="EN-US">SQLJ</span>
				<span>通过后续的</span>
				<span lang="EN-US">Java</span>
				<span>字节码的定制支持供应厂商具体产品的特色和扩展。它可以被用来改善</span>
				<span lang="EN-US">SQL</span>
				<span>查询语言的执行性能，使用具体供应厂商提供的性能或功能上的扩展，而不用考虑</span>
				<span lang="EN-US">SQLJ</span>
				<span>程序如何变化，以及调试和运行记录等情况。</span>
		</p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/73020.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-30 14:16 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/30/73020.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>@RIAWork－今天推荐去看一下这个</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/26/71882.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 26 Sep 2006 00:37:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/26/71882.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/71882.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/26/71882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/71882.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/71882.html</trackback:ping><description><![CDATA[
		<a href="/BlueDavy/category/10609.html">http://www.blogjava.net/BlueDavy/category/10609.html</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/71882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-26 08:37 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/26/71882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>系统设计说明书(架构、概要、详细)目录结构 </title><link>http://www.blogjava.net/badboyryan/archive/2006/09/19/70543.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 19 Sep 2006 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/19/70543.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/70543.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/19/70543.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/70543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/70543.html</trackback:ping><description><![CDATA[
		<p>虽然这些文档一般来说公司都是有模板的，但我写这些文档以来基本上是每写一次就把目录结构给改一次，应该说这是因为自己对这些文档的理解开始加深，慢慢的越来越明白这些文档的作用和其中需要阐述的东西，觉得这三份文档主要阐述了一个系统的设计和实现过程，从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。这次又整了一份，^_^，欢迎大家指正。</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%">XXX</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构设计说明书</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%">
								<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center">
				<i style="mso-bidi-font-style: normal">
						<span lang="EN-US">(</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构设计重点在于将系统分层并产生层次内的模块、阐明模块之间的关系</span>
						<span lang="EN-US">)</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概述</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述本文的参考依据、资料以及大概内容。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">二.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目的</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述本文编写的目的。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">三.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构设计</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">阐明进行架构设计的总体原则，如对问题域的分析方法。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构分析</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对场景以及问题域进行分析，构成系统的架构级设计，阐明对于系统的分层思想。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.2.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设计思想</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">阐明进行架构设计的思想，可参考一些架构设计的模式，需结合当前系统的实际情况而定。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.3.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">架构体系</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据架构分析和设计思想产生系统的架构图，并对架构图进行描述，说明分层的原因、层次的职责，并根据架构图绘制系统的物理部署图，描述系统的部署体系。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.4.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块划分</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据架构图进行模块的划分并阐明模块划分的理由，绘制模块物理图以及模块依赖图。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; TEXT-INDENT: -35.45pt; LINE-HEIGHT: 150%; mso-outline-level: 3; mso-list: l0 level3 lfo1; tab-stops: list 35.45pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.4.1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块描述</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据模块物理图描述各模块的职责，并声明其对其他模块的接口要求。。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; TEXT-INDENT: -35.45pt; LINE-HEIGHT: 150%; mso-outline-level: 3; mso-list: l0 level3 lfo1; tab-stops: list 35.45pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.4.2.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块接口设计</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对模块接口进行设计，并提供一定的伪代码。</span>
				</i>
				<br />
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%">XXX</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概要设计说明书</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center">
				<i style="mso-bidi-font-style: normal">
						<span lang="EN-US">(</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概要设计重点在于将模块分解为对象并阐明对象之间的关系</span>
						<span lang="EN-US">)<o:p></o:p></span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概述</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述本文的参考依据、资料以及大概内容。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">二.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目的</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述本文的编写目的。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">三.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块概要设计</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">引用架构设计说明书中的模块图，并阐述对于模块进行设计的大致思路。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设计思想</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">阐明概要设计的思想，概要设计的思想通常是涉及设计模式的。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.2.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">A<o:p></o:p></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; TEXT-INDENT: -35.45pt; LINE-HEIGHT: 150%; mso-outline-level: 3; mso-list: l0 level3 lfo1; tab-stops: list 35.45pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.2.1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概要设计</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据该模块的职责对模块进行概要设计</span>
						<span lang="EN-US">(</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分解模块为对象、描述对象的职责以及声明对象之间的接口</span>
						<span lang="EN-US">)</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，绘制模块的对象图、对象间的依赖图以及模块主要功能的序列图，分别加以描述并相应的描述模块异常的处理方法。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; TEXT-INDENT: -35.45pt; LINE-HEIGHT: 150%; mso-outline-level: 3; mso-list: l0 level3 lfo1; tab-stops: list 35.45pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.2.2.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块接口实现</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">阐明对于架构设计中定义的模块接口的实现的设计。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%">XXX</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细设计说明书</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 16pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center">
				<i style="mso-bidi-font-style: normal">
						<span lang="EN-US">(</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细设计重点在于对模块进行实现，将模块的对象分解为属性和方法，并阐述如何实现</span>
						<span lang="EN-US">)</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概述</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">阐述本文的参考依据、资料以及大概内容。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">二.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目的</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">阐述本文的编写目的。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21.25pt; TEXT-INDENT: -21.25pt; LINE-HEIGHT: 150%; mso-outline-level: 1; mso-list: l0 level1 lfo1; tab-stops: list 21.25pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-bidi-font-family: 宋体">
								<span style="mso-list: Ignore">三.<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块详细设计</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设计思想</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt">阐述对模块进行详细设计的思想。</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span lang="EN-US" style="LINE-HEIGHT: 150%; mso-bidi-font-size: 10.5pt">
								<o:p>
								</o:p>
						</span>
				</i>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 1cm; TEXT-INDENT: -1cm; LINE-HEIGHT: 150%; mso-outline-level: 2; mso-list: l0 level2 lfo1; tab-stops: list 1.0cm">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.2.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模块</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">A<o:p></o:p></span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 35.45pt; TEXT-INDENT: -35.45pt; LINE-HEIGHT: 150%; mso-outline-level: 3; mso-list: l0 level3 lfo1; tab-stops: list 35.45pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3.2.1.<span style="FONT: 7pt 'Times New Roman'">       </span></span>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细设计</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%">
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据模块概要设计详细描述对于模块内对象的实现，包括对象的职责、属性、方法、对象内功能的流程图、对象关联的类、对象的异常。</span>
						<span lang="EN-US">(</span>
				</i>
				<i style="mso-bidi-font-style: normal">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要绘制的主要为类图</span>
						<span lang="EN-US">)</span>
				</i>
				<br />引子博客群排行老二的<u><font color="#800080">/BlueDavy的blog</font></u>：<br />  <a href="/BlueDavy/archive/2005/06/13/6037.aspx">http://www.blogjava.net/BlueDavy/archive/2005/06/13/6037.aspx</a><br /><br /></p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/70543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-19 15:32 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/19/70543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是威客（微客）？</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/15/69971.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 15 Sep 2006 13:14:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/15/69971.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69971.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/15/69971.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69971.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69971.html</trackback:ping><description><![CDATA[
		<a href="/badboyryan/archive/2006/09/05/67718.html">推荐的威客网站</a>
		<br />威客的英文是Witkey（wit智慧、key钥匙）。在网络时代，凭借自己的创造能力（智慧和创意）在互联网上帮助别人，而获得报酬的人就是威客。通俗地讲，威客就是在网络上出卖自己无形资产（知识商品）的人。或者说是在网络上做知识（商品）买卖的人。 <br />威客如何接项目 ： <br /><br />在Mycase网所有竞标项目均是客户自定价，竞标威客必须接受该价格，每个项目客户100%付款，放心竞标，客户评标后，中标会员将得到总标额的80%，其余20%作为网站运作费用。<br /><br />客户如何发项目 ： <br /><br />发标自主，以标方为中心，给予标方更大的自主权； 自由叫价，标方按需选择，定价机制更加灵活变通；<br /><br />量身定制，上万设计威客，提供多层次的参考方案； 质量保证，会员竞争评选，选择最佳优胜作品付款；<br /><br /><br />流程：价格由客户说了算，付款发布后，由多威英根据需求开始创作并上传，至截标日期由客户评标，选出中意，我们再将酬金付给中标的威客。 <br />什么是威客：<br /><br />威客的英文是Witkey（wit智慧、key钥匙）。在网络时代，凭借自己的创造能力（智慧和创意）在互联网上帮助别人，而获得报酬的人就是威客。通俗地讲，威客就是在网络上出卖自己无形资产（知识商品）的人。或者说是在网络上做知识（商品）买卖的人。 <br />威客如何接项目 ： <br /><br />在Mycase网所有竞标项目均是客户自定价，竞标威客必须接受该价格，每个项目客户100%付款，放心竞标，客户评标后，中标会员将得到总标额的80%，其余20%作为网站运作费用。<br /><br />客户如何发项目 ： <br /><br />发标自主，以标方为中心，给予标方更大的自主权； 自由叫价，标方按需选择，定价机制更加灵活变通；<br /><br />量身定制，上万设计威客，提供多层次的参考方案； 质量保证，会员竞争评选，选择最佳优胜作品付款；<br /><br /><br />流程：价格由客户说了算，付款发布后，由多威英根据需求开始创作并上传，至截标日期由客户评标，选出中意，我们再将酬金付给中标的威客。 <br />什么是威客：<br /><br />威客的英文是Witkey（wit智慧、key钥匙）。在网络时代，凭借自己的创造能力（智慧和创意）在互联网上帮助别人，而获得报酬的人就是威客。通俗地讲，威客就是在网络上出卖自己无形资产（知识商品）的人。或者说是在网络上做知识（商品）买卖的人。 <br />威客如何接项目 ： <br /><br />在Mycase网所有竞标项目均是客户自定价，竞标威客必须接受该价格，每个项目客户100%付款，放心竞标，客户评标后，中标会员将得到总标额的80%，其余20%作为网站运作费用。<br /><br />客户如何发项目 ： <br /><br />发标自主，以标方为中心，给予标方更大的自主权； 自由叫价，标方按需选择，定价机制更加灵活变通；<br /><br />量身定制，上万设计威客，提供多层次的参考方案； 质量保证，会员竞争评选，选择最佳优胜作品付款；<br /><br /><br />流程：价格由客户说了算，付款发布后，由多威英根据需求开始创作并上传，至截标日期由客户评标，选出中意，我们再将酬金付给中标的威客。 <br />什么是威客：<br /><br />威客的英文是Witkey（wit智慧、key钥匙）。在网络时代，凭借自己的创造能力（智慧和创意）在互联网上帮助别人，而获得报酬的人就是威客。通俗地讲，威客就是在网络上出卖自己无形资产（知识商品）的人。或者说是在网络上做知识（商品）买卖的人。 <br />威客如何接项目 ： <br /><br />在Mycase网所有竞标项目均是客户自定价，竞标威客必须接受该价格，每个项目客户100%付款，放心竞标，客户评标后，中标会员将得到总标额的80%，其余20%作为网站运作费用。<br /><br />客户如何发项目 ： <br /><br />发标自主，以标方为中心，给予标方更大的自主权； 自由叫价，标方按需选择，定价机制更加灵活变通；<br /><br />量身定制，上万设计威客，提供多层次的参考方案； 质量保证，会员竞争评选，选择最佳优胜作品付款；<br /><br /><br />流程：价格由客户说了算，付款发布后，由多威英根据需求开始创作并上传，至截标日期由客户评标，选出中意，我们再将酬金付给中标的威客。 <br /><br />威客的英文是Witkey（wit智慧、key钥匙）。在网络时代，凭借自己的创造能力（智慧和创意）在互联网上帮助别人，而获得报酬的人就是威客。通俗地讲，威客就是在网络上出卖自己无形资产（知识商品）的人。或者说是在网络上做知识（商品）买卖的人。 <br />威客如何接项目 ： <br /><br />在Mycase网所有竞标项目均是客户自定价，竞标威客必须接受该价格，每个项目客户100%付款，放心竞标，客户评标后，中标会员将得到总标额的80%，其余20%作为网站运作费用。<br /><br />客户如何发项目 ： <br /><br />发标自主，以标方为中心，给予标方更大的自主权； 自由叫价，标方按需选择，定价机制更加灵活变通；<br /><br />量身定制，上万设计威客，提供多层次的参考方案； 质量保证，会员竞争评选，选择最佳优胜作品付款；<br /><br /><br />流程：价格由客户说了算，付款发布后，由多威英根据需求开始创作并上传，至截标日期由客户评标，选出中意，我们再将酬金付给中标的威客。<img src ="http://www.blogjava.net/badboyryan/aggbug/69971.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-15 21:14 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/15/69971.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP生成静态页实践及其设计思想 </title><link>http://www.blogjava.net/badboyryan/archive/2006/09/15/69912.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 15 Sep 2006 07:26:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/15/69912.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69912.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/15/69912.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69912.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69912.html</trackback:ping><description><![CDATA[
		<p>引子：<br />我们以两个大型网站为例作比较：<br />51job和智联招聘（先声明我不是为他们作广告，仅以他们为例作技术上的比较）<br />51job采用的是比较“先进”的php技术，而智联用的是比较落后的asp.但我们可能会明显的感觉到51job的反应速度相比智联招聘实在是太慢了，为什么会这样？细心的人可能会察觉到了。智联虽然用的是asp,但他采用了另一种更巧妙的技术--asp生成静态页技术。所有的动态页基本上都转换成了html静态页，不用访问数据库，当然反应快了。<br />下面我们讨论一下jsp怎么转换成html??<br />首先要做一个模板。后缀不限，但一般都用*.template例子<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;#title#&lt;/title&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />&lt;LINK href="../css.css" rel=stylesheet type=text/css&gt;<br />&lt;/head&gt;</p>
		<p>&lt;body&gt;<br />&lt;P align="center"&gt;<br />#title#&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />作者：#author#&lt;BR&gt;&lt;BR&gt;<br />&lt;BR&gt;<br />#content#&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />&lt;/P&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br />做一个处理模板的类或者jsp文件、(为说明问题我们从简单入手以一个jsp文件为例)<br /> filePath = request.getRealPath("/")+"WEB-INF/templates/template.htm";<br /> out.print(filePath);<br /> String templateContent="";<br /> FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件<br /> int lenght = fileinputstream.available();<br /> byte bytes[] = new byte[lenght];<br /> fileinputstream.read(bytes);<br /> fileinputstream.close();<br /> templateContent = new String(bytes);<br /> out.print("以下是模板内容：&lt;br&gt;"+templateContent+"&lt;br&gt; 以下是置换以后的html内容&lt;br&gt;&lt;hr&gt;");<br /> templateContent=templateContent.replaceAll("#title#",title);<br /> templateContent=templateContent.replaceAll("#author#",editer);//替换掉模块中相应的地方<br /> templateContent=templateContent.replaceAll("#content#",content);<br /> // 根据时间得文件名<br /> Calendar calendar = Calendar.getInstance();<br /> String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";<br /> fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径<br /><br /> out.print(templateContent);<br /> FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流<br /> byte tag_bytes[] = templateContent.getBytes();<br /> fileoutputstream.write(tag_bytes);<br /> fileoutputstream.close();<br />嗯，核心技术就是这样了，如果大家要求的性能更高，可以改用freemarker做模板。freemarker的使用方法可以参阅另一篇文章《<a class="singleposttitle" id="viewpost1_TitleUrl" href="/zhanglijun33/archive/2006/07/20/freemarker.html"><font color="#333333">Freemarker 模板工具的作用及使用</font></a>》<br /><br />引自：<a href="/zhanglijun33/archive/2006/07/28/60568.aspx">http://www.blogjava.net/zhanglijun33/archive/2006/07/28/60568.aspx</a></p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/69912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-15 15:26 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/15/69912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>业界新闻: 未来12个月内的Java技术前瞻 </title><link>http://www.blogjava.net/badboyryan/archive/2006/09/13/69360.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 13 Sep 2006 05:37:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/13/69360.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69360.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/13/69360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69360.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69360.html</trackback:ping><description><![CDATA[16位德国JAVA专家在一起讨论“在下面12个月中，我们应该学习什么？”，如果你想知道讨论的详细内容，请看这里http://www.firstpartners.net/red-piranha/knowledgebase/VirtualJavaMeetup. <br /><br /><p>　　·如果你没有耐心看下去，那么请看我列出的总结：</p><p>　　·网络服务将会膨胀，但是前提条件是必须保持整洁的情况下。 <br /><br />　　·EJB 3 和 Netbeans 是非常值得我们在上面花费时间的, 它们都比以前的版本要完善得多，虽然之前它们的名声并不是那么好。</p><p>　　·Middleware (例如 workflow and Rules Engines) 关注的是团队开发，但是想进入这样一个团体的障碍是很高的。 <br /><br />　　·Struts会继续称霸JAVA WEB frameworks, 尽管它已经不是最优秀的技术了。</p><p>　　·非常多的公司将继续使用 Java 1.4, 同时关注着Java 1.6。</p><p>　　·Service Orientated Architecuture (SOA)是一个非常不错的想法，但是目前为止并没有太多的project在使用它。</p><p>　　·IDE’s (Netbeans / Eclipse / JDeveloper) 会给我们带来很多好处, 前提条件是它们必须被low level工具支持 (例如 Ant 和 Maven).</p>(转载文章请保留出处：<a href="http://www.javajia.com/"><font color="#002c99">Java家(www.javajia.com)</font></a>)<img src ="http://www.blogjava.net/badboyryan/aggbug/69360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-13 13:37 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/13/69360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>业界新闻: 轻量级Web框架Stripes 1.4 发布 </title><link>http://www.blogjava.net/badboyryan/archive/2006/09/13/69356.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 13 Sep 2006 05:35:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/13/69356.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69356.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/13/69356.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69356.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69356.html</trackback:ping><description><![CDATA[ 轻量级Web框架Stripes 28日宣布，发行其Stripes 1.4 正式版本。<br /><br />Stripes是一个利用最新的Java技术，来构建Web应用程序的视图框架。它具有以下特点：不需要对每一page/action进行映射配置；强大的绑定引擎用于构建复杂并脱离请求参数的web对象；易于使用且支持本地化的验证与类型转换系统；可重复使用ActionBean作为视图帮助类；支持一个form对应多个事件，等等。<br /><br />该新版本中主要的提升包括，国际字符集操作，泛型数据处理，Spring 集成以及bug 修补，等等。<br />(转载文章请保留出处：<a href="http://www.javajia.com/">Java家(www.javajia.com)</a>)<img src ="http://www.blogjava.net/badboyryan/aggbug/69356.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-13 13:35 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/13/69356.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>业界新闻: JAVA 7新特性让JVM“瘦身”成功！ </title><link>http://www.blogjava.net/badboyryan/archive/2006/09/13/69351.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 13 Sep 2006 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/13/69351.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69351.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/13/69351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69351.html</trackback:ping><description><![CDATA[很多用户一直以来都有一个需求：希望一个简单的JVM，只装载他们需要的东西，比如简单的Applet。而通常JVM都是很大，15mb以上。所以这些用户希望能够减少JVM的大小。<br /><br /><br />目前，Java 7通过了一个新特性：Java Kernel，同时SUN已经有一个小组，开始负责这个特性的开发。 在最近的测试中，Sun宣称能够让JVM从15.5M 变成 2.6M，来运行简单的Helloword 程序，让JVM变成3.5 M来运行简单的JFrame程序。相信将来会有更大的提升。 如果真的实现按需定制的JVM，你认为对你的需求有帮助吗？ (转载文章请保留出处：<a href="http://www.javajia.com/">Java家(www.javajia.com)</a>)<img src ="http://www.blogjava.net/badboyryan/aggbug/69351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-13 13:16 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/13/69351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>美工也不能空手而回</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/13/69340.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Wed, 13 Sep 2006 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/13/69340.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69340.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/13/69340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69340.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69340.html</trackback:ping><description><![CDATA[
		<a href="http://www.7yue.com/">http://www.7yue.com/</a>
		<br />
		<br />做FLaSH的<img src ="http://www.blogjava.net/badboyryan/aggbug/69340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-13 11:53 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/13/69340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>袁红岗：Ajax，只是一种过渡技术</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/12/69150.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 12 Sep 2006 06:35:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/12/69150.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/69150.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/12/69150.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/69150.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/69150.html</trackback:ping><description><![CDATA[
		<a href="http://www.operamasks.org/NewsDetails.jsp?newsId=769bcd1f010d1000e0000097c0a800d3">http://www.operamasks.org/NewsDetails.jsp?newsId=769bcd1f010d1000e0000097c0a800d3</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/69150.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-12 14:35 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/12/69150.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>央视逗得网民乐 错把微客当威客</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/11/68876.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Mon, 11 Sep 2006 01:09:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/11/68876.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/68876.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/11/68876.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/68876.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/68876.html</trackback:ping><description><![CDATA[
		<p>话说前几日这央视报道威客影响可真是不小</p>
		<p>在全国闹得可谓沸沸扬扬</p>
		<p>不少网民听说还能在网上挣钱</p>
		<p>可谓心中大乐</p>
		<p>于是乎</p>
		<p>欣然上网搜索</p>
		<p>谁料大多数网民却把“微客”当成了<br /><br />“威客”</p>
		<p>不信？</p>
		<p>你去看今天的百度风云榜啊</p>
		<p>上升最快Top50</p>
		<p>第三名赫然是“微客”</p>
		<p>而威客居然前50名都没有进</p>
		<p>呜呼</p>
		<p>可爱的网民还在贴吧里发问</p>
		<p>1 微客：  <br /> 微客是干什么的？<br />  <br />2 回复：微客  <br /> 我也在考察之中！！</p>
		<p>3 回复：微客  <br /> 好象是..有人出钱征集点什么东西.比如标志或者口号什么的.然后专门为此做设计的就叫微客吧~~ </p>
		<p>就有点在家办公的意思.  </p>
		<p>1 就是不明白这名字的由来  <br /> 微客   是啥意思？？难道又是外来的东西？？  </p>
		<p>1 为什么我在网络上搜索微客艘出来的全是汽车啊``  <br /> 微客汽车 微型汽车`````我怎么搜索出来的全是这些东西啊  </p>
		<p>
				<br />哈哈哈哈哈</p>
		<p>再看看相关搜索，没看完已经跌坏了两副眼镜</p>
		<p>关键字被搜索次数：1微客网站2中国微客3微客论坛4网上微客5微客赚钱6微客设计7微客网址8博客微客9职业微客10微客任务11微客主页12中国微客网站13微客信息14微客介绍15微客市场16微客 it17电脑微客18博客与微客19微客首页20微客 网络21微客行业22微客 网络名词23五菱微客报价24微客 挣钱25微客竞标26微客平台27微客网站 悬赏28微客悬赏29微客广告<br /><br /><br />结论出来了－“威客”是正确的</p>
<img src ="http://www.blogjava.net/badboyryan/aggbug/68876.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-11 09:09 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/11/68876.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是威客?</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/11/68875.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Mon, 11 Sep 2006 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/11/68875.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/68875.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/11/68875.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/68875.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/68875.html</trackback:ping><description><![CDATA[威客  <br />现在网络上搜索“威客”一词，找到的页面和内容不多。不过随着威客概念逐步被人认识，以及威客模式的广泛应用，过一段时间，能够搜索到关于威客的内容自然会越来越多。  <br />中国新经济（商业）的进化速度真是一日千里，而作为新经济（商业）运营核心的互联网，商业应用的新概念和新模式更是层出不穷。在2005年的中国互联网产业中，博客概念和模式可谓出尽风头、无人不知。经过去年互联网的广泛普及、教育和大规模应用，到现在有谁不知道博客的概念、模式和应用？由博客概念和模式所掀起的Web2.0网络应用热潮，去年曾经席卷整个中国互联网。然而，进入2006年，博客概念、模式和应用的烽火尚未熄灭，一个创新的网络运营概念和模式——威客概念和模式，又逐步浮现在我们的视野中。  <br /><br />威客的英文是Witkey（wit智慧、key钥匙）。在网络时代，凭借自己的创造能力（智慧和创意）在互联网上帮助别人，而获得报酬的人就是威客。通俗地讲，威客就是在网络上出卖自己无形资产（知识商品）的人。或者说是在网络上做知识（商品）买卖的人。在新经济（商业）环境中做威客的人，种类各式各样，除了各个行业、各个领域之外，还包括掌握各类创新理论（经济和管理）的人。在这些掌握各类创新理论（经济和管理）的人中，有经济威客、管理威客和网络威客等各个领域的威客。甚至可以夸张地说，在互联网威客这平台上，没有所谓的经济学家、管理学家等各式各样的专家学者，只有威客。而威客类网站的出现，为有知识生产加工能力的个人创造了一个销售知识产品的商业平台和机会。总而言之，威客模式的出现，为个人的知识（资源）买卖带来商机。随着威客时代的来临，每一个威客都可以将自己的知识、经验和学术研究成果作为一种无形的“知识商品”和服务在网络上来销售。威客通过威客网站这个平台买卖“知识产品”，让自己的知识、经验和学术研究成果逐步转化成个人财富。在威客模式下，个人的知识（资源）不但是力量，而且又是个人的财富。在以知识资源应用开发的新经济（商业）时代，无论是个人或组织拥有知识就拥有财富。  <br /><br />网络时代是一个个人时代，也是一个个人知识消费的年代。网络时代，将彻底改变以往传统时期的学习与培训模式。每个人按照自己的个性来选择知识消费需求，寻找适合自己需要的知识“产品”。个人要提升自己的能力，需要学习（消费）各种各样的知识，而威客模式更为个人带来个性化学习培训模式。作为一个知识消费的年代，有知识消费者，就必然存在知识生产者和知识加工者等知识工作者群体。而在威客模式下，威客就是专门从事知识生产和知识加工的知识工作者。  <br /><br />随着威客热潮的兴起，从事无形知识商品的威客模式网站，将开创中国电子商务的新局面。一直以来，互联网的电子商务基本上是以买卖“有形商品”为主要内容，而威客模式威客是以买卖“无形商品”为核心，从而开创一个无形“知识商品”的买卖平台。无形“知识商品”的买卖平台，将创建一个新的“无形商品”电子商务模式。而威客模式下的知识消费与买卖的基本模式，主要有个人与个人，个人与企业（组织），企业（组织）与企业（组织）。由于威客针对个人或组织的个性需要，提供独特、个性的知识商品与服务，收费自然更加容易。  <br /><br />进入新的一年，威客模式已经从概念的萌芽逐渐变成一株应用的树苗。经过多年的培育和开发，威客模式正逐步走向成熟。而困扰威客模式的主要难题，智慧体现价值问题的已经有基本的解决答案，并且逐步形成威客运营的模式和方法。具有特别重要的意义的是，智慧体现价值问题的解决，为人脑与电脑联机，人与机器（电脑）的融合奠定了基础。  <br /><br />威客模式的出现，不但使中国互联网产业更加完善，而更成为互联网产业的推动力。因为威客模式的出现，产生了更多更好的网络内容，进一步改善互联网内容缺乏和同质化的状况，将网络内容成为推动互联网产业发展的动力。威客模式进一步提升网络内容的质量，形成一个个性化的网络内容运营模式。而威客模式又逐步主导网络内容运营与发展，从而主导中国互联网产业的发展。同时，随着威客模式的理论、模式和方法研究的诞生、完善与应用，又使中国互联网产业处于领先地位。  <br /><br />目前，中国处在经济（商业）转型过程中，而中国又是一个经济（商业）知识短缺的国家。针对国内经济（商业）知识短缺的现状，利用威客这种知识服务收费模式（知识消费模式），有利于提升国民的商业素质（商业意识）。而且，中国经济（商业）知识短缺所形成的经济（商业）知识需求，更为威客、网络智力服务和互联网等新行业、新产业的发展奠定坚实基础。  <br /><br />由于威客模式与互联网产业、信息内容产业和当前新经济（商业）中有广泛性的应用，由于时间和篇幅所限，威客模式问题我就谈到此为止。以后我将陆续将自己对威客模式的研究成果和想法告诉大家。作为一个管理威客，由于忙于个人威客网站的内容策划和更新，没有时间在论坛上回复各位的疑问。  <br /><br />其实百度知道就一一种威客模式，类似的还有雅虎知识堂，新浪爱问等。<img src ="http://www.blogjava.net/badboyryan/aggbug/68875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-11 09:06 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/11/68875.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最小项目管理工具集</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/08/68540.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Fri, 08 Sep 2006 08:08:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/08/68540.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/68540.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/08/68540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/68540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/68540.html</trackback:ping><description><![CDATA[
		<a href="/calvin/archive/2005/10/13/15422.aspx">http://www.blogjava.net/calvin/archive/2005/10/13/15422.aspx</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/68540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-08 16:08 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/08/68540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有名的威客网站推荐，不是微客网站</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/05/67718.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 05 Sep 2006 00:51:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/05/67718.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/67718.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/05/67718.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/67718.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/67718.html</trackback:ping><description><![CDATA[
		<a href="http://www.k68.cn/">http://www.k68.cn/</a>
		<br />
		<br />中国威客网<br /><br /><a href="http://www.weikenet.com/">http://www.weikenet.com/</a><br /><br /><br />题外话：<br />这个是我的Blog里面的非技术板块，请点击查看<br /><a href="/badboyryan/category/13259.html">http://www.blogjava.net/badboyryan/category/13259.html</a><img src ="http://www.blogjava.net/badboyryan/aggbug/67718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-05 08:51 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/05/67718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>互联网上兴起“威客”引人关注</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/05/67717.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 05 Sep 2006 00:47:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/05/67717.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/67717.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/05/67717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/67717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/67717.html</trackback:ping><description><![CDATA[
		<a href="http://news.cctv.com/xwlb/20060903/101951.shtml">http://news.cctv.com/xwlb/20060903/101951.shtml</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/67717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-05 08:47 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/05/67717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>"威客"模式：打破地域限制 冲击传统行业</title><link>http://www.blogjava.net/badboyryan/archive/2006/09/05/67716.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 05 Sep 2006 00:43:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/09/05/67716.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/67716.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/09/05/67716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/67716.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/67716.html</trackback:ping><description><![CDATA[
		<a href="http://news.cctv.com/society/20060902/100707.shtml">http://news.cctv.com/society/20060902/100707.shtml</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/67716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-09-05 08:43 <a href="http://www.blogjava.net/badboyryan/archive/2006/09/05/67716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对Liferay进行瘦身</title><link>http://www.blogjava.net/badboyryan/archive/2006/08/29/66403.html</link><dc:creator>坏男孩</dc:creator><author>坏男孩</author><pubDate>Tue, 29 Aug 2006 05:40:00 GMT</pubDate><guid>http://www.blogjava.net/badboyryan/archive/2006/08/29/66403.html</guid><wfw:comment>http://www.blogjava.net/badboyryan/comments/66403.html</wfw:comment><comments>http://www.blogjava.net/badboyryan/archive/2006/08/29/66403.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/badboyryan/comments/commentRss/66403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/badboyryan/services/trackbacks/66403.html</trackback:ping><description><![CDATA[
		<a href="http://blog.csdn.net/james999/archive/2006/07/27/986386.aspx">http://blog.csdn.net/james999/archive/2006/07/27/986386.aspx</a>
<img src ="http://www.blogjava.net/badboyryan/aggbug/66403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/badboyryan/" target="_blank">坏男孩</a> 2006-08-29 13:40 <a href="http://www.blogjava.net/badboyryan/archive/2006/08/29/66403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>