自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天山雪的技术博客

汉家烟尘在东北,汉将辞家破残贼。男儿本自重横行,天子非常赐颜色。摐金伐鼓下榆关,旌旆逶迤碣石间。校尉羽书飞瀚海,单于猎火照狼山。山川萧条极边土,胡骑凭陵杂风雨。战士军前半死生,美人帐下犹歌舞。大漠穷秋塞草腓,孤城落日斗兵稀。身当恩遇恒轻敌,力尽关山未解围。

  • 博客(65)
  • 收藏
  • 关注

原创 《RESTful Web Clients》中文版推荐序

一场与超媒体的未了情缘当我在2007年前初次翻译Roy Fielding关于REST的博士论文(中文版名为《架构风格与基于网络应用软件的架构设计》)时,其实对于Web的整体架构是毫无认识的。无知者无畏,当时我仅仅是出于求知欲就开始了翻译工作。后来我发现这个挑战严重超出了我的能力范围,Fielding的博士论文是我翻译过的专业技术著作中难度最高的。后来我在2013年重新翻译了REST博士论文,力...

2018-07-27 09:59:37 796 1

原创 《微服务运维实战》第一卷推荐序

按照马克思的辩证唯物主义,为了解决某个社会问题而诞生的新生事物,在流行并占据统治地位后,必然会出现它的反面,也就是负面的影响。之后又会出现新生事物来解决它所造成的负面影响。这样循环往复,没有终结,推动人类社会向着更高级的方向发展。对于软件应用开发来说,也遵循着辩证唯物主义的规律。早期的软件应用都是单片应用,随着流量的增大,单片应用无法支持,而且复杂的单片应用也难以维护、难以测试,最终开发团队只好...

2018-06-24 22:10:50 2265 1

原创 开始使用GnuCash来记账

一直想找一个比较好用的免费个人理财软件,不过两年前在个人理财领域,没有什么很强大的免费软件。两年前我曾经用Grisbi的Windows版来记账:http://www.grisbi.org/Grisbi功能太简单了,而且界面设计和用户体验不是很好,记了一段时间后来放弃了。最近得知,GnuCash现在已经有Windows版了,而且看来要比Grisbi更强大,准备改用这个软件来记账。http://www

2008-04-20 09:40:00 7937 2

原创 《反模式》这本书终于出版了

1995年,GoF(以Erich Gamma为首的“四人帮”)所著的《设计模式——可复用面向对象软件的基础》(Design Patterns--Elements of Reusable Object Oriented Software)一书出版了。这本书在面向对象编程/设计领域具有划时代的意义。不夸张地说,这本书就是面向对象程序员的红宝书,对于面向对象程序员来说,应该人手一册。没有读过这本书,对于

2008-01-20 13:54:00 6998

原创 绕过浏览器相同来源策略的一些方法

浏览器的相同来源策略大家都很清楚。它在保证了用户安全性的同时,也为实现某些类型的Ajax应用造成了很大困难。经常有人尝试用各种方法来绕过相同来源策略,但是很少有人成功。相同来源策略是W3C所规定的一个严格的限制机制,如果能够轻易绕过,那将是这个浏览器版本的重大安全漏洞。我来总结一下我至今见到过的绕过相同来源策略的几种方法。1. 通过同一个服务器请求来自不同来源服务器的页面。 在客户端,需要对XML

2007-12-21 22:49:00 5022

原创 关于Fielding博士论文导读

http://www.ics.uci.edu/~fielding/Roy Thomas Fielding:Day Software公司的首席科学家,Apache软件基金会的合作创始人,在美国加洲大学欧文分校获得博士学位。Fielding博士是IETF发布的HTTP和URI协议的主要制定者,参与过很多Web架构相关协议的设计,可谓是Web的缔造者之一。除了学术上的成就之外,Fielding博士还参与

2007-12-08 19:30:00 6160 2

原创 Fielding博士论文导读----第6章

REST其实并不是什么新的东西,从Web的历史来说,甚至可以说非常古老。Fielding和他的协议团队自从1994年以来就在内部使用REST来指导现代Web架构协议的创作。不过Fielding直到2000年才通过这篇博士论文向世人揭示出REST的全貌。而REST真正流行开来,还是要等到Ajax流行之后,特别是在出现了一些成熟的服务器端REST开发框架之后,使得REST这种抽象的架构风格变成了我们能

2007-12-08 19:26:00 4354 1

原创 Fielding博士论文导读----第5章

大家如果跟着我一直读下来,我们已经走过了很长的一段路。在第五章,总算到了我们对于这篇论文最感兴趣的部分——满足Web需求的技术架构,即REST架构风格。很多人读Fielding的论文喜欢直接跳到第五章,但是这是一种糟糕的阅读方式。前面所有的章节对于推导出REST这种新型的架构风格来说都是必须的。前面的章节和第五章是因和果的关系,如果只读第五章,就只知道果而不知道因,知其然而不知其所以然。要完全理解

2007-12-08 19:25:00 4034 1

原创 Fielding博士论文导读----第4章

在第四章中,Fielding首先总结出了Web的需求,这些需求是在设计Web架构之前要搞清楚的,然后才能确定设计的架构所具有的架构属性是否满足这些需求。Web需要满足以下这些需求:低门槛可扩展性分布式超媒体Internet规模低门槛是说构成Web架构的技术必须简单易用,任何创作者(这是在早期的一些Web规范和协议中常用的一个词,因为早期Web主要面向静态内容的创作者)都可以很容易地使用这些技术加入

2007-12-08 19:24:00 3836 1

原创 Fielding博士论文导读----第3章

在第三章中,Fielding使用第二章中定义的架构属性作为度量标准,对很多种基于网络的应用的架构风格进行了全面的评估和比较。尽管这一章中所讨论的架构风格种类很多,但是仍然无法包括所有可能的基于网络的应用的架构风格,而仅仅是评估了一组有代表性的架构风格的样本。并且建造一个分类的框架,以便其他架构风格一旦被开发出来就能够被添加到这个分类中。Fielding在这一章中评估的架构风格分为以下几个大类:数据

2007-12-08 19:23:00 4025 1

原创 Fielding博士论文导读----第2章

在第二章中,Fielding精确定义了与基于网络的应用架构相关的各种架构属性。架构可以存在于软件系统的多个层次,电脑的BIOS有自己的架构、显示卡的设备驱动程序有自己的架构、操作系统有自己的架构,应用程序也有自己的架构。一篇关于Web基础架构的论文不可能无所不包,有必要提前限定论文所讨论的架构的范围。基于网络的应用架构就是这篇论文中讨论的架构的范围。这是软件架构最高层次的抽象,在这里组件之间的交互

2007-12-08 19:22:00 3675 1

原创 Fielding博士论文导读----第1章

在第一章中,Fielding定义了一套研究软件架构的术语。讨论了每个术语定义的由来,或者将该术语与相关的研究进行比较。这些软件架构术语包括:软件架构、元素、组件、连接器、数据、配置、架构属性、架构风格等等。作者在将自己的定义与相关研究进行比较的过程中,对于一些相关的研究提出了批评。例如:一些相关的研究完全不关注软件在运行时的特性,而只关注软件静态的源代码中的结构特性。Fielding将这些人研究的

2007-12-08 19:21:00 4231 1

原创 少即是多

“少即是多”可以作为软件架构设计的一个指导原则。完成同样的事情,最简单的方案往往是最后的胜出者。类似的说法包括:Keep It Simple and Stupid——KISSDont Repeat Yourself——DRY无为而无不为REST风格相对于RPC风格的架构,是一种简化。敏捷软件开发方法中到处体现出“少即是多”的原则,使得软件开发精益而高效。推而广之,其实生活中也到处都是少即是多的实

2007-10-04 16:58:00 4265 3

原创 NetBeans终于咸鱼翻身了

2002年的时候我曾经使用过NetBeans,感觉很不好。首先是速度很慢,其次是界面像很多Swing应用一样,与native的Windows应用的look & feel差距很大。当时Eclipse发布了2.0版,我使用了一下就被它迷住了。首先是它的速度很快,我从来没有见过桌面Java应用跑的像Eclipse那样快,JBuilder、NetBeans都很慢。其次是它的look & feel与nati

2007-10-02 18:36:00 13684 11

原创 为REST添加服务发现能力

很多关心SOA的人士都很关注REST,我同意Sanjiva Weerawarana在InfoQ的这篇访谈:揭秘REST/WS-* 中的观点,即:其实,面向资源的架构和面向服务的架构是有很大不同的,它们的目标也有很大的不同。REST主要是为建造面向资源的架构服务的。面向资源的应用不一定要是面向服务的应用,同样,面向服务的应用也不一定要是面向资源的应用。但是,这并不是说REST就不能建造面向服务的架构

2007-09-13 21:53:00 5988 1

原创 共享一些OpenID相关资料

OpenID book:http://www.openidbook.comOpenID的两个主要的规范:http://openid.net.cn/specs/openid-authentication-1_1-zh_CN.htmlhttp://yadis.org/papers/yadis-v1.0.pdfRuby OpenID Library:http://www.openidenabled.co

2007-09-12 11:48:00 3178

原创 孟岩所说的革命到底是什么?

孟岩一个多月前写了一篇blog:“革命就是革命,不用遮遮掩掩”。我很赞同孟岩的观点,革命确实快要来到了。这次革命是多种新技术和新型商业模式形成合力的结果,并非是单一技术所能达成。这一次,很多种技术都已经各就各位,彼此完美地支持,同时商业环境也在呼唤新技术和新工具的出现,多种因素相互激荡,最终爆发出强烈的共振。这两年来我一直在观察国外Web开发类图书的发展,我可以从这些图书的发展动向举出一些即将发生

2007-09-09 18:52:00 4470

原创 给china-pub推荐的选购书单

今天佘广说china-pub为了酬谢读者,决定从国外选购一批图书,原价卖给读者。这是一件非常棒的事情,可以使我们有机会读到很多自己想读却没有机会读到的图书。我推荐了一些书,同样对这些书感兴趣的读者可以注意china-pub近期的公告,不要错过这次很好的机会。System Reliability Theory: Models, Statistical Methods 第二版Unix Internal

2007-09-08 00:23:00 3742 2

原创 Flash与Web可用性之一——问题

关心Web可用性的朋友可能听说过Jakob Nielsen大师写过的一篇著名的文章“Flash 99% bad”。这篇文章是Nielsen在2000年写的,指出了滥用Flash对于Web可用性造成的恶果。Ajax技术出现之后,还有人东施效颦地写了一篇 “Ajax 99% bad”。Nielsen指出在大量使用Flash的Web设计中普遍存在三个方面的问题:Encourages Design Abu

2007-09-04 04:38:00 4887 1

原创 Adobe Flex最佳学习路线

目前Adobe Flex的中文版学习资料比较少,而且大多都很零散,不适合用来系统地学习。我在这里罗列一下在我的学习过程中读过的一些资料。当然是以Adobe的官方文档为主,这些文档内容非常详尽,应该作为学习的首选。首先下载并安装好Flex开发工具Flex Builder 2。Flex Builder 3的Beta版目前还不是很稳定,不推荐使用。我发现这篇文档非常适合新手用来入门:重庆大坪的刘刚所翻译

2007-08-23 22:59:00 25921 9

原创 Ajax还缺什么?

Ajax技术发展了两年半了(从创造出“Ajax”这个术语算起,如果从Gmail和Google Maps等Ajax应用诞生算起的话,还要更久一些),不必说,Ajax技术取得了巨大的进步。现在Ajax已经堂而皇之地成为了一种主流的RIA技术,不再有人认为这些不过只是一些古怪的hack。Ajax技术的进一步发展会受到两方面的制约,即浏览器的发展和Web标准的发展。在浏览器方面,M$的态度是Ajax技术蓬

2007-08-15 23:33:00 6935 7

原创 《CSS实战手册》书评

HTML(XHTML)很容易入门,但是与其他同样很容易入门的技术一样,HTML很容易被误用。在最初学习阶段的愉快感觉之后,开发者在实际工作中很快就会陷入到混乱之中。这并不是HTML的错,正是因为HTML的简洁性和易用性(低门槛),Web才得以以几何级数的速度飞速发展,HTML应该继续保持这样的特点。使用HTML显然并不是我们的目标,我们需要掌握一些更高层次的技术,这些技术可以指导我们以正确的方式使

2007-08-12 10:51:00 7614

原创 《精通正则表达式》书评

第一次接触正则表达式,还是在2000年使用Perl CGI做Web开发的时候。Perl给我留下最深刻印象的就是它的正则表达式。我使用Perl的正则表达式开发了一个简单的模板引擎,可以将程序逻辑与页面的HTML标记分离开。正则表达式可以以非常简练的方式高效地完成复杂的文本处理工作。如果不使用正则表达式,做相同的文本处理需要耗费的资源(CPU周期、内存、开发时间)要多得多。精通正则表达式,就好像是掌握

2007-08-12 08:44:00 4337 1

原创 从Java到Ruby——我的最近一次技术转型

这里所涉及到的都是与软件开发有关的技术,感觉很有必要总结一下我从业以来所使用过的开发技术以及所经历过的几次技术转型。1996年7月-1999年10月3年时间一直使用C语言编写电信协议软件,算作我的C语言时代。其中还使用过一段时间SDL语言和基于SDL的代码自动生成工具(瑞典Telelogic公司的SDT)。2000年3月-2000年10月7个多月时间使用Perl语言做网站开发,算作我的Perl语言

2007-07-22 23:50:00 20337 23

原创 为何你应该选择Dojo?

目前Dojo在国内不是很普及,事实上,国内很多的DHTML/Ajax开发者非常讨厌Dojo,无论是因为不了解还是误解。 Dojo项目的负责人Alex在最新的一篇blog中,摆出了一副论战的架式,列举出了Dojo与其他流行的DHTML/Ajax组件库相比的优势。 http://dojotoolkit.com/book/dojo-book-0-9/introduction/why-dojo我个人其

2007-07-09 12:30:00 3540 2

原创 Windows取代浏览器,还是浏览器取代Windows?

10多年以来,萦绕在M$公司高管头脑中挥之不去的一个梦魇就是:有一天,也许浏览器将会取代Windows,Windows本身将不再重要。没有人再真正需要Windows,他们只需要一个浏览器。当10多年前Netscape的浏览器首次支持Java Applet,曾经有预言家说一个新的时代要开始了,在这个新的时代中,所有的应用都是基于浏览器建造的,Windows将不再重要。M$感到了巨大的威胁,动用他们所

2007-07-06 22:50:00 2620 2

原创 假如我确实喜欢HTML、CSS和JavaScript又将如何?

Ruby on Rails的创造者DHH最近写了一篇很有趣的blog,原文地址是在这里: http://www.37signals.com/svn/posts/487-what-if-i-actually-like-html-css-and-javascriptCSDN上有一篇图灵刘江老师blog,介绍了DHH的这篇blog: http://blog.csdn.net/turingbook/a

2007-06-30 11:33:00 7416 5

原创 Fielding关于REST的博士论文中文版正式发布

Roy Thomas Fielding博士是HTTP、URI等Web架构标准的主要设计者。他在2000年所著的博士论文中,首次系统全面地阐述了REST的架构风格和设计 思想。这篇论文是Web发展史上一篇非常重要的技术文献,所有做Web开发的开发者都应该熟读这篇论文,深刻理解Web架构和HTTP、URI等标准背后 的基本原理。这篇论文的中文版我们已经翻译校对完成,并且获得了Fielding博士的

2007-06-28 14:13:00 5722 2

原创 Comet实现的新选择

目前最强大的开源Comet解决方案是: Dojo+Jetty Cometd+Jetty Continuation+Bayeux协议一些相关的文档先放在这里,我就不多介绍了,大家都完全有能力读懂。 Jetty的作者,Servlet规范专家组成员Greg Wilkins写的两篇文章: Ajax, Comet and Jetty: http://www.webtide.com/downloads/w

2007-06-20 08:42:00 8170 2

原创 给热爱Ajax的朋友增添一些信心

现在Adobe和M$都推出了自己的RIA技术,有些朋友似乎对基于Web标准(XHTML/CSS/JavaScript/XMLHttpRequest/XML/JSON/XSLT/SVG...)的Ajax技术的前景的信心产生了动摇。其实我一直都不认为Adobe、M$等公司推出的RIA技术会对Ajax的前景造成巨大的威胁。它们的适用场合不是重叠的。实际上Adobe最新推 出的AIR(就是以前的Apo

2007-06-17 10:23:00 7658 8

原创 RIA+REST如何来化解Java的劣势

我在前面两篇blog中都说到:“REST是简化Java Web开发的良药”。Java的劣势在何处?与前些年相比,现在看的已经很清楚了,Java的劣势就在于做Web表现层的开发。Web表现层开发需求变化频繁,Java这类静态类型的语言不够敏捷,严重影响了开发的效率。而JavaEE的一个最大的缺点,就是企图在服务器端搞定一切,我将这种开发方式称作“传统集中式的开发方式”。标准的J2EE三层架构——We

2007-06-15 09:38:00 14861 12

原创 REST的主要优势到底是什么?

在JavaEye论坛上回答网友joyjiang的疑问:“REST的优势到底是什么?开发效率?文档的管理?url的直观?还是其它的什么优势呢?”REST的主要优势在我看来其实在于它是一种对于服务器的更加有效的抽象方式。对于基于网络的应用来说,你怎么样看待服务器,就会产生什么样的架构风格,随之产生与该架构风格相关的交互模式。RPC架构风格将服务器看作是由一些过程组成,客户端调用这些过程来执行特定的任务

2007-06-07 22:33:00 25260 15

原创 JavaEE到底忽略了什么?

读了Sun中国工程研究院的黄健昌的blog:与大家分享——JavaEE5与Glassfish应用服务器感觉JavaEE仍然忽略了一些非常重要的东西。JavaEE中的Web表现层仍然是与服务器端牢牢地绑死在一起的,在Ajax和各种RIA技术异军突起的今天,显得相当落伍。当然我不是想说任何Web应用都应该将表现层前推到客户端来做,我们需要具体问题具体分析。但是可以肯定,大部分Web应用都可以将表现层完

2007-06-02 10:54:00 9843 21

原创 微软收购网络广告公司aQuantive(转)

上个月转载过,Google收购了DoubleClick,现在M$也有动作了,他们以大约两倍的价格收购了aQuantive。微软CEO:谷歌和雅虎不如网景好对付中评社广州5月28日电/据国外媒体报道,微软CEO史蒂夫•鲍尔默日前表示,Google和雅虎要比当年的Netscape难对付,因为他们有真正的收入源。    本月18日,微软宣布以60亿美元现金收购网络广告公司aQuantive。很明显,微

2007-05-29 16:20:00 2363

原创 Fielding的论文已经翻译完成

Fielding关于REST的经典论文我们已经翻译完成,已经发给国内的一些专家做review。 我在两周后综合各位专家的review意见再做一次修订,然后就发给Fielding先生来发布。这篇论文绝对是所有做Web开发的人的必读,大家期待吧。 

2007-05-27 22:07:00 2724 1

原创 REST架构风格的性能为何比其他的架构风格更好

今天与一起翻译Fielding论文的朋友杨光讨论技术问题,杨光认为因为REST是基于文本来进行通信,所以其性能肯定不如基于二进制格式的通信协议好。因为这是一个对于REST的明显的误解,所以我觉得有必要专门在这里澄清一下。以下是我们的讨论内容,David是我,Allen是杨光。 David: 他们客户端用C#,服务器端用Java,准备用RIA+REST+Java的架构。C

2007-05-23 11:17:00 6546 9

原创 如果你不肯告诉我你的架构所做的假设,我就认为你是在有意行骗

Fielding先生在其博士论文中,明确地给出了REST架构风格所基于的一些基本的假设。事实上,在任何一种架构风格中都存在着一些基本的假设,当然,作为架构风格的实例的某种特定的架构中也包含了这些假设。Fielding先生本人并不认为REST是一种普适的“银弹”架构,我们也不要这样认为。EJB2.x的一个很大问题就是它并没有告诉开发者其架构所基于的假设,使得一些不明就里的开发者误以为EJB2.x就是

2007-05-22 22:11:00 2257 3

原创 给Ajax技术初学者的一些建议

Yu Sueng你好:我推荐你先看一下《Ajax实战》,然后再看看《征服Ajax——Dojo、Prototype、script.aculo.us框架解析与实例》。这两本书的内容我感觉都不错。Ajax的核心内容是XMLHttpRequest对象,只要掌握了这个对象的使用方法,就可以做一些简单的Ajax开发了。《Ajax实战》的内容非常丰富,不需要一次性全部看完,看到第3章,就可以开始看第二本书了

2007-05-10 00:01:00 7349 7

原创 读麦田反思BBS社区的文章有感

麦田写的这篇文章:反思BBS社区(1):mop到底为什么受挫感觉他说的有一些道理。按照JavaEye的robbin的观点,社区网站(包括bbs在内)确实是典型的Web 2.0网站。但是做社区能转化为成熟的商业模式的非常少,人气并不一定能转化为现金流,主要还是要看操盘手如何来运作。bbs是一个积聚人气的好的形式,目前国内的网友还是更习惯于在bbs中参与讨论或者灌水。但是麦田的看法也有一些偏颇之处。在

2007-05-07 23:35:00 2319

原创 一个成功的RIA技术需要满足的条件

不要将自己完全局限在现有技术的能力范围内,来跟我一起预测一下未来技术的发展趋势,看看一种理想的RIA技术应该满足哪些条件。我先来开个头。1. 与服务器的交互方式必需首先支持异步的交互。异步的交互才不会打断用户的操作。当然也可以同时支持同步的交互。 2. 所基于的新的媒体格式必需是基于文本的,这样的格式才可能对于搜索引擎友好。 3. 要能够充分支持REST风格的架构设计,允许开发者充分利用所有H

2007-05-05 20:30:00 2648 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除