【转】Love is in the air - 谷歌地球上发现的“爱”
Love is in the air - 谷歌地球上发现的“爱”
今天是情人节,在这个充满温馨、浪漫的日子里,让我们送给大家一些从谷歌地球上发现的美景,Love is everywhere, Love is in the air …。爱在新喀里多尼亚(New Caledonia)
爱在英伦
爱在蒙古
爱在西班牙
爱在克罗地亚
爱在巴西
爱在加拿大
爱在俄亥俄
近来网上点击量和收视率最高的消息莫过于“英皇艺人激情自拍热辣私房照”的泄露了。随着内容不断曝光,先前怀疑照片作假的声音也渐渐小了下去。满足好奇心之余,也让我回忆起20年前的一部美剧《成长的烦恼》也讲述过“明星私生活”的问题。
记不得是哪一季哪一集的故事了。本喜欢的摇滚歌星要开演唱会,在父亲杰森的帮助下,他不仅顺利得到了观看演出的机会,还能进入后台化妆室和偶像亲密接触。但是一个偶然的机会,他看到了自己不愿见到的事实——他崇拜的偶像人前举止谦恭而私下竟然行为放荡。经过杰森的开导,本终于认清了“明星也是人”的事实本质,也逐渐认识到不能盲目崇拜自己并不熟悉的人或事物。
想到20年前本所接受的生动的现实教育,再看着百度吧内依然有不少粉丝痴心不改依旧“力挺阿娇”、“相信zbz清白”……的言论,使我不免产生一种悲观的情绪。
现在想来,我对明星的看法,很大程度上受了这部电视(用时髦语说就是美剧)的影响。
2008年1月30日 上午 12:37:00
发表者:谷歌中国地图“抗击风雪 回家过年”临时小组
编写 iPhone Friendly 的 Web 应用程序 (Part 6 - iUI)
Posted: 07 Jan 2008 07:01 AM CST
iUI是一个针对iPhone Safari的Web开发框架,由Joe Hewitt开发。这位Joe Hewitt曾经参与过Firefox的开发,包括其中的DOM Inspector以及Firebug,后来到了Facebook,为Facebook开发了iPhone专用版本,对iPhone Web开发社区算是作出了巨大贡献。
我们继续说iUI这个框架。这个框架所做的事情,就是提供iPhone Friendly的交互方式与样式。为了简单起见,我们先来说说样式方面,iUI提供的不仅仅是一个CSS文件,基于这个CSS文件你所创建的页面能够符合iPhone的人机界面指引,并且看起来的效果贴近iPhone原生的应用程序,从而降低用户学习门槛,避免你自己设计的Web应用对iPhone操作不友善(例如按钮不够大,手指难以点击)。
至于交互方面,iUI提供一个基于page的换页导航机制。这里所说的page不是一个Web页面,而是一个<body />内的顶级DOM元素,每一个这样的DOM元素都可以作为一个page,同一时间上仅显示一个page。页面上的所有链接,要么导致page转跳,要么导致整个页面转跳。这种转跳有如下几种情况。
如果链接的href指向的是一个锚点,例如#somePage,那么iUI就会在页面中寻找id="somePage"的page对象,然后进行转跳。
如果链接的href指向的是站内地址,例如/somePage.html,那么iUI就会使用AJAX的方法加载/somePage.html的内容并追加到<body />内,注意,/somePage.html必然是一个文档片段而不可能是完整的XHTML文档,否则把<html />追加到<body />下就是错误的了。追加的内容内可以有多个page,如果其中一个有 selected="true"的属性,那么接下来将显示该page,否则显示追加内容中的第一个page。
最后一种情况是指向站内地址,但是有target="_replace"属性。iUI在看到target="_replace"属性后,就会知道该<a />所在的page内直属元素要被删除,并且替换为目标页面的内容。在这里用CSS来解释一下所谓的直属元素,body > ul#somePage > li > a[target="_replace"] ,这里<li />就是<ul id="somePage />的直属元素了。这种转跳通常用于曾亮加载,例如iPhone内置的Mail打开邮箱后自动加载50封邮件,点击more之后再加载50封,Web界面上就可以通过这种方式实现——一个<ul />内包含51个<li />,前面50个对应50封邮件,最后一个<li /> 包含<a target="_replace" />的more链接,目标页面就是下50封邮件的<li />。
在转跳的时候,iUI提供了一种很好看的效果,你能够看到当前page从屏幕左边移出去,新的page从屏幕右边移进来,好像PowerPoint的某种幻灯片切换动画那样。如果添加了axis="y"属性,page还能够子底向下滚动。
AJAX式的页内内容更新不是不好,问题就在于浏览器无法自动保存历史记录,导致前进后退按钮实效。iUI已经解决了这个问题,上述3种转跳中的前两种iUI都会自动创建新的hash以便创建历史记录,hash默认就是#_pageId的形式,如果当前显示的page没有id,那么hash就按照增量自动分配id。
在拥有历史记录之后,用户就可以通过浏览器的后退按钮向前翻页了,此时相当于加载前面的page,iUI知道这是一个后退操作,就会提供反向的滚动效果(自左向右或自上向下)。
如果我访问页面的顺序是A > B > C > D > B,那么历史记录会如何呢?历史记录会变成A > C > D > B,也就是说第一次访问B时B从历史记录中删除并重新添加到最前的位置了。
说了那么多,我们来看看iUI的实战效果吧!又是Facebook或者Digg的iPhone版?不是,我们来看看自己利用iUI开发一个小应用的效果以及成本如何。就在上个周末,我花了不到20小时做了个名为iBaidu的小东西,自动抓取Baidu的搜索结果与排行榜并以iPhone friendly的方式显示出来。以下是发布到YouTube的演示视频:
服务器端使用的技术是Ruby on Rails以及ASP.NET。为什么需要ASP.NET?这是一个很郁闷的问题,因为Baidu是基于GBK的,而RoR的编码转换能力其若无比,我懒得花时间去寻找适合的转码库,因此直接拿了ASP.NET来做抓去代理,抓取的时候顺便做一下编码转换。如果不是编码问题,那么只需要RoR就能轻松完成任务。
在这篇文章中,我们已经看到了如果使用RoR搭配Prototype,不好意思,iUI才对,要设计一个iPhone friendly的Web应用程序是多么地容易,开发过程也相当敏捷。如果你喜欢iPhone开发系列的文章,欢迎订阅:
一、卡巴就好象西毒,凶猛强悍,神功盖世,对敌决不留情,出手狠辣,招招夺命,绝少失手,不愧为一代枭雄,但毕竟练的不是纯正内功,容易走火入魔,导致系统出问题。
二、麦咖啡就象东邪,玉树临风,俊朗潇洒,对敌招式繁多,机关重重,杀伐决断从不迟疑,为江湖第一机智聪明之人,但因其心机太深,令人难以掌握。
三、诺顿就象南帝,雍容华贵,稳沉厚重,胸怀博大,练的是纯正内功,靠的是教化感人,对敌有慈悲心肠,一般采取隔离教化,使其不再作恶,很少杀人,称的上是一代宗师,但因其过于敦厚,不仅自己活的累,别人也为他感到累。
四、nod32就想北丐,来无影去无踪,潇潇洒洒,笑傲江湖,对敌用的是逍遥游和打狗棍法,江湖上少有对手,但因其过于轻浮,难免误事。
国产的就像全真七子 ,一起上还凑合。