﻿<?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-MEYE-文章分类-NEWS</title><link>http://www.blogjava.net/MEYE/category/8472.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 05:21:51 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 05:21:51 GMT</pubDate><ttl>60</ttl><item><title>推荐几个在线电影的地址</title><link>http://www.blogjava.net/MEYE/articles/44528.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Thu, 04 May 2006 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/44528.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/44528.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/44528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/44528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/44528.html</trackback:ping><description><![CDATA[
		<hr />
		<div style="LINE-HEIGHT: 22px; HEIGHT: 22px">
				<div style="FLOAT: left">
						<img alt="发贴心情" src="http://bbs.kaifulee.com/skins/Default/topicface/face1.gif" />
				</div>
				<b>推荐几个在线电影的地址！</b>
		</div>
		<div style="PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-SIZE: 9pt; OVERFLOW-X: hidden; WIDTH: 97%; WORD-BREAK: break-all; TEXT-INDENT: 24px; LINE-HEIGHT: normal; HEIGHT: 200px; WORD-WRAP: break-word" onload="this.style.overflowX='auto';">
				<p>推荐几个在线电影的地址！</p>
				<p>　　第一位：我看!我要看!在线小电影<a href="http://www.5k51k.com/">http://www.5k51k.com</a><br />　　中国最大的免费在线小电影网站，电影播放速度不错，想休闲在线观看小电影和综艺电影，5k51k是你最好的选择!! </p>
				<p>　　第二位：名站免费电影导航<a href="http://www.cn3344.com/movies.php">http://www.cn3344.com/movies.php</a><br />　　此网站是不错的一个后起之秀，无需注册即可观看电影。库存电影网址很多，可以看到最新的免费电影大片。 </p>
				<p>　　第三位：新快电影<a href="http://www.xk88.com/">http://www.xk88.com</a><br />　　XK88电影搜索引擎,不错的一个电影搜索网站，有的需要下载不提供在线播放，库存不少。 </p>
				<p>　　第四位：娱如意<a href="http://vod.ruyi.com/">http://vod.ruyi.com</a><br />　　联通视频，需要配置比较高，否则播放不了,而且需要注册才能观看。</p>
				<p>　　第五位：世纪前线<a href="http://www.avl.com.cn/">http://www.avl.com.cn</a><br />　　广州电信开办的综合娱乐网站。提供免费电影很久了,速度不错，但需要注册，而且还要抢线才能观看。注册还可以获得一个不错的视频邮箱！ </p>
				<p>　　第六位：POCO电影<a href="http://movie.poco.cn/">http://movie.poco.cn</a><br />　　Poco免费电影，是一个免费电影交流的站点。网站自身提供免费电影下载，还可以通过P2P下载其他人电脑上的电影，不过首先要下载安装他的专用软件。</p>
				<p>　　第七位：极限影音<a href="http://www.tk4479.com/">http://www.tk4479.com</a><br />　　可能是中国免费电影网站的鼻祖。虽然域名有点难记都是，他很好的服务在众多免费电影网站中是颇有口碑的，你可以在这里看到最快最新的免费电影。不过经常需要抢线，有在线人数限制。</p>
				<p>　　第八位：BTChina联盟<a href="http://www.btchina.net/">http://www.btchina.net</a><br />　　中国最全最大的免费BT电影下载网站，电影连接种子很多，下载很快。免费BT电影下载首选推荐网站。 </p>
				<p>　　第九位：电骡?中国<a href="http://www.emule.org.cn/">http://www.emule.org.cn</a><br />　　电骡是外国人开发一个P2P软件，连接不同的服务器可以有不同的电影下载文件，任何人都可以永久免费安装使用。而且可以下载到很多国内下载不到的电影，嘿嘿! </p>
				<p>　　第十位：超级VODhttp://www.powervod.com <br />　　比较不错的在线电影网站，需要注册观看，注册后会发送MM到你邮箱里。速度还不错.最新最快<img src="http://bbs.kaifulee.com/Skins/Default/emot/em08.gif" onload="return imgzoom(this,550)" align="middle" border="0" /></p>
		</div>
<img src ="http://www.blogjava.net/MEYE/aggbug/44528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-05-04 15:11 <a href="http://www.blogjava.net/MEYE/articles/44528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍几个博士后申请网站 </title><link>http://www.blogjava.net/MEYE/articles/37845.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Tue, 28 Mar 2006 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37845.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37845.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37845.html</trackback:ping><description><![CDATA[
		<div class="postTitle">介绍几个博士后申请网站 </div>
		<table style="TABLE-LAYOUT: fixed" border="0">
				<tbody>
						<tr>
								<td>
										<p>1.英国：http://jobs.ac.uk/      每天更新，<br />2.德国马普研究所 http://www.mpg.de/english/institut/<br />3.AIP工作信息: http://www.aip.org/careersvc/jobs/   综合（很多国家）</p>
										<p>其他有用地址：<br />http://www.phdjobs.com/  (分专业）<br />http://www.post-docs.com/<br />http://www.aps.org/jobs/<br />其他联系大学可以从 yahoo-教育－国家...往下找。<br />学校排名可以从清华BBS查。</p>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-28 17:32 <a href="http://www.blogjava.net/MEYE/articles/37845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两个基本共识—基于构件的软件开发的发展方向 </title><link>http://www.blogjava.net/MEYE/articles/37844.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Tue, 28 Mar 2006 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37844.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37844.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37844.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37844.html</trackback:ping><description><![CDATA[
		<div class="postTitle">两个基本共识—基于构件的软件开发的发展方向 </div>
		<table style="TABLE-LAYOUT: fixed" border="0">
				<tbody>
						<tr>
								<td>
										<div id="text">
												<p>（出自<a href="http://www.huihoo.com/patterns/framework/1.html"><font color="#002c99">http://www.huihoo.com/patterns/framework/1.html</font></a>）</p>
												<p>(清华大学 谢晓芹 王克宏) <br /><br /><b>构件技术应运而生</b></p>
												<p class="a14">在信息时代,新的技术革命正在改变我们日常生活的面貌，而这场技术革命的核心是计算机软件系统。在面向对象技术给解决软件危机带来曙光之时, 分布式网络计算的巨大压力又给软件开发提出了许多新的难题,使软件开发仍处于高风险状态。新的分布式网络计算要求软件实现跨空间、跨时间、跨设备、跨用户的共享，导致软件在规模、复杂度、功能上的极大增长，迫使软件要向异构协同工作、各层次上集成、可反复重用的工业化道路上前进。为适应软件的这种需求，新的软件开发模式必须支持分布式计算、浏览器/服务器结构、模块化和构件化集成，使软件类似于硬件一样，可用不同的标准构件拼装而成。具体地说可实现下列几点要求： 
</p>
												<p class="a14">
												</p>
												<li>提供一种手段，使应用软件可用预先编好的、功能明确的产品部件定制而成, 并可用不同版本的部件实现应用的扩展和更新。 
<p class="a14"></p></li>
												<li>利用模块化方法，将复杂的难以维护的系统分解为互相独立、协同工作的部件，并努力使这些部件可反复重用。 
<p class="a14"></p></li>
												<li>突破时间、空间及不同硬件设备的限制，利用客户和软件之间统一的接口实现跨平台的互操作。 
<p class="a14">为满足上述要求，软件构件技术出现了。而构件重用的目标是达到需求、分析、设计、编码、测试的重用。从此，一种影响软件产业发展的新的软件开发方法诞生了。 
</p><p class="a14">从抽象程度来看，面向对象技术已达到了类级重用(代码重用)，它以类为封装的单位。这样的重用粒度还太小，不足以解决异构互操作和效率更高的重用。构件将抽象的程度提到一个更高的层次，它是对一组类的组合进行封装，并代表完成一个或多个功能的特定服务，也为用户提供了多个接口。整个构件隐藏了具体的实现，只用接口提供服务。这样，在不同层次上， 构件均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件，甚至直接封装到一个系统，使模块的重用从代码级、对象级、架构级到系统级都可能实现，从而使软件像硬件一样，能任人装配定制而成的梦想得以实现。近几年来，构件技术的发展已证明了它的巨大威力，在这其中，CORBA标准和Java技术的突破，功不可没！ 
</p><p class="a14">至今, 构件技术已形成三个流派:Sun的Java平台、Microsoft的COM+、IBM的CORBA。 
</p><p class="a14"><b>构件发展自律当先</b></p><p class="a14">基于构件的软件开发技术近年来取得了突飞猛进的发展，这不仅对软件产业的技术革新影响深远，还将为许多其他领域带来巨大的效益。早在1998年4月，在日本京都召开的基于构件的软件开发(CBSD)国际专题学术会议上达成了两个共识： 
</p><p class="a14">1. 对于CBSD而言，对象技术并不是必需的，同时仅仅依靠对象技术也不能实现CBSD。 
</p><p class="a14">这似乎有些难以理解。对象技术仅仅是CBSD的开始，但是就对象技术本身而言，它并不能全面地表述CBSD所需的抽象概念，而且脱离对象技术，CBSD也完全可以实现。因此，对于CBSD而言，对象技术既不是必需的，仅有对象技术也是不够的。CBSD将导致使用对象技术的系统设计方法、项目管理方法和组织形式的实质性变革。 
</p><p class="a14">具体地说，将构件看做是一个可替换的单元时，单纯的对象技术就不够了。构件的各种定义中都或多或少地强调了构件的一个特性：对上下文的依赖性。这一特性能够通过在规范中定义一种“use”语句而实现，也就是对所需系统资源的一种声明。尽管对这种方式很多人持有异议，他们认为使用这种“use”语句,意味着接口描述就是一种实现机制，而不是一种对实现方法的抽象，但是,对象技术却根本不支持构件的这种特性，这样不利于进行设计层的抽象，特别是在试图使用已有的构件进行集成时,经常会遇到麻烦。 
</p><p class="a14">现在人们比较一致的观点是将分布式对象技术当做是一种基础设施，而把构件看做是能够应用于不同的基础设施的抽象和实现。 在实践中人们也体会到这一点，如长事务的处理不能靠对象技术来解决。由于事务的原子性、一致性、隔离性和持久性的特点，不能把长事务简单地看成一个对象,它是一连串处理步骤的序列。这也是企业应用软件中常遇到的问题,目前一些服务器上的软件提供的事务服务,就是为了解决这个复杂的疑难问题。 
</p><p class="a14">2．构件离不开体系结构 
</p><p class="a14">由于发展CBSD的一个初衷是通过一种集成的开发方式来增强系统的灵活性，因此自然要考虑这种集成方式的可行性。然而,通过抽象接口来描述,已经超出了对象技术的能力。但是，对“插件”式构件的重用程度，与构件对一套预先定义的限制和约定的依赖程度有直接的关系。 
</p><p class="a14">大多数构件技术如EJB、ActiveX、CORBA等对于构件都有一定的限制。例如，尽管构件基础设施对构件的接口有一定的访问能力，但这种能力要求构件必须能够实现一定的服务或遵循构件基础设施所定义的一些规范。 
</p><p class="a14">许多专家认为，构件应当实现两种接口：一种是功能性接口，能够反映构件在系统中的角色；另一种是非功能性接口，能够反映由底层的构件框架所定义的构件模型。非功能性接口描述了一种体系结构上的限制，这种限制允许CBS（components-based system）具有集成能力和其他的一些特性。所以，对构件概念的理解,必然与体系结构强加于构件的这些限制密切相关。 
</p><p class="a14">许多专家认为，尽管构件与其所属的体系结构密切相关，但是上述的两种接口仍然过于强调构件框架在软件体系结构中的地位。而实际上，很多人都曾极力地寻求软件体系结构和构件框架的区别。但是通过对体系结构的三种不同观点的定义,保留构件框架概念的二义性： 
</p><p class="a14"></p></li>
												<li>运行期间：包括为基于构件的系统提供运行时服务的框架和模型。 
<p class="a14"></p></li>
												<li>设计期间：包括对构件的特定观点，如功能性接口和构件依赖性。 
<p class="a14"></p></li>
												<li>集成期间：包括系统对各种构件进行集成时所需的各种因素，如生成器和一些构造期间的服务，一个构件框架可能就会提供这些服务。 
<p class="a14">在研讨中出现的这些关于构件的更多特性,表明构件是一种设计阶段的复杂实体，它包括抽象的概念和具体的实现。 因此，许多专家认为，使用现成构件的CBSD,把构件视为一种商业上的现成商品，在这种情况下，CBSD必须建立关于构件框架的行业规范。 
</p><p class="a14"><b>构件影响不可小觑</b></p><p class="a14">要实现构件技术必须具备下列几个条件: 
</p><p class="a14"></p></li>
												<li>有标准软件体系结构,保证构件间通信协议统一, 实现同步和异步操作控制，突破本地空间限制,充分利用网络环境。 
<p class="a14"></p></li>
												<li>构件有标准接口, 保证系统可分解成多个功能独立的单元, 用构件组装而成。 
<p class="a14"></p></li>
												<li>构件独立于编程语言。 
<p class="a14"></p></li>
												<li>构件提供版本兼容, 来实现应用系统的扩展和更新。 
<p class="a14">总之，CBSD为软件开发技术带来了新的生机，其影响力正在显现。</p></li>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-28 17:31 <a href="http://www.blogjava.net/MEYE/articles/37844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是中间件 </title><link>http://www.blogjava.net/MEYE/articles/37843.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Tue, 28 Mar 2006 09:30:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37843.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37843.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37843.html</trackback:ping><description><![CDATA[
		<div class="postTitle">什么是中间件 </div>
		<table style="TABLE-LAYOUT: fixed" border="0">
				<tbody>
						<tr>
								<td>
										<div id="text">
												<p align="left">（以下摘自<a href="http://www.huihoo.com/application_infrastructure/middleware_ws/">http://www.huihoo.com/application_infrastructure/middleware_ws/</a>）</p>
												<p align="left">作者：Allen (allen@huihoo.com) <br />日期：2003.09 <br />灰狐动力：企业计算研究中心 <br />http://www.huihoo.com <br /><br />中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的. <br /><br />那什么是中间件? <br /><br />我们来看看以下的几种定义: <br />http://middleware.internet2.edu/ 给出了middleware的一个定义: <br />Middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today's Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability, middleware will make advanced network applications much easier to use. <br />同样,IDC给出的一个定义：中间件是一种独立的系统软件或服务程序，分布式应用软件借助这种软件在不同的技术之间共享资源，中间件位于客户机服务器的操作系统之上，管理计算资源和网络通信。</p>
												<p align="left">从这些定义中可以看出: <br />– 中间件是一类软件，而非一种软件； <br />– 中间件不仅仅实现互连，还要实现应用之间的互操作； <br />– 中间件是基于分布式处理的软件，最突出的特点是其网络通信功能。 <br /><br />接着,我们再来看看什么是Web Services? <br />Web Services就是可以通过web描述、发布、定位和调用的模块化应用。Web Services可以执行任何功能，从简单的请求到复杂的业务过程。一旦Web Services被部署，其他的应用程序或是Web Services就能够发现并且调用这个部署的服务。 <br />Web Services通过简单对象访问协议 （Simple Object Access Protocol，SOAP）来调用。SOAP是一种轻量级的消息协议，它允许用任何语言编写的任何类型的对象在任何平台之上相互通信。SOAP消息采用可扩展标记语言（XML）进行编码，一般通过HTTP进行传输。与其它的分布式计算技术不同，Web Services是松耦合的，而且能够动态地定位其他在internet上提供服务的组件，并且与它们交互。 <br />Web Services使用诸如SOAP消息这样的XML消息，通过一种良好定义的消息交换模式来调用。通过描述调用服务所必需的数据，Web Services描述语言 （WSDL）文档定义了消息交换模式。 </p>
												<h3>一、中间件分类</h3>
												<p align="left">中间件分类有很多方式和很多种类,在这里我们由底向上从中间件的层次上来划分,可分为以下三个大的层次: <br /><br /><b>。集成型中间件</b><br /><br />在通用型中间件产品之上整合了Application,Portal,Business Process等技术 <br />主流技术:WorkFlow,EAI <br />代表产品: BEA WebLogic Integration <br /><br /><b>。通用型中间件</b><br /><br />主流技术:CORBA,J2EE,MOM <br />代表产品:IONA Orbix,BEA WebLogic,IBM MQSeries <br /><br /><b>。基础型中间件</b><br /><br />主流技术: JVM,CLR, ACE <br />代表产品:SUN JVM, Microsoft CLR <br /><br /><img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i1.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}"&gt;<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i2.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; <br /><br />当然,在这个大的层次划分下,中间件还可以细化为以下一些种类: <br /><br />。分布式对象中间件: 如Orbix,TAO <br />。J2EE应用服务器: 如WebLogic,Jboss <br />。消息中间件: 如MQSeries,JMS <br />。事务(交易)中间件: 如Tuxedo, TXSeries(CICS) <br />。应用集成中间件: 如BEA WebLogic Integration <br />。数据库中间件: 如JDBC <br />。安全中间件: 如东方通的TongSec <br />。无线移动中间件 <br />。CTI(呼叫中心)中间件 <br />。。。 </p>
												<h3>二、中间件应用层次</h3>
												<center>
														<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i3.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; <br />中间件技术应用层次图 </center>
												<p align="left">中间件提供了应用系统基本的运行/执行环境,而中间件服务则提供了更多高级的功能,如名字服务,事件服务,通告服务,日志等服务,在这些服务之上,我们还需要考虑不同行业的需求.不同的应用领域. </p>
												<h3>三、中间件技术在集成中的应用</h3>
												<p align="left">中间件技术在集成中扮演着重要的角色，我们可以从不同层次采用不同种类，不同技术的中间件产品进行应用集成 <br /><br />我们可以从传输,消息,组件,流程等各个层面分别加以集成. <br /><br /></p>
												<center>
														<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i4.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; </center>
												<p align="left">
														<br />从图中,我们可以看出,为了完成不同层次的集成,我们可以采用不同的技术和不同产品。 <br />如： <br />。为了完成系统底层传输层的集成,我们可以采用CORBA技术, <br />。为了完成不同系统的信息传递,我们可以采用消息中间件产品 <br /><br />以下是一个商业流程处理的例子： <br /></p>
												<center>
														<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i5.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; <br />TIBCO BusinessWorks Designer用户界面 </center>
												<p align="left">
														<br />这样,我们面对复杂的集成问题,就有了一个大致的应对措施和解决方案。 <br /><br />同样,目前中间件的竞争焦点也主要集中在集成应用平台上。以TIBCO为市场领导者的EAI市场遭到了来自传统中间件厂商BEA等公司的激烈挑战。大多中间件公司都已经或准备将下一步的工作重点放在了集成市场上。国内中间件公司东方通公司也在努力杀入这个市场。 <br /><br />而在集成市场上,Web Services表现出极强的发展势头. <br /><br />接着，我们了解一些有关Web Services的知识。</p>
												<h3>四、从中间件到Web Services</h3>
												<p align="left">从中间件发展到目前的Web Services是一种基于Internet的发展需求。 <br /><br />我们可以将Web Services简单理解为对已有中间件技术的更高层次的封装。 <br />其业务逻辑和方法的实现还得依赖于底层的CORBA,J2EE等技术。 <br /><br />我们先看看中间件的发展历程。 <br /><br /></p>
												<center>
														<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i6.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; </center>
												<p align="left">
														<br />这是中间件一条大致发展路线图: <br /><br />CORBA<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i7.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}"&gt;MOM/EAI<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i7.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}"&gt;J2EE应用服务器<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i7.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}"&gt;应用集成平台(基于Web Services等技术) <br /><br />从图中我们可以看见当前这个时期,中间件的竞争焦点将放在Web Services上 <br /><br />比尔·盖茨也曾经说过："世界上所有一切都将包括在互联网服务中" <br />未来一切都将通过互联网实现，那些为互联网服务提供基础架构的企业，将成为今后高科技行业真正的霸主。目前的成员有:IBM、微软、Oracle、SAP <br /><br />其激烈竞争的焦点将是: 基于Internet的软件平台和集成应用平台 <br /><br />是什么原因促使了这一格局的产生。我们来看看其中的一些原因: <br /><br />软件业、软件服务业正发生着巨大的变革： <br /><br />通过Internet完成软件,服务,客户,供应商,商业流程的互操作,交换和协作将成为一种发展趋势，主要体现在以下几个方面： <br /><br />。软件模式的变化：软件即服务(Software as Service) 、应用软件、套装软件将以一种服务的形式向用户提供。而被封装成Web Services已成为一种趋势。 <br />。Web技术,Internet的快速发展，要求软件和服务能够通过Internet取得和访问到.而Web Services标准、技术和应用的迅速发展也加快了这一进程的发展。 <br />。CORBA、J2EE、NETD等复杂的分布式技术需要通过Web Services更方便,简单得提供给用户。使复杂,专用的技术变得简单,通用。 <br /><br />Gartner Group对Web Services的发展也做出了一份研究报告。Y轴表明技术的受关注程度，而X轴则表示技术的应用的成熟度。 <br /><br />从图中可看到,Web Services已是目前整个IT行业的最亮点. </p>
												<p align="left">
														<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i8.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; </p>
												<p align="left"> Web Services构建在一系列核心的标准协议之上,包含: <br />。SOAP <br /><a href="http://www.w3.org/TR/soap">http://www.w3.org/TR/soap</a><br />。WSDL <br /><a href="http://www.w3.org/TR/wsdl">http://www.w3.org/TR/wsdl</a><br />。UDDI <br /><a href="http://www.uddi.org/">http://www.uddi.org</a><br />。ebXML <br /><a href="http://www.ebxml.org/">http://www.ebxml.org</a></p>
												<p align="left">Java由于其跨平台，面向对象，便于Internet应用开发等特性使它成为开发Web Services的首选语言.</p>
												<p align="left">我们可以使用Java API实现Web Services <br /><br /></p>
												<center>
														<img style="CURSOR: pointer" src="http://www.huihoo.com/application_infrastructure/middleware_ws/i9.gif" onload="javascript:if(this.width onclick=" javascript:window.open(this.src);?="" />400){this.resized=true;this.style.width=400;}" resized="true"&gt; </center>
												<p align="left">
														<br />
														<br />
														<b>SOAP</b>消息传输是针对Web服务的协议。JAXP API允许你访问并解析XML数据。JAXP的主要目标是提供一个接口，允许你不必参考底层实现，就能创建、操纵、和使用XML解析器，允许你创建解析器无关的代码，并且把解析器的选择推迟到运行时。 <br /><br /><b>JAX-RPC</b>帮助你创建基于XML的请求，比如SOAP请求，它被用来发送和接收基于XML的协议的方法调用。JAX-RPC API提供了高层的框架来把Java功能暴露为Web服务，这些服务能够被SOAP客户端消费，或者作为消费SOAP服务和客户端的方式。在典型的JAX-RPC使用案例中，开发人员没必要进行XML和SOAP编程，这样就能够快速开发应用。这不仅完成了XML和Java的互相映射，而且避免了直接与调用的XML表示进行交互。 <br /><br /><b>JAXM</b>提供了使这样的XML数据能够在两个应用之间互操作的框架。就是说，JAXM允许在两个独立的Web服务之间完成全部XML文件的传输。SOAP提供了在两个应用之间传输的消息的底层格式。JAXM作为轻量级的API，抽象了底层的消息基础结构。因此，开发 <br /><br />利用SOAP包装的JAXM消息是容易的，SOAP使你能够快速而且容易地访问SOAP消息。 <br /><br /><b>SAAJ</b> API使你能够操纵简单SOAP消息。它可以与JAX-RPC结合使用，JAX-RPC是用来接收和发送SOAP消息的J2EE标准API，用来表示字面上的XML文件片断。SAAJ是JAX-RPC的主要部分，但你也可以把它和其他API，比如JAXM，一起使用。 <br /><br />JAXM和JAX-RPC之间的区别在于，JAXM支持面向消息的中间件类型的应用开发，它允许你专注于消息的发送和接收。但是，JAX-RPC支持应用的RPC行为。如同SOAP 中定义的一样，JAX-RPC为XML RPC调用提供了Java接口。 <br /><br />以下是需要我们密切关注的产品和技术趋势: <br /><br />。移动计算中间件 <br />。反射中间件 <br />。自治中间件 <br />。Qos中间件 <br />。网格计算中间件 <br />。CORBA3 <br />。J2EE <br />。NET <br />。。。 <br /><br />中间件，Web Services做为软件的一个发展趋势，我们不能忽视，更不能放弃这个机会。 <br />期待与大家更多的交流与协作. <br /><br />参考资料: <br />。C++ Network Programming Mastering Complexity with ACE &amp; Patterns <br />。Dr Andy Bond的Middleware and Enterprise Architectures <br />。SUN公司Sun ONE Application Server 7 Web Services 开发者指南 <br />http://www.huihoo.com/one_and_net/app7/index.htm <br />。http://www.tibco.com <br /><br />关于作者: <br />Allen,研究方向：J2EE、CORBA、WebServices、WorkFlow、EAI等方面，愿意与更多的朋友一起来打造中国人自己的中间件基础平台。 <br />http://www.huihoo.com 中间件技术论坛 <br />http://www.huihoo.org 开源中间件项目 <br />个人主页 http://www.huihoo.org/~allen/ </p>
										</div>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-28 17:30 <a href="http://www.blogjava.net/MEYE/articles/37843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>主题：软件测试人才每月起薪2000元供应缺口严重 </title><link>http://www.blogjava.net/MEYE/articles/37561.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Mon, 27 Mar 2006 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37561.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37561.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37561.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37561.html</trackback:ping><description><![CDATA[
		<span class="main">
				<table class="hai" cellspacing="1" cellpadding="1" width="100%" align="left" bgcolor="#6699ff" border="0">
						<tbody>
								<tr bgcolor="#f6f6f6">
										<td width="63" bgcolor="#f6f6f6">
												<div align="center">发表日期</div>
										</td>
										<td width="85" bgcolor="#f6f6f6">
												<div align="center">2006-3</div>
										</td>
								</tr>
						</tbody>
				</table>
				<br />
				<br />
				<br />
				<br />
				<br />2月中、下旬，在国展举办的大型招聘会上，记者了解到，多家企业纷纷打出各类高薪招聘软件测试人员的海报，出人意料的是收到的简历尚不足招聘岗位数的50%，而合格的竟不足30%。记者还了解到，目前像微软、爱立信、用友等著名IT企业，因为招聘不到合适的人才，而不得已着手培养自己的软件测试人才。 　　在招聘会上，应聘软件测试人员的求职者不太多。 <br /><br />【关键词】缺口大合格应聘者几乎没有 　　<br /><br />据国内知名招聘网站前程无忧最新才市数据显示，软件测试工程师将成为2006年最紧缺的人才，该类职位的需求主要集中在沿海发达城市，其中北京、上海的需求量分别占去33%和29%。同一时间，中华英才网发布了最新一期的IT职场人气排行榜。根据统计，IT人才仍是企业需求量最大的人群，其中软件测试工程师、高级程序员、产品项目经理等高级职位进入前三名，成为IT就业市场最新风向标。 　　一方面，企业对软件测试人才有大量需求，但苦于招不到合适的人。而另一方面，很多应聘者却因为缺乏相关技能而被用人单位拒之门外，软件测试人才职场正面临着尴尬局面。国家信息产业部发布的最新报告显示，我国目前软件从业人才缺口高达40万人。即使按照软件开发工程师与测试工程师1:1的岗位比例计算，我国对于软件测试工程师的需求便有数十万之众，而目前，我国软件开发工程师与测试工程师岗位比例为6:1。预计在未来5至10年中，我国社会对软件测试人才的需求还将继续增大。<br /><br />【关键词】薪资状况起薪每月至少2000元 　　<br /><br />前程无忧2006年的薪酬报告显示，软件测试工程师在IT行业中越来越受到重视，其薪资也节节高升。测试工程师的起薪从2000至5000元／月不等，若有四年工作经验的话，薪资在8000元／月左右，具体视不同地域、不同性质企业、测试工程师的不同能力而定。 　　<br /><br />中华英才职业顾问介绍，以3.5年左右从业工作经验的软件测试工程师的各地薪资情况来看：北京地区该职位的平均年薪逾5.8万元；其中外商独资企业的年薪为全国之最，将近8.5万元，而其余各类型企业的年薪都在5万至6万元。上海地区软件测试工程师的平均年薪为6.3万元，欧美独资和欧美合资的薪资不相上下，分别为7.9万和7.7万元。国有企业略高于平均线，达到6.5万元，其余各类企业则都表现平平。广州地区该职位的平均年薪约为4.5万元；其中外商独资欧美企业的年薪最高，达到了7万元；合资／合作欧美企业也能拿到6.2万元的平均年薪，合资／合作非欧美企业就较逊色，年薪不到4万元。 <br /><br />【关键词】职业培训专业培训机构少见 　　<br /><br />记者从各大高校了到，目前我国高校除为数不多的几所有软件测试的专业外，大部分的高校没有设置相关专业。计算机专业毕业的学生并未接受专业的测试培训。从而导致人才供需之间存在着巨大的缺口。对此，业内专家表示，软件测试行业已显现出实际需求与人力资源之间的尖锐矛盾。 　<br /><br />据了解，这些课程科学、系统，以提升就业竞争力为目标，根据软件测试岗位工作的实际要求逆向设计而成，以实际应用场景为核心，配以实际测试项目和测试工作流程，以教学的渐进性及学员的参与性，使学员能够掌握测试工作中最实用的必备职业技能，具备测试岗位需求的工作经验和综合素质，从而能顺利进入软件测试领域。据了解，该项目分为两个阶段——软件测试工程师，高级软件测试工程师，脱产学完两个阶段大概需要12个月。 　</span>
<img src ="http://www.blogjava.net/MEYE/aggbug/37561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-27 10:40 <a href="http://www.blogjava.net/MEYE/articles/37561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些技术网址 </title><link>http://www.blogjava.net/MEYE/articles/37440.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Sun, 26 Mar 2006 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37440.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37440.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37440.html</trackback:ping><description><![CDATA[
		<div class="posttitle">
				<a class="singleposttitle" id="viewpost1_TitleUrl" href="/wujun/archive/2006/03/25/37337.html">一些技术网址</a>
		</div>dot net <a href="http://www.cnblogs.com/" target="_blank"><br />http://www.cnblogs.com/</a>   博客园<br /><a href="http://community.csdn.net/" target="_blank">http://community.csdn.net/</a> csdn技术社区<a href="http://blog.csdn.net/21aspnet/" target="_blank"><br />http://blog.csdn.net/21aspnet/</a> 21世纪asp.net技术网<br /><br /><a href="http://www.bc-cn.net/Article/net/aspx/jc/Index.html" target="_blank">http://www.bc-cn.net/Article/net/aspx/jc/Index.html</a> ASP.NET教程<br /><a href="http://www.itlove.net/Article/1/139/" target="_blank">http://www.itlove.net/Article/1/139/</a>  ASP.NET教程<br /><a href="http://www.chinaasp.com/" target="_blank">http://www.chinaasp.com/</a>  ChinaASP服务社区<br /><a href="http://www.csdn.net/" target="_blank">http://www.csdn.net/</a>   CSDN<br /><a href="http://dev.csdn.net/article/63233.shtm" target="_blank">http://dev.csdn.net/article/63233.shtm</a> cndn datagrid 大全<br /><a href="http://www.dnc.com.cn/" target="_blank">http://www.dnc.com.cn/</a>   DOTNET控件网<br /><a href="http://chs.gotdotnet.com/quickstart/aspplus/default.aspx" target="_blank">http://chs.gotdotnet.com/quickstart/aspplus/default.aspx</a>  Microsoft ASP.NET 快速入门教程<br /><a href="http://csdn.eyeah.cn/" target="_blank">http://csdn.eyeah.cn/</a>   Tech.eYeah.cn - 网络特区<br /><a href="http://www.iecn.net/bbs" target="_blank">http://www.iecn.net/bbs</a> web技术社区<br /><a href="http://www.tushu.info/bbs/index.asp" target="_blank">http://www.tushu.info/bbs/index.asp</a>   [C＃资源网]<br /><a href="http://www.chinaaspx.com/comm/technet/default.aspx" target="_blank">http://www.chinaaspx.com/comm/technet/default.aspx</a>   中国DotNet论坛<br /><a href="http://www.chinacs.net/" target="_blank">http://www.chinacs.net/</a>   中文c#技术站<br /><a href="http://www.aspxboy.com/Default.Aspx" target="_blank">http://www.aspxboy.com/Default.Aspx</a>   - DotNet男孩社区<br /><a href="http://www.host01.com/Get/Net/" target="_blank">http://www.host01.com/Get/Net/</a>   .Net技术-在线教程<br /><a href="http://bbs.hidotnet.com/" target="_blank">http://bbs.hidotnet.com/</a>   ASP.NET Forums<br /><a href="http://www.blue1000.com/bkhtml/c17/indexp14.htm" target="_blank">http://www.blue1000.com/bkhtml/c17/indexp14.htm</a>    ASP.NET教程<br /><br />blog<br /><a href="http://blog.csdn.net/javamxj/" target="_blank">http://blog.csdn.net/javamxj/</a>  分享JAVA的快乐<br /><a href="http://blog.csdn.net/ChengKing/" target="_blank">http://blog.csdn.net/ChengKing/</a>    (ChengKing)<br /><a href="http://blog.csdn.net/baggio785/category/148174.aspx" target="_blank">http://blog.csdn.net/baggio785/category/148174.aspx</a>   baggio785的专栏<br /><a href="http://blog.csdn.net/bitm/" target="_blank">http://blog.csdn.net/bitm/</a>    bitm的专栏<br /><a href="http://blog.csdn.net/haibodotnet/" target="_blank">http://blog.csdn.net/haibodotnet/</a><br /><br />java<br /><a href="http://www.hibernate.org.cn/" target="_blank">http://www.hibernate.org.cn/</a> java视线<br /><a href="http://www.open-open.com/" target="_blank">http://www.open-open.com/</a>  java开源大全<br /><a href="http://www.javaresearch.org/" target="_blank">http://www.javaresearch.org/</a>   JR<br /><a href="http://www.matrix.org.cn/" target="_blank">http://www.matrix.org.cn/</a>  Matrix - 与 Java 共舞<br /><a href="http://www.java3z.com/cwbwebhome/" target="_blank">http://www.java3z.com/cwbwebhome/</a> java 学习室<br /><a href="http://www.java-cn.com/index.html" target="_blank">http://www.java-cn.com/index.html</a>    java 中文站<br /><a href="http://www.knowsky.com/jsp.asp" target="_blank">http://www.knowsky.com/jsp.asp</a>   JSP教程_<br /><a href="http://www.jspcn.net/" target="_blank">http://www.jspcn.net/</a>  jsp中文网<br /><a href="http://www.springside.org.cn/" target="_blank">http://www.springside.org.cn/</a>   SpringSide 春天的旁边<br /><a href="http://www.iiittt.net/Dev/Programme/Java/Struts/" target="_blank">http://www.iiittt.net/Dev/Programme/Java/Struts/</a>   Struts-Hibernate<br /><a href="http://gceclub.sun.com.cn/" target="_blank">http://gceclub.sun.com.cn/</a>  Sun 中国技术社区<br /><a href="http://www.osscn.net/" target="_blank">http://www.osscn.net/</a>   开源中国<br /><a href="http://www.leftworld.net/online/j2sedoc/index.html" target="_blank">http://www.leftworld.net/online/j2sedoc/index.html</a>  j2se doc 中文版<br /><a href="http://dev.csdn.net/article/81604.shtm" target="_blank">http://dev.csdn.net/article/81604.shtm</a>   Hibernate<br /><a href="http://www.narchitecture.net/" target="_blank">http://www.narchitecture.net/</a>  <br /><a href="http://www.csdn.net/subject/hibernate/" target="_blank">http://www.csdn.net/subject/hibernate/</a> Hiberbate<br /><a href="http://www.huihoo.com/" target="_blank">http://www.huihoo.com/</a>  <br /><a href="http://www.javathinker.org/index.jsp" target="_blank">http://www.javathinker.org/index.jsp</a><br /><a href="http://www.chinaitlab.com/www/techspecial/tomcat/" target="_blank">http://www.chinaitlab.com/www/techspecial/tomcat/</a>  Java基础入门 Tomcat安装配置专题-<br /><a href="http://www.chinaitlab.com/www/techspecial/eclipse/" target="_blank">http://www.chinaitlab.com/www/techspecial/eclipse/</a>  Eclipse应用技术专题<br /><a href="http://www.softb2b.net/info/101_1.htm" target="_blank">http://www.softb2b.net/info/101_1.htm</a>   编程文档<br /><img src ="http://www.blogjava.net/MEYE/aggbug/37440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-26 10:02 <a href="http://www.blogjava.net/MEYE/articles/37440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在ORACLE的PL/SQL中将数据写入文件</title><link>http://www.blogjava.net/MEYE/articles/37393.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Sat, 25 Mar 2006 12:34:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37393.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37393.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37393.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37393.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37393.html</trackback:ping><description><![CDATA[
		<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellspacing="0" cellpadding="0" width="96%" border="0">
				<tbody>
						<tr>
								<td bgcolor="#e8f0f1">
										<img src="http://www.54bk.com/images/face/1.gif" />如何在ORACLE的PL/SQL中将数据写入文件</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td>
																		<div align="right">
																		</div>
																</td>
														</tr>
												</tbody>
										</table>
										<span class="oblog_text">  
<p>在数据库的开发中，当PL/SQL语句很复杂的时候，我想写一些Log，就像java的Log4j那样。这样就可以很好的跟踪程序的运行情况。在网上找到的文章不是很好用，修改了一下。</p><p>1：在Oracle服务器上建立一个目录并指定权限（我这个是unix的。windows用c:\tmp之类的就行）</p><p>CREATE DIRECTORY TEMP AS '/tmp';<br />GRANT READ,WRITE ON DIRECTORY TEMP TO PUBLIC;<br />GRANT   EXECUTE  ON  SYS.UTL_FILE  TO  YOU_USER_NAME;</p><p>如果出现权限错误的话，注意自己登陆的方式，我是用oralce用户TelNet到Unix上的，然后connect / as sysdba。（windows 用户应该是：<span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: SimSun; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 1.0pt; mso-bidi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: SimSun">sys</span><span lang="ZH-CN" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: SimSun; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 1.0pt; mso-bidi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用户登录到数据库</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: SimSun">(ora9i):conn <a href="mailto:sys/password@oraclesid as">sys/password@oraclesid as</a> sysdba ，sys用户的缺省密码和system一样，都是manager</span>）</p><p>2：写Log文件的SQL语句如下：</p><p>declare<br />  file_handle utl_file.file_type;<br />  buff varchar2(20);<br />  cursor c1 is select  acloumn from t_atable;<br />begin<br />  file_handle := utl_file.fopen('TEMP',log.txt','w');<br />  open c1;<br />  loop <br />    fetch c1 into buff;<br />    exit when c1%notfound;<br />    utl_file.put_line(file_handle,buff);<br />   end loop;<br />   close c1;<br />   utl_file.fclose(file_handle);<br />end;<br /></p><p>这样，就应该可以了，file_handle := utl_file.fopen('TEMP',log.txt','w');中的'w'是指write,也可以是'a',append.</p><p>封装后是这样的：</p><p>procedure writeLog(logMessage in Varchar2) is<br />  begin<br />    IF logSwitch THEN<br />      file_handle := utl_file.fopen('TEMP','x.txt','w');<br />      utl_file.put_line(file_handle,logMessage);<br />      utl_file.fclose(file_handle);<br />    END IF;<br />  end;</p><p>其中logSwitch 是boolean型，我定义在包中的。如果直接用的话可以是procedure writeLog(logMessage in Varchar2, logSwitch in boolean ) </p></span>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37393.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-25 20:34 <a href="http://www.blogjava.net/MEYE/articles/37393.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Python无废话上手指南 </title><link>http://www.blogjava.net/MEYE/articles/37390.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Sat, 25 Mar 2006 12:25:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37390.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37390.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37390.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellspacing="1" cellpadding="3" width="96%" border="0">
				<tbody>
						<tr>
								<td>
										<div class="content_head">
												<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
														<tbody>
																<tr>
																		<td align="left">
																		</td>
																		<td width="25">
																				<img src="http://www.54bk.com/images/face/1.gif" />
																		</td>
																		<td width="*">
																				<strong>Python无废话上手指南</strong>
																		</td>
																</tr>
														</tbody>
												</table>
										</div>
								</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
												<tbody>
														<tr bgcolor="#ffffff">
																<td height="0">
																		<h2>
																				<span style="FONT-FAMILY: 黑体">
																						<font color="#000000" size="3">简介</font>
																				</span>
																		</h2>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">
																										<span>       </span>Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">是一种强大的容易学习的通用编程语言。它包含了内建高级数据结构，语法优雅，可以与其它语言相互协作，具有很多强大的扩展库，因此又被称作是“胶水语言”。</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">是完全开源，其实现的源程序可以免费获得，可以作为研究学习高级语言的范本。</span>
																				</font>
																		</p>
																		<h2>
																				<font color="#000000">
																						<font size="3">
																								<span style="FONT-FAMILY: 黑体">基本</span>
																								<span lang="EN-US">
																										<font face="Arial">Python</font>
																								</span>
																								<span style="FONT-FAMILY: 黑体">环境</span>
																						</font>
																				</font>
																		</h2>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的官方网站是</span>
																						<font face="Times New Roman">
																						</font>
																				</font>
																				<span lang="EN-US">
																						<a href="http://www.python.org/">
																								<u>
																										<font face="Times New Roman" color="#800080">www.python.org</font>
																								</u>
																						</a>
																						<font face="Times New Roman" color="#000000">
																						</font>
																				</span>
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">，</span>
																						<font face="Times New Roman">
																						</font>
																						<span style="FONT-FAMILY: 宋体">在这个网站下载最新版本的</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">安装程序。</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Windows</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">用户可以下载</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">MSI</span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">安装包，其他平台可以下载源程序自己编译，另外针对</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">MacOSX</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">平台还有</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">MacPython</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">版本。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">本文以</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Windows</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">平台</span>
																						<span lang="EN-US">
																								<font face="Times New Roman"> Python2.4</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">版本为例。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的运行方式分为交互模式与程序模式，这与早期的</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">Basic</span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">语言很相似。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">在</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Windows</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">命令行或</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">Unix shell </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">下输入</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">python </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">命令，即进入交互模式。在</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">&gt;&gt;&gt; </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">的提示符后面可以输入程序，回车即立刻执行。</span>
																				</font>
																		</p>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">
																										<span>       </span>Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的开发环境主要有：</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: -21pt; tab-stops: list 21.0pt">
																				<font color="#000000">
																						<span lang="EN-US" style="FONT-FAMILY: Wingdings">
																								<span>
																										<font face="Wingdings">l</font>
																										<span style="FONT: 7pt 'Times New Roman'">
																												<font size="3">         </font>
																										</span>
																								</span>
																						</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">IDLE Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">安装程序中带的简单的编辑器，带有交互环境与简单的编辑调试环境。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: -21pt; tab-stops: list 21.0pt">
																				<font color="#000000">
																						<span lang="EN-US" style="FONT-FAMILY: Wingdings">
																								<span>
																										<font face="Wingdings">l</font>
																										<span style="FONT: 7pt 'Times New Roman'">
																												<font size="3">         </font>
																										</span>
																								</span>
																						</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">NewEdit</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">，特别推荐的一个国内</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">人</span>
																						<font face="Times New Roman">
																						</font>
																						<span lang="EN-US">
																								<font face="Times New Roman">limodou</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">开发的编辑器，具有插件扩展功能。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: -21pt; tab-stops: list 21.0pt">
																				<font color="#000000">
																						<span lang="EN-US" style="FONT-FAMILY: Wingdings">
																								<span>
																										<font face="Wingdings">l</font>
																										<span style="FONT: 7pt 'Times New Roman'">
																												<font size="3">         </font>
																										</span>
																								</span>
																						</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Eclipse PyDev </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">插件，可以在</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Eclipse</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">中进行</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">语言开发。</span>
																				</font>
																		</p>
																		<h2>
																				<span style="FONT-FAMILY: 黑体">
																						<font color="#000000" size="3">模块的安装和使用</font>
																				</span>
																		</h2>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的扩展模块存放在</span>
																						<span lang="EN-US">
																								<font face="Times New Roman"> Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">安装目录</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">\Lib\site-packages </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">下。在</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">官方网站有有一个</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python Package Index (PyPI) </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">（</span>
																				</font>
																				<span lang="EN-US">
																						<a href="http://www.python.org/pypi">
																								<u>
																										<font face="Times New Roman" color="#800080">http://www.python.org/pypi</font>
																								</u>
																						</a>
																				</span>
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">），分类存放了各种模块的索引。下载下来的安装包一般提供源程序，执行</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">python setup.py install </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">命令即可安装。</span>
																				</font>
																		</p>
																		<h2>
																				<span style="FONT-FAMILY: 黑体">
																						<font color="#000000" size="3">基本语言要素</font>
																				</span>
																		</h2>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">具有通用语言的基本要素：变量、表达式、流程控制、函数、对象。</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的语言很清新，没有大括号分号或</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">$ </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">之类的。</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">比较特殊的地方在于它的完全对象化，忽略这一点在编程时会有些“莫名其妙”的问题。另外</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">语言使用缩进来表示程序的结构，有利于写出漂亮的程序。具体与</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">C</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">语言的对比见表。</span>
																				</font>
																		</p>
																		<h2>
																				<span style="FONT-FAMILY: 黑体">
																						<font color="#000000" size="3">程序框架</font>
																				</span>
																		</h2>
																		<p style="TEXT-INDENT: 21pt">
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">一个</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">程序包含模块引用、类定义、函数定义和执行语句几部分。下面是一个框架：</span>
																				</font>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font face="Times New Roman" color="#000000">#!/usr/bin/env python</font>
																				</span>
																		</p>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">import os<span>   </span># </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">导入模块</span>
																				</font>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font face="Times New Roman" color="#000000">
																						</font>
																				</span> </p>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">def func():<span>   </span># </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">函数定义</span>
																				</font>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font color="#000000">
																								<font face="Times New Roman">
																										<span>       </span>pass</font>
																						</font>
																				</span>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font face="Times New Roman" color="#000000">
																						</font>
																				</span> </p>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">class Object:<span>          </span># </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">类定义</span>
																				</font>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font color="#000000">
																								<font face="Times New Roman">
																										<span>       </span>def __init(self):</font>
																						</font>
																				</span>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font color="#000000">
																								<font face="Times New Roman">
																										<span>              </span>pass</font>
																						</font>
																				</span>
																		</p>
																		<p>
																				<span lang="EN-US">
																						<font face="Times New Roman" color="#000000">
																						</font>
																				</span> </p>
																		<p>
																				<span lang="EN-US">
																						<font face="Times New Roman" color="#000000">if __name__ == ‘__main__’:</font>
																				</span>
																		</p>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">
																										<span>       </span># </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">主程序部分</span>
																				</font>
																		</p>
																		<h2>
																				<span style="FONT-FAMILY: 黑体">
																						<font color="#000000" size="3">常见问题</font>
																				</span>
																		</h2>
																		<p style="TEXT-INDENT: -21pt; tab-stops: list 21.0pt">
																				<font color="#000000">
																						<span lang="EN-US" style="FONT-FAMILY: Wingdings">
																								<span>
																										<font face="Wingdings">l</font>
																										<span style="FONT: 7pt 'Times New Roman'">
																												<font size="3">         </font>
																										</span>
																								</span>
																						</span>
																						<span style="FONT-FAMILY: 宋体">怎样知道有什么函数可用？</span>
																				</font>
																		</p>
																		<p>
																				<font color="#000000">
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">是一种具有“自省”能力的语言，执行</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">dir() </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">，</span>
																						<font face="Times New Roman">
																						</font>
																						<span style="FONT-FAMILY: 宋体">可以看到当前环境中的对象。</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">dir(__builtins__) </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">可以列出内建的方法。对其他的模块也可以相应的得到其中的方法。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: -21pt; tab-stops: list 21.0pt">
																				<font color="#000000">
																						<span lang="EN-US" style="FONT-FAMILY: Wingdings">
																								<span>
																										<font face="Wingdings">l</font>
																										<span style="FONT: 7pt 'Times New Roman'">
																												<font size="3">         </font>
																										</span>
																								</span>
																						</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">__init__(self) </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">是什么意思</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">?</font>
																						</span>
																				</font>
																		</p>
																		<p>
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">类每创建一个实例便会调用</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">__init__ </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">函数，类似于</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">C++</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">中的构造函数。</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">self </font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">变量是指向“这个”实例的引用，可以对照</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">C++</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">this</span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">指针理解。</span>
																				</font>
																		</p>
																		<p style="TEXT-INDENT: -21pt; tab-stops: list 21.0pt">
																				<font color="#000000">
																						<span lang="EN-US" style="FONT-FAMILY: Wingdings">
																								<span>
																										<font face="Wingdings">l</font>
																										<span style="FONT: 7pt 'Times New Roman'">
																												<font size="3">         </font>
																										</span>
																								</span>
																						</span>
																						<span style="FONT-FAMILY: 宋体">我怎样显示一个窗口？</span>
																				</font>
																		</p>
																		<p>
																				<font color="#000000">
																						<span style="FONT-FAMILY: 宋体">涉及到</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">GUI</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">的开发，</span>
																						<span lang="EN-US">
																								<font face="Times New Roman">Python</font>
																						</span>
																						<span style="FONT-FAMILY: 宋体">可以使用很多种图形库，包括</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">tk, wxPython, wxQt, Gtk+, </span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">甚至通过扩展可以使用</span>
																						<font face="Times New Roman">
																								<span lang="EN-US">dotNet WinForm</span>
																						</font>
																						<span style="FONT-FAMILY: 宋体">。</span>
																						<font face="Times New Roman">
																						</font>
																						<span style="FONT-FAMILY: 宋体">这些就留给读者继续探索。</span>
																				</font>
																		</p>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
												<tbody>
														<tr>
																<td align="left">
																		<br />
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-25 20:25 <a href="http://www.blogjava.net/MEYE/articles/37390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分享] 手机生产日期检查方法大全</title><link>http://www.blogjava.net/MEYE/articles/37376.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Sat, 25 Mar 2006 11:10:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37376.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37376.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37376.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37376.html</trackback:ping><description><![CDATA[
		<table style="WORD-BREAK: break-all" cellspacing="0" cellpadding="0" width="95%">
				<tbody>
						<tr>
								<td valign="top" align="left" width="32">
										<img alt="" src="http://www.kjavacn.com/bbs/face/face1.gif" border="0" dypop="发贴心情" />  </td>
								<td style="LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-word">
										<font face="宋体" color="#333333">
												<b>[分享] 手机生产日期检查方法大全</b>
												<br />~<br /><br />热门机都在这了`其他的陆续添加！<br /><br />~爱立信 ERICSSON <br />-》* 《- 《- * 《- * (右*左*左*左*） <br />输入后会显示： <br />ABCDEF GHIJ <br />PRGXXXXXXXXX <br />ABCDEF为年月日（YY/MM/DD） <br /><br />~诺基亚 NOKIA <br />*#0000# 显示： <br />VXX.XX 为软件版本 <br />DD-MM-YY 为生产日期（日-月-年） <br />NXX-X 为手机型号：如3310为NHM-5 <br /><br />~摩托罗拉 MOTOROLA <br />查MSN(在手机标贴上)内容: <br />MSN 长度为十位: <br />MSN：AAA-B-CC-DDDD <br />AAA-为型号代码(A74--Cd920/928;A84─L2000) <br />B-为产地代码(2-英国;3-东方通信;6-天津;G-美国;R-德国) <br />CC-为日期代码 <br />X-97;Y-98;Z-99,A-2000,另一位为月份,对照如下表: <br />A、B--1 <br />C、D--2 <br />E、F--3 <br />G、H--4 <br />J、K--5 <br />L、M--6 <br />N、P--7 <br />Q、R--8 <br />S、T--9 <br />U、V--10 <br />W、X--11 <br />Y、Z--12 <br />　　例:MSN:A746YT5773 的含义： A74为 Cd920系列;6 表明产地为天津;Y为98年;T为9月,5773为序列号 <br /><br />~三星 SAMSUNG <br />*#9999# <br />显示生产日期及软件版本： <br />显示：S-1999年 T-2000年 A-1月 B-2月…. 以此类推. <br /><br />~西门子 SIEMENS <br />查软件版本: *#06# 然后按 左功能 <br /><br /><br />] </font>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-25 19:10 <a href="http://www.blogjava.net/MEYE/articles/37376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两只蚂蚁走在路上，突然看见一只很大的梨- -{2006-3-22 14:15:00}</title><link>http://www.blogjava.net/MEYE/articles/37359.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Sat, 25 Mar 2006 09:47:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37359.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37359.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37359.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37359.html</trackback:ping><description><![CDATA[
		<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" bordercolor="#0099ff" cellspacing="0" cellpadding="0" width="99%" bgcolor="#000000" border="0">
				<tbody>
						<tr>
								<td>
										<div align="center">
												<p class="style6" align="left">
														<font color="#ff3300">
																<span class="style8">
																		<span class="style10">两只蚂蚁走在路上，突然看见一只很大的梨</span>
																</span>
																<span class="style5">
																		<span class="style12">- -{2006-3-22 14:15:00}</span>
																</span>
														</font>
												</p>
										</div>
								</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<font color="#ff3300">
														</font>
												</tbody>
										</table>
										<span class="style5">
												<span class="wenzi">
												</span>
										</span>
										<span class="oblog_text" style4="">
												<br />
												<br />
												<font color="#ff3300">两只蚂蚁走在路上，突然看见一只很大的梨 --打n个国家名 <br />一只蚂蚁说：“咦，大梨”（意大利） <br />另一只蚂蚁说：“噢，大梨呀”（澳大利亚） <br />嘻，搬呀 （西班牙） <br />偶来试 （俄罗斯） <br />抱家里呀 （保加利亚） <br />啃梨呀 （肯尼亚） <br />梨不嫩 （黎巴嫩） <br />爸,梨~~~(巴黎) 呵呵，那两个蚂蚁是父子俩儿爸，拿吗？（巴拿马） <br />蚂蚁是母子俩，小蚂蚁说：妈，来吃呀（马来西亚） <br />母蚂蚁说：孩子，那是妈的梨（马德里） <br />其中一个见之大叫：什么东东阿？ <br />另一个说：嘘。。梨呀 （叙利亚） <br />核烂（荷兰），吃到里面才知道，** <br />一口咬下去.... ft，烂的（芬兰）<br />一只母蚂蚁爬到梨上 ---匈牙利（胸压梨） <br />一只蚂蚁抢过来说：这是我的梨（奥地利） <br />一蚂蚁咬了梨一口，牙掉了：靠```（钢果）--刚果 <br />再咬梨一口~~…………·#￥ 有 毒~！ （印 度） <br />蚂蚁咬了一口，发现梨不新鲜了，说道：呜~~干的（乌干达） <br />梨里面爬出一只虫，一只蚂蚁说：爸！勒死他！（巴勒斯坦） <br />一只蚂蚁对另一只蚂蚁说：哥，是大梨呀！（哥斯达黎加） <br />一只蚂蚁爬到梨上，另一蚂蚁叫道：“你日梨呀？”（尼日利亚） <br />一只蚂蚁咬了一口，觉得梨不够脆，说：“面的。” （缅甸） <br />还有梨！咦！？luck！（伊拉克） <br />蚂蚁家位于一塔内。。。。。。。 “给我把梨往塔里搬！”（塔利班） <br />甲蚂蚁对已蚂蚁说:爷们,咋整!(耶路撒冷) ，乙蚂蚁对甲蚂蚁说:晕,难!(云南) <br />一蚂蚁爬到梨上，梨塌下去一块：“梨瘪呀”！----（利比亚） <br />一只蚂蚁问道：你知道世界上有 哪些国家种过梨吗？ <br />另一只蚂蚁答道：“种过梨的国家有：中国，朝鲜，韩国，日本，越南，老挝，柬埔寨，尼泊尔，印度，泰国...........（后面省略n个国家名）”。<br /></font>
										</span>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/MEYE/aggbug/37359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-25 17:47 <a href="http://www.blogjava.net/MEYE/articles/37359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>技术为0的搜索网站，但你得佩服创意！</title><link>http://www.blogjava.net/MEYE/articles/37261.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Fri, 24 Mar 2006 11:15:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/37261.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/37261.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/37261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/37261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/37261.html</trackback:ping><description><![CDATA[
		<script><![CDATA[unction StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}]]&gt;</script>
 
<div class="post"><div class="postTitle"><a href="http://blog.csdn.net/leavecd/archive/2006/03/23/633141.aspx"><img height="13" src="http://blog.csdn.net/images/authorship.gif" width="15" border="0" /> 技术为0的搜索网站，但你得佩服创意！</a><script language="javascript"><![CDATA[ocument.title="技术为0的搜索网站，但你得佩服创意！ - "+document.title]]&gt;</script></div><div class="postText"><p>技术为0的搜索网站，但你不得不佩服创意！</p><p><a href="http://www.baigoogledu.com/">www.baigoogledu.com</a> 百goole度</p><p>还有一个是 </p><p><a href="http://www.baigoo.com/">www.baigoo.com</a> 百狗 </p><p>厉害吧！</p><br /><br /><p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=633141</p></div><div class="postFoot"><script src="http://writeblog.csdn.net/PromoteIcon.aspx?Id=633141"></script>
[<a href="javascript:StorePage()">点击此处收藏本文</a>]   发表于 2006年03月23日 5:42 AM </div></div><link href="http://blog.csdn.net/leavecd/Services/Pingback.aspx" rel="pingback" /><!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://blog.csdn.net/leavecd/archive/2006/03/23/633141.aspx"
dc:identifier="http://blog.csdn.net/leavecd/archive/2006/03/23/633141.aspx"
dc:title="技术为0的搜索网站，但你得佩服创意！"
trackback:ping="http://tb.blog.csdn.net/TrackBack.aspx?PostId=633141" />
</rdf:RDF>
--><script><![CDATA[unction hide(){showComment();}]]&gt;</script><br /><script><![CDATA[ocument.write("<img src=http://counter.csdn.net/pv.aspx?id=24 border=0 width=0 height=0>");]]&gt;</script><img height="0" src="http://counter.csdn.net/pv.aspx?id=24" width="0" border="0" /><br /><div id="comments"><h3></h3><a name="633142"> </a><div class="post"><div class="postTitle"><a href="http://www.qoosoo.com/" target="_blank" rel="nofollow">还有一个 </a> 发表于2006-03-23 5:44 AM  IP: 218.19.1.*</div><div class="postText">还有一个 <br />http://www.qoosoo.com/ <br />呵呵</div></div><br /><a name="633144"> </a><div class="post"><div class="postTitle"><a href="http://www.yok.com/" target="_blank" rel="nofollow">www.yok.com 这也来了</a> 发表于2006-03-23 6:06 AM  IP: 218.19.1.*</div><div class="postText">www.yok.com 这也来了</div></div><br /><a name="636561"> </a><div class="post"><div class="postTitle"><a href="http://www.sosof.com/" target="_blank" rel="nofollow">sosof</a> 发表于2006-03-23 11:01 PM  IP: 221.172.24.*</div><div class="postText">www.sosof.com</div></div><br /><a name="636579"> </a><div class="post"><div class="postTitle"><a href="http://www.qiuhuang.cn/" target="_blank" rel="nofollow">liuzewei</a> 发表于2006-03-23 11:23 PM  IP: 202.101.162.*</div><div class="postText">确实厉害啊~~~佩服佩服！！！！！</div></div><br /><a name="636843"> </a><div class="post"><div class="postTitle">逍遥游 发表于2006-03-24 9:33 AM  IP: 222.184.252.*</div><div class="postText">真的很不错哦！创意很好</div></div></div><img src ="http://www.blogjava.net/MEYE/aggbug/37261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-24 19:15 <a href="http://www.blogjava.net/MEYE/articles/37261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发工程师人生之路 </title><link>http://www.blogjava.net/MEYE/articles/36255.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Mon, 20 Mar 2006 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/36255.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/36255.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/36255.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/36255.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/36255.html</trackback:ping><description><![CDATA[
		<h2>
				<a id="viewpost1_TitleUrl" href="/gf7/archive/2005/11/19/20558.html">开发工程师人生之路</a>
		</h2>恭喜，你选择开发工程师做为自已的职业<br />　　悲哀，你选择开发工程师做为自已的职业 
<p>　　本文所指的开发工程师，仅指程序开发人员和以数字电路开发为主的电子工程师。<br />　　当你选择计算机或者电子、自控等专业进入大学时，你本来还是有机会从事其它行业的，可你毕业时执迷不悟，仍然选择了开发做为你的职业，真是自做孽不可活。不过，欢迎你和我一样加入这个被其它人认为是风光无限的“白领”吧。<br />　　如果你不是特别的与人世隔绝，我想你一定看过金老先生的名著《笑傲江湖》吧，里面有一门十分奇特的武功叫做"辟邪剑法"，你看这个小说第一次看到这种功夫的练法时，我想你当时一定笑歪了牙“呵呵，真好玩！”，可是现在我很痛心的告诉你：你选择的开发工作就是你人生路上的"辟邪剑法"，而你现在已经练了，并且无法再回头。<br />　　相对同时刚出校门同学从事其它行业而言优厚的薪水，以及不断学习更新的专业知识不仅仅让你感到生活的充实，更满足了你那不让外人知的虚荣心。在刚出校门的几年中，你经常回头看看被你落在后面的同学们，在内心怜悯他们的同时，你也会对自已天天加班的努力工作感到</p><p>心里平衡：“有付出才会有回报”这句话在那几年中你说的最多，不管是对自已的朋友们还是自已的爱人。第二句最常说的话是对公司的领导：“不行我就走人！”，实际上你也真的走过几回。对了，在这几年中，因为你的经济条件不错，你开始买房、开始谈恋爱、结婚、开始有了自已的小孩。有时候你会对自已说再过两年就去买车。当然其中可能有许多大件是需要分期付款的，但你对前途充满了信心，你确信认为这种日子会永远的持续下去，即使不是变得更好的话。<br />　　日子总是在这种平淡中一天天的过去，就在那么不经意间，你突然发现自已已经快30岁了，或者已经30了，莫名的，你心里会漫延着一种说不清楚的不安情绪，你好像觉得前途并非像前几年那样变得越来越好，你也忽然发现你以前所瞧不起的同学里好像已经有不少开着车的了，也有几个人住着比你还大的房子，好像房款还是一次付清的，你突然明白你现在的生活比起你的同学来最多是中游偏上了。工作中最让你感到心里不舒服的是，你越来越不敢对你的领导说不了，即使比你来的晚的同事升职或提薪，你也只是在私下与朋友们一起喝酒时才敢发发牢骚，在头的面前你的声间越来越小、笑脸是越来越温柔。<br />　　你终于开始迷茫“再过几年我会是在干什么呢？”，这句话常常出现在你的心里。<br />　　计算机开发工作，是一种以年轻为资本的工作，说句通俗点的话是“吃青春饭的”，嗯，这句话好像在一种特别的行业也听到过。</p><p>其标志就是一：工作的时间性非常强，一个开发项目被定的时限通常是很紧张的，更有甚者，有些号称开发管理的书里面还非常卑鄙的号召将一个项目切成多个小片，每个小片都定一个叫“里程碑”的东东来严格跟踪开发进度，加班加点在其它行业是需要加班工资的，而在开发行业，加班工资好像还没见到几个公司发过，是啊，反正有时间限制着，你干不完我再找你算账.所以开发工作通常有着其它工作所没有的精神上的压力。</p><p>一旦一个人步入而立之年，因为家庭和孩子的负担，加上精力上面的衰退，加班工作时间变得越来越少，这点让很多老板们感到：这些人已经老了，不好用了。指示人事部门：“以后招开发人员限制在30岁以下！”，相对而言硬件开发会年龄方面限制会稍好一点点，但也是五十步笑百步。还有一个很重要的一点就是：计算机这个烂东东实在是进步的太快了，前两年买的顶级配置电脑，现在怎么看怎么像废品，这还是小事，更可气的是好像每天都需要学习新的知识，刚毕业时只会书本上的PASCAL，学会了用腐蚀的办法来做电路板，一上班就开始学习TURBOC和TANGER2.0，刚刚学会，还没来得及高兴，马上开始学Borland C＋＋和Protel3.0，好不容易学会了，却发现需要学习VC和Protel98了。单片机也是啊：Z80的指令背的很熟，工作中没来得及用就要学8031，好好学吧，本来想着这辈子就吃它了，又发现又出来什么PIC、DSP、CPLD、FPGA、ARM等等....这还不包括中间要学一大堆74系列、4000系列、XX系列...IC卡居然里面还有CPU卡..如果学习的知识里每个字都能变成一分钱，我想所有的开发工程师都是腰缠万贯的富翁。<br />　　一眼看去，这种日子好像见不到头，年轻时乐此不彼，但现在你一定对自已能坚持到什么时候感到怀疑了。我们都玩过像仙剑奇侠传这样的RPG游戏，刚开始时你只是一个一名不文的少年，随着你去打怪物、捡宝贝、学秘芨，最后终于有一天你会变成一个大英雄！那么你在实际生活中过得比那些小侠们还辛苦，为什么成不了一个生活中的大侠呢？呵呵，原因在这里：因为开发工作是邪门功夫，它虽然可以让你速成的变成小资，但它最大的特点是经验不积累！日新月异的知识更新，让你总是感到自已在退步，你就像在RPG中的主人公，开始时就给了你一把好剑和好盔甲，而且让你的级别很高，但让你的经验不累积，虽然刚开始打小怪物时你觉得自已很爽，但越到后来，你会发现你会死的很惨！比较一下你与其它非开发行业的同学你就可以知道了，例如和你学医的同学比起来。套用岳不群他老人家说华山剑宗和气宗的区别那段话：前十年你比你那些学医的同学收入和地位要好的多，但十年以后你和他基本上各方面都会持平，而二十年以后你的各方面远远不能与你学医的同学相提并论！嗯，你已经开始不笑辟邪剑法了吧。<br />　　“敢问路在何方？路在脚下...”，不过猴兄和八戒兄这么认为是可以的，你呢？<br />总结了许多开发朋友在30岁以后的生活之路，让我们一起看看开发人员“路在何方？”那么开发人员在30岁以后都干些什么呢？<br />其路一：继续做你这个很有“前途”的职业吧！<br />　　偶掰着脚指头仔细数了数，发现还真的有很多朋友在30岁以后还在从事开发工作，我这里说的从事，是指你还需要天天在电脑边上编程序和画电路板，与你手下是否有几个小兵无关，也与你是否头上顶着什么项目经理、主任工程师的帽子无关，只要你还需要亲自开发，你就属于这一类。其中有个年龄最大的朋友是63年的，从事医疗仪器的开发工作，35岁左右还在从事软硬件开发工作的仍有一大堆，分析这些仍然从事开发的朋友，基本上都有以下特点：<br />1　痴迷工作或者痴迷电脑，晚上八点到十二点的这段时间，基本上是在电脑桌或工作台前渡过的。<br />2　不喜欢与人交住，朋友很少，常联系的人不超过五个。<br />3　与朋友交往时谈工作多，但一般不主动谈钱。<br />4　体型偏胖或偏廋，不在正常区间。<br />5　无未来计划，对五年后自已生活怎么样、从事什么工作说不清楚。<br />6　俭省，从不乱花钱。<br />即使你是还不到30岁的开发人员，你也可以看看自己对以上几条是否符合，是否会在30岁后还从事开发职业，四条疑似，五条以上基本确诊你也是这类型的人。<br />　 这些朋友们通常报着过一天是一天的态度生活，到了这个年龄，也不敢再轻易的换工作了，年轻时的锐气慢慢的也消退了。唯一不变的希望是有一天从天上掉下来一大堆钱把自己砸伤。说实在话因为他们的性格所限，基本上可以确定他们以后不可能在职场上获得更好的发展，当个小头头，带几个人开发已经是他们发展的顶点。至于以后的人生之路，不仅他们自己迷茫，可能上帝也正在头痛。<br />   不过像这类朋友，偶很奇怪的发现：他们的小孩都是儿子！不知是偶然还是有什么其它说法。<br />简单建议：要改变命运，先改变性格：坚持半年晚上不从事工作、游戏及电视，用此时间与人交往，你的人生会有改变。</p><p><br />其路二：转行从事技术支持、行政或生产等工作还有一些朋友，从事了几年的开发工作，因为自已并非特别的爱好，或者领导上面的强制工作安排，他们转到了技术支持、服务或行政等工作，至少当时从表面上看起来，他们的薪水较开发要少一些，但真正的统计这些人，发现他们之中有半数的人获得了更好的发展，升职为服务部经理或行政经理等职，最历害的一个朋友已升职为总经理助理，进入高层。<br />　　这类朋友当时转行通常并非自已志愿，属被逼无奈或者其它原因，但显然，拥有专业知识技术的他们显然在非技术部门中鹤立鸡群，遇到什么事情他们均可从专业的角度提出建言，久而久之，他们获得更多的升职和加薪机会也就不足为奇。<br />　　因为不从事开发，所以经验开始积累，这类的职业通常会给你一个很安定的感觉，你到30多岁后会发现这类职业反而比开发工作更容易获得新的工作机会。<br /><br />　　简单建议：你如果确定在开发部无法获得很好的发展机会，不妨转到其它几个部门试试，换个活法，钱少点就少点吧，机会多。<br />其路三：开发管理<br />　　如果你现在已经是总工或开发部经理，或者你眼看就有机会被提升为这类职务，那么恭喜你，你走的是从“弼马温”到“斗战胜佛”这条金光大路，你不仅拥有很高的专业技能，而且很显然，你也有着很强的人际交往能力，你这类人根本不需要对未来有着任何的担心，你在即使一无所有的时候也很容易白手起家。<br />　　你这种人算是练辟邪剑法练成了仙，嗯，我无话可说。<br />　　你是不是这类人也很容易区别，就像围棋二十岁不称国手终身无望一样，你应该在工作三、四年以后，也就是说二十七岁左右就会发现自已工作中指手划脚的时间比亲自开发的时间要多了，而且大多数这类人在这个年龄手下应该有“兵”了，相反的，如果你快30岁了还天天埋头于电脑前编程序和画板子，或者30多岁了你还没升到部门经理（虽然你总是觉得自已很有希望），基本上可以确定你不是这类人。好了，如果你确定你是这类人，那么你唯一的想法就是尽快爬上中层和高层，因为有时候人生偶然性太大，不占住坑的萝卜很有可能被人拔出来！<br /><br />　　简单建议：天天去你的老板家里面拖地和擦桌子！</p><p><br />其路四：出国或考研<br />　　有两个搞开发后出国的朋友，其中一个甚至打工打到了一个小公司总工的位置，数据库和软件方面水平巨牛，但仍感觉心里不踏实，于是将自己工作多年的钱忍痛掏出来，出国费加上机票大概将自已辛苦所攒的银子花完，然后又借了一些钱，在02年身上揣着一万美元跑去了加拿大，在加拿大不停的重复找工作，换工作，然后再找工作的循环，找的工作基本上与计算机无关，不过工资总是在1500加元左右，呵呵，折成人民币与他在国内打工拿的基本上差不多，不过租个地下室就花了300加元，然后吃吃喝喝，再买个电脑上上网这类的，基本每月平均还要倒贴一点。前段时间给我的邮件里说，现在身上花的差不多只有5、6000美元了，准备开个小公司，看看能不能往国内倒腾点东东，做最后一搏。另外一个朋友去澳州，时间稍早一些，先是大概摘了一年多的葡萄，后来总算找了个技术工作，每天的工作是画机械图纸，收入还算不错</p><p>将近3000澳元，买了个旧车，也算是过上了资本主义生活。不过前年回来一趟，唯一的感叹就是：在国外拿2000美元的生活，绝对不如在国内拿5000人民币的生活舒服。<br />　　也有两个考研的朋友，不过其中一个严格的说不是做开发的出身，偏重于市场方面的工作性质，不过我的朋友里面考研的不多，只好凑两个人说说，一个考研后在北京找了个工作，每个月5、6000元钱，但还是做开发，生活仍然与没考研之前没有任何的改变，前途仍然没见到什么大亮的光，还是搞不清楚以后再干些什么，标准的过一天算一天了。另外一个考研后在大学里面找了个工作，工资虽然比他原来打工少了不少，但毕竟终身有靠，稳定了下来，也算修成了正果，这位哥们心情一放松下来，也开始有时间琢磨着业余时间自已做点什么，好像现在慢慢的也开始有了点眉目。<br />　　简单建议：这两条路，对开发人员来说都不算是很好，出国十年前是好事，现在难说，考研能成功转行的概率恐怕也不是很大，多半仍然去搞开发，只不过研究生可以多干几年罢了。</p><p><br />其路五：转行到市场<br />　　绞尽脑汁的想想，我所知道的人之中只有两个开发人员去了市场，这两个人都不能说是朋友，认识而已。他们都是主动要求去了市场，结果是这两个人均在市场都是干到一年左右，然后都自已开公司了。呵呵，很奇怪，极高的转行成功率！不过仔细想想，我对这两个人的思路佩服的五体投地。能下决心仍掉每月5、6000元的开发职位，从事一个自已并不熟悉的岗位，每月拿个2000多元＋提成，但提成那是说不清楚的事情，这个决定，只能让人感觉到他们对自已前途清晰的把握和老谋深算的心机。而且他们不去服务不去生产，挖空心思说服领导去市场（市场部门与开发部门通常是一个公司的核心部门，进入其实并不容易），可以说是有着长远的考虑的。有技术了，再与客户交成朋友，马上就会产生很大的机遇应该是正常的事情。<br />　　有实力，有心机，也有着很强的决心力，这种人恐怕早在大学毕业时或更早的时候就已经决定了自已的人生之路，他们的每一步路在若干年前早就计划周全，现在看起来：学会技术－＞进入市场－＞寻找商机－＞开公司，一条多么清楚的人生之路。但就像我们上小学中学时，所有人都知道上大学是我们最清楚的人生路一样，最后只有少数人才能真正达到目标（当然，现在扩招的历害是另外一回事，我是说我们那个时候，也就是：“很久很久以前，当我像你那么大的时候”）。<br /><br />　　简单建议：你若是这类人，我的建议是：...嗯?....那个你.你，你别走啊，我还有个事想请你赞助一下啊.....</p><p><br />其路六：开公司自已干</p><p>　　呵呵，看到这一条，发现你的眼睛已经圆了，你肯定千百次的想过这个事情吧，咳咳，其实我从事开发的时候也是天天梦想着这种事情。总想着过两年找个机会就自已干，这个梦想一年又一年的折磨着你也给着你希望。看看吧，开发后来开公司的还真的不少，里面有成功的也有很多失败的，通常开公司都是几个人合伙开始的，有做技术的，有做市场的，几个人一拍即合、狼狈为奸，共同策划了这一个大活动。一般说来能让这几个人下决心走出这一步，产品肯定是先进的，甚至是国内独一无二的，市场也是很大的，负责市场的那个哥们通常会拍着胸保证可以卖出去，并悄悄地告诉你他在某主管领导是他小舅子的同学的二叔，肯定没问题。于是你们几个人找地点、注册执照、买了几个破桌子，再攒了两台电脑，每个人又凑了几万银子，公司开张了！<br />　　产品很快出来了，市场的哥们也不负重望，有几个客户表示要试用了，一切看起来都是如此的正常，“.......你坐在老板桌前，不停的有人来汇报工作或者找你签字...人进人出中...你又想起公司再穷也不能只有一把椅子的故事.....”你在梦中笑出声来。<br />    是如此的顺利，你们很快就有单子了，很快的单子让你们凑的那点钱不够了，你们很高兴的每个人又增加了投入，拿出钱时你眼泪汪汪的数着钱说：“这就是我那生蛋的母鸡啊”。你们的产品确实不错，市场也经营的很好，客户慢慢的多了起来，单子来的时候一笔接着一笔，你每天都处于兴奋之中，唯一美中不足的是好像客户回款总是会拖一些日子，不过客户给你保证说：过几天，过几天就付给你们，因为回款总是在计划外，所以你们为了资金的流畅运行又凑了一些钱，这个时候你有一些心事了，因为你的存款折上面的数字已经快趋向于零了。“没事，过两个月等回款了一切都OK了，谁干事业不吃点苦呢？”你这么安慰着自已又投入到工作中去，资金总是在回款和生产经营费用之间走着一个窄窄的小木桥，你的账上总是没有太多的钱，扩大了的公司规模和许多意外情况，使你又一次、二次、三次的与合作者们再次投入了自已的资金，当然，后来的钱你可能已经是借的了.....<br />　　终于有一天，你的会计再一次告诉你，老板啊，账上又没现金了，吃过多次苦头的你终于下决心开始重视资金的运行了，你裁掉了一些不必要的人手，减少了开发的投入，要求市场人员签单的时候必须予付XX%的款，回扣也必须等收过款后再付，同时也开始对产品的生产成本开始进行控制。<br />　　时间一天一天的过去，因为竟争对手的产品也对你的产品进行了仿造，你的产品慢慢变得不再先进，市场人员开始埋怨公司的合同资金方面规定太严格，不好签单，生产成本的下降通常也导至产品毛病的增多，客户也开始埋怨你的服务人员不能及时进行服务。<br />　　终于有一天，你重新走进了人才交流中心，以前你是来招人的，现在你拿着自已的简历开始寻找一个工作<br />......<br />    公司的成功与否，与产品有关，与市场有关，但更重要的是与资金有关，产品与市场都可以通过资金来弥补，而却没有任何东西可以代替</p><p>资金，凡是倒下的公司，99%与资金链的断裂有关。在你决定要开公司以前，先估计一下你公司支持一年所需要的资金数额，包括人工费，生产，场地，广告宣传、市场费用、甚至电、水费等等等等，把你所想到的一切加在一起，得出的值就是..慢..如果你没有实际的开过公司的经验，你需要将此数字乘3，然后就是你开公司一年最少需要的费用，呵呵，公司的实际运营所需要的钱是你想像的3倍以上，你要是不信我也没办法。<br /><br />    简单建议：开公司前最重要的是先确立你后续的资金来源！也就是说钱不够了怎么办？－－－因为你投入的钱肯定会不够的。</p><p><br />其路七:第二职业<br />    这类的朋友有不少,他们没有脱离开发工作,但是在业余时间又不停的接项目或者在卖产品,在单位里面他们显得并不出众,比起其它人来说他们属于最不愿意加班的一类.为此他们白天通常工作很勤奋.这类人也许不一定可以挣很多钱,但平均下来他们一年之中通常都可以比同事们多挣个几万元.有时候比上班拿得还多.但令人疑惑的是,这类人在生活中更加注重稳定,基本上没见到他们跳过蹧,即使私下里面已经开了个小公司,他们通常也不会辞职.<br />    你的旁边有没有这类人呢?分辨他们很容易:<br />--电话很多,而且更愿意来电话时离开办公室找个没人的旮旯通话.神秘兮兮给人一种"这家伙是不是有二奶啊?"的感觉的人，通常是这类人。这类人是女性最佳的选择对象：很顾家，不象那些富人容易花心，而比起一般人来说，他们收入相对要高得多。但总结了一下几位这类的开发朋友：也得出了一个令人沮丧的结论：这种人通常个子不高，体形类似桶状.....<br /><br />   简单建议：这好像是开发人员最佳的出路了，但比较丰厚的收入通常让这类人不愿意去冒风险....到现在为止我所认识的这类人还没有一个真正算是成功的。<br />   好了，虽然偶的经历远远说不上丰富，也没有什么成功之处可以自满的，但或许因为比其它朋友痴长了几岁，见过的人可能会稍多一些，所</p><p>以斗胆写出了以上的一些文字，让您掉牙了。<br />   下面是偶走过开发这条路上总结出来的一点心得，你可以不看，但看了就千万别把嘴咧的太大：<br />   一、不管是给别人打工还是自已干，都要全心全意的工作，因为你所做的任何一点工作都会让自已的人生多一点筹码，这一点最最重要!这样的例子我至少可以举出两起，优秀的开发人员被其它新公司挖走，并给一定的股份，成为新公司的股东的例子。当时与这样的开发人员一个部门同时工作或更早工作的有许多人，他们平时经常偷点懒，能少干点工作就少干点，有时候还笑话那个平时努力工作的人傻，几年过去了，究竟谁比谁傻？<br />   二、多与市场人员交朋友，你接触他们时可能总会觉得他们知识比你少，甚至素质比你低，可能比你还有点黄。但实际上他们比你更懂这个社会！参加到他们这个圈子中去，和他们一起赌赌钱、一起聊聊天、一起洗洗桑拿、一起.....你会通过他们接触到另外一个世界。<br />   三、机会远比钱重要，挣不挣钱在年轻时并不是特别重要！不论是在实际生活中还是在网上或其它地方，如果有机会参与到除本职工作外的一些项目或产品的开发中（包括你的朋友拉你去做点小生意之类的非开发性质的工作），那怕是帮忙的性质，也要积极介入，至少你会交到很多的朋友，这样你的人生会多出很多的机会。</p><img src ="http://www.blogjava.net/MEYE/aggbug/36255.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-20 11:07 <a href="http://www.blogjava.net/MEYE/articles/36255.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle经常使用到的函数(转载)</title><link>http://www.blogjava.net/MEYE/articles/35564.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Thu, 16 Mar 2006 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/35564.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/35564.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/35564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/35564.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/35564.html</trackback:ping><description><![CDATA[<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=1 cellPadding=3 width="98%" bgColor=#cccccc border=0>
<TBODY>
<TR bgColor=#f8f8f8>
<TD><FONT size=4><STRONG>Oracle经常使用到的函数(转载)</STRONG></FONT><BR></TD></TR>
<TR bgColor=#ffffff>
<TD height=0>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD>
<DIV class=postTitle><A class=postTitle2 id=viewpost1_TitleUrl HREF="/shmily432685/archive/2006/02/14/30558.html">Oracle经常使用到的函数</A> </DIV>
<P class=content style="MARGIN: 4px 2px 0px">PL/SQL单行函数和组函数详解<BR>　函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数，这些函数都可被称为SQL或PL/SQL语句，函数主要分为两大类：<BR><BR>　　 单行函数<BR><BR>　　 组函数 <BR><BR>　　本文将讨论如何利用单行函数以及使用规则。<BR><BR>　　SQL中的单行函数<BR><BR>　　SQL和PL/SQL中自带很多类型的函数，有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据，因此这些都可被统称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY等子句中，例如下面的例子中就包含了TO_CHAR,UPPER,SOUNDEX等单行函数。<BR>SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM empWhere UPPER(ename) Like 'AL%'ORDER BY SOUNDEX(ename)<BR><BR>　　单行函数也可以在其他语句中使用，如update的SET子句，INSERT的VALUES子句，DELET的WHERE子句,认证考试特别注意在SELECT语句中使用这些函数，所以我们的注意力也集中在SELECT语句中。<BR><BR>　　NULL和单行函数<BR><BR>　　在如何理解NULL上开始是很困难的，就算是一个很有经验的人依然对此感到困惑。NULL值表示一个未知数据或者一个空值，算术操作符的任何一个操作数为NULL值，结果均为提个NULL值,这个规则也适合很多函数，只有CONCAT,DECODE,DUMP,NVL,REPLACE在调用了NULL参数时能够返回非NULL值。在这些中NVL函数时最重要的，因为他能直接处理NULL值，NVL有两个参数：NVL(x1,x2),x1和x2都式表达式，当x1为null时返回X2,否则返回x1。<BR><BR>　　下面我们看看emp数据表它包含了薪水、奖金两项，需要计算总的补偿<BR>column name emp_id salary bonuskey type pk nulls/unique nn,u nnfk table datatype number number numberlength 11.2 11.2<BR><BR>　　不是简单的将薪水和奖金加起来就可以了，如果某一行是null值那么结果就将是null，比如下面的例子：<BR>update empset salary=(salary+bonus)*1.1<BR><BR>　　这个语句中，雇员的工资和奖金都将更新为一个新的值，但是如果没有奖金，即 salary + null,那么就会得出错误的结论，这个时候就要使用nvl函数来排除null值的影响。<BR>所以正确的语句是：<BR>update empset salary=(salary+nvl(bonus,0)*1.1<BR>单行字符串函数<BR><BR>　　单行字符串函数用于操作字符串数据，他们大多数有一个或多个参数，其中绝大多数返回字符串<BR><BR>　　ASCII()<BR>　　c1是一字符串，返回c1第一个字母的ASCII码，他的逆函数是CHR()<BR>SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122<BR><BR>　　CHR(＜i＞)[NCHAR_CS]<BR>　　i是一个数字，函数返回十进制表示的字符<BR>select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B<BR><BR>　　CONCAT(,)<BR>　　c1,c2均为字符串，函数将c2连接到c1的后面，如果c1为null,将返回c2.如果c2为null,则返回c1，如果c1、c2都为null，则返回null。他和操作符||返回的结果相同<BR>select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda<BR><BR>　　INITCAP()<BR>　　c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格，控制字符，标点符号限制。<BR>select INITCAP('veni,vedi,vici') Ceasar from dualCeasarVeni,Vedi,Vici<BR><BR>　　INSTR(,[,＜i＞[,]])<BR>　　c1,c2均为字符串，i,j为整数。函数返回c2在c1中第j次出现的位置，搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数，那么搜索将从右到左进行，但是位置的计算还是从左到右，i和j的缺省值为1.<BR>select INSTR('Mississippi','i',3,3) from dualINSTR('MISSISSIPPI','I',3,3)11select INSTR('Mississippi','i',-2,3) from dualINSTR('MISSISSIPPI','I',3,3)2<BR><BR>　　INSTRB(,[,i[,j])<BR>　　与INSTR（）函数一样，只是他返回的是字节，对于单字节INSTRB()等于INSTR()<BR><BR>　　LENGTH()<BR>　　c1为字符串，返回c1的长度，如果c1为null，那么将返回null值。<BR>select LENGTH('Ipso Facto') ergo from dualergo10<BR><BR>　　LENGTHb()<BR>　　与LENGTH()一样，返回字节。<BR><BR>　　lower()<BR>　　返回c的小写字符，经常出现在where子串中<BR>select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE '%white%'COLORNAMEWinterwhite<BR><BR>　　LPAD(,＜i＞[,])<BR>　　c1,c2均为字符串，i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复，如果i小于c1的长度，那么只返回i那么长的c1字符，其他的将被截去。c2的缺省值为单空格，参见RPAD。<BR>select LPAD(answer,7,'') padded,answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybe<BR><BR>　　LTRIM(,)<BR>　　把c1中最左边的字符去掉，使其第一个字符不在c2中，如果没有c2，那么c1就不会改变。<BR>select LTRIM('Mississippi','Mis') from dualLTRppi<BR><BR>　　RPAD(,＜i＞[,]) <BR>　　在c1的右侧用c2字符串补足致长度i,可多次重复，如果i小于c1的长度，那么只返回i那么长的c1字符，其他的将被截去。c2的缺省值为单空格,其他与LPAD相似<BR><BR>　　RTRIM(,)<BR>　　把c1中最右边的字符去掉，使其第后一个字符不在c2中，如果没有c2，那么c1就不会改变。<BR><BR>　　REPLACE(,[,])<BR>　　c1,c2,c3都是字符串，函数用c3代替出现在c1中的c2后返回。<BR>select REPLACE('uptown','up','down') from dualREPLACEdowntown<BR><BR>　　STBSTR(,＜i＞[,])<BR>　　c1为一字符串，i,j为整数，从c1的第i位开始返回长度为j的子字符串，如果j为空，则直到串的尾部。<BR>select SUBSTR('Message',1,4) from dualSUBSMess<BR><BR>　　SUBSTRB(,＜i＞[,])<BR>　　与SUBSTR大致相同，只是I,J是以字节计算。<BR><BR>　　SOUNDEX()<BR>　　返回与c1发音相似的词<BR>select SOUNDEX('dawes') Dawes SOUNDEX('daws') Daws, SOUNDEX('dawson') from dualDawes Daws DawsonD200 D200 D250<BR><BR>　　TRANSLATE(,,)<BR>　　将c1中与c2相同的字符以c3代替<BR>select TRANSLATE('fumble','uf','ar') test from dualTEXTramble <BR><BR>　　TRIM([[]] from c3)<BR>　　将c3串中的第一个，最后一个，或者都删除。<BR>select TRIM(' space padded ') trim from dual TRIMspace padded<BR><BR>　　UPPER()<BR>　　返回c1的大写，常出现where子串中<BR>select name from dual where UPPER(name) LIKE 'KI%'NAMEKING<BR>单行数字函数<BR><BR>　　单行数字函数操作数字数据，执行数学和算术运算。所有函数都有数字参数并返回数字值。所有三角函数的操作数和值都是弧度而不是角度，oracle没有提供内建的弧度和角度的转换函数。<BR><BR>　　ABS()<BR>　　返回n的绝对值<BR><BR>　　ACOS()<BR>　　反余玄函数，返回-1到1之间的数。n表示弧度<BR>select ACOS(-1) pi,ACOS(1) ZERO FROM dualPI ZERO3.14159265 0 <BR><BR>　　ASIN()<BR>　　反正玄函数，返回-1到1，n表示弧度<BR><BR>　　ATAN()<BR>　　反正切函数，返回n的反正切值，n表示弧度。<BR><BR>　　CEIL()<BR>　　返回大于或等于n的最小整数。<BR><BR>　　COS()<BR>　　返回n的余玄值，n为弧度<BR><BR>　　COSH()<BR>　　返回n的双曲余玄值，n 为数字。<BR>select COSH(&lt;1.4&gt;) FROM dualCOSH(1.4)2.15089847<BR><BR>　　EXP()<BR>　　返回e的n次幂，e=2.71828183.<BR><BR>　　FLOOR()<BR>　　返回小于等于N的最大整数。<BR><BR>　　LN()<BR>　　返回N的自然对数，N必须大于0<BR><BR>　　LOG(,)<BR>　　返回以n1为底n2的对数<BR><BR>　　MOD()<BR>　　返回n1除以n2的余数，<BR><BR>　　POWER(,)<BR>　　返回n1的n2次方<BR><BR>　　ROUND(,)<BR>　　返回舍入小数点右边n2位的n1的值，n2的缺省值为0，这回将小数点最接近的整数，如果n2为负数就舍入到小数点左边相应的位上，n2必须是整数。<BR>select ROUND(12345,-2),ROUND(12345.54321,2) FROM dualROUND(12345,-2) ROUND(12345.54321,2)12300 12345.54<BR><BR>　　SIGN()<BR>　　如果n为负数，返回-1,如果n为正数，返回1，如果n=0返回0.<BR><BR>　　SIN（)<BR>　　返回n的正玄值,n为弧度。<BR><BR>　　SINH()<BR>　　返回n的双曲正玄值,n为弧度。<BR><BR>　　SQRT()<BR>　　返回n的平方根,n为弧度<BR><BR>　　TAN（)<BR>　　返回n的正切值,n为弧度<BR><BR>　　TANH()<BR>　　返回n的双曲正切值,n为弧度<BR><BR>　　TRUNC(,)<BR>　　返回截尾到n2位小数的n1的值，n2缺省设置为0，当n2为缺省设置时会将n1截尾为整数，如果n2为负值，就截尾在小数点左边相应的位上。<BR><BR>　　单行日期函数<BR><BR>　　单行日期函数操作DATA数据类型，绝大多数都有DATA数据类型的参数，绝大多数返回的也是DATA数据类型的值。<BR><BR>　　ADD_MONTHS(,＜i＞)<BR>　　返回日期d加上i个月后的结果。i可以使任意整数。如果i是一个小数，那么数据库将隐式的他转换成整数，将会截去小数点后面的部分。<BR><BR>　　LAST_DAY()<BR>　　函数返回包含日期d的月份的最后一天 <BR><BR>　　MONTHS_BETWEEN(,)<BR>　　返回d1和d2之间月的数目,如果d1和d2的日的日期都相同，或者都使该月的最后一天，那么将返回一个整数，否则会返回的结果将包含一个分数。<BR><BR>　　NEW_TIME(,,)<BR>　　d1是一个日期数据类型，当时区tz1中的日期和时间是d时，返回时区tz2中的日期和时间。tz1和tz2时字符串。<BR><BR>　　NEXT_DAY(,)<BR>　　返回日期d后由dow给出的条件的第一天，dow使用当前会话中给出的语言指定了一周中的某一天，返回的时间分量与d的时间分量相同。<BR>select NEXT_DAY('01-Jan-2000','Monday') "1st Monday",NEXT_DAY('01-Nov-2004','Tuesday')+7 "2nd Tuesday") from dual;1st Monday 2nd Tuesday03-Jan-2000 09-Nov-2004 <BR><BR>　　ROUND([,])<BR>　　将日期d按照fmt指定的格式舍入，fmt为字符串。<BR><BR>　　SYADATE<BR>　　函数没有参数，返回当前日期和时间。<BR><BR>　　TRUNC([,]) <BR>　　返回由fmt指定的单位的日期d.<BR>单行转换函数<BR><BR>　　单行转换函数用于操作多数据类型，在数据类型之间进行转换。<BR><BR>　　CHARTORWID()<BR>　　c 使一个字符串，函数将c转换为RWID数据类型。<BR>SELECT test_id from test_case where rowid=CHARTORWID('AAAA0SAACAAAALiAAA') <BR><BR>　　CONVERT(,[,])<BR>　　c尾字符串，dset、sset是两个字符集，函数将字符串c由sset字符集转换为dset字符集，sset的缺省设置为数据库的字符集。<BR><BR>　　HEXTORAW()<BR>　　x为16进制的字符串，函数将16进制的x转换为RAW数据类型。<BR><BR>　　RAWTOHEX()<BR>　　x是RAW数据类型字符串，函数将RAW数据类转换为16进制的数据类型。<BR><BR>　　ROWIDTOCHAR()<BR>　　函数将ROWID数据类型转换为CHAR数据类型。<BR><BR>　　TO_CHAR([[,)<BR>　　x是一个data或number数据类型，函数将x转换成fmt指定格式的char数据类型，如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日份所使用的语言。如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位的分隔符，以及货币符号。<BR>NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"<BR><BR>　　TO_DATE([,[,）<BR>　　c表示字符串，fmt表示一种特殊格式的字符串。返回按照fmt格式显示的c,nlsparm表示使用的语言。函数将字符串c转换成date数据类型。<BR><BR>　　TO_MULTI_BYTE()<BR>　　c表示一个字符串，函数将c的担子截字符转换成多字节字符。<BR><BR>　　TO_NUMBER([,[,)<BR>　　c表示字符串，fmt表示一个特殊格式的字符串，函数返回值按照fmt指定的格式显示。nlsparm表示语言，函数将返回c代表的数字。<BR><BR>　　TO_SINGLE_BYTE()<BR>　　将字符串c中得多字节字符转化成等价的单字节字符。该函数仅当数据库字符集同时包含单字节和多字节字符时才使用<BR><BR>　　其它单行函数<BR><BR>　　BFILENAME( <BR>,)<BR>　　dir是一个directory类型的对象，file为一文件名。函数返回一个空的BFILE位置值指示符，函数用于初始化BFILE变量或者是BFILE列。<BR><BR>　　DECODE(,,[,,,[])<BR>　　x是一个表达式，m1是一个匹配表达式，x与m1比较，如果m1等于x，那么返回r1,否则,x与m2比较，依次类推m3,m4,m5....直到有返回结果。<BR><BR>　　DUMP(,[,[,[,]]])<BR>　　x是一个表达式或字符，fmt表示8进制、10进制、16进制、或则单字符。函数返回包含了有关x的内部表示信息的VARCHAR2类型的值。如果指定了n1,n2那么从n1开始的长度为n2的字节将被返回。<BR><BR>　　EMPTY_BLOB()<BR>　　该函数没有参数，函数返回 一个空的BLOB位置指示符。函数用于初始化一个BLOB变量或BLOB列。<BR><BR>　　EMPTY_CLOB()<BR>　　该函数没有参数，函数返回 一个空的CLOB位置指示符。函数用于初始化一个CLOB变量或CLOB列。<BR><BR>　　GREATEST()<BR>　　exp_list是一列表达式，返回其中最大的表达式，每个表达式都被隐含的转换第一个表达式的数据类型，如果第一个表达式是字符串数据类型中的任何一个，那么返回的结果是varchar2数据类型，同时使用的比较是非填充空格类型的比较。<BR><BR>　　LEAST()<BR>　　exp_list是一列表达式，返回其中最小的表达式，每个表达式都被隐含的转换第一个表达式的数据类型，如果第一个表达式是字符串数据类型中的任何一个，将返回的结果是varchar2数据类型，同时使用的比较是非填充空格类型的比较。<BR><BR>　　UID<BR>　　该函数没有参数，返回唯一标示当前数据库用户的整数。<BR><BR>　　USER<BR>　　返回当前用户的用户名<BR><BR>　　USERENV()<BR>　　基于opt返回包含当前会话信息。opt的可选值为：<BR><BR>　　ISDBA　 　　会话中SYSDBA脚色响应，返回TRUE <BR>　　SESSIONID 　返回审计会话标示符<BR>　　ENTRYID 　　返回可用的审计项标示符 <BR>　　INSTANCE　　在会话连接后，返回实例标示符。该值只用于运行Parallel 服务器并且有 多个实例的情况下使用。<BR>　　LANGUAGE　　返回语言、地域、数据库设置的字符集。<BR>　　LANG　　　　返回语言名称的ISO缩写。<BR>　　TERMINAL　　为当前会话使用的终端或计算机返回操作系统的标示符。<BR><BR>　　VSIZE()<BR>　　x是一个表达式。返回x内部表示的字节数。<BR>SQL中的组函数<BR><BR>　　组函数也叫集合函数，返回基于多个行的单一结果，行的准确数量无法确定，除非查询被执行并且所有的结果都被包含在内。与单行函数不同的是，在解析时所有的行都是已知的。由于这种差别使组函数与单行函数有在要求和行为上有微小的差异.<BR><BR>　　组（多行）函数<BR><BR>　　与单行函数相比，oracle提供了丰富的基于组的，多行的函数。这些函数可以在select或select的having子句中使用，当用于select子串时常常都和GROUP BY一起使用。<BR><BR>　　AVG([{DISYINCT|ALL}])<BR>　　返回数值的平均值。缺省设置为ALL.<BR>SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal) FROM scott.empAVG(SAL) AVG(ALL SAL) AVG(DISTINCT SAL)1877.94118 1877.94118 1916.071413<BR><BR>　　COUNT({*|DISTINCT|ALL} )<BR>　　返回查询中行的数目，缺省设置是ALL,*表示返回所有的行。<BR><BR>　　MAX([{DISTINCT|ALL}])<BR>　　返回选择列表项目的最大值，如果x是字符串数据类型，他返回一个VARCHAR2数据类型，如果X是一个DATA数据类型，返回一个日期，如果X是numeric数据类型，返回一个数字。注意distinct和all不起作用，应为最大值与这两种设置是相同的。<BR><BR>　　MIN([{DISTINCT|ALL}])<BR>　　返回选择列表项目的最小值。<BR><BR>　　STDDEV([{DISTINCT|ALL}])<BR>　　返回选者的列表项目的标准差，所谓标准差是方差的平方根。<BR><BR>　　SUM([{DISTINCT|ALL}])<BR>　　返回选择列表项目的数值的总和。<BR><BR>　　VARIANCE([{DISTINCT|ALL}])<BR>　　返回选择列表项目的统计方差。<BR><BR>　　用GROUP BY给数据分组<BR><BR>　　正如题目暗示的那样组函数就是操作那些已经分好组的数据，我们告诉数据库用GROUP BY怎样给数据分组或者分类，当我们在SELECT语句的SELECT子句中使用组函数时，我们必须把为分组或非常数列放置在GROUP BY子句中，如果没有用group by进行专门处理，那么缺省的分类是将整个结果设为一类。<BR>select stat,counter(*) zip_count from zip_codes GROUP BY state;ST ZIP_COUNT-- ---------AK 360AL 1212AR 1309AZ 768CA 3982<BR><BR>　　在这个例子中，我们用state字段分类；如果我们要将结果按照zip_codes排序,可以用ORDER BY语句，ORDER BY子句可以使用列或组函数。<BR>select stat,counter(*) zip_count from zip_codes GROUP BY state ORDER BY COUNT(*) DESC;ST COUNT(*)-- --------NY 4312PA 4297TX 4123CA 3982<BR><BR>　　用HAVING子句限制分组数据<BR><BR>　　现在你已经知道了在查询的SELECT语句和ORDER BY子句中使用主函数，组函数只能用于两个子串中，组函数不能用于WHERE子串中，例如下面的查询是错误的：<BR>错误SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' AND SUM(sale_amount)&gt;10000 GROUP BY sales_clerk<BR><BR>　　这个语句中数据库不知道SUM()是什么，当我们需要指示数据库对行分组，然后限制分组后的行的输出时，正确的方法是使用HAVING语句：<BR>SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept='OUTSIDE' GROUP BY sales_clerkHAVING SUM(sale_amount)&gt;10000;<BR><BR>　　嵌套函数<BR><BR>　　函数可以嵌套。一个函数的输出可以是另一个函数的输入。操作数有一个可继承的执行过程。但函数的优先权只是基于位置，函数遵循由内到外，由左到右的原则。嵌套技术一般用于象DECODE这样的能被用于逻辑判断语句IF....THEN...ELSE的函数。<BR><BR>　　嵌套函数可以包括在组函数中嵌套单行函数，或者组函数嵌套入单行函数或组函数中。比如下面的例子：<BR>SELECT deptno, GREATEST(COUNT(DISTINCT job),COUNT(DISTINCT mgr) cnt,COUNT(DISTINCT job) jobs,COUNT(DISTINCT mgr) mgrsFROM empGROUP BY deptno;DEPTNO CNT JOBS MGRS------ --- ---- ----10 4 4 220 4 3 430 3 3 2 </P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/MEYE/aggbug/35564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-16 11:01 <a href="http://www.blogjava.net/MEYE/articles/35564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>  Thinking in AJAX —— 基于AJAX的WEB设计 </title><link>http://www.blogjava.net/MEYE/articles/35561.html</link><dc:creator>MEYE</dc:creator><author>MEYE</author><pubDate>Thu, 16 Mar 2006 02:54:00 GMT</pubDate><guid>http://www.blogjava.net/MEYE/articles/35561.html</guid><wfw:comment>http://www.blogjava.net/MEYE/comments/35561.html</wfw:comment><comments>http://www.blogjava.net/MEYE/articles/35561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/MEYE/comments/commentRss/35561.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/MEYE/services/trackbacks/35561.html</trackback:ping><description><![CDATA[<TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=0 cellPadding=0 width="96%" border=0>
<TBODY>
<TR>
<TD bgColor=#e8f0f1>&nbsp; Thinking&nbsp;in&nbsp;AJAX&nbsp;——&nbsp;基于AJAX的WEB设计</TD></TR>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD>
<DIV align=right></DIV></TD></TR></TBODY></TABLE><SPAN class=oblog_text>&nbsp; 
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top width=386>
<DIV align=left>
<P>&nbsp;&nbsp;&nbsp;&nbsp;众所周知，异步交互、JavaScript脚本和XML封装数据是AJAX的三大特征。其实，在实际应用中，不需要牢牢套死这三条大律，在我看来，AJAX - X，即去掉用XML封装数据，也不失为一种好的设计思路，如果应用恰当，更显轻盈步伐和巧妙思路。</P>
<P>一般读取AJAX返回的XML结构的数据时使用XMLHttp的responseXML对象属性，同时，XMLHttp也提供了另外一个属性，即ResponseText，通过这个属性，XMLHttp可以接受来自服务器的文本结构的字符串信息。去掉XML的AJAX可以使用ResponseText这个对象属性，很灵活的操控返回数据的格式，可以自定义格式，比如我通常喜欢用c语言的那种文件流方式定义返回的字符串结构，有文件头和具体的文件信息实体，文件头分为状态信息以及文件字符长度，我摒弃了文件字符长度的定义，规定死接受的ResponseTex字符串中的第一位为状态码，比如设定常量值0表示一起正常，非0的数字表示不正常，甚至有错误等。如果有非0值，程序自动取第二位起到257位(长度为256)的字符串组成为状态信息，从258位开始到末尾的字符串就是服务器返回的正常结果信息。<BR></P></DIV></TD></TR>
<TR>
<TD colSpan=2 height=20>
<P>substring(0,1)取状态码<BR>substring(1,256)取服务器错误信息(错误信息不够256位用空格补齐，取到数据后进行Trim处理)<BR>substring(256,末尾)取服务器返回的数据信息<BR>三次substring即完成了一个简单但完整的交互工作。比起XML解析组件来说要快的多。<BR></P></TD></TR></TBODY></TABLE>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用ResponseText比封装为XML处理数据快和简单是一个原因，另一个原因是可操控性更大更灵活，打开<A href="http://www.google.com/webhp?complete=1&amp;hl=en">Google Suggest</A>，在搜索框输入字符可以给你给出拼写提示，Suggest就是应用了AJAX技术，不过它在从服务器返回数据时并没有使用XML封装，也没有自定义ResponseText格式，而是直接将返回代码组织成js脚本，通过浏览器返回后直接执行，如eval(XMLHttp.ResponseText)这样的方式进行执行，<A href="http://www.google.com/complete/search?hl=en&amp;js=true&amp;qu=ajax">http://www.google.com/complete/search?hl=en&amp;js=true&amp;qu=ajax</A> 通过这个链接你可以看到Suggest利用AJAX得到的返回数据，此页面是在Google Suggest的搜索框中输入"AJAX"后得系统动态返回的数据。</P>
<P>
<BLOCKQUOTE>sendRPCDone(frameElement, "ajax", new Array("ajax", "ajax amsterdam", "ajax fc", "ajax ontario", "ajax grips", "ajax football club", "ajax public library", "ajax football", "ajax soccer", "ajax pickering transit"), new Array("3,840,000 results", "502,000 results", "710,000 results", "275,000 results", "8,860 results", "573,000 results", "40,500 results", "454,000 results", "437,000 results", "10,700 results"), new Array("")); </BLOCKQUOTE>浏览器段拿到这段代码后直接eval就可以了，至于sendRPCDone这个函数，那当然得实现定义后并装载到页面中啦。XMLHttp这个名字以XML开头，让很多人禁锢了思想和创意，完全抛弃X，你也可以做出纯AJAX的实例来。 
<P></P>
<P>当然，对于大型系统来讲，为了保持数据接口的一致和整齐，还是用XML来传递更严谨更统一点，听说微软已经发起了重写XML Parse组件的号召，估计下一个版本的XMLHttp还是DOMParser还是MSXML2.DOMDocument都会大大提高效率，减少资源占用的。</P>
<H3>一、AJAX最值得称赞的是异步交互，而不是无刷新</H3>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;很多人都看好AJAX无刷新的技术，以至于认同AJAX就是用来做无刷新的。这个认识是错误的，什么是无刷新？无刷新就是页面无需重载，那什么又是异步交互？异步交互就是一个简单的多线程，当你在一个blog里看文章时，同时也可以利用AJAX进行无刷新的回复提交，看起来虽然也是无刷新，但这里最重要的是异步，即你能一边看文章，一边又能向服务器提交你的回复信息，利用好这个异步，才能算是掌握了AJAX的精髓。很多场合，无刷新是呈现给用户的视觉体验，而异步交互却是默默无闻的工作在台后，这种情况导致大多数人的错误理解了AJAX的权重之分。</P>
<H3>二、推荐在WEB上轻量级的应用AJAX</H3>
<P></P>著名的图片存储网站<A href="http://www.duduwolf.com/post/数据交互">Flickr</A>利用AJAX可谓出神入化。我之所以这么说，是因为我认为Flickr深知AJAX的利与弊，并且牢牢抓住自己的网站的功能特点，并没有因AJAX而AJAX，而是架驱于技术至上，让AJAX融于网站之中，为网站提供了更好的功能服务。如Flickr中无论是在多图列表页面还是单图详细页面，修改图片的标题和描述都应用了AJAX技术，让用户无需跳转到单独的编辑页面中，编辑后单击保存，亦使用了异步交互的方式进行数据提交，这时，页面上显示一个Loading字符外，其他部分不受任何影响，可谓太贴心的服务。 
<P></P>
<P></P>
<DIV style="FLOAT: left"><IMG style="CURSOR: pointer" onclick=javascript:window.open(this.src); src="http://www.java3z.com/cwbwebhome/article/article2/images/33335047_3deafb867f_o.png" width=88 onload="javascript:if(this.width>500)this.style.width=500;"></DIV>再如基于Tag的专业Blog搜索服务商<A href="http://www.technorati.com/">Technorati</A>也使用了AJAX，在搜索某个Tag时，页面主导部分会即刻显示所有Technorati数据库中查询到的数据条目，在左边的侧边栏上会显示两个Loading图标，过一会儿，这两个Loading就会显示具体的内容了，显示的是此Tag相关的Flickr的图片和书签服务网站(Furl&amp;del.icio.us)的链接，因为这两部分内容是取自其他网站，如果由服务器统一先取得数据在一同显示到页面时，会受到网速影响而变慢，通过AJAX的异步交互方式首先立即显示本地数据，然后由客户端去和Flickr、Furl、del.icio.us打交道分别取得它们的数据，即节约了流量带宽又不影响用户访问速度，可谓高明。 
<P></P>
<P>通过以上两个国外成功应用AJAX的网站，我们发现他们都使用的是轻量级的AJAX，就是那种交互简单，数据较少的操作。这也符合AJAX的本意，虽然像<A href="http://www.backbase.com/">http://www.backbase.com/</A>和<A href="http://www.bindows.net/">bindows</A>都在RIA上有惊人的表现能力，但是速度慢、<A title=google对backbase的站内搜索只有199项，其中很多都是无关紧要的页面 href="http://www.google.com/search?q=site:backbase.com&amp;num=50&amp;hl=zh-CN&amp;lr=&amp;newwindow=1&amp;start=50&amp;sa=N">搜索引擎支持不好</A>、开发难度大等毛病还是无法让用户满意的，请记住：AJAX的最终目的是为了提高用户体验，为了方便用户交互，而不是因技术而技术的。</P>
<H3>三、AJAX的MVC架构设计</H3>
<P>很多人认为在成熟的框架中应用AJAX会破坏框架的完整性，比较常见的说法有三层架构的WEB应用中破坏MVC模式，其实不然。MVC的理论我就不多说了，经典的那三个层、五条线大家都很熟悉，在WEB应用中，因为浏览器/服务器固有的这种请求/响应的断开式网络通讯模式，决定了在Model层无法实现主动向View层发出数据更新事件，所以一般常见的成熟MVC框架中都将经典MVC理论稍作修改：由Model层处理完业务后通知Control层，然后由Control层承担向View发送数据更新的义务。但是AJAX天生具有监听功能，AJAX实现异步响应的那个OnReadyStateChange事件就具有在客户端程序中才会有的事件监听功能。现在想来，利用AJAX实现的MVC模型有如下图这样：<BR><IMG style="WIDTH: 500px; CURSOR: pointer" onclick=javascript:window.open(this.src); src="http://www.java3z.com/cwbwebhome/article/article2/images/33351292_f29b63cf6b_o.png" width=530 onload="javascript:if(this.width>500)this.style.width=500;"><BR>理想化的设计如下所示：<BR>
<UL>
<LI>三层对应的文件对象：view.jsp(视图)、action.do(控制器)、model.java(模型) 
<LI>view.jsp是用户看到的界面，并通过内置的AJAX对象异步方式给action.do发送请求，AJAX.OnReadyStateChange开始监听 
<LI>action.do接收到view.jsp发过来的请求(GET或者POST方式)，通过Request判断后发送给相应的业务/数据模型model.java 
<LI>model.java开始执行业务操作，执行完毕直接给view.jsp页面发送数据更新的通知，这个通知的消息有可能是XML封装的数据，也有可能是一段文本，甚至是一段HTML代码，当然，既然用MVC，不推荐有Model发送HTML，推荐还是用XML封装业务数据即可。 
<LI>view.jsp页面中AJAX对象的OnReadyStateChange接收到了数据更新通知，根据实际情况用DOM进行页面呈现更新。 </LI></UL>通过以上几步一气呵成，一个典型的基于MVC的三层交互就完成了。当然，熟悉WEB下的MVC框架的用户，如熟悉Struts的Java开发人员可能不习惯由Model层给View直接发送数据更新通知，那咱们也可以转变一下，Model层业务处理完毕将更新通知先发送给Control，由Control去通知View亦可。 </SPAN></TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/MEYE/aggbug/35561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/MEYE/" target="_blank">MEYE</a> 2006-03-16 10:54 <a href="http://www.blogjava.net/MEYE/articles/35561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>