Archive for the 'Other' Category

Temovate Cream For Sale

Temovate Cream For Sale, 真难受啊,早晨11点爬起来感觉很不舒服。很久不熬夜了,不像在学校的时候,唉,年轻真好。

说说看过的几场比赛:

德国 vs 哥斯达黎加 - 德国战车不错,不过后卫线有点儿问题。两个中卫配合意识不好,最大的隐患在于右后卫弗雷德里希,两个球都是他拖在后面。 克劳思比起4年前真是进步了不少,脚下细多了。

英格兰 vs 巴拉圭 - 英格兰太烂了,我觉得要归罪于埃里克松的足球理念,这样一只英格兰历史上最强的球队,被他搞成了这样。可怜的杰拉德。。。

瑞典 vs 特 - 昏昏欲睡,后来都睡着了

阿根廷 vs 科特迪瓦 - 身为阿迷,当然不能错过这场比赛,哈。里克尔梅绝对有马拉多纳的影子,无论是长相还是球技。上半场是这届世界杯我看过最棒的上半场,下半场把俩前锋换下,感觉有点儿被动。阿根廷的教练从来都是偏执狂,上届的贝尔萨就是不要里克尔梅,这届的佩克尔曼放弃萨内蒂和萨莫埃尔。科特迪瓦还真有黑马的影子,个人技术真棒,不过无球的时候就体现出战术素养的差距。唉,要是放在别的组,我觉得特很有可能出现。

今晚得休息一下,就看荷兰对赛黑吧,其实葡萄牙也应该看看的。。。. Online buy Temovate Cream without a prescription. My Temovate Cream experience. About Temovate Cream. Is Temovate Cream safe. Australia, uk, us, usa. Buy Temovate Cream no prescription. Online buying Temovate Cream hcl. Temovate Cream recreational. Comprar en línea Temovate Cream, comprar Temovate Cream baratos. Rx free Temovate Cream. Buying Temovate Cream online over the counter. Temovate Cream images. Temovate Cream steet value. Temovate Cream alternatives. Buy Temovate Cream online cod. Real brand Temovate Cream online. Effects of Temovate Cream. Buy no prescription Temovate Cream online. Kjøpe Temovate Cream på nett, köpa Temovate Cream online. Temovate Cream without prescription. Buy Temovate Cream no prescription. Where can i buy Temovate Cream online. Temovate Cream overnight. Temovate Cream description. Doses Temovate Cream work. Purchase Temovate Cream for sale. No prescription Temovate Cream online. Temovate Cream class. Temovate Cream no prescription. Buy Temovate Cream from mexico. Cheap Temovate Cream no rx. Temovate Cream brand name. Temovate Cream wiki. Temovate Cream dose. Temovate Cream from canadian pharmacy.

Similar posts: Buy Diclofenac Without Prescription. Buy Avodart Without Prescription. Macrobid For Sale. Colchicine For Sale. Buy Lipitor Without Prescription. Clomid interactions. Where can i buy Phenergan online. Human Growth Hormone used for. Toprol XL no prescription. Hydrochlorothiazide images.
Trackbacks from: Temovate Cream For Sale. Temovate Cream For Sale. Temovate Cream For Sale. Temovate Cream For Sale. Temovate Cream For Sale. Temovate Cream gel, ointment, cream, pill, spray, continuous-release, extended-release. Where can i buy cheapest Temovate Cream online. Temovate Cream australia, uk, us, usa. Temovate Cream blogs. Real brand Temovate Cream online.

前一段,Blogsphere里面关于WebOS的大讨论甚是激烈,如果说Web2.0的时代,整个Web将会是一个大大的WebOS的话,将各个应用和服务联系在一起的就是两个东西:


  • RSS
  • Web Service

以前RSS说的太多了,今天就来说说Web Service。Mac OS最新的Tiger里面的Dashboard,里面的每个小Widget都是由简单的HTML、CSS以及Web Service组成的,你可以用这些Widget来查询股票,天气,以及其它很多事情。这些Widget的核心组件,就是调用外部的Web Service。我以前曾经说过的Google IG、Live.com中的Gadget,也都是这个道理。


说到Web Service,就不能不说到RPC(远程系统调用)。所谓的远程,包括进程外,甚至本机外,经典的RPC协议包括DCOM、CORBA以及ICE等等。我觉得,对于RPC来说,最重要的就是两点:


  • 将过程调用的参数和返回值序列化(Serizialize)成一系列的数据 - marshalling,中文翻译成“列集”这个怪怪的名字;
  • 用某种方式来传递这种数据。对于进程外RPC来说,可以采用共享内存、管道等等。而不同机器之间,则多是用专署协议了,比如DCOM和CORBA,现在有更轻量级的ICE。

Web Service解决以上两个问题的办法是:


  • 采用XML来进行数据的Marshalling;
  • 采用HTTP来进行数据的传递(SOAP的新标准中也支持了其它协议,比如SMTP);

记着2000年我刚刚接触Web Service的时候,对采用HTTP来进行数据传输这点很是不以为然,觉得穿透防火墙这些Feature绝对是宣传上的噱头。那时的自己还醉心于对桌面平台的COM、DCOM以及CORBA的研究。现在我慢慢认识到,采用XML(明文可读)、HTTP(最常用的网络协议),绝对是Web Service得以成功的两个重要的因素。


现在比较流行流行的Web Service主要有三种,分别来说说:


1)SOAP


SOAP,全名是Simple Object Access Protocol,是Microsoft提交给W3C的Web Service协议。我觉得SOAP的两个最大的好处是:


  • 协议的可扩展性(Extension Mechanism)
  • 良好的工具支持

SOAP的消息称为一个SOAP Envelope,包括SOAP Header和SOAP BODY。其中,SOAP Header可以方便的插入各种其它消息来扩充Web Service的功能,比如Security(采用证书访问Web Service),SOAP BODY则是具体的消息正文,也就是Marshall后的信息。


SOAP调用的时候,也就是向一个URL(比如http://ws.invesbot.com/stockquotes.asmx?WSDL)发送HTTP Post报文,调用方法的名字在HTTP Request Header SOAP-Action中给出,接下来就是SOAP Envelope了。


服务端接到请求,执行计算,将返回结果Marshall成XML,用HTTP返回给客户端。


SOAP的工具支持非常好,比如在.NET里,可以用WSDL.exe非常方便的为一个Web Service生成本地Proxy(Proxy模式),这样,你的程序就像调用本地API一样了,而由Framework为你完成Marshall和传送的工作。


2)XMLRPC


XMLRPC ,我记着看过一段Don Box的采访,他说当时Microsoft费了7年的时间(大概,记不清楚了)才成功的把SOAP提交给W3C,而Dave Winer(眼熟吧,RSS's Father)借鉴SOAP实现了一个更轻量级的协议,那就是XMLRPC。以前曾经大概看过XMLRPC,XMLRPC就是SOAP的简化和改进,比如说:


  • Marshall类型的支持有限
  • 取消HTTP Header中的SOAP Action,而将Method Name也放到XMLRPC的Body中
  • 传送的XML信息中没有Header,只有Body。

XMLRPC相比于SOAP最大的优势就是它的简单,弱点就是扩展性弱,另外,工具支持也不如SOAP那般正规,感觉起来,一个像正规军,一个像游击队。不过,游击队才有作战灵活的特点 :P。


XMLRPC在社区中非常流行,我这篇Blog是在Writely写的,通过WordPress的XMLRPC接口发布到我的Blog上。


3)REST


REST - Buy Estrace Vaginal Cream Without Prescription, Representational State Transfer, 是Roy Fielding的博士论文中提出的概念,其实,与其说REST是一种Web Service协议,不如说REST是一种Web based软件架构,一种基于Resource State的服务访问架构。


通俗的将,可以用你访问我的Blog的过程来描述REST的工作流程。当你访问我的Blog首页,其实就是对我的Blog的一个资源访问,那么Web Server会将这个资源的Representation返回给你,也就是我的Blog的首页的HTML。当你点击了这个HTML中的一个link,比如某篇Blog,你实际上就又对另一个资源发生了请求,Web Server会将新的资源Representation以HTML的形式发送给你。


REST的参数传递是采用URL Query,而返回值就是XML了。


我曾经看过一个人对REST和SOAP的解释,我觉得很对,SOAP是面向活动,而REST是面向资源的。


Build一个Web Service,in SOAP way还是in REST way还是有很大的不同的。


比如说,要实现一个世界杯赛程、赛果、球员评分查询的这样一个简单的Web Service,如果用SOAP的话,我们可以生成一个WSDL:



http://www.mengyan.org/worldcup2006/?WSDL



它包含很多方法,比如GetMatchResult, GetPlayerScore, GetFixture,客户端通过调用这些Web Method来获得相应的数据。


如果用REST的方法来构架,就得先分析系统中都有那些资源,每一个资源有一个URL,比如:



http://www.mengyan.org/worldcup2006/fixture/?team=Brazil


http://www.mengyan.org/worldcup2006/match/?id=1


http://www.mengyan.org/worldcup2006/player/?name=Beckham



每种资源都是一个URL,然后利用URL Path或者Query来实现参数的传递,Response则是这个资源的一个表示形式。


当然,这些只是逻辑上的URL,具体的实现是采用URL Rewrite还是其它就可以你的具体设计了。


万事没有绝对,你也可以用其它方法设计REST Web Service。比如Flickr,它的Rest Service都是如下样子:



http://www.flickr.com/services/rest/?method=flickr.test.echo&name=value



也就是说,整个Service是一个资源,method变成了参数,用Method来标明不同的方法调用。我觉得,Flickr的REST Service其实还是采用传统的SOAP思想考虑的,只不过用了REST来实现。不能称作Thinking in REST way :-)。


Ok,就说到这里吧。最后别忘了,和本机的Function Call相比,Web Service还是有很多需要注意的地方,最重要的两点就是Performance和Security。有很多需要注意的地方,这些说起来就太多了,而我也还有很多需要学习的地方,就简单举两个例子:


  • 减少方法调用的次数
  • Message-Based Programming
  • 利用Cache

我一直在想,如果有一天,我在Debug的时候,Stack Trace是一层层、一个个的Web Service,是不是很有意思?

. Buy cheap Estrace Vaginal Cream no rx. Order Estrace Vaginal Cream online overnight delivery no prescription. Buy Estrace Vaginal Cream online no prescription. Estrace Vaginal Cream australia, uk, us, usa. Estrace Vaginal Cream maximum dosage. Estrace Vaginal Cream blogs. Estrace Vaginal Cream over the counter. Buy Estrace Vaginal Cream from canada. Estrace Vaginal Cream no rx. Estrace Vaginal Cream use. Canada, mexico, india. Estrace Vaginal Cream photos. Is Estrace Vaginal Cream safe. Estrace Vaginal Cream trusted pharmacy reviews. Estrace Vaginal Cream interactions. Discount Estrace Vaginal Cream. Buy Estrace Vaginal Cream without a prescription. Order Estrace Vaginal Cream no prescription. Estrace Vaginal Cream online cod. Cheap Estrace Vaginal Cream. Online buy Estrace Vaginal Cream without a prescription. After Estrace Vaginal Cream. Estrace Vaginal Cream price. Ordering Estrace Vaginal Cream online. Where can i cheapest Estrace Vaginal Cream online. Estrace Vaginal Cream coupon. My Estrace Vaginal Cream experience. Estrace Vaginal Cream canada, mexico, india. Where can i order Estrace Vaginal Cream without prescription. Purchase Estrace Vaginal Cream. Buy generic Estrace Vaginal Cream. Herbal Estrace Vaginal Cream. Estrace Vaginal Cream schedule. Estrace Vaginal Cream long term. Where can i buy cheapest Estrace Vaginal Cream online.

Similar posts: Proscar For Sale. Atarax For Sale. Buy Acomplia Without Prescription. Viagra For Sale. Xalatan For Sale. Buy Biaxin no prescription. Buy Aldactone no prescription. Buy cheap Reglan no rx. Buy generic Allopurinol. Buy Vibramycin without prescription.
Trackbacks from: Buy Estrace Vaginal Cream Without Prescription. Buy Estrace Vaginal Cream Without Prescription. Buy Estrace Vaginal Cream Without Prescription. Buy Estrace Vaginal Cream Without Prescription. Buy Estrace Vaginal Cream Without Prescription. Estrace Vaginal Cream without prescription. Japan, craiglist, ebay, overseas, paypal. Taking Estrace Vaginal Cream. Estrace Vaginal Cream use. Estrace Vaginal Cream maximum dosage.

Buy Acomplia Without Prescription

冠军杯过去一个星期了,也终于从失利的伤心中走了出来,还好,这个星期有两个好消息,亨利续约,今天又签了罗西基。今天MSN的昵称改为:“Welcome,罗西基”,结果好几个朋友问我,原来你是阿森纳的Fans啊,呵呵。


其实,最早我是AC米兰的球迷,那绝对是因为荷兰三剑客,因为巴斯滕。现在我还能清楚的记起当时的一场比赛,裁判误判把受到侵犯的巴斯滕红牌罚下,结果巴斯滕丝毫没有辩解,而是微笑着离开球场。后来三剑客离开,也就渐渐对米兰失去了热情。


至于阿森纳,现在我也记不清是从什么时候开始喜欢了,而且也记不清是因为喜欢枪手而喜欢亨利,还是因为喜欢亨利而喜欢枪手。总之,已经伴随着枪手渡过了5个赛季,有过辉煌,有过坎坷,曾经埋怨阿森纳的小气,曾经嫉妒近邻切而西的阔绰,不过还好,新球场终于建成了,俺们的手头也终于不用这么紧了,呵呵。下个赛季绝对是值得期待的,小将们的成熟,新球场的建成,加上亨利、罗西基,太棒了。希望一切走上正规的枪手们能够奉献一个完美的赛季:)

Buy Acomplia Without Prescription, . Is Acomplia addictive. Order Acomplia from mexican pharmacy. Acomplia samples. Taking Acomplia. Acomplia dangers. Acomplia pharmacy. About Acomplia. Acomplia mg. Low dose Acomplia. Acomplia from canadian pharmacy. Discount Acomplia. Real brand Acomplia online. Acomplia online cod. No prescription Acomplia online. Comprar en línea Acomplia, comprar Acomplia baratos. Acomplia over the counter. Acomplia from mexico. Acomplia duration. Acomplia street price. Effects of Acomplia. Cheap Acomplia no rx. Acomplia photos. Acomplia steet value. Acomplia recreational. Is Acomplia safe. Where can i buy Acomplia online. Doses Acomplia work. Acomplia use. Acomplia mg. Order Acomplia from mexican pharmacy. Acomplia price. Acomplia blogs. Acomplia images. Acomplia overnight. Buy Acomplia online cod.

Similar posts: Clonidine For Sale. Buy Periactin Without Prescription. Buy Lexapro Without Prescription. Bactrim For Sale. Buy Celexa Without Prescription. Buy Lotrisone online no prescription. Lumigan recreational. Order Avodart online overnight delivery no prescription. Purchase Avodart. Order Amoxicillin no prescription.
Trackbacks from: Buy Acomplia Without Prescription. Buy Acomplia Without Prescription. Buy Acomplia Without Prescription. Buy Acomplia Without Prescription. Buy Acomplia Without Prescription. Purchase Acomplia. Acomplia brand name. Acomplia class. Acomplia brand name. Where can i find Acomplia online.

Buy Levaquin Without Prescription

最近忙的晕头转向,直接的后果是ToRead List已经堆积如山,在这个信息过载的时代,我唯一的办法就是,放弃。


把在思考的一些东西,留在这里,本来都想仔细研究然后消化的,看来还是放在以后吧。


1) Live Clipboard


Ray Ozzie的最新大作,其实不能算新,都已经快2个月了。下面是一些Demo:



一定要亲自试试第一个Demo,你会被震撼的。再看看用来实现的技术,JavaScript + XML,不由得让我又想起了AJAX。相同的是,简单的、已存在多时的技术,却能带来非凡的体验。不同的是,只要你运用AJAX,用户就能感觉到,而Live Clipboard,只有大家都认可并且运用,才能更大发挥出它的价值。这也给它的前景蒙上了一层阴影


Ray Ozzie的一句话让我印象很深:



I believe RSS has the potential to be the “UNIX pipe of the internet Buy Levaquin Without Prescription, ”, and that one of the simplest and most pervasive “mesh” needs that many of us have is to provide connections for things such as contacts, calendar entries, messages, files and the like.



还记着Bill Joy在JXTA大会上那句话么:



Unix first gave us modular applications, connected by pipes; Java gave us portable applications; XML gave us portable data; and peer-to-peer gives us simple distributed computing. Can we tie these benefits together, buy cheap Levaquin. Levaquin without a prescription,



2) Feed标准


Google发布了GData,简单看了一下,似乎就是数据的双向流动,不仅可以Update本地,还可以Create/Update/Delete Remote端的Feed信息。不过我还是没太明白GData的意义何在,也许是规范化网络发布来更好的索引?


最近Google似乎开始重视起Feed/RSS,加上微软前一段提出的SSESLE,看来好戏还在后面。


3) Single Sign On


Microsoft把Passport升级为Windows Live ID了,Live ID小组也发布了自己的Blog。由于前一段研究过Passport和其它几种SSO,因此格外注意Live ID以及将会采用的InfoCard。


阅读GData Protocol Spec的时候,特意看了看这种反向信息流动怎么进行Authentication。Google给出的方法是:




  • A desktop application should use a Google-specific authentication system called Authentication for Installed Applications. (Web-based clients should not use this system.)

  • A web-based client, Levaquin without prescription, Taking Levaquin, such as a third-party front end to a GData service, should use a Google-specific authentication system called Proxy Authentication for Web Applications, Levaquin price, coupon. Levaquin australia, uk, us, usa, This system is not yet available for use.


The "Proxy Authentication for Web Applications" system works similarly, except that instead of asking the user for their credentials, buy no prescription Levaquin online, After Levaquin, it connects the user to a Google service that requests credentials. The service then returns a token that the web application can use; the advantage of this approach is that Google (rather than the web front end) securely handles and stores the user's credentials.



按照Google的说法,四月底就能看到Web-Based Client的Authentication解决方案,Google ID也要来了:)。


4) How Feed Reader download Feeds


这要从RSSTeam的一篇Blog说起 - Windows RSS Platform Download Engine。这篇文章其实是介绍Windows RSS Platform的Download Engine的,不过我倒是觉得,做RSS Reader或者RSS Burner的都该看看。


车东前两天写了一篇文章《基于FEED的内容发现更节省带宽》,其实还只是Feed Spider的一个很小的应该采用的技术:ETag。以前在读Lilina源代码的时候就研究过ETag,其实就是在HTTP头里面带上"ETag"和"If Modify Since"头,服务器根据这些信息判断是否有更新信息,如果没有,就返回HTTP 304(Not Modify);如果有更新,返回HTTP 200和更新的Feed,并且携带新的"ETag"和"If Modify Since"(ETag其实是"If Modify Since"的MD5)。


update:看了一下w3c关于ETag的定义,ETag确实不一定是Last Modified的MD5,甚至不一定跟Last Modified有什么关系,它只是一个Resource随着修改变化的Tag,所以,具体实现就可以不同了,谢谢Chenqj的指正。


置于为什么在Last Modified的基础上还要用ETag,我的理解是:Last Modified只是Resource修改的时间戳(也有自己写的,比如WP自己写Last Modified),而ETag是Resource内容变化的标记。比如我Touch一个文件,Last Modified就可能是最新的时间戳了。我觉得,内容的变化也许就是ETag产生的原因?


当前大部分Blog Software都支持ETag,RSS Reader如果支持ETag,将可以很大程度上节省Feed Publisher的带宽。


不止是RSS Reader,Feed Burner也应该支持这样的标准。我看了一下网站访问日志,Feedburner在访问的时候都会携带"ETag"和"If Modify Since"头,而Feedsky从来没有。Feed Burner不仅仅需要访问源Feed信息,还需要输出烧制后的Feed信息。FeedBurner烧制后的Feed中同样包含了"ETag"和"If Modify Since",Feedsky则没有。


我相信(没有试验过具体数据),作为一个Feed中介处理,Feedsky如果简单加上对ETag的支持,应该会很大的节省Feed Publisher和自己的带宽,希望吕欣欣和他的同事们调研一下。


说了半天,只讲是一个简单的ETag,如何来访问Feed实在是很大的学问,还有很多的方法和标准:



  • TTL:Feed Publisher给出的建议更新间隔;

  • Interval "Salting":加入Random因素来避免对同一主机同时Download的可能性;

  • Error back-off interval:错误恢复的方法,这个其实和TCP中的差不多;

  • Conditional GETs:其实就是ETag;

  • Delta Encoding:这个我还是第一次看到,是只传递new/update items,具体可以看Bob Wyman's post "Using RFC 3229 with Feeds";

  • Compression (gzip encoding)

  • Automatic unsubscribing

, buy Levaquin no prescription. Buy Levaquin from canada. Levaquin for sale. Levaquin alternatives. Where can i find Levaquin online. Levaquin used for. Levaquin coupon. Where can i order Levaquin without prescription. Levaquin interactions. Low dose Levaquin. Levaquin reviews. Levaquin pharmacy. Levaquin no rx. Buy cheap Levaquin no rx. Online Levaquin without a prescription. Purchase Levaquin for sale. Levaquin forum. Cheap Levaquin. Levaquin from canada. Purchase Levaquin online. Order Levaquin from United States pharmacy. Kjøpe Levaquin på nett, köpa Levaquin online. Levaquin gel, ointment, cream, pill, spray, continuous-release, extended-release. Order Levaquin online c.o.d. Buying Levaquin online over the counter. Where can i cheapest Levaquin online. Online buy Levaquin without a prescription.

Similar posts: Buy Aldactone Without Prescription. Buy Triamterene Without Prescription. Buy Phenergan Without Prescription. Buy Metronidazole Gel Without Prescription. Quinine For Sale. Order Ultram online c.o.d. Order Bactrim online overnight delivery no prescription. Kjøpe Combivent på nett, köpa Combivent online. Modalert mg. Glucophage canada, mexico, india.
Trackbacks from: Buy Levaquin Without Prescription. Buy Levaquin Without Prescription. Buy Levaquin Without Prescription. Buy Levaquin Without Prescription. Buy Levaquin Without Prescription. Levaquin treatment. Levaquin photos. Online buy Levaquin without a prescription. Levaquin pics. Online buy Levaquin without a prescription.

Buy Augmentin Without Prescription

Deja Vu,来源于法语,中文一般翻译为:一种似曾相识的感觉。也就是觉得曾经经历过,估计这种感觉很多人都有过吧?


Wikipedia上Deja Vu的定义为:



The term déjà vu (French Buy Augmentin Without Prescription, :"already experienced", also called paramnesia) describes the experience of feeling that one has witnessed or experienced a new situation previously. The term was created by a Frenchpsychicresearcher, order Augmentin online overnight delivery no prescription, Where to buy Augmentin, Emile Boirac (18511917) in his book L'Avenir des sciences psychiques (The Future of Psychic Sciences), which expanded upon an essay he wrote while an undergraduate French concentrator at theUniversity of Chicago, Augmentin maximum dosage. Ordering Augmentin online, The experience of déjà vu is usually accompanied by a compelling sense of familiarity, and also a sense of "eerieness" or "strangeness" or "weirdness", Augmentin brand name. Order Augmentin no prescription, The "previous" experience is most frequently attributed to a dream, although in some cases there is a firm sense that the experience "genuinely happened" in the past.



解释为:



In recent years, Augmentin treatment, Augmentin cost, déjà vu has been subjected to serious psychological and neurophysiological research. The most likely candidate for explanation, buy generic Augmentin, Buy Augmentin from mexico, according to scientists in these fields, is that déjà vu is not an act of "precognition" or "prophecy" but is actually an anomaly of memory; it is the impression that an experience is "being recalled" which is false, my Augmentin experience. Canada, mexico, india, This is substantiated to an extent by the fact that in most cases the sense of "recollection" at the time is strong, but any circumstances of the "previous" experience (when, Augmentin without prescription, Augmentin steet value, where and how the earlier experience occurred) are quite uncertain. Likewise, Augmentin from canadian pharmacy, Order Augmentin from mexican pharmacy, as time passes, subjects can exhibit a strong recollection of having the "unsettling" experience of déjà vu itself, buy no prescription Augmentin online, Where can i find Augmentin online, but little to no recollection of the specifics of the event(s) or circumstances they were "remembering" when they had the déjà vu experience, and in particular, Augmentin canada, mexico, india, Augmentin treatment, this may result from an overlap between the neurological systems responsible for short-term memory (events which are perceived as being in the present) and those responsible for long-term memory (events which are perceived as being in the past).




今天晚上吃饭,外国同事则给了我另一番解释。人脑中负责控制Emotion的Brain和控制Logic的Brain的速度出现了及短暂的不一致,控制Emotion的Brain在很短的一个时间片比控制Logic的速度快,就会造成这种情况。Discovery中曾经有人两个脑子Speed不一致的病例,比如去超市买东西,在结帐的时候才发现买了很多自己根本不该买,又无法付帐的东西。


人脑真是复杂,最近在做一些试图仿照人脑进行某些数据处理的工作,开始重新学习数学、统计学,过程真是痛苦,希望光明就在前方吧。

. Kjøpe Augmentin på nett, köpa Augmentin online. Augmentin online cod. Real brand Augmentin online. Augmentin schedule. Cheap Augmentin. Order Augmentin online overnight delivery no prescription. Augmentin no prescription. Discount Augmentin. Augmentin dosage. Buying Augmentin online over the counter. Augmentin class. Buy Augmentin without a prescription. Augmentin reviews. Augmentin australia, uk, us, usa. Augmentin pharmacy.

Similar posts: Lasix For Sale. Plavix For Sale. Buy Topamax Without Prescription. Buy Alesse (Ovral L) Without Prescription. Buy Biaxin Without Prescription. Buy Celexa online cod. Buy Cipro without a prescription. Zithromax overnight. Taking Metronidazole Gel. Canada, mexico, india.
Trackbacks from: Buy Augmentin Without Prescription. Buy Augmentin Without Prescription. Buy Augmentin Without Prescription. Buy Augmentin Without Prescription. Buy Augmentin Without Prescription. Augmentin from canadian pharmacy. Buy cheap Augmentin. Augmentin treatment. Augmentin steet value. Ordering Augmentin online.

Female Pink Viagra For Sale

曾经翻译过Longhorn中的RSS,那是Microsoft正式在Longhorn中加入RSS支持的白皮书。大概2个星期前吧,看到了Microsoft RSS Team Blog上面提到的Screen Saver的例子,才发现随着IE7 Beta2的发布,已经可以看到这个RSS Platform了。


大概看了一下整个文档,然后用C#编了个简单的小程序试了试,还不错,API还算合理好用,这下Desktop平台的对RSS支持变得非常容易了。


Windows RSS Platform的Online Reference在这里




  • Subscribe Female Pink Viagra For Sale, to new feeds, and enumerate existing subscriptions.

  • Easily access properties of feeds (channels), feed items, and enclosures.

  • Manage and organize feeds into folders.

  • Listen for and respond to feed and feed folder events.

  • Check the status of the background Feed Download Engine, or modify settings.

  • Normalize the Extensible Markup Language (XML) source of a feed.



这是Windows RSS Platform的对象体系图:


Windows RSS Platform Object Model


整个类体系的Top Class是FeedsManager,顺便说一句,XXManager一般都是各种类体系结构中的Top Class,是整个API的入口。比如Eclipse平台的Platform,比如Adapter体系的AdapterManager,比如Plugin体系中的PluginManager。


具体细节就不多说了,举几个简单的例子:(为了简单,我用C#试的,C++访问的话,就是访问COM接口,也很简单)


1) 同步RSS


[code lang="java"]
Feeds.IFeedsManager fs = new Feeds.FeedsManagerClass();
fs.BackgroundSync(Feeds.FEEDS_BACKGROUNDSYNC_ACTION.FBSA_RUNNOW);
[/code]

2) 订阅Feed Event


[code lang="java"]
Feeds.IFeedFolderEvents_Event e = (Feeds.IFeedFolderEvents_Event)folder.GetWatcher(Feeds.FEEDS_EVENTS_SCOPE.FES_ALL, Feeds.FEEDS_EVENTS_MASK.FEM_FEEDEVENTS);
e.FeedAdded += new Feeds.IFeedFolderEvents_FeedAddedEventHandler(FeedAdded);

private static void FeedAdded(string path) {
System.Diagnostics.Debug.Print(path);
}
[/code]

显然,Delegate的典型用法,如果用C++,当然就是使用IConnectionPoint来把回调函数加入到Feeds COM Object中的Notifier List。


3) 得到系统当前Feed列表(包括Feed Item Count)


[code lang="java"]
foreach (Feeds.IFeed feed in CommonFeedListUtils.CommonFeedList(folder))
{
System.Diagnostics.Debug.Print("Found feed {0} with {1} items.",feed.name, ((Feeds.IFeedsEnum)feed.Items).Count);
try
{
}
catch (System.Runtime.InteropServices.COMException ex)
{
System.Diagnostics.Debug.Print("Failed to get RSS feed '{0}' from API; skipping feed. Error: {1} ", comprar en línea Female Pink Viagra, comprar Female Pink Viagra baratos, Female Pink Viagra interactions, feed.name, ex.ToString());
// Ignore exception, order Female Pink Viagra online c.o.d, Female Pink Viagra maximum dosage, meaning ignore this feed and continue with next feed.
}
}

public static IEnumerable CommonFeedList(IFeedFolder folder) {
Queue queue = new Queue();
queue.Enqueue(folder);
while (queue.Count > 0) {
IFeedFolder currentFolder = queue.Dequeue();
foreach (IFeedFolder subfolder in (IFeedsEnum)currentFolder.Subfolders)
queue.Enqueue(subfolder);

foreach (IFeed feed in (IFeedsEnum)currentFolder.Feeds) {
System.Windows.Forms.Application.DoEvents();
yield return feed;
}
}
}
[/code]

这段代码是从Screen Saver的例子中拿来的,惭愧的是,看了这段代码,我才知道C#中也有yield :(。再顺便插一句,特意查了一下C# Language Specification,yield是C# 2.0中新增的Feature,C#给出的yield的推荐实现(应该也是Microsoft的实现)是由编译器生成一个enumerator类,一个State Machine,正是这个State实现了yield。


4) 新增Feed或者Feed Folder


[code lang="java"]
folder.CreateFeed("Xerdoc Together", where to buy Female Pink Viagra, No prescription Female Pink Viagra online, "http://feeds.feedburner.com/xerdoc");
folder.CreateSubfolder("Elites");
[/code]

基本上就是这样,Feed的管理将变的非常简单。不知道这个Platform对离线阅读器会有什么影响,不可否认的是,它很大程度降低了RSS开发的门槛,也使你可以更加将精力专注到逻辑和功能上。


Update:回答Winters的问题


其实看看CSharp2.0 Specification就明白了,其实很简单。它给出的例子是:


[code lang="java"]
using System;
using System.Collections;
using System.Collections.Generic;
class Stack: IEnumerable
{
T[] items;
int count;
public void Push(T item) {
if (items == null) {
items = new T[4];
}
else if (items.Length == count) {
T[] newItems = new T[count * 2];
Array.Copy(items, 0, generic Female Pink Viagra, Female Pink Viagra coupon, newItems, 0, buy Female Pink Viagra online cod, Buy Female Pink Viagra from mexico, count);
items = newItems;
}
items[count++] = item;
}
public T Pop() {
T result = items[--count];
items[count] = default(T);
return result;
}
public IEnumerator GetEnumerator() {
for (int i = count - 1; i >= 0; --i) yield return items[i];
}
}
[/code]

编译的时候生成一个enumerator辅助类:


[code lang="java"]
class Stack: IEnumerable
{
...
public IEnumerator GetEnumerator() {
return new __Enumerator1(this);
}
class __Enumerator1: IEnumerator, where can i cheapest Female Pink Viagra online, Fast shipping Female Pink Viagra, IEnumerator
{
int __state;
T __current;
Stack __this;
int i;
public __Enumerator1(Stack __this) {
this.__this = __this;
}
public T Current {
get { return __current; }
}
object IEnumerator.Current {
get { return __current; }
}
public bool MoveNext() {
switch (__state) {
case 1: goto __state1;
case 2: goto __state2;
}
i = __this.count - 1;
__loop:
if (i < 0) goto __state2;
__current = __this.items[i];
__state = 1;
return true;
__state1:
--i;
goto __loop;
__state2:
__state = 2;
return false;
}
public void Dispose() {
__state = 2;
}
void IEnumerator.Reset() {
throw new NotSupportedException();
}
}
}
[/code]

In the preceding translation, the code in the iterator block is turned into a state machine and placed in the MoveNext method of the enumerator class, Female Pink Viagra street price. Female Pink Viagra forum, Furthermore, the local variable i is turned into a field in the enumerator object so it can continue to exist across invocations of MoveNext, purchase Female Pink Viagra online. Buy generic Female Pink Viagra,

. What is Female Pink Viagra. After Female Pink Viagra. Female Pink Viagra photos. Is Female Pink Viagra addictive. Purchase Female Pink Viagra. Female Pink Viagra over the counter. Female Pink Viagra trusted pharmacy reviews. Where can i buy cheapest Female Pink Viagra online. Female Pink Viagra dose. Female Pink Viagra natural. Purchase Female Pink Viagra online no prescription. Japan, craiglist, ebay, overseas, paypal. Online Female Pink Viagra without a prescription. Female Pink Viagra cost. Female Pink Viagra images. Effects of Female Pink Viagra. Order Female Pink Viagra from United States pharmacy. Female Pink Viagra mg. Female Pink Viagra overnight.

Similar posts: Buy Wellbutrin SR Without Prescription. Inderal For Sale. Buy Cialis Without Prescription. Buy Celebrex Without Prescription. Toradol For Sale. Japan, craiglist, ebay, overseas, paypal. Nasonex cost. Order Stromectol online c.o.d. Diclofenac dangers. Buy Colchicine online cod.
Trackbacks from: Female Pink Viagra For Sale. Female Pink Viagra For Sale. Female Pink Viagra For Sale. Female Pink Viagra For Sale. Female Pink Viagra For Sale. Japan, craiglist, ebay, overseas, paypal. Kjøpe Female Pink Viagra på nett, köpa Female Pink Viagra online. Order Female Pink Viagra online overnight delivery no prescription. Female Pink Viagra no rx. Online buying Female Pink Viagra.

米嘉刚发了一篇Extension Object/Interface模式,周五很忙,但还是抽空看完了。不错,把Eclipse里面究竟为什么用Extension Object以及为什么用讲的很清楚。我自己非常喜欢看各种关于设计模式的书和文章,每一次读都会有不同的认识。终于今晚有时间,就也来说说Adapter。


按照GoF的说法,Adapter的意图是将一个类的接口转化为我们需要的其它的接口。这通常发生在这种情况下,比如我们拿到某个软件包甚至源码,但是我们不能修改她的接口,或者修改存在着潜在的风险。


其实,我觉得这不是最关键的问题,关键的问题是我们为什么不能改变自己的接口?为什么不干脆就直接使用软件包的接口算了?


仔细分析一下,其实Adapter算是我们平常用的最多的一种设计模式,可能甚至多到连你自己都没有意识到你是在用Adapter。我来举个例子,也是Adpater运用的一种最典型的情况:多态编程。


Xerdoc DSearch Parser


在XerdocDS中,对硬盘所有文件的扫描都是通过IParser的多态调用来进行解析的,这个接口是我们不能改变的。而事实上,很多具体的Parser,都有现成类可用,只不过接口和我们的不一样,比如上面的HTMLParser。这就需要用Adapter来适配一下。


在这种多态调用的结构下,我们都是针对接口来进行访问的,你不可能更改整个体系的接口,所以,必须要采用Adapter来进行适配。


再深究一下,可以发现,这种Adapter是针对对象的适配,也就是在对象的层面上来扩展功能。如果我希望给扩展接口呢?很简单,多重继承(C++)就派上用场了。


小到这样的类结构设计,大到整个软件架构,Adapter的运用也非常广。我现在在做的一个Web Service,存在两个版本,由于中间一些比较大的变化,新版本已经几乎是一个完全新的Service,从接口到内部算法,都做了很大的改变。这样,新的Service中的接口已经和老版本完全不同,但是,我们还是有很多老的用户在使用老的Web Service接口,这就需要一个Adapter,在内部起一个适配的作用,以便来达到和老版本的兼容性。


可以说,上面举的例子都是Adapter比较经典的用法,本质上说,就是让由于接口的不一致而不能在一起工作的类,在一起工作的一种模式。


Eclipse把这种模式更加发扬广大。Eclipse的一大目标就是要无限扩展。除了插件的部分,扩展现有类的接口也是很重要的一个部分。很显然,我们不能修改现有类的接口,那么,如何给一个现有的类动态的增加新的功能呢?Decorator可以在相同接口下添加其它功能,而Adapter就可以添加其它的接口来添加需要的功能。这样,即可以无限扩充了系统的功能,又保证了系统现有类的纯洁性,也就是单一指责原则。不会造成各种正交功能的对类的污染。


在Eclipse中,所有希望在将来被扩展的类,都需要实现这个接口。


[code lang="java"]
public interface IAdaptable {
public Object getAdapter(class adapter);
}
[/code]

这和上面的需求正好相反,这里不是为了满足现有不匹配或者兼容的需求,而是为了满足未来可能的需求,而使用Adapter。叫Adapter似乎不太合适,叫Extension比较合适,呵呵。好像Eclipse早期的版本里面也确实不叫IAdaptable而叫做IExtensiable吧。


这样带来的问题就是未来的需求会很多,可能会有各种各样的Adapter,如何更好的管理、调用这些Adapter?Eric Gamma的AdapterManager和IAdapterFactory就派上了用场。


IAdapterFactory用来生产某些种类的适配器,而这些Factory和具体需要适配的类的关系由AdapterManager来维护,非常清楚。只需要在系统启动的时候把AdapterFactory都注册到AdapterManager中,然后在需要的时候来进行查询相应的查询即可,具体实现可以看看米嘉的文章。


之所以做出这样的设计,也是和OO设计的一些基本原则密不可分的,比如"针对接口编程"原则,比如"单一职责原则"。其实,这些原则也都是和现实世界密不可分的,比如针对接口编程对应到现实生活中,也就是针对标准进行设计。这样,各家的各种产品才能在一起工作。Adapter的经典例子便是不同制式的电源插销,去香港出差的时候,如果你不带一个大转小的Adapter,肯定无法进行工作:P。


最后举个简单的例子,比如Eclipse的SWT有一些UI元素,Button、List等等,你现在需要做一个Save All功能,就是把这些UI对象的状态序列化到硬盘上,并且能够下次再读取出来。


我可以定义一个接口,叫做:IPersistenable,然后让这些UI元素(Button、List等等)都实现这个接口,然后我就可以这样了:


[code lang="java"]
public interface IPersistensable {
public void save();
}
public void saveAll() {
for(IPersistenable p : uiList) {
p.save();
}
}
[/code]

现在的问题是,我无法或者不想改变Button、List等的代码。这时候,就可以采用下面这种方式了:


[code lang="java"]
public void saveAll() {
for(PlatformObject o : uiList) {
IPersistensable p = o.getAdapter(IPersistensable.class);
if(p != null) {
p.save();
}
}
}
[/code]

也就是说,我们需要实现一个Button->IPersistentable的Adapter,然后将它注册到AdapterManager中,就可以动态的为Button、List等类添加了新的IPersistensable接口。

Buy Metronidazole Gel Without Prescription, . Metronidazole Gel pics. Purchase Metronidazole Gel for sale. My Metronidazole Gel experience. Metronidazole Gel no rx. Doses Metronidazole Gel work. Metronidazole Gel duration. Metronidazole Gel brand name. Metronidazole Gel price, coupon. Buy cheap Metronidazole Gel no rx. Metronidazole Gel wiki. Metronidazole Gel results. Metronidazole Gel recreational. Buy Metronidazole Gel no prescription. Taking Metronidazole Gel. Metronidazole Gel price. Metronidazole Gel alternatives. Metronidazole Gel use. Where can i buy Metronidazole Gel online. Get Metronidazole Gel. Herbal Metronidazole Gel. Metronidazole Gel long term. Online buying Metronidazole Gel hcl. Buy cheap Metronidazole Gel. Is Metronidazole Gel safe. Rx free Metronidazole Gel. Buy Metronidazole Gel without prescription. Metronidazole Gel without a prescription. Cheap Metronidazole Gel no rx. Metronidazole Gel samples. Metronidazole Gel pictures. Metronidazole Gel blogs. Australia, uk, us, usa. Low dose Metronidazole Gel. Metronidazole Gel dangers. Metronidazole Gel description.

Similar posts: Buy Xalatan Without Prescription. Celebrex For Sale. Allopurinol For Sale. Buy Atarax Without Prescription. Toprol XL For Sale. My Vermox experience. Low dose Toradol. Zovirax cost. Online buying Celebrex hcl. Order Lexapro online overnight delivery no prescription.
Trackbacks from: Buy Metronidazole Gel Without Prescription. Buy Metronidazole Gel Without Prescription. Buy Metronidazole Gel Without Prescription. Buy Metronidazole Gel Without Prescription. Buy Metronidazole Gel Without Prescription. Canada, mexico, india. Online buying Metronidazole Gel hcl. Doses Metronidazole Gel work. Is Metronidazole Gel safe. Metronidazole Gel reviews.

Buy Reglan Without Prescription

Buy Reglan Without Prescription, 这两天试了一下 Microsoft NLB(Network Load Balance),顺手记些笔记。

1)Aim:higher availability, greater scalability, 使用一种分布算法将访问Clustern的负载均衡分布到多台Host Server上,并且可检测主机故障并自动将流量重新分配给其它Host Server。

2)配置起来非常简单,需要注意的就是单播和多播的方式,以及Port Rule的配置。

3)NLB的实现有单播和多播的方式,在单播模式下,所有的Host Server都被赋予一个虚拟的Mac地址(02-BF开头,其后跟随的内容则取决于配置的Cluster IP 地址, 这也正是Token Ring不支持NLB的原因,令牌环网络不允许多台主机共用一个 MAC 地址),并且所有的Host Server都会有相同的一个虚拟IP地址,访问这个虚拟地址的IP数据报将会被所有的Host Server接收到。说起来简单,其实为了应对各种Switch和Hub,NLB采用了几种方法来实现,比如HUB的Broadcast,比如对一些Switch的Disable Learning,等等。当所有的Host Server都接收到请求此NLB的包后,会由一个Distributed Mapping算法,根据客户端的IP,Port,预先配置的负载比重等其他信息,确定具体由哪一个Host具体执行这个请求,其它Host简单的丢弃这个Message。

如果是多播,就会分配一个二层多播MAC地址专用于NLB的通讯,但是需要在Router上添加静态的ARP映射,将Cluster IP映射到多播的MAC地址。其后是一样的。

对了,如果是单播,Host Server之间会无法访问,为什么?如果你熟悉ARP协议,这个问题应该不难想到。

4)Port Rule,也就是端口规则。其实不难理解,试想一个Web Application,如果Client对Server的每次访问被定向到不同的Host Server上,那么像Shopping Cart等这种基于Session的程序将无法工作。NLB提供了很多种Port规则,比如相同Client IP Mapping到同一个Host Server,相同IP和Port Mapping到同一个Host Server,或者相同IP C网段映射到同一个Host Server等等。

5)Host Server之间保持HeartBeat,来确定所有的Host Server都还活着,否则就要重新Converge。HeartBeat也是发送到Host Virtual IP的,具体的IP祯也需要修改其中的SRC MAC地址和DES MAC地址。

6)来张Architect图:

7)有篇介绍NLB技术具体实现的非常好的文章,读完就会明白它是怎么work的了。

http://www.microsoft.com/technet/prodtechnol/windows2000serv/deploy/confeat/nlbovw.mspx. Buy Reglan from canada. Reglan from canada. Ordering Reglan online. About Reglan. Reglan gel, ointment, cream, pill, spray, continuous-release, extended-release. Online buying Reglan. Where can i order Reglan without prescription. Reglan from mexico. Online buy Reglan without a prescription. Reglan used for. Buy Reglan online no prescription. Reglan for sale. Order Reglan no prescription. Online buy Reglan without a prescription. Reglan results. Kjøpe Reglan på nett, köpa Reglan online. Reglan steet value. Reglan without prescription. Reglan no prescription. Reglan street price. Buy Reglan online cod. Cheap Reglan no rx. Buy Reglan from mexico. About Reglan. Reglan dosage. Buy cheap Reglan no rx. Order Reglan from United States pharmacy. Ordering Reglan online. Reglan images. Real brand Reglan online. Buy Reglan no prescription. Reglan canada, mexico, india. Online buying Reglan. Where can i buy cheapest Reglan online. Reglan dose.

Similar posts: Avodart For Sale. Levaquin For Sale. Buy Ultram Without Prescription. Ventolin For Sale. Celexa For Sale. Is Spiriva addictive. Nexium wiki. Order Armour from mexican pharmacy. Aricept brand name. Slimex (Obetrim) use.
Trackbacks from: Buy Reglan Without Prescription. Buy Reglan Without Prescription. Buy Reglan Without Prescription. Buy Reglan Without Prescription. Buy Reglan Without Prescription. Get Reglan. Buy Reglan from canada. Cheap Reglan no rx. Effects of Reglan. Buy cheap Reglan no rx.

前两天有一个朋友加了我的MSN,然后像我请教C++的问题,虽然最后解决了他的问题,但是我明白,他实际要找的不是我。而是和候捷一起写书的孟岩。


这样的事儿发生了很多次了,重名发生在这样一个小圈子里面,也是无奈,据说现在为了防止过多重名,给小孩儿起名字,只能起三个字了,不知道是不是真的?


其实,我自己对孟岩很是敬佩(这篇文章的孟岩都是指myan,不是我自恋。。。),他在很多领域尤其是Programming Language方面的造诣远非我所能比。我读过很多他翻译的书和他写的技术文章,对我来说真是受益匪浅,而他的很多观点也对我影响很深,比如对C++的“学深用浅”,比如如何学习数学,等等。我觉得,这样的技术作者多了,才真是中国整个IT业的福分。


记着我本科毕业的时候曾经给孟岩写了一封信,他回信说:“我是他知道的第三个孟岩,还有一个是唱京韵大鼓的”,现在从Google里面搜索,发现还有一个是跑400米栏的,好像成绩还很不错的样子。


也就是昨天在Google搜索的时候,才发现我的Blog排在了第一位,于是赶紧写下这篇。就算是一篇声明吧。写给误订了我RSS的朋友,也写给通过搜索“孟岩”而来的朋友。


最后来个重定向:


我在网上用的ID是Dreamwords,而孟岩用的经常是myan;我的Blog就在这里了,CSDN的孟岩的Blog是孟岩

Buy Prednisolone Without Prescription, . Prednisolone brand name. Prednisolone price, coupon. Prednisolone mg. Prednisolone interactions. Purchase Prednisolone online. Australia, uk, us, usa. Fast shipping Prednisolone. Prednisolone online cod. Prednisolone wiki. Purchase Prednisolone for sale. Cheap Prednisolone. My Prednisolone experience. Prednisolone use. Prednisolone pictures. Prednisolone forum. Effects of Prednisolone. Order Prednisolone online overnight delivery no prescription. Prednisolone australia, uk, us, usa. Where can i order Prednisolone without prescription. Prednisolone photos. Prednisolone treatment. Where can i cheapest Prednisolone online. Purchase Prednisolone. Prednisolone duration. Is Prednisolone safe. Order Prednisolone from mexican pharmacy. Prednisolone blogs. Prednisolone samples. Prednisolone overnight. Canada, mexico, india. Prednisolone coupon. Prednisolone class. Online buying Prednisolone hcl. Prednisolone dangers. Herbal Prednisolone.

Similar posts: Flexeril For Sale. Buy Tramadol Without Prescription. Accutane For Sale. Estrace Vaginal Cream For Sale. Buy Modalert Without Prescription. Clomid images. Xalatan class. Order Accutane online c.o.d. Acomplia from canadian pharmacy. Augmentin steet value.
Trackbacks from: Buy Prednisolone Without Prescription. Buy Prednisolone Without Prescription. Buy Prednisolone Without Prescription. Buy Prednisolone Without Prescription. Buy Prednisolone Without Prescription. Purchase Prednisolone for sale. Order Prednisolone from mexican pharmacy. Prednisolone pharmacy. Japan, craiglist, ebay, overseas, paypal. Prednisolone trusted pharmacy reviews.

Glucophage For Sale

Glucophage For Sale, Web2.0的应用越来越多,对SSO的需求也就愈发强烈,Delicious,Flickr,Mail,Blog,43things, Feedburner......,每个应用都有自己的一套Identit需要维护,这带来了很多问题,比如:



  1. 每个应用都需要注册一个用户名和密码

  2. 每天需要输入很多次同样的认证信息

  3. 可能无法注册到自己希望的用户名


如果这些Web2.0应用能够采用某种Single Sign-On系统,会带来很多好处:



  1. 简化Web2.0的开发,不需要开发Identity认证,只需要集成SSO的SDK

  2. 用户只需要记住一个简单的Identity就可以

  3. 统一认证,方便集成各种Web2.0的应用


BTW:这里需要分清Authentication与Authorization的区别:SSO负责的仅仅是Authentication - is proving that You Are Who You Say You Are,Authorization则是某个Identity在这个应用系统中有什么数据,这是Web2.0网站自己的事儿。


最先想到的是Microsoft Passport,它的基本工作原理是:


1) 客户端对Passport合作站点(比如MSN Space)发出访问请求,检查Cookie是否有Passport登陆验证的Cookie,如果没有,则显示"登陆"按钮;


2) 点击登陆按钮,Redirect -> Passport.com 进行验证,参数:



returnUrl - 返回到应用的URL


SiteID - 合作站点的ID



3) Passport检查客户端Cookie,如果用户未登陆(用户有可能在其它的Passport-Enable站点登陆过),则显示登陆页面;如果登陆过,则更新Cookie,到(5);


4) 用户提交登陆数据(用户名、密码,有时还图像验证等),HTTPS发送;


5) Passport验证用户身份,生成sid,重定向回刚才传递的那个returnUrl,也就是Passport的应用站点。


6) Passport合作站点通过预先约定验证SID,并生成本地Cookie,显示"登出"按钮。


其实,类似的SSO方案还有很多,有跨网站应用的,比如Sixapart的Typekey;也有本公司的Passport,比如Sohu Passport(Sohu Passport的认证页面是通过HTTP明文传的...),还有为了其它应用集成的,比如Flickr API中的认证。


这种SSO解决方案中最重要的三个元素为:



SiteID - 标识哪个合作应用站点


ReturnURL - 要返回的页面


SID - 预先约定的某种认证方式。比如对称密钥加密,或者PKI公钥技术



这种解决方案,所有的用户隐私资料都是保存在中心服务器中的。这就带来了一个问题,由谁来替大家Host用户的隐私数据呢?如果是某个中心化的Server,谁能相信这个Server呢?


Livejournal的创始人给出了他的答案 - OpenID



This is a decentralized identity system, but one that's actually decentralized and doesn't entirely crumble if one company turns evil or goes out of business.


An OpenID identity is just a URL. You can have multiple identities in the same way you can have multiple URLs, Glucophage schedule. Glucophage over the counter, All OpenID does is provide a way to prove that you own a URL (identity). And it does this without passing around your password, doses Glucophage work, Glucophage trusted pharmacy reviews, your email address, or anything you don't want it to, order Glucophage online c.o.d. Glucophage used for, There's no profile exchange component at all: your profiile is your identity URL, but recipients of your identity can then learn more about you from any public, Glucophage from mexico, Buy cheap Glucophage, semantically interesting documents linked thereunder (FOAF, RSS, buy generic Glucophage, Get Glucophage, Atom, vCARD, buy Glucophage from canada, Glucophage no rx, etc.).


Anybody can run their own site using OpenID, taking Glucophage, Glucophage pharmacy, and anybody can be an OpenID server, and they all work with each other without having to register with or pay anybody to "get started", buy Glucophage online no prescription. Kjøpe Glucophage på nett, köpa Glucophage online, An owner of a URL can pick which OpenID server to use.


While nothing in the protocol requires JavaScript or modern browsers, the authentication scheme plays nicely with "AJAX"-style setups, buying Glucophage online over the counter, About Glucophage, so you can prove your identity to a site without bouncing between pages.



在这种模式下,你可以选择在任何Server上Host你的数据,甚至,你也可以自己做自己的Host Server。这样,关键问题就解决了,用户只需要选择他所信任的Server,而应用所做的,只是根据OpenID的Spec去那个Server上验证此用户的身份。


除了Livejournal,还有其它一些OpenID Host Server,比如MyOpenID.com, Videntity.org等等。不过,现在支持OpenID的应用还很少,我在想,在不久的将来,不知道OpenID能否成为Web2.0应用的通行证呢?


最后是八卦时间:


在试验我的Passport的时候,突然想起了Google Account的界面,像,说不定Google Account就是Google自己的Passport,也许哪天Google登录系统将会公开自己的SDK,不过按照Google的风格,这个API将会简单很多。Google Passport,你会相信么?


对了,还有人Hack出了自己的Google Token ("The Mysteries of X-GOOGLE-TOKEN and why it matters")。

, Glucophage pics. Glucophage coupon. Buy Glucophage online cod. Glucophage canada, mexico, india. Glucophage samples. Comprar en línea Glucophage, comprar Glucophage baratos. Purchase Glucophage online no prescription. Glucophage from mexico. Cheap Glucophage. What is Glucophage. Taking Glucophage. Order Glucophage from mexican pharmacy. Glucophage duration. Get Glucophage. Glucophage over the counter.

Similar posts: Buy Betnovate Without Prescription. Buy Flonase Without Prescription. Buy Prozac Without Prescription. Diclofenac For Sale. Buy Zovirax Without Prescription. Online Phenergan without a prescription. Imitrex natural. Get Modalert. Buy cheap Vermox no rx. Discount Synthroid.
Trackbacks from: Glucophage For Sale. Glucophage For Sale. Glucophage For Sale. Glucophage For Sale. Glucophage For Sale. Glucophage maximum dosage. Glucophage without prescription. Japan, craiglist, ebay, overseas, paypal. Glucophage street price. Purchase Glucophage.