<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>科技热</title>
	<atom:link href="http://kejire.com/feed" rel="self" type="application/rss+xml" />
	<link>http://kejire.com</link>
	<description>科技热点资讯</description>
	<lastBuildDate>Wed, 12 Jan 2011 08:10:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>世界顶尖PHP站Facebook后台技术探秘</title>
		<link>http://kejire.com/archives/41019</link>
		<comments>http://kejire.com/archives/41019#comments</comments>
		<pubDate>Wed, 12 Jan 2011 08:10:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[编程开发]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=41019</guid>
		<description><![CDATA[Hadoop and Hive Hadoop的是一个开源的map-reduce实现，使得它可以在进行大数据上进行运算。 Facebook的使用这个进行数据分析（而我们都知道，Facebook已经大量的数据）。 Hive就是发源于Facebook，使得对于Hadoop使用的SQL查询成为可能，从而是其更容易对非程序员使用。 Hadoop和Hive是开源的（Apache项目），有为数众多的追随者，例如雅虎和Twitter。 Thrift Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端，Erlang是用于聊天，Java和C ++也使用于多种场所，也许还有其他语言。Thrift是一个内部开发的跨语言的框架，联系语言，使他们可以在一起合作，从而使他们之间可以交互。 这使得Facebook可以更容易为继续保持其跨语言的发展。 Facebook已经让Thrift开源。更多的语言支持已被添加到Thrift。 Varnish Varnish是一个HTTP加速器，可以作为一个负载平衡器，并缓存的内容，然后可以以闪电般的速度送达。 Facebook使用的arnish来处理照片和个人资料图片，处理每天数十亿的要求。 和其他的东西一样，Varnish是开源的。 保持Facebook 顺畅运行的其他东西 我们已经提到的软件，组成了Facebook的系统，并帮助运行在大规模上。 但是，处理这么大的系统是一个复杂的任务，因此我们将列出一些其他的东西，他们保持了Facebook的平稳运行。 渐进发布和暗启动 Facebook有一个他们所谓的守门人制度（Gatekeeper），允许他们可以给不同的用户运行两套不同的系统。 这让Facebook渐进的发布新的功能，A / B测试，只为Facebook雇员发布等的某些特性。 Gatekeeper也可以让Facebook实现“暗启动”，这是在用户使用一些功能之前，就激活某些功能（因为用户没有察觉，所以称之为暗 启动）。 这将作为一个现实世界的压力测试，在正式启动前，帮助揭露一些功能障碍和其他问题。 暗启动通常是在正式启动前两个星期。 Profiling的直播系统 Facebook的仔细监控其系统，有趣的是它也负责监察每一个PHP函数在生产环境的性能。 检测各个PHP的环境的配置运行情况。使用开源工具，XHProf 。 渐进的利用关闭功能来提升性能 如果Facebook运行时出现性能问题，有一个办法，就是逐步禁用不太重要的功能，以增强Facebook的大量核心功能表现。 我们没有提及的事情 我们没有提到硬件相关的事情，但这也是提高可伸缩性的重要一环。例如，就像其他大型站点，Facebook利用CDN来处理静态内容。 Facebook还有一个the huge &#8230; <a href="http://kejire.com/archives/41019">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Hadoop and Hive</strong></p>
<p>Hadoop的是一个开源的map-reduce实现，使得它可以在进行大数据上进行运算。 Facebook的使用这个进行数据分析（而我们都知道，Facebook已经大量的数据）。 Hive就是发源于Facebook，使得对于Hadoop使用的SQL查询成为可能，从而是其更容易对非程序员使用。</p>
<p>Hadoop和Hive是开源的（Apache项目），有为数众多的追随者，例如雅虎和Twitter。</p>
<p><strong>Thrift</strong></p>
<p>Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端，Erlang是用于聊天，Java和C ++也使用于多种场所，也许还有其他语言。Thrift是一个内部开发的跨语言的框架，联系语言，使他们可以在一起合作，从而使他们之间可以交互。 这使得Facebook可以更容易为继续保持其跨语言的发展。</p>
<p>Facebook已经让Thrift开源。更多的语言支持已被添加到Thrift。</p>
<p><strong>Varnish</strong></p>
<p>Varnish是一个HTTP加速器，可以作为一个负载平衡器，并缓存的内容，然后可以以闪电般的速度送达。</p>
<p>Facebook使用的arnish来处理照片和个人资料图片，处理每天数十亿的要求。 和其他的东西一样，Varnish是开源的。</p>
<p><strong>保持Facebook 顺畅运行的其他东西</strong></p>
<p>我们已经提到的软件，组成了Facebook的系统，并帮助运行在大规模上。 但是，处理这么大的系统是一个复杂的任务，因此我们将列出一些其他的东西，他们保持了Facebook的平稳运行。</p>
<p><strong>渐进发布和暗启动</strong></p>
<p>Facebook有一个他们所谓的守门人制度（Gatekeeper），允许他们可以给不同的用户运行两套不同的系统。 这让Facebook渐进的发布新的功能，A / B测试，只为Facebook雇员发布等的某些特性。</p>
<p>Gatekeeper也可以让Facebook实现“暗启动”，这是在用户使用一些功能之前，就激活某些功能（因为用户没有察觉，所以称之为暗 启动）。 这将作为一个现实世界的压力测试，在正式启动前，帮助揭露一些功能障碍和其他问题。 暗启动通常是在正式启动前两个星期。</p>
<p><strong>Profiling的直播系统</strong></p>
<p>Facebook的仔细监控其系统，有趣的是它也负责监察每一个PHP函数在生产环境的性能。 检测各个PHP的环境的配置运行情况。使用开源工具，XHProf 。</p>
<p><strong>渐进的利用关闭功能来提升性能</strong></p>
<p>如果Facebook运行时出现性能问题，有一个办法，就是逐步禁用不太重要的功能，以增强Facebook的大量核心功能表现。</p>
<p><strong>我们没有提及的事情</strong></p>
<p>我们没有提到硬件相关的事情，但这也是提高可伸缩性的重要一环。例如，就像其他大型站点，Facebook利用CDN来处理静态内容。 Facebook还有一个the huge data center，可以帮助他扩展更多的服务。</p>
<p><strong>Facebook的开源情节</strong></p>
<p>不仅是Facebook使用（和帮助），如Linux，Memcached的，MySQL和Hadoop的开源软件，以及许多其他情况下， 也贡献许多了其内部开发的软件。</p>
<p>Facebook亦开源了Tornado，一个高性能的网络服务器框 架，由FriendFeed团队开发。关于开放源码软件清单，可以在Facebook’s Open Source page.找到。</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/41019/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>正确理解SOA、SaaS和云计算的关系</title>
		<link>http://kejire.com/archives/40891</link>
		<comments>http://kejire.com/archives/40891#comments</comments>
		<pubDate>Tue, 28 Dec 2010 14:25:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[云计算]]></category>
		<category><![CDATA[互联网]]></category>
		<category><![CDATA[编程开发]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=40891</guid>
		<description><![CDATA[随着云计算的概念受到越来越多的人的推崇和论证，“云上的日子”看起来离我们越来越近了。几乎所有的IT厂商都不约而同了启动了各自的云计算战略。但是由于每个企业的战略出发点不同，企业推出的云计算概念也有所差别。如果仅仅以自己的产品和业务为标准，片面地将云计算理解为SOA或SaaS，则不仅混淆了云计算概念，模糊了其产品形式, 还阻碍了云计算的推广和应用。那么， SOA、 SaaS等同于云计算么？它们有什么区别？ 我们应当如何正确理解这三者之间的关系呢？ 　　解惑云计算、SOA与SaaS 　　云计算涵盖的范围很广泛，内容也很丰富。我们通常可以把云分为三个层次：硬件层的基础架构云（Infrastructure as a Service, IaaS）、平台云（Platform as a Service, PaaS）和软件应用云（Software as a Service, SaaS）。目前大家对于云计算概念的理解，主要有两个误区：一是片面地把SaaS视为云计算；二是以为运用了SOA架构就感觉好像实现了云计算，于是就把SOA和云计算等同起来。 　　实际上，SOA作为一种面向服务的架构，是一种软件架构设计的模型和方法论。从业务角度来看，一切以最大化“服务”的价值为出发点，SOA利用企业现有的各种软件体系，重新整合并构建起一套新的软件架构。这套软件架构能够随着业务的变化，随时灵活地结合现有服务，组成新软件，共同服务于整个企业的业务体系。简单的理解，我们可以把SOA看作是模块化的组件，每个模块都可以实现独立功能，而不同模块之间的结合则可以提供不同的服务，模块之间的接口遵循统一标准，可以实现低成本的重构和重组。在SOA的技术框架下，可以把杂乱无章的庞大系统整合成一个全面有序的系统，从而增加企业在业务发展过程中应用系统的灵活性，实现最大的IT资产利用率。 　　SOA技术其实在几年前就已经出现了，但是任何一种IT技术，真正要产生效应，都必须要以大大降低实际系统的使用、维护以及升级的成本为前提。更重要的是，一种技术的普及需要，都只有在这种技术不断成熟，并且形成相应的规模应用之后才能实现。 　　SaaS则是一种基于互联网技术的软件价值交付的新型业务模式。具体地讲，SaaS是按照使用者的需求提供软件应用服务的业务模式。SOA架构可发挥其在系统界面和接口标准化等方面的优势，为SaaS提供一个较好的技术平台，从服务管理和系统运维角度为SaaS提供有力的技术支撑，从而有助于灵活地构建起一个用户成本最低的SaaS方案。 　　由此看来，SOA与SaaS有着必然的联系：两者都面向服务。但两者也有着明显的区别：SaaS侧重于运营和交付，SOA侧重于平台架构。所以，SaaS是云计算的最终价值交付运营模式，SOA是实现云计算开放架构的基础理念之一，两者都包含了云计算的某些重要特征，但是他们都不能称之为云计算的全部。 　　互联网技术催生云计算、SaaS与SOA的汇合 　　云计算与SaaS、SOA三者本身的发展轨迹和侧重点不同，但是却又互相联系，互相影响。 　　我们可以从云计算的发展历史来看，云计算的模式就好比以前在大学或者政府的研究机构里面的大型计算机中心。计算机中心把计算机的计算和存储资源以租用时段的方式提供给内部各个科研单位，或者提供给外部用户。从过去的大型计算机时代到个人计算机、企业服务器的兴起，计算、存储资源开始分散于企业。但是如今，企业面对成千上百台服务器以及上千种不同的软件，运维成本越来越高。云计算可以把所有的计算资源虚拟化，进行动态管理，进而大大降低企业的IT运维成本，因此已是一个颇有影响的技术趋势。 　　另一方面，从可适应性计算、网格计算到云计算，除了硬件资源的集中使用外，企业更希望操作系统、数据库，以及软件、应用等都能通过集中调配的方式满足企业的各种需求。随着互联网技术的迅速发展与普及，SOA则能带来整个软件系统的互联成本、维护成本、升级成本的大幅降低，并成为支撑云计算的技术标准。 　　所有因素都帮助促成了从硬件层的基础架构云（IaaS）到平台云（PaaS）再到软件应用云（SaaS）不同层次的云计算。 　　SOA与SaaS合力, 推动云计算产业的成熟与发展 　　云计算实现了IT基础设施的社会共享；SOA有利于整合技术平台，统一技术标准，推动软件产业价值链中的各成员间的协调配合，充分利用硬件资源共享的有利条件，促使云上的软件系统日趋成熟；SaaS则通过软件交付模式上的创新，为云计算开辟出更大的市场空间，激励众多软件厂商开发出更多应用，从而使云计算产业联盟不断发展壮大。 　　总而言之，在云计算产业链向前推进的过程中，如果我们能善于发挥SOA和SaaS两者的特点与优势，将其效用结合起来，那必将有助于实现云计算产业的新一轮高速发展。（作者系SAP全球高级副总裁、SAP中国研究院总裁）]]></description>
			<content:encoded><![CDATA[<p>随着云计算的概念受到越来越多的人的推崇和论证，“云上的日子”看起来离我们越来越近了。几乎所有的IT厂商都不约而同了启动了各自的云计算战略。但是由于每个企业的战略出发点不同，企业推出的云计算概念也有所差别。如果仅仅以自己的产品和业务为标准，片面地将云计算理解为SOA或SaaS，则不仅混淆了云计算概念，模糊了其产品形式, 还阻碍了云计算的推广和应用。那么， SOA、 SaaS等同于云计算么？它们有什么区别？ 我们应当如何正确理解这三者之间的关系呢？</p>
<p>　　解惑云计算、SOA与SaaS</p>
<p>　　云计算涵盖的范围很广泛，内容也很丰富。我们通常可以把云分为三个层次：硬件层的基础架构云（Infrastructure as a Service, IaaS）、平台云（Platform as a Service, PaaS）和软件应用云（Software as a Service, SaaS）。目前大家对于云计算概念的理解，主要有两个误区：一是片面地把SaaS视为云计算；二是以为运用了SOA架构就感觉好像实现了云计算，于是就把SOA和云计算等同起来。</p>
<p>　　实际上，SOA作为一种面向服务的架构，是一种软件架构设计的模型和方法论。从业务角度来看，一切以最大化“服务”的价值为出发点，SOA利用企业现有的各种软件体系，重新整合并构建起一套新的软件架构。这套软件架构能够随着业务的变化，随时灵活地结合现有服务，组成新软件，共同服务于整个企业的业务体系。简单的理解，我们可以把SOA看作是模块化的组件，每个模块都可以实现独立功能，而不同模块之间的结合则可以提供不同的服务，模块之间的接口遵循统一标准，可以实现低成本的重构和重组。在SOA的技术框架下，可以把杂乱无章的庞大系统整合成一个全面有序的系统，从而增加企业在业务发展过程中应用系统的灵活性，实现最大的IT资产利用率。</p>
<p>　　SOA技术其实在几年前就已经出现了，但是任何一种IT技术，真正要产生效应，都必须要以大大降低实际系统的使用、维护以及升级的成本为前提。更重要的是，一种技术的普及需要，都只有在这种技术不断成熟，并且形成相应的规模应用之后才能实现。</p>
<p>　　SaaS则是一种基于互联网技术的软件价值交付的新型业务模式。具体地讲，SaaS是按照使用者的需求提供软件应用服务的业务模式。SOA架构可发挥其在系统界面和接口标准化等方面的优势，为SaaS提供一个较好的技术平台，从服务管理和系统运维角度为SaaS提供有力的技术支撑，从而有助于灵活地构建起一个用户成本最低的SaaS方案。</p>
<p>　　由此看来，SOA与SaaS有着必然的联系：两者都面向服务。但两者也有着明显的区别：SaaS侧重于运营和交付，SOA侧重于平台架构。所以，SaaS是云计算的最终价值交付运营模式，SOA是实现云计算开放架构的基础理念之一，两者都包含了云计算的某些重要特征，但是他们都不能称之为云计算的全部。</p>
<p>　　互联网技术催生云计算、SaaS与SOA的汇合</p>
<p>　　云计算与SaaS、SOA三者本身的发展轨迹和侧重点不同，但是却又互相联系，互相影响。</p>
<p>　　我们可以从云计算的发展历史来看，云计算的模式就好比以前在大学或者政府的研究机构里面的大型计算机中心。计算机中心把计算机的计算和存储资源以租用时段的方式提供给内部各个科研单位，或者提供给外部用户。从过去的大型计算机时代到个人计算机、企业服务器的兴起，计算、存储资源开始分散于企业。但是如今，企业面对成千上百台服务器以及上千种不同的软件，运维成本越来越高。云计算可以把所有的计算资源虚拟化，进行动态管理，进而大大降低企业的IT运维成本，因此已是一个颇有影响的技术趋势。</p>
<p>　　另一方面，从可适应性计算、网格计算到云计算，除了硬件资源的集中使用外，企业更希望操作系统、数据库，以及软件、应用等都能通过集中调配的方式满足企业的各种需求。随着互联网技术的迅速发展与普及，SOA则能带来整个软件系统的互联成本、维护成本、升级成本的大幅降低，并成为支撑云计算的技术标准。</p>
<p>　　所有因素都帮助促成了从硬件层的基础架构云（IaaS）到平台云（PaaS）再到软件应用云（SaaS）不同层次的云计算。</p>
<p>　　SOA与SaaS合力, 推动云计算产业的成熟与发展</p>
<p>　　云计算实现了IT基础设施的社会共享；SOA有利于整合技术平台，统一技术标准，推动软件产业价值链中的各成员间的协调配合，充分利用硬件资源共享的有利条件，促使云上的软件系统日趋成熟；SaaS则通过软件交付模式上的创新，为云计算开辟出更大的市场空间，激励众多软件厂商开发出更多应用，从而使云计算产业联盟不断发展壮大。</p>
<p>　　总而言之，在云计算产业链向前推进的过程中，如果我们能善于发挥SOA和SaaS两者的特点与优势，将其效用结合起来，那必将有助于实现云计算产业的新一轮高速发展。（作者系SAP全球高级副总裁、SAP中国研究院总裁）</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/40891/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>浅谈SAAS安全性问题及解决方法</title>
		<link>http://kejire.com/archives/40848</link>
		<comments>http://kejire.com/archives/40848#comments</comments>
		<pubDate>Mon, 27 Dec 2010 03:33:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[云计算]]></category>
		<category><![CDATA[网站应用]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[数据安全]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=40848</guid>
		<description><![CDATA[SAAS经过多年的发展，已经被大部分企业接受，微软、SAP、阿里巴巴等厂商大力普及Saas，国内也有了不少Saas的软件，Saas为中小企业降低了成本，方便了软件提供商维护软件。带来了很多益处。 通过浏览器可以随时随地办公，但Saas软件由于数据放在互联网上，导致它的数据安全问题令企业感到担忧，尤其是财务、CRM、销售等系统，更是对数据非常敏感。 SAAS的安全问题及解决方法： （1）如何保证登录安全，防止帐号、密码不被被盗： 密码安全公司建议用户设置数字、字母、符号组成的高强度密码，不同的帐户尽量使用不同的密码，以免一个帐户被盗造成其他帐户同时被盗，尤其是企业集团用户，或者采用动态密码+静态密码双因素密码机制。 （2）如何保证在互联网上的传输的数据不被黑客截获： 对重要数据采用数字证书签名或者SSL对数据通道进行加密，防止数据被篡改或者截获。 （3）如何保证数据库服务器不被攻击： 做好数据库安全策略调整，配备专业的防火墙及防病毒软件，另外防止DOS等形式攻击。 （4）如何保证客户数据安全： 首先要保证数据不要丢失，即做好数据备份工作，其次尽可能防止数据用户被查看。]]></description>
			<content:encoded><![CDATA[<p>SAAS经过多年的发展，已经被大部分企业接受，微软、SAP、阿里巴巴等厂商大力普及Saas，国内也有了不少Saas的软件，Saas为中小企业降低了成本，方便了软件提供商维护软件。带来了很多益处。<br />
通过浏览器可以随时随地办公，但Saas软件由于数据放在互联网上，导致它的数据安全问题令企业感到担忧，尤其是财务、CRM、销售等系统，更是对数据非常敏感。</p>
<p>SAAS的安全问题及解决方法：</p>
<p>（1）如何保证登录安全，防止帐号、密码不被被盗：<br />
密码安全公司建议用户设置数字、字母、符号组成的高强度密码，不同的帐户尽量使用不同的密码，以免一个帐户被盗造成其他帐户同时被盗，尤其是企业集团用户，或者采用动态密码+静态密码双因素密码机制。</p>
<p>（2）如何保证在互联网上的传输的数据不被黑客截获：<br />
对重要数据采用数字证书签名或者SSL对数据通道进行加密，防止数据被篡改或者截获。</p>
<p>（3）如何保证数据库服务器不被攻击：<br />
做好数据库安全策略调整，配备专业的防火墙及防病毒软件，另外防止DOS等形式攻击。</p>
<p>（4）如何保证客户数据安全：<br />
首先要保证数据不要丢失，即做好数据备份工作，其次尽可能防止数据用户被查看。</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/40848/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SaaS服务系统技术架构</title>
		<link>http://kejire.com/archives/39169</link>
		<comments>http://kejire.com/archives/39169#comments</comments>
		<pubDate>Mon, 20 Dec 2010 17:33:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[云计算]]></category>
		<category><![CDATA[编程开发]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=39169</guid>
		<description><![CDATA[FutureStore技术架构设计遵循业界领先的“云计算”理念，基于FutureStore高可用、高扩展、高可靠、高安全、高性能的云计算开放平台服务架构来构建整个FutureStore系统架构，系统架构整体分为如下几部分： 1、数据整合平台 FutureStore通过SoA技术及ETL技术，高效整合来自CRM、ERP、电子商务、财务等系统的业务数据，保证系统的数据的一致性、完整性。系统以“客户忠诚度管理”、“多渠道整合营销”、“体验营销”为核心建模思想，为企业提供完整的数据视图。 2、数据服务层 通过数据整合平台整合、转化的业务数据，以统一的数据视图导入客户库、数据业务库、运营商业务库、ERP库等业务库，为各业务系统提供基础数据。 业务库的各种核心业务数据，通过ETL、数据挖掘、协同过滤等手段，导入FutureStore数据仓库，为智能推荐、数据库营销、客户分群、市场营销活动等提供核心的数据。 各客户间SaaS服务业务数据及数据仓库数据通过虚拟化、分区等技术来完成在物理层面及逻辑层面的隔离，有效保证各客户数据的安全性。 3、基础框架层 基础框架层为FutureStore云计算服务提供基础的技术支撑。 FutureStore 云计算开放平台服务架构采用分布式架构设计，保证整个系统的高可用、高扩展、高可靠、高安全、高性能。同时FutureStore云计算平台是一个开放式 的服务平台，对外开放了平台的各种服务，聚合了众多的独立软件开发商、应用提供商、内容提供商、服务提供商等产业链的各种商家，有效保证了平台的生命力。 FutureStore的界面引擎、中间件引擎、规则引擎、工作流引擎、智能推荐引擎、ETL引擎等核心引擎来完成对各种技术实现的支撑，通过系统的组件化设计，保证了系统的可扩展性、可配置性、可管理性。 4、应用服务层 应用服务层为FutureStore的核心服务所在，通过系统各种丰富组件的组合和复用，可以快速搭建出各种系统。同时通过FutureStore的开发 平台架构，可以有效整合包括ERP、CRM、电子商务等合作伙伴的各种行业应用，为企业提供量身定做的解决方案。 5、应用集成层 应用集成层在FutureStore开放平台架构的基础上，整合了运营商、CP/SP、CRM、ERP、其他合作伙伴应用的接口，有力支撑运营商业务、增值业务等业务的拓展。 6、SaaS服务平台层 SaaS服务平台层作为FutureStore的运营支撑平台，提供了SaaS服务平台的相关管理功能，有效保证SaaS服务平台的安全性、可靠性、可用性。 7、多渠道整合 FutureStore提供了对电话、手机客户端、IM、触摸屏、手机、传真、短信、Web、邮件等多种客户接入渠道的整合支持，拓展了与客户互动的方式，满足企业从地面到空中等多种通路的覆盖。]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 10.0px 0.0px; line-height: 17.0px; font: 12.0px Verdana; color: #555555} -->FutureStore技术架构设计遵循业界领先的“云计算”理念，基于FutureStore高可用、高扩展、高可靠、高安全、高性能的云计算开放平台服务架构来构建整个FutureStore系统架构，系统架构整体分为如下几部分：<br />
1、数据整合平台<br />
FutureStore通过SoA技术及ETL技术，高效整合来自CRM、ERP、电子商务、财务等系统的业务数据，保证系统的数据的一致性、完整性。系统以“客户忠诚度管理”、“多渠道整合营销”、“体验营销”为核心建模思想，为企业提供完整的数据视图。<br />
2、数据服务层<br />
通过数据整合平台整合、转化的业务数据，以统一的数据视图导入客户库、数据业务库、运营商业务库、ERP库等业务库，为各业务系统提供基础数据。<br />
业务库的各种核心业务数据，通过ETL、数据挖掘、协同过滤等手段，导入FutureStore数据仓库，为智能推荐、数据库营销、客户分群、市场营销活动等提供核心的数据。<br />
各客户间SaaS服务业务数据及数据仓库数据通过虚拟化、分区等技术来完成在物理层面及逻辑层面的隔离，有效保证各客户数据的安全性。<br />
3、基础框架层<br />
基础框架层为FutureStore云计算服务提供基础的技术支撑。<br />
FutureStore 云计算开放平台服务架构采用分布式架构设计，保证整个系统的高可用、高扩展、高可靠、高安全、高性能。同时FutureStore云计算平台是一个开放式 的服务平台，对外开放了平台的各种服务，聚合了众多的独立软件开发商、应用提供商、内容提供商、服务提供商等产业链的各种商家，有效保证了平台的生命力。<br />
FutureStore的界面引擎、中间件引擎、规则引擎、工作流引擎、智能推荐引擎、ETL引擎等核心引擎来完成对各种技术实现的支撑，通过系统的组件化设计，保证了系统的可扩展性、可配置性、可管理性。<br />
4、应用服务层<br />
应用服务层为FutureStore的核心服务所在，通过系统各种丰富组件的组合和复用，可以快速搭建出各种系统。同时通过FutureStore的开发 平台架构，可以有效整合包括ERP、CRM、电子商务等合作伙伴的各种行业应用，为企业提供量身定做的解决方案。<br />
5、应用集成层<br />
应用集成层在FutureStore开放平台架构的基础上，整合了运营商、CP/SP、CRM、ERP、其他合作伙伴应用的接口，有力支撑运营商业务、增值业务等业务的拓展。<br />
6、SaaS服务平台层<br />
SaaS服务平台层作为FutureStore的运营支撑平台，提供了SaaS服务平台的相关管理功能，有效保证SaaS服务平台的安全性、可靠性、可用性。<br />
7、多渠道整合<br />
FutureStore提供了对电话、手机客户端、IM、触摸屏、手机、传真、短信、Web、邮件等多种客户接入渠道的整合支持，拓展了与客户互动的方式，满足企业从地面到空中等多种通路的覆盖。</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/39169/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>走近云计算：解密IaaS、PaaS和SaaS</title>
		<link>http://kejire.com/archives/38782</link>
		<comments>http://kejire.com/archives/38782#comments</comments>
		<pubDate>Mon, 20 Dec 2010 07:50:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[云计算]]></category>
		<category><![CDATA[互联网]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=38782</guid>
		<description><![CDATA[总的来说，我认为云这个概念其实就是任何可以通过互联网访问的服务。这个概念可以包括与标准商业应用相关的服务——例如CRM、ERP、营销线索生成、办公室生产套件、产品生命周期管理、供应链管理等。但是这个概念还可以延伸到软件开发和基础架构等技术服务领域；这是云计算最近的一种新发展方向。 在这个行业里，对支持业务的数据和业务处理的需求出现了爆炸式的增长。这导致了能源消耗量的激增以及对数据中心容量需求的增长。云计算则提供了解决问题的另一种思路，使用云计算的模式，企业无需为数据中心扩容、基础架构硬件和软件的采购以及应用软件的采购投入大量资金。 你也许会问你自己，”我如何利用网络，将我的基础架构扩展到云计算上？我该怎么把网络当做一个平台来建设我的软件和产品呢？我该如何使用云计算来运行我的核心业务流程？” 云计算的分类 为了便于理解云计算下一个层次的问题，我想先按照下面的划分方式介绍一下云计算的类别： IaaS（Infrastructure as a Service，基础架构即服务）通过互联网提供了数据中心、基础架构硬件和软件资源。IaaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。最高端IaaS的代表产品是亚马逊的AWS（Elastic Compute Cloud），不过IBM、Vmware和惠普以及其他一些传统IT厂商也提供这类的服务。IaaS通常会按照”弹性云”的模式引入其他的使用和计价模式，也就是在任何一个特定的时间，都只使用你需要的服务，并且只为之付费。 paas（Platform as a Service，平台即服务）提供了基础架构，软件开发者可以在这个基础架构之上建设新的应用，或者扩展已有的应用，同时却不必购买开发、质量控制或生产服务器。Salesforce.com的Force.com、Google的App Engine和微软的Azure（微软云计算平台）都采用了paas的模式。这些平台允许公司创建个性化的应用，也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创造新的解决方案。 SaaS（Software as a Service，软件即服务）是最为成熟、最出名，也是得到最广泛应用的一种云计算。大家可以将它理解为一种软件分布模式，在这种模式下，应用软件安装在厂商或者服务供应商那里，用户可以通过某个网络来使用这些软件，通常使用的网络是互联网。这种模式通常也被称为”随需应变（on demand）”软件，这是最成熟的云计算模式，因为这种模式具有高度的灵活性、已经证明可靠的支持服务、强大的可扩展性，因此能够降低客户的维护成本和投入，而且由于这种模式的多宗旨式的基础架构，运营成本也得以降低。Salesforce.com、NetSuite、Google的Gmail和SPSCommerce.net都是这方面非常好的例子。 paas、IaaS和SaaS之间的区别并不是那么重要，因为这三种模式都是采用外包的方式，减轻企业负担，降低管理、维护服务器硬件、网络硬件、基础架构软件和/或应用软件的人力成本。从更高的层次上看，它们都试图去解决同一个商业问题——用尽可能少甚至是为零的资本支出，获得功能、扩展能力、服务和商业价值。当某种云计算的模式获得了成功，这三者之间的界限就会进一步模糊。成功的SaaS或IaaS服务可以很容易地延伸到平台领域。 选择云计算的标准流程 对于那些在考虑使用云计算，或者喜欢云计算的CIO或者商业执行官们，我的建议是和其他的业务或技术投资一样，按照标准流程考察选择。 首先，应该从一个业务案例开始，这一点非常重要。计算投资或者改变对财务的总体影响。 在考虑云计算项目的时候，网络带宽需求是一个需要考虑的重要问题，并且弄清楚你需要在网络上传递的数据有多大规模，以及对于特定服务的网络响应要求。 安全性是另一个重要的因素，所以你需要知道你的安全需求，以及你所在公司内部的能力同云计算供应商的能力之间孰高孰低。 对于任何开发和变革，最好能够从风险的角度进行一下衡量。我非常喜欢研究解决方案，同时也习惯于在作出重大的决策或投资之前，进行试用。 如果你计划采用的商业服务云计算是核心业务项目，那么一定要仔细考察云服务供应商，它的组织情况，它的业务稳定性。例如，这家公司是否盈利？这家公司是否处于增长期？他们的资产负债表是否健康？ 如果你是计划在供应链管理和EDI（Electronic Data Interchange）项目上使用云计算技术，那么需要做的第一件事就是考察供应商整个网络的规模。规模大、扩展性好、质量较好的网络能够比较容易地提供更快、更高质量的服务。在为生意伙伴增加预接入的时候，这种可扩展性也能够提供同样的价值，帮助企业适应业务的增长和变化。 你一定要了解你的供应链服务的流程和组织情况。他们是否疲惫？是否真实？是否专业？评估他们的服务供应模式，他们整体的能力，以及他们作为服务商为企业建立业务的实际案例的情况。 最后，你应该做的最重要一件事是考察该应用的持续服务和支持。例如，绝大部分的SaaS应用都是按照采购服务的方式来销售的，对于客户来说，这非常好，因为这意味着供应商必须为你提供持续的价值和支持。这种采购方式买的不仅仅是某种技术的使用权，还包括提供客户支持、变革管理以及总体商业价值的专业人士的服务，这些服务渗透到每一天、每个星期，每个月，始终存在。 作为一名供应链云计算的客户，你应该考虑的另一个问题是供应商在满足客户的服务水平协议要求方面的水平如何。很多云计算供应商都是全球性的，它们所有的业务夜都是全球性的，但是考核评价单个用户的状况仍然同等重要——如果不是更重要的话。这个工作能够让你了解你的云计算供应商是否能够达到你的SLA（service level agreements）的目标，比如正常运行时间要求、处理速度要求、支持响应速度要求等。对于核心业务系统来说，这些更为重要，一定要确保该供应商能够达到你的业务要求。]]></description>
			<content:encoded><![CDATA[<p>总的来说，我认为云这个概念其实就是任何可以通过互联网访问的服务。这个概念可以包括与标准商业应用相关的服务——例如CRM、ERP、营销线索生成、办公室生产套件、产品生命周期管理、供应链管理等。但是这个概念还可以延伸到软件开发和基础架构等技术服务领域；这是云计算最近的一种新发展方向。</p>
<p>在这个行业里，对支持业务的数据和业务处理的需求出现了爆炸式的增长。这导致了能源消耗量的激增以及对数据中心容量需求的增长。云计算则提供了解决问题的另一种思路，使用云计算的模式，企业无需为数据中心扩容、基础架构硬件和软件的采购以及应用软件的采购投入大量资金。</p>
<p>你也许会问你自己，”我如何利用网络，将我的基础架构扩展到云计算上？我该怎么把网络当做一个平台来建设我的软件和产品呢？我该如何使用云计算来运行我的核心业务流程？”</p>
<p><strong>云计算的分类</strong></p>
<p>为了便于理解云计算下一个层次的问题，我想先按照下面的划分方式介绍一下云计算的类别：</p>
<p><strong>IaaS</strong>（Infrastructure as a  Service，基础架构即服务）通过互联网提供了数据中心、基础架构硬件和软件资源。IaaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。最高端IaaS的代表产品是亚马逊的AWS（Elastic  Compute  Cloud），不过IBM、Vmware和惠普以及其他一些传统IT厂商也提供这类的服务。IaaS通常会按照”弹性云”的模式引入其他的使用和计价模式，也就是在任何一个特定的时间，都只使用你需要的服务，并且只为之付费。</p>
<p><strong>paas</strong>（Platform as a  Service，平台即服务）提供了基础架构，软件开发者可以在这个基础架构之上建设新的应用，或者扩展已有的应用，同时却不必购买开发、质量控制或生产服务器。Salesforce.com的Force.com、Google的App  Engine和微软的Azure（微软云计算平台）都采用了paas的模式。这些平台允许公司创建个性化的应用，也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创造新的解决方案。</p>
<p><strong>SaaS</strong>（Software as a  Service，软件即服务）是最为成熟、最出名，也是得到最广泛应用的一种云计算。大家可以将它理解为一种软件分布模式，在这种模式下，应用软件安装在厂商或者服务供应商那里，用户可以通过某个网络来使用这些软件，通常使用的网络是互联网。这种模式通常也被称为”随需应变（on  demand）”软件，这是最成熟的云计算模式，因为这种模式具有高度的灵活性、已经证明可靠的支持服务、强大的可扩展性，因此能够降低客户的维护成本和投入，而且由于这种模式的多宗旨式的基础架构，运营成本也得以降低。Salesforce.com、NetSuite、Google的Gmail和SPSCommerce.net都是这方面非常好的例子。</p>
<p>paas、IaaS和SaaS之间的区别并不是那么重要，因为这三种模式都是采用外包的方式，减轻企业负担，降低管理、维护服务器硬件、网络硬件、基础架构软件和/或应用软件的人力成本。从更高的层次上看，它们都试图去解决同一个商业问题——用尽可能少甚至是为零的资本支出，获得功能、扩展能力、服务和商业价值。当某种云计算的模式获得了成功，这三者之间的界限就会进一步模糊。成功的SaaS或IaaS服务可以很容易地延伸到平台领域。</p>
<p><strong>选择云计算的标准流程</strong></p>
<p>对于那些在考虑使用云计算，或者喜欢云计算的CIO或者商业执行官们，我的建议是和其他的业务或技术投资一样，按照标准流程考察选择。</p>
<p>首先，应该从一个业务案例开始，这一点非常重要。计算投资或者改变对财务的总体影响。</p>
<p>在考虑云计算项目的时候，网络带宽需求是一个需要考虑的重要问题，并且弄清楚你需要在网络上传递的数据有多大规模，以及对于特定服务的网络响应要求。</p>
<p>安全性是另一个重要的因素，所以你需要知道你的安全需求，以及你所在公司内部的能力同云计算供应商的能力之间孰高孰低。</p>
<p>对于任何开发和变革，最好能够从风险的角度进行一下衡量。我非常喜欢研究解决方案，同时也习惯于在作出重大的决策或投资之前，进行试用。</p>
<p>如果你计划采用的商业服务云计算是核心业务项目，那么一定要仔细考察云服务供应商，它的组织情况，它的业务稳定性。例如，这家公司是否盈利？这家公司是否处于增长期？他们的资产负债表是否健康？</p>
<p>如果你是计划在供应链管理和EDI（Electronic Data  Interchange）项目上使用云计算技术，那么需要做的第一件事就是考察供应商整个网络的规模。规模大、扩展性好、质量较好的网络能够比较容易地提供更快、更高质量的服务。在为生意伙伴增加预接入的时候，这种可扩展性也能够提供同样的价值，帮助企业适应业务的增长和变化。</p>
<p>你一定要了解你的供应链服务的流程和组织情况。他们是否疲惫？是否真实？是否专业？评估他们的服务供应模式，他们整体的能力，以及他们作为服务商为企业建立业务的实际案例的情况。</p>
<p>最后，你应该做的最重要一件事是考察该应用的持续服务和支持。例如，绝大部分的SaaS应用都是按照采购服务的方式来销售的，对于客户来说，这非常好，因为这意味着供应商必须为你提供持续的价值和支持。这种采购方式买的不仅仅是某种技术的使用权，还包括提供客户支持、变革管理以及总体商业价值的专业人士的服务，这些服务渗透到每一天、每个星期，每个月，始终存在。</p>
<p>作为一名供应链云计算的客户，你应该考虑的另一个问题是供应商在满足客户的服务水平协议要求方面的水平如何。很多云计算供应商都是全球性的，它们所有的业务夜都是全球性的，但是考核评价单个用户的状况仍然同等重要——如果不是更重要的话。这个工作能够让你了解你的云计算供应商是否能够达到你的SLA（service  level  agreements）的目标，比如正常运行时间要求、处理速度要求、支持响应速度要求等。对于核心业务系统来说，这些更为重要，一定要确保该供应商能够达到你的业务要求。</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/38782/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selenium 使用介绍</title>
		<link>http://kejire.com/archives/36902</link>
		<comments>http://kejire.com/archives/36902#comments</comments>
		<pubDate>Sat, 18 Dec 2010 08:38:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[编程开发]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=36902</guid>
		<description><![CDATA[Selenium 是 thoughtworks公司的一个集成测试的强大工具。最近参与了一个系统移植的项目，正好用到这个工具， 把一些使用心得分享给大家，希望大家能多多使用这样的强大的，免费的工具，来保证我们的质量。 Selenium 的文档现存的不少，不过都太简单了。使用Selenium的时候，我更多的是直接去看API文档，好在API不错， 一个一个看，就能找到所需要的    官方网站：http://www.openqa.org/selenium/ 好，下面进入正题！ 一、Selenium 的版本 Selenium 现在存在2个版本，一个叫 selenium-core, 一个叫selenium-rc 。 selenium-core 是使用HTML的方式来编写测试脚本，你也可以使用 Selenium-IDE来录制脚本，但是目前Selenium-IDE 只有 FireFox 版本。 Selenium-RC 是 selenium-remote control 缩写，是使用具体的语言来编写测试类。 selenium-rc 支持的语言非常多，这里我们着重关注java的方式。这里讲的也主要是 selenium-rc，因为个人还是喜欢这种 方式 二、一些准备工作 1、当然是下载 selenium 了，到 http://www.openqa.org/selenium/ 下载就可以了，记得选择selenium-rc 的版本。 2、学习一下 &#8230; <a href="http://kejire.com/archives/36902">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Selenium 是 thoughtworks公司的一个集成测试的强大工具。最近参与了一个系统移植的项目，正好用到这个工具，</p>
<p>把一些使用心得分享给大家，希望大家能多多使用这样的强大的，免费的工具，来保证我们的质量。</p>
<p>Selenium 的文档现存的不少，不过都太简单了。使用Selenium的时候，我更多的是直接去看API文档，好在API不错，</p>
<p>一个一个看，就能找到所需要的 <img src='http://kejire.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />    官方网站：<span><a href="http://www.openqa.org/selenium/">http://www.openqa.org/selenium/</a></span></p>
<p>好，下面进入正题！</p>
<p>一、Selenium 的版本</p>
<p>Selenium 现在存在2个版本，一个叫 selenium-core, 一个叫selenium-rc 。</p>
<p>selenium-core 是使用HTML的方式来编写测试脚本，你也可以使用  Selenium-IDE来录制脚本，但是目前Selenium-IDE<br />
只有 FireFox 版本。</p>
<p>Selenium-RC 是 selenium-remote control 缩写，是使用具体的语言来编写测试类。</p>
<p>selenium-rc 支持的语言非常多，这里我们着重关注java的方式。这里讲的也主要是 selenium-rc，因为个人还是喜欢这种<br />
方式  <img src='http://kejire.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>二、一些准备工作</p>
<p>1、当然是下载 selenium 了，到 <span><a href="http://www.openqa.org/selenium/">http://www.openqa.org/selenium/</a> 下载就可以了，记得选择selenium-rc  的版本。</span></p>
<p>2、学习一下 xpath 的知识。有个教程：<a href="http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html" target="_blank">http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html</a><br />
一定要学习这个，不然你根本看不懂下面的内容！</p>
<p>3、安装 jdk1.5</p>
<p>三、selenium-rc 一些使用方法</p>
<p>在 <span>selenium-remote-control-0.9.0\server 目录里，我们运行 java -jar  <span>selenium-server.jar<br />
之后你就会看到一些启动信息。要使用 selenium-rc ，启动这个server  是必须的。</span></span></p>
<p>当然，启动的时候有许多参数，这些用法可以在网站里看看教程，不过不加参数也已经足够了。</p>
<p>selenium server 启动完毕了，那么我们就可以开始编写测试类了！</p>
<p>我们先有个概念，selenium 是模仿浏览器的行为的，当你运行测试类的时候，你就会发现selenium 会打开一个</p>
<p>浏览器，然后浏览器执行你的操作。</p>
<p>好吧，首先生成我们的测试类：</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>public class TestPage2 extends TestCase {</li>
<li> private Selenium selenium;</li>
<li> protected void setUp() throws Exception {</li>
<li> String url = “http://xxx.xxx.xxx.xxx/yyy”;</li>
<li> selenium = new DefaultSelenium(“localhost”, SeleniumServer.getDefaultPort</li>
<li> (), ”*iexplore”, url);</li>
<li> selenium.start();</li>
<li> super.setUp();</li>
<li> }</li>
<li> protected void tearDown() throws Exception {</li>
<li> selenium.stop();</li>
<li> super.tearDown();</li>
<li> }</li>
<li>}</li>
</ol>
</div>
<p>代码十分简单，作用就是初始化一个 Selenium 对象。其中：<br />
url : 就是你要测试的网站<br />
localhost:   可以不是localhost，但是必须是 selenium server 启动的地址<br />
*iexplore :   可以是其它浏览器类型，可以在网站上看都支持哪些。</p>
<p>下面我就要讲讲怎么使用selenium 这个对象来进行测试。</p>
<p>1、测试文本输入框</p>
<p>假设页面上有一个文本输入框，我们要测试的内容是 在其中输入一些内容，然后点击一个按钮，看看页面的是否跳转<br />
到需要的页面。</p>
<div>
<div>
<ol>
<li>public void test1() {</li>
<li> selenium.open(“http://xxx.xxx.xxx/yyy”);</li>
<li> selenium.type(“xpath=//input[@name='userID']“, ”test-user”);</li>
<li> selenium.click(“xpath=//input[@type='button']“);</li>
<li> selenium.waitForPageToLoad(“2000&#8243;);</li>
<li> assertEquals(selenium.getTitle(), ”Welcome”);</li>
<li>}</li>
</ol>
</div>
<p>上面的代码是这个意思：<br />
1、调用 selenium.open 方法，浏览器会打开相应的页面<br />
2、使用 type  方法来给输入框输入文字<br />
3、等待页面载入<br />
4、看看新的页面标题是不是我们想要的。</p>
<p>2、测试下拉框</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>public void test1() {</li>
<li> selenium.open(“http://xxx.xxx.xxx/yyy”);</li>
<li> selenium.select(“xpath=//SELECT[@name='SBBUSYO']“, ”index=1&#8243;);</li>
<li> selenium.click(“xpath=//input[@type='button']“);</li>
<li> selenium.waitForPageToLoad(“2000&#8243;);</li>
<li> assertEquals(selenium.getTitle(), ”Welcome”);</li>
<li>}</li>
</ol>
</div>
<p>可以看到，我们可以使用 select 方法来确定选择下拉框中的哪个选项。<br />
select 方法还有很多用法，具体去看看文档吧。</p>
<p>3、测试check box</p>
<p>java 代码</p>
<div>
<div>
<ol>
<li>public void test1() {</li>
<li> selenium.open(“http://xxx.xxx.xxx/yyy”);</li>
<li> selenium.check(“xpath=//input[@name='MEICK_000']“);</li>
<li> selenium.click(“xpath=//input[@type='button']“);</li>
<li> selenium.waitForPageToLoad(“2000&#8243;);</li>
<li> assertEquals(selenium.getTitle(), ”Welcome”);</li>
<li>}</li>
</ol>
</div>
<p>我们可以使用 check 方法来确定选择哪个radio button</p>
<p>4、得到文本框里的文字</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>assertEquals(selenium.getValue(“xpath=//input[@name='WNO']“), ”1&#8243;);</li>
</ol>
</div>
<p>getValue 方法就是得到文本框里的数值，可不是 getText 方法，用错了可就郁闷了。</p>
<p>5、判断页面是否存在一个元素</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>assertTrue(selenium.isElementPresent(“xpath=//input[@name='MEICK_000']“));</li>
</ol>
</div>
<p>一般这个是用来测试当删除一些数据后，页面上有些东西就不会显示的情况。</p>
<p>6、判断下拉框里选择了哪个选项</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>assertEquals(selenium.getSelectedIndex(“xpath=//SELECT[@name='HATIMING']“), ”1&#8243;);</li>
</ol>
</div>
<p>这个可以用来判断下拉框显示的选项是否是期望的选项。</p>
<p>7、如果有 alert 弹出对话框怎么办？</p>
<p>这个问题弄了挺长时间，可以这样来关闭弹出的对跨框：</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>if(selenium.isAlertPresent()) {</li>
<li> selenium.getAlert();</li>
<li>}</li>
</ol>
</div>
<p>其实当调用 selenium.getAlert() 时，就会关闭 alert 弹出的对话框。<br />
也可以使用  System.out.println(selenium.getAlert()) 来查看对跨框显示的信息。</p>
<p>在测试的时候，有的人会显示许多alert 来查看运行时的数据，那么我们可以用下面的方式来关闭那些 alert:</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>while(selenium.isAlertPresent()) {</li>
<li> selenium.getAlert();</li>
<li>}</li>
</ol>
</div>
<p>8、如何测试一些错误消息的显示？</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>assertTrue(selenium.getBodyText().indexOf(“错误消息”)&gt;=0);</li>
</ol>
</div>
<p>切记： getBodyText 返回的时浏览器页面上的文字，不回包含html 代码的，如果要显示html 代码，用下面这个:</p>
<div>java 代码</div>
<div>
<ol>
<li>System.out.println(selenium.getHtmlSource());</li>
</ol>
</div>
<p>以上就是最常用的几个方法了，例如 click, type, getValue 等等。<br />
还有就是一定要学习 xpath, 其实xpath  也可以有“与、或、非”的操作：</p>
<div>java 代码</div>
<div>
<div>
<ol>
<li>selenium.check(“xpath=//input[(@name='KNYKBN')and(@value='Y')]“);</li>
</ol>
</div>
<p>四、其他</p>
<p>selenium  还有更多的用法，例如弹出页面等等。当面对没见过的测试要求时，我最笨的方法就是按照api文档一个一个找，<br />
好在不多，肯定能找到。</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/36902/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Outright整合多家伙伴向私人企业提供记账工具</title>
		<link>http://kejire.com/archives/29038</link>
		<comments>http://kejire.com/archives/29038#comments</comments>
		<pubDate>Wed, 15 Dec 2010 03:48:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[网站应用]]></category>
		<category><![CDATA[记账工具]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=29038</guid>
		<description><![CDATA[原文地址。 Outright是一个为自由人士、个体户、小团队制作的简易会计记账工具。并且，为使操作便捷，Outright联合了几家财务服务商。用户可以从Freshbooks导入发票，从Shoeboxed导入收据，从Paypal导入支付历史，从Expensify导入信用卡交易数据（Expensify支持美国94%以上的信用卡）。用户只要把设置默认成导入，那么这些合作伙伴就会自动把新数据跟Outright共享。 完成导入后，Outright就直接提供一个表格：让用户分别输入各项支出、收入、税收。而输入的各项支出都自动被分派进入不同的类别，比如机票会自动分到旅游这个类别。当然，用户也可以依据自己的情况设置类别。Outright也会自动提醒：你的缴税期限就要临近，并且计算出你需要缴税的数目。 Outright并没有其它的金融服务工具那样功能健全，但是，对于私人企业和小团体就已经够用了。Outright之前叫GoBoostrap.com，在今年2月融资200万美金后，改名后Outright。]]></description>
			<content:encoded><![CDATA[<p><img title="screen-shot-2009-09-28-at-41523-pm" src="http://www.yunkeji.com/wp-content/uploads/2009/09/screen-shot-2009-09-28-at-41523-pm.png" alt="screen-shot-2009-09-28-at-41523-pm" width="600" height="440" /></p>
<p><a href="http://www.techcrunch.com/2009/09/28/outright-com-leaves-beta-adds-new-partners-to-streamline-small-business-accounting/" target="_blank">原文地址</a>。</p>
<p><a href="http://www.outright.com/" target="_blank">Outright</a>是一个为自由人士、个体户、小团队制作的简易会计记账工具。并且，为使操作便捷，Outright联合了几家财务服务商。用户可以从<a href="http://www.freshbooks.com/" target="_blank">Freshbooks</a>导入发票，从<a href="http://www.shoeboxed.com/" target="_blank">Shoeboxed</a>导入收据，从Paypal导入支付历史，从<a href="http://www.expensify.com/" target="_blank">Expensify</a>导入信用卡交易数据（Expensify支持美国94%以上的信用卡）。用户只要把设置默认成导入，那么这些合作伙伴就会自动把新数据跟Outright共享。</p>
<p>完成导入后，Outright就直接提供一个表格：让用户分别输入各项支出、收入、税收。而输入的各项支出都自动被分派进入不同的类别，比如机票会自动分到旅游这个类别。当然，用户也可以依据自己的情况设置类别。Outright也会自动提醒：你的缴税期限就要临近，并且计算出你需要缴税的数目。</p>
<p>Outright并没有其它的金融服务工具那样功能健全，但是，对于私人企业和小团体就已经够用了。Outright之前叫GoBoostrap.com，在今年2月融资200万美金后，改名后Outright。</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/29038/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>30个非常强大免费的jQuery Content Slider</title>
		<link>http://kejire.com/archives/28954</link>
		<comments>http://kejire.com/archives/28954#comments</comments>
		<pubDate>Sun, 12 Dec 2010 10:14:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网站应用]]></category>
		<category><![CDATA[设计创意]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=28954</guid>
		<description><![CDATA[Content sliders is best solution for displaying content in limited space. Sliders are very common on portfolio sites and are also useful for any other type of site for displaying images and photos. In this post I’ll show you 30 &#8230; <a href="http://kejire.com/archives/28954">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Content sliders</strong> is best solution for displaying content in  limited space. Sliders are very common on portfolio sites and are also useful  for any other type of site for displaying images and photos. In this post I’ll  show you 30 excellent <strong>jQuery slide plugins</strong> that can help you to  create slider effects using jQuery.</p>
<h5><a title="nivoslider" rel="nofollow" href="http://nivo.dev7studios.com/" target="_blank">Nivo slider</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442611Kdhn.jpg" alt="" /></p>
<p>Nivo slider is lightweight jQuery plugin for creating an awesome Image  Slider. This plugin offer 9 unique transition effect. This image slider is  simple clean and it has valid markup. This image slider can display prev-next  buttons and a navigation to control the slides.</p>
<h5><a title="Sliderman.js" rel="nofollow" href="http://www.devtrix.net/sliderman/" target="_blank">Sliderman.js</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290443541v8z4.jpg" alt="" /></p>
<p><strong>Sliderman.js</strong> is a standalone javascript library for sliding  images. The main feature of <strong>Sliderman.js</strong> is multiple  <em>unique</em> effects which can be combined together.</p>
<h5><a title="hash-slider" rel="nofollow" href="http://mgoys.com/lab/hashslider/" target="_blank">hash-slider </a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290443635uMBE.jpg" alt="" /></p>
<p>Hash is simple yet faeture rich jQuery content slider. This jquery-based  slider does what the most jquery-sliders do, but adds a hashtag to the window  location, so you can link to any content / position of the slider.</p>
<h5><a title="choco slider" rel="nofollow" href="http://chocoslider.alandawi.com.ar/index_en.html" target="_blank">Choco-Slider</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442572nibI.jpg" alt="" /></p>
<p>Choco-Slider is a lightweight (~7kb) and flexible jQuery image slider plugin  with good-looking effects. The plugin has various customization options  including the dimensions, auto-slide , delays between transitions, prev-next  controls and much more.</p>
<h5><a title="circular slider" rel="nofollow" href="http://baijs.nl/tinycircleslider/" target="_blank">Tiny Circleslider</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442631Kzek.jpg" alt="" /></p>
<p>Tiny Circleslider is a circular slider / carousel plugin for jQuery. That was  built to provide web developers with a cool but subtle alternative to all those  standard carousels. Tiny Circleslider can blend in on any wepage. It was built  using the javascript jQuery library.</p>
<h5><a title="jQuery Panel Gallery " rel="nofollow" href="http://www.catchmyfame.com/2010/09/13/jquery-panel-gallery-2-0-released/#demo" target="_blank">jQuery Panel Gallery</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442599MYZL.jpg" alt="" /></p>
<p><strong>jQuery Panel Gallery</strong> is plugin for jQuery that allow us to  take a group of images and transition from one to the other in a smooth,  visually appealing way. <strong>Not one image needs to be sliced or  edited</strong> to work with this plugin, in fact the plugin handles everything  itself.</p>
<h5><a title="TinyFader" rel="nofollow" href="http://www.leigeber.com/2010/09/fading-slideshow-script/" target="_blank">TinyFader</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442635l3P3.jpg" alt="" /></p>
<p>This 1.4KB fading slideshow script can easily be customized with CSS. It is a  slight variation from the TinySlider script and is still completely standalone  and uses a simple unordered list structure to support any content. It even  gracefully degrades without JavaScript support. The script supports automatic  rotation with the option to auto-resume, an active class on a navigation list if  applicable, and an initial display toggle.</p>
<h5><a title="caroufredsel" rel="nofollow" href="http://caroufredsel.frebsite.nl/" target="_blank">carouFredSel</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442569UnI0.jpg" alt="" /></p>
<p>jQuery.carouFredSel is a plugin that turns any kind of HTML element into an  infinite, circular carousel. It can scroll one or multiple items simultaneously,  horizontal or vertical, automatically, by pressing buttons or keys on the  keyboard.</p>
<h3>Orbit</h3>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442613UdJJ.jpg" alt="" /></p>
<p>Orbit is a lightweight(3.2kb) jQuery plugin that lets you create a simple,  effective and beautiful slider for images of any size, and even includes some  parameters for making awesome captions and a sweet timer.</p>
<h5><a title="Dual Slider" rel="nofollow" href="http://www.hugoandcat.com/DualSlider/index.html" target="_blank">dualSlider</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442577g181.jpg" alt="" /></p>
<p><strong>dualSlider</strong> is a <strong>jQuery content slider  plugin</strong> that allow us to display any HTML output. It has two-sided  interface which both of them slides sequentially and while one side displays the  slide, other can present extra information about it.</p>
<h5><a rel="nofollow" href="http://workshop.rs/projects/coin-slider/" target="_blank"><strong>Coin Slider</strong></a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_12904425741Y5U.jpg" alt="" /></p>
<p><strong><br />
</strong></p>
<p><strong>Coin Slider</strong> is a <strong>jQuery image slider plugin</strong> that has <strong>unique transition effects</strong>. It has a navigation box on  the bottom to choos image to displaying and prev-next buttons that appear on  hover for easily browsing images. Coin Slider can display caption about the  images displayed and images can also be set as links to the defined URLs.</p>
<p><a title="jqFancyTransitions" rel="nofollow" href="http://workshop.rs/projects/jqfancytransitions/" target="_blank">jqFancyTransitions</a></p>
<p><img src="http://home.open-open.com/attachment/201011/22/1_12904425929vXZ.jpg" alt="" /></p>
<p><strong>jqFancyTransitions</strong> is easy-to-use jQuery plugin for  displaying your photos as slideshow with fancy transition effects. It has three  predifined effects that we can use such as <strong>Wave</strong>,  <strong>Curtain</strong> and <strong>Zipper</strong>. We can also made custom  effect with set of options that you can use to set speed, number of strips,  direction, type of effect, etc.</p>
<h5><a title="jQuery Thumbnail Scroller" rel="nofollow" href="http://manos.malihu.gr/jquery-thumbnail-scroller" target="_blank">jQuery Thumbnail Scroller</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442630kOPs.jpg" alt="" /></p>
<p><strong>jQuery Thumbnail Scroller </strong>is A cool jquery/css thumbnail  scroller inspired by the ones made in Flash. It works on mouse over and it’s  simple to configure and easy to style through css.</p>
<p><a title="jQuery Image Scale Carousel" rel="nofollow" href="http://johnpatrickgiven.com/jquery/Image-Scale-Carousel/" target="_blank">jQuery Image Scale Carousel</a></p>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442595VpqT.jpg" alt="" /></p>
<p>What Makes<strong> jQuery Image Scale Carousel</strong> Different is It’s can  auto scales the images you put into it to the appropriate height and width  keeping their aspect ratio in place.</p>
<h5><a title="Sudo Slider " rel="nofollow" href="http://webbies.dk/Sudo%20Slider/demo.html" target="_blank">Sudo Slider </a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442625844L.jpg" alt="" /></p>
<p><strong>Sudo Slider</strong> is slider plugin that allows the designer to do  whatever he wants, with whatever HTML he want. Sudo Slider can load images and  html with Ajax. We can choose between a normal slide animation, or a fade  animation.</p>
<h5><a title="jCoverFlip" rel="nofollow" href="http://www.jcoverflip.com/demo" target="_blank">jCoverFlip</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442587l5c7.jpg" alt="" /></p>
<p><strong>jCoverFlip</strong> is jQuery plugin that allow us to  s<strong>howcase both images and content</strong> associated with an item. This  plugin has been developed to enable fast and granular customization of the look  and feel and feature set. jCoverFlip support for Drag or click functionality to  s<strong>howcase featured content</strong> items on demand by the user. The  content can be browsed by clicking on any of the items or using a slider.</p>
<h5><a title="Feature List" rel="nofollow" href="http://jqueryglobe.com/labs/feature_list/" target="_blank">Feature List</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442581wJ2p.jpg" alt="" /></p>
<p><strong>Feature List</strong> is jQuery plugin that enables simple and easy  creation of an interactive<strong> “Featured Items” widget</strong>. It has  slick effect, no flash needed, reusbale on multiple container, can be styled  with custom HTML/CSS and the sile size is only 2K.</p>
<h5><a title="loopedCarousel" rel="nofollow" href="http://nathansearles.com/loopedcarousel/" target="_blank">loopedCarousel</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442601cZR7.jpg" alt="" /></p>
<p><strong>loopedCarousel</strong> is<strong> </strong>jQuery plugin that allows  you to create both horizontal and vertical carousels for your web page.  loopedCarouse developed by <strong>Nathan Searles</strong>.<strong> </strong><strong> </strong>loopedCarousel made for jQuery that is not only a  looping carousel, its main goal is to be extremely easy to implement.</p>
<h5><a title="BxSlider" rel="nofollow" href="http://bxslider.com/" target="_blank">BxSlider</a></h5>
<div><img src="http://home.open-open.com/image/zoom.gif" alt="" width="23" height="23" /><img title="点击图片，在新窗口显示原始尺寸" src="http://home.open-open.com/attachment/201011/22/1_1290442567PyvY.jpg" alt="" /></div>
<p><strong>BxSlider </strong>is an easy use JQuery plugin for <strong>displaying  content slider</strong> on web. It has four options available such as manual  slide, auto slide, manual fade, and ticker. This plugin is great for diplaying  slider both text slider and images slider. Various settings available for  customizing content slider like speed, auto: true/false, and  ticker_direction.</p>
<h5><a title="CrossSlide" rel="nofollow" href="http://tobia.github.com/CrossSlide/" target="_blank">CrossSlide</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442575r9N5.jpg" alt="" /></p>
<p>CrossSlide is a jQuery plugin implementing in 2kB<sup><a name="use1"></a></sup> of Javascript code some common slide-show animations,  traditionally only available via Adobe Flash™ or other proprietary plugins.  CrossSlide builds upon jQuery’s animation facility, so it is as portable across  browsers as jQuery itself.</p>
<h5><strong><a title="simplesli" rel="nofollow" href="http://www.simplesli.de/" target="_blank"><strong>simpleSli.de</strong></a></strong></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442618OluY.jpg" alt="" /></p>
<p><strong><strong><br />
</strong></strong></p>
<p><strong>simpleSli.de</strong> is a simple and lightweight (4kb compressed)  jQuery slideshow plugin that can display any HTML content. With the little  markup you need to add to your site, you get a full featureset, like the ability  to put whatever data you want within the slide window, even mixed types, a  proportionally-correct status display that configures itself, fullscreen display  and <strong>swipe functionality</strong>.</p>
<h5><a title="Simplest jQuery Slideshow" rel="nofollow" href="http://snook.ca/archives/javascript/simplest-jquery-slideshow" target="_blank">Simplest jQuery Slideshow</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442625FXDO.jpg" alt="" /></p>
<p>Jonathan Snook published a post that describes making the “Simplest jQuery  Slideshow”.</p>
<h5><a title="anythingslider" rel="nofollow" href="http://css-tricks.com/anythingslider-jquery-plugin/" target="_blank">AnythingSlider jQuery Plugin</a></h5>
<p><a rel="nofollow" href="http://css-tricks.com/examples/AnythingSlider"><img title="AnythingSlider" src="http://blogfreakz.com/wp-content/uploads/2010/11/AnythingSlider.jpg" alt="AnythingSlider 30 Powerfull Free jQuery Content Slider" width="600" height="294" /></a></p>
<p>AnythingSlider is “full featured” slider that could be widely useful. This  plugin can present any HTML content It can display any number of slides where  navigation tabs are generated automatically.</p>
<h5><a title="horinaja" rel="nofollow" href="http://www.davidmassiani.com/horinaja/" target="_blank">Horinaja</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442585m6IZ.jpg" alt="" /></p>
<p>Horinaja is a ready-to-use slide-show implementation, utilizing either  scriptaculous/prototype or jQuery. Horinaja is innovative because it allows you  to use a mousewheel for navigation. When the mouse is outside of the slide-show  area, it scrolls. When hovering over the slide-show, the scrolling pauses.</p>
<h5><a title="supersized" rel="nofollow" href="http://www.buildinternet.com/project/supersized/" target="_blank">Supersized</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442627k0aw.jpg" alt="" /></p>
<p>Supersized is a jQuery plugin that resizes images/backgrounds to fit the  whole screen &amp; display them as a slideshow.</p>
<h5><a title="easyslider" rel="nofollow" href="http://cssglobe.com/post/3783/jquery-plugin-easy-image-or-content-slider" target="_blank">Easy Slider</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442580qK2L.jpg" alt="" /></p>
<p><strong>Easy Slider</strong> enables images or any content to slide  horizontally or vertically on click. It is configurable with css alone. So,  basically you link to plugin file, set the content up and style it with css.</p>
<h5><a title="coda slider" rel="nofollow" href="http://www.ndoherty.biz/2009/10/coda-slider-2/" target="_blank">Coda-Slider 2.0</a></h5>
<p><a rel="nofollow" href="http://www.ndoherty.biz/demos/coda-slider/2.0/"><img title="codaslider" src="http://blogfreakz.com/wp-content/uploads/2010/11/codaslider.jpg" alt="codaslider 30 Powerfull Free jQuery Content Slider" width="600" height="250" /></a></p>
<p>Coda-Slider is a jQuery plugin which mimics the slider effect on the promo  page for Panic’s Coda software.</p>
<h5><a title="s3slider" rel="nofollow" href="http://www.serie3.info/s3slider/" target="_blank">s3Slider</a></h5>
<div><img src="http://home.open-open.com/image/zoom.gif" alt="" width="23" height="23" /><img title="点击图片，在新窗口显示原始尺寸" src="http://home.open-open.com/attachment/201011/22/1_12904426145888.jpg" alt="" /></div>
<p>s3Slider is <strong>slide show jQuery plugin</strong>. With s3Slider you can  create simple and smooth (cross-fading…) image slideshows and/or showcases on  your website. This plugin is JQuery version of <a title="Check out smooth slide show" rel="nofollow" href="http://smoothslideshow.jondesign.net/timed.html" target="_blank">jd`s smooth slide show</a> script.</p>
<h5><a title="loopedslider" rel="nofollow" href="http://nathansearles.com/plugin/loopedslider/" target="_blank">loopedSlider</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442605zm4m.jpg" alt="" /></p>
<p><strong>loopedSlider</strong> is a plugin made for jQuery that solves a  simple problem, the looping of slide content. It was created to be easy to  implement, smooth and most of all end the “content rewind” that most other  content sliders suffer from.</p>
<h5><a title="moving box" rel="nofollow" href="http://css-tricks.com/moving-boxes/" target="_blank">Moving Boxes</a></h5>
<p><img src="http://home.open-open.com/attachment/201011/22/1_1290442607H40o.jpg" alt="" /></p>
<p>Simple horizontal slider which grows up the current box when it’s in focus  (image, title &amp; text) and back down when it’s not in focus.</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/28954/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>体验用ASP.NET MVC2 做网站</title>
		<link>http://kejire.com/archives/28938</link>
		<comments>http://kejire.com/archives/28938#comments</comments>
		<pubDate>Mon, 05 Jul 2010 02:41:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[微软]]></category>
		<category><![CDATA[编程开发]]></category>
		<category><![CDATA[网站应用]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[MVC2]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=28938</guid>
		<description><![CDATA[最近帮朋友做一个小网站，正好体验一下ASP.NET MVC2。 花了两个周末整整4天时间编写了整个网站的网页框架和后台代码，美工设计和产品内容的填充是别人做的。 接下来说一下这次做网站的几点心得： 1）5年前对于小网站来说只要IE6中排版没问题就行了，现在则不同了，要考虑IE8、Firefox、Chrome等。 第一个问题就是在IE6/IE7里CSS的text-align属性不仅对文字起作用，对盒子也起作用。 因此如果用text-align做右对齐或居中对齐在IE8里排版就会乱掉。解决方法是右对齐设置float属性， 水平居中则没有直接的方法，可以通过设置margin-left:auto和margin-right:auto来实现。 第二个问题是盒子的宽度和高度是否包括padding，是否包括margin，对于CSS2的模型很不习惯。 2）绝对定位，指定position:absolute后并不直接相对于所在的容器定位，需要父对象有定位设置。 3）IE6/IE7不支持displayed:inline-block，支持该属性的呢block之间的间距不一样。 4）使用P元素时，段落与容器的间距IE8与Firefox的显示不一致，后来改用span和相对定位。 5）刚开始有很大一部分时间花在写CSS调整排版，由此感慨啊WPF的Panel和Style是多么的好用，LaTex的盒子排版模型又是多么的先进。 W3C真应该考虑一下简单性、一致性、正交性、完备性之类的问题。 以上说的都是CSS，接下来进入正题ASP.NET MVC2。 1）看着VS自动生成的代码，经过简单的学习就上手了。关键是HtmlHelper，UrlHelper，ViewData的使用。 2）MVC最大好处一是最终生成的页面不像以前的ASP.NET页面那么臃肿了，浏览器下载和加载会快一些。 二是URL直接对应服务器方法的调用，而且返回的结果比较灵活。3）整体来看，使用MVC后需要书写的代码量减少了，对于一些典型问题有封装好的解决方法。 4）使用MVC后对JavaScript的依赖提高了，很多功能适合用JavaScript来实现。结合Ajax用户体验变好了。 5）支持ASP.NET 4.0的网站空间目前比较难找而且价格高，这倒是个问题。 下面是几个技巧： 1）表单验证失败后，直接返回View，已填写的内容就会清空，可以这样做：ViewData.ModelState.AddModelError(“FormValidator”, message); foreach (string field in Request.Form.Keys){ ViewData.Add(field, Request.Form[field].Trim());} 然后Form中用HtmlHelper创建的Input控件会自动从ViewData中获取value。 2）输出纯文本：return Content(message, “text/plain”, Encoding.UTF8); 或者 return new &#8230; <a href="http://kejire.com/archives/28938">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: verdana, 'ms song', 宋体, Arial, 微软雅黑, Helvetica, sans-serif; font-size: 14px; line-height: 21px;">最近帮朋友做一个小网站，正好体验一下ASP.NET MVC2。 </span></p>
<div style="padding: 0px; margin: 0px;">花了两个周末整整4天时间编写了整个网站的网页框架和后台代码，美工设计和产品内容的填充是别人做的。</div>
<div style="padding: 0px; margin: 0px;">接下来说一下这次做网站的几点心得：</div>
<div style="padding: 0px; margin: 0px;">1）5年前对于小网站来说只要IE6中排版没问题就行了，现在则不同了，要考虑IE8、Firefox、Chrome等。</div>
<div style="padding: 0px; margin: 0px;">第一个问题就是在IE6/IE7里CSS的text-align属性不仅对文字起作用，对盒子也起作用。<span id="more-28938"></span></div>
<div style="padding: 0px; margin: 0px;">因此如果用text-align做右对齐或居中对齐在IE8里排版就会乱掉。解决方法是右对齐设置float属性，</div>
<div style="padding: 0px; margin: 0px;">水平居中则没有直接的方法，可以通过设置margin-left:auto和margin-right:auto来实现。</div>
<div style="padding: 0px; margin: 0px;">第二个问题是盒子的宽度和高度是否包括padding，是否包括margin，对于CSS2的模型很不习惯。</div>
<div style="padding: 0px; margin: 0px;">2）绝对定位，指定position:absolute后并不直接相对于所在的容器定位，需要父对象有定位设置。</div>
<div style="padding: 0px; margin: 0px;">3）IE6/IE7不支持displayed:inline-block，支持该属性的呢block之间的间距不一样。</div>
<div style="padding: 0px; margin: 0px;">4）使用P元素时，段落与容器的间距IE8与Firefox的显示不一致，后来改用span和相对定位。</div>
<div style="padding: 0px; margin: 0px;">5）刚开始有很大一部分时间花在写CSS调整排版，由此感慨啊WPF的Panel和Style是多么的好用，LaTex的盒子排版模型又是多么的先进。</div>
<div style="padding: 0px; margin: 0px;">W3C真应该考虑一下简单性、一致性、正交性、完备性之类的问题。</div>
<div style="padding: 0px; margin: 0px;">以上说的都是CSS，接下来进入正题ASP.NET MVC2。</div>
<div style="padding: 0px; margin: 0px;">1）看着VS自动生成的代码，经过简单的学习就上手了。关键是HtmlHelper，UrlHelper，ViewData的使用。</div>
<div style="padding: 0px; margin: 0px;">2）MVC最大好处一是最终生成的页面不像以前的ASP.NET页面那么臃肿了，浏览器下载和加载会快一些。</div>
<div style="padding: 0px; margin: 0px;">二是URL直接对应服务器方法的调用，而且返回的结果比较灵活。<br style="padding: 0px; margin: 0px;" />3）整体来看，使用MVC后需要书写的代码量减少了，对于一些典型问题有封装好的解决方法。</div>
<div style="padding: 0px; margin: 0px;">4）使用MVC后对JavaScript的依赖提高了，很多功能适合用JavaScript来实现。结合Ajax用户体验变好了。</div>
<div style="padding: 0px; margin: 0px;">5）支持ASP.NET 4.0的网站空间目前比较难找而且价格高，这倒是个问题。<br style="padding: 0px; margin: 0px;" /></div>
<p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; padding: 0px;">
<div style="padding: 0px; margin: 0px;">下面是几个技巧：</div>
<div style="padding: 0px; margin: 0px;">1）表单验证失败后，直接返回View，已填写的内容就会清空，可以这样做：<br style="padding: 0px; margin: 0px;" />ViewData.ModelState.AddModelError(“FormValidator”, message);</div>
<div style="padding: 0px; margin: 0px;">foreach (string field in Request.Form.Keys)<br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" /> ViewData.Add(field, Request.Form[field].Trim());<br style="padding: 0px; margin: 0px;" />}</div>
<div style="padding: 0px; margin: 0px;">然后Form中用HtmlHelper创建的Input控件会自动从ViewData中获取value。</div>
<div style="padding: 0px; margin: 0px;">2）输出纯文本：return Content(message, “text/plain”, Encoding.UTF8); 或者</div>
<div style="padding: 0px; margin: 0px;">return new ContentResult { Content = message, ContentType = “text/plain”, ContentEncoding = Encoding.UTF8 };</div>
<div style="padding: 0px; margin: 0px;">显示PDF文件：</div>
<div style="padding: 0px; margin: 0px;">return File(“~/Content/developersguide.pdf”, “application/pdf”, “developersguide.pdf”);</div>
<div style="padding: 0px; margin: 0px;">3）HTML的select元素默认第一个选项是选中的，需要javascript执行oSelect.selectedIndex = -1;变成不选中状态。﻿</div>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/28938/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>G.cn 最糟明天就要关门大吉，谷歌中国至今没拿到新 ICP 证</title>
		<link>http://kejire.com/archives/28941</link>
		<comments>http://kejire.com/archives/28941#comments</comments>
		<pubDate>Tue, 29 Jun 2010 02:42:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分类]]></category>
		<category><![CDATA[G.cn]]></category>
		<category><![CDATA[谷歌中国]]></category>

		<guid isPermaLink="false">http://kejire.com/?p=28941</guid>
		<description><![CDATA[g.cn首页变成一张图片，引导用户收藏谷歌香港网站的链接 我们都知道Google从今年3月23日起，Google中国“撤出”中国大陆，他们将G.cn和Google.cn域名跳转到了Google.com.hk，以此方式继续提供搜索服务，而跟搜索无关的服务则继续保持在Google.cn域名下服务。 不过他们的这个“小伎俩”快用到头了。中国大陆规定每家ICP运营商必须得到ICP许可证才能合法运营，而谷歌中国的ICP证即将在2010年6月30日（就是明天喽）到期，他们到今天为止还依然拿不到新的ICP证，这也意味着谷歌中国的两个域名（G.cn和Google.cn）几乎可以说已经走到了终点。 谷歌中国为什么拿不到新的ICP许可证？Google说中国政府清楚的告诉他们：因为Google的自动跳转机制是无法接受的，如果继续这么玩跳转，那就不可能拿到新的ICP许可证，Google.cn就必须关门。 今天Google.cn迅速做出了“整改”，所有访问的用户将首先看到一个大的提示图片，告诉他们谷歌中国已经移至google.com.hk，点击后才会跳转（就是说已经没有自动跳转机制了）。而在做出这个变动后，谷歌中国重新提交了ICP许可证的申请，希望可以合理合法的获得“新生”（有点在转会大门关闭最后一秒提交申请的意思）。 Google每次都能很准确的理解“规定”，每次都想以“绝对合法”的方式来运营。只有一个图片外链的网站要获得ICP许可证当然是没问题的，但……反正感觉谷歌中国这次凶多吉少了。﻿]]></description>
			<content:encoded><![CDATA[<p><span style="color: #404040; font-family: verdana, Arial, Helvetica; font-size: 14px; line-height: 25px;"> </span></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: verdana, Arial, Helvetica; color: #404040; font-size: 14px; line-height: 25px; text-align: center; padding: 0px;">g.cn首页变成一张图片，引导用户收藏谷歌香港网站的链接</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: verdana, Arial, Helvetica; color: #404040; font-size: 14px; line-height: 25px; padding: 0px;">我们都知道Google从今年3月23日起，Google中国“撤出”中国大陆，<a style="font-family: verdana, Arial, Helvetica; color: #005fa9; font-size: 14px; line-height: 1.5em; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.google.org.cn/posts/wolcome-to-the-new-home-of-google-china.html" target="_blank">他们将G.cn和Google.cn域名跳转到了Google.com.hk</a>，以此方式继续提供搜索服务，而跟搜索无关的服务则<a style="font-family: verdana, Arial, Helvetica; color: #005fa9; font-size: 14px; line-height: 1.5em; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.google.org.cn/posts/existed-google-cn-services.html" target="_blank">继续保持在Google.cn域名下服务</a>。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: verdana, Arial, Helvetica; color: #404040; font-size: 14px; line-height: 25px; padding: 0px;">不过他们的这个“小伎俩”快用到头了。中国大陆规定每家ICP运营商必须得到ICP许可证才能合法运营，而谷歌中国的ICP证即将在2010年6月30日（就是明天喽）到期，他们到今天为止还依然拿不到新的ICP证，这也意味着谷歌中国的两个域名（G.cn和Google.cn）几乎可以说已经走到了终点。<span id="more-28941"></span></p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: verdana, Arial, Helvetica; color: #404040; font-size: 14px; line-height: 25px; padding: 0px;">谷歌中国为什么拿不到新的ICP许可证？Google说中国政府清楚的告诉他们：因为Google的自动跳转机制是无法接受的，如果继续这么玩跳转，那就不可能拿到新的ICP许可证，Google.cn就必须关门。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: verdana, Arial, Helvetica; color: #404040; font-size: 14px; line-height: 25px; padding: 0px;">今天Google.cn迅速做出了“整改”，<a style="font-family: verdana, Arial, Helvetica; color: #005fa9; font-size: 14px; line-height: 1.5em; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.google.cn/landing/cnexp/indexd.html" target="_blank">所有访问的用户将首先看到一个大的提示图片</a>，告诉他们谷歌中国已经移至google.com.hk，点击后才会跳转（就是说已经没有自动跳转机制了）。而在做出这个变动后，谷歌中国重新提交了ICP许可证的申请，希望可以合理合法的获得“新生”（有点在转会大门关闭最后一秒提交申请的意思）。</p>
<p style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-family: verdana, Arial, Helvetica; color: #404040; font-size: 14px; line-height: 25px; padding: 0px;">Google每次都能很准确的理解“规定”，每次都想以“绝对合法”的方式来运营。只有一个图片外链的网站要获得ICP许可证当然是没问题的，但……反正感觉谷歌中国这次凶多吉少了。﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://kejire.com/archives/28941/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

