必威体育下载克里斯蒂安·海尔曼

您当前正在浏览必威体育下载克里斯蒂安·海尔曼八月份的博必威体育简介客档案,2009。

8月存档,二千零九

使用YQL和YUI将Web上的数据表转换为自动完成转换器

Monday,8月31日,二千零九

During the小部件之夏上周末的黑客活动,托马斯卡斯珀妮娜维兰詹斯格罗德里斯had the idea of creating a translation tool to translate from the local Cologne accent to German and back.

For this,they found a pretty impressive data source on the web,即this web site by Reinhard Kaaden.现在的任务是把它变成一个奇特的界面,使人们可以很容易地进入一个“k_lsch”术语,并得到德语等价物,反之亦然。For this,我提议钇铝石榴石UND悠悠下面是一个循序渐进的解释,说明你如何做到这一点。

You can see the final outcome here:Deutsch-K_lsch_bersetzer公司
或者单击屏幕截图:

你是德国的科埃尔希·尤伯塞泽。

步骤1:检索和转换数据

从网络获取数据的一种非常简单的方法是使用钇铝石榴石.为了得到整个HTML我们要做的就是从HTML中选择“*”,其中url='http://www.magicvillage.de/~reinhard_kaaden/d-k.html'.这给了我们整个数据,我们只想得到表的内容。

使用Firebug并查找XPath我们提出了以下声明,在段落中我们将使用德语koelsch作为语言对://表[1]/tr/td/p[非(a)].这个不(a)需要语句筛选出A-Z导航表单元格。我们选择杰森作为输出格式钇铝石榴石德克萨斯作为回调函数名。

总之,这给了我们一个统一资源定位地址这将加载我们想要的数据并将其发送到函数德克萨斯一旦拉动:



创建自动完成控件所需的全部内容都是从上的简单自动完成示例悠悠网站.
First thing is to get some handlers to the input fields I want to populate with the translation data:

VDI=YAHOO.util.dom.get(“Deutschinput”);
VCI =YAHOO.util.dom.get('koelschinput');

然后,您需要为自动完成实例化数据源,并为其提供语言数组。作为响应,您可以定义一个名为term的字段:

dkttransdata.cologneds=新建YAHOO.util.localdatasource()。
克尔斯奇Dktrandata.koelsch

dkttransdata.cologneds.responseSchema=字段:['term']

接下来,您需要实例化自动完成小部件。这个函数有三个参数:输入元素,输出容器和数据源。你可以设定用语要获取容器上的小阴影,请执行以下操作:

dkttransdata.cologneac=新YAHOO.widget.autocomplete()。
'koelschinput'、'koelschoutput'、dkttransdata.coloneds

dktransdata.cologneAC.useShadow = true;

这将科隆语言的输入转换为自动完成,但它还没有填充另一个字段。为此,我们需要订阅itemSelectEvent自动完成小部件的。该事件的事件处理程序获取一些参数,所选元素的文本内容是第二个参数中第三个元素的第一个元素(这将详细解释on the悠悠网站)您需要做的只是将另一个字段的值设置为我们定义的翻译映射的相应元素:

dkttransdata.cologneac.itemselectEvent.subscribe(colognehandler);
function cologneHandler(s,a){
di.value=dkttransdata.dk[a[2][0];
}

剩下的就是为德国人去科隆球场做同样的事情:


dktransdata.germanDS = newYAHOO.util.localdatasource()。
dktrandata.deutsch(德国)

dkttransdata.germands.responseSchema=字段:['term']
dkttransdata.germanac=新建YAHOO.widget.autocomplete()。
“Deutschinput”,“Deutschoutput”,dkttransdata.germands

dkttransdata.germanac.useshadow=true;
dkttransdata.germanac.itemselectEvent.subscribe(germanhandler);
函数germanhandler(s,a)
ci.value=dkttransdata.kd[a[2][0];
}

第五步:把所有的东西放在一起

你可以看到完整的Github上翻译工具的来源可以在那里下载,也是。
当然,我们在这里并没有真正完成,因为这只在JavaScript环境中工作。As the translator was meant to be a widget though,这不是问题。That the autocomplete does not seem to work on mobiles is one,虽然:

不使用javascript就可以很容易地完成这项工作,也是。As the data is returned in杰森我们也可以在PHP如果需要,写一个简单的表单脚本,我可以稍后再做。

教程:使用YQL将网站抓取并转换为小部件

星期二,August 25th,二千零九

在上周末的辅导课程中年轻的重新布线国家最常被问到的问题之一是如何在网络上轻松地重用内容。我给出的答案是钇铝石榴石我答应对这个话题做一个简短的介绍,所以这里就是。What we are going to do here and now is to turn a web sites into a widget with钇铝石榴石and a few lines of JavaScript:

通过你的YQL把一个网页变成一个小部件。

假设您有一个包含内容列表的网站,并且您希望将其转换为小部件以包含在其他网站中。例如:有趣的电视事实清单(这真的是一个Usenet经典)。The first thing you need to do with this is to find out its structure,通过查看页面的源代码或使用Firebug:

注释:原来的笑话网站已经死了,所以我修复了这个小部件以使用另一个。但这个概念仍然有效。

通过使用Firebug查找HTML结构。

如果右键单击Firebug中的项目,您可以获得XPath到你想要到达的元素-我们稍后会需要这个。在这种情况下,xpath是/html/body/ul/li[92]这就得到了单一元素。如果我们想要所有的电视事实,then we need to shorten this to//UL/Li.

复制Firebug中的xpath。

下一步是转到钇铝石榴石慰问并输入以下语句。

select * from html where url='http://www.dcs.gla.ac.uk/~joy/fun/jokes/TV.html' and xpath='//ul/li'

这遵循语法从HTML中选择“*”,其中url='url”和xpath='xpath”.这将导致钇铝石榴石将页面内容作为XML

雅虎!查询语言-YDN。

注意到钇铝石榴石has inserted P elements in the results.这是因为钇铝石榴石运行XML通过HTML整洁的删除无效HTML.这意味着我们需要改变XPath成为//UL/LI/Pto get to the texts.

下一步是将输出格式定义为杰森,用名称定义回调函数犯罪事实,点击测试按钮,等待结果,然后复制并粘贴REST查询。

获取正确格式的HTML的步骤。

That's all you need to do.现在您将拥有HTML作为一个Javascript可读的对象,您需要做的就是定义一个名为犯罪事实从中获取数据钇铝石榴石并添加另一个脚本节点与搁置网址你抄袭钇铝石榴石作为SRC属性:


函数将从钇铝石榴石就像你在控制台里看到的那样。因此,了解电视事实和了解电视事实一样容易o.查询.results.p.

其余功能简单明了DOM脚本编写。检查注释以了解解释:

      

有趣的电视事实

一些有趣的电视事实



加一点造型,你会end up with quite a cool little widget由笑话网站上的数据提供支持。检查演示的源代码以查看CSS需要。

这就是它的全部-抓取!

ttmmhtm:8位乐高动画,盲窥视器代码协作,IE的英国邮政编码和SVG

Monday,8月24日,二千零九

今天早上让我快乐的事情:

Wow,所以模因就是这样发生的宋辛码

Friday,8月21日,二千零九

更新:我没有开始the songsincode meme,我只是灵感的来源,也是它的催化剂。FrogTrade的人开始了疯狂,整个故事是这里可用

我很惊讶的是,Twitter上的SongsIncode正在迅速发展。几个月前,我发布了这个:

{
“名字”'Lola'
“占领”“表演女郎”
'fashion'[“音乐”“激情”]
“定位”[-二十二点九七零八三四 -43.191665]
}

对我来说this retweet by Adam Hepton事情开始了,但其他人对此有争议。如果我的真的是第一个,亚当是第一个使用hashtag(现在这里有完整的故事

无论如何,this is more geeky fun than I had ever imagined and it is interesting to see just how many people are utterly confused by it.同样令人难过的是,看到垃圾邮件发送者如何在Twitter上努力工作。

如果你不明白:songs in code试图在代码中显示一首歌的标题或其部分歌词(因为有些歌曲的副歌比标题更出名,例如披头士乐队没有“所有孤独的人”这样的东西)。这可能是PHP,javascript或任何其他语言。For this,悲伤的怪胎聪明人使用if语句和循环之类的代码构造来描述条件和重复。如果你不明白,别觉得被落在后面,它是硬核极客。

以下是我的更多歌曲代码:

鲍勃·马利:我枪杀了治安官:

vari= {射击{警长副的}}

雷蒙斯:希娜是个朋克摇滚歌手

虽然(Sheena.type=朋克摇滚乐{里夫重复(}

里尔:我喜欢移动它

X=虽然(X<一百{它。风格.左边=X+“PX”X++}一。喜欢=

普罗科勒哈姆:更白的苍白阴影

对于(i在里面跳舞{如果(i=“轻范丹戈”{持续}}侧手翻。turn({地板me.感觉='seasick'人群。call(更多

女王:波西米亚狂想曲

如果(人。剪影.size=“小”{衣裳似的(fandango如果(thunderbolt& &闪电{me.frightened=}}

慈悲姐妹:如果你没看见我

如果(美国。看见(“我”γ美国。loc!=me.loc{me.存在=你。美信=}如果(眼睛。看见={心。break=}如果(你。离开{me.消失(}

血猎犬帮:糟糕的接触

{如果((you+ >哺乳动物{多伊特(“就像在探索频道上一样” }虽然(塞丘= “坏”}

伦纳德·科恩:大家都知道

{'everybodyKnows'“事实”{“船”“沉没”“船长”“谎言”}“CO”“母鸡”}

西蒙和加芬克尔:沉默之声

老朋友=“000”talk++;虽然(视野<一百{视野++;}睡觉。seed(大脑。视野=视野R.干线='静止;体积=0;宋松码

And of course the rick roll:

如果(我们!=strangersToLove{美国。知识规则=一。知识规则=me.认为{承诺“满”}其他家伙{type“任何”传送“假”}}

让他们来!

Developing *with* the web,嗯?Speaking at the domain convergence in Toronto,Canada

星期二,8月18日,二千零九

我刚从多伦多回来,我在第二次演讲的加拿大域收敛关于分布式数据网络开发和使用社交网络的会议。

首先,我要说的是,这对我来说是一次大开眼界的经历,因为我从来都不知道有一个由“庄家”组成的完整社区——那些购买的人,sell and "develop" internet domains much like other people do with real estate.

组织者(我的一个老朋友,从我们创建的时候就开始回敬C64demos together) wanted me to talk about web development with APIs and the social web as the current state of this in the domain market is very much random.为一个域创建一些内容的常见方法是雇佣一个开发人员进行租用编码,get a $99 logo,写一些内容并将其付诸实践。这样创建的网站的主要目标是让人们点击上面的广告——销售域名是第二步。

这与我所认为的Web开发完全相反,但我并没有谴责它,而是喜欢有机会展示另一种以非常小的预算和不太多的技术诀窍构建Web站点的方法。这就是我要说的:

演示幻灯片

笔记

以下是我在演讲中要说的笔记。不过,我很随意。Can't help it,嗯?

Developing with the web

据报道,当前的金融危机也对网络业务造成了影响。虽然这在某种程度上是正确的(广告销售下降表明),但可能有一个不同的原因:网络不断发展,我们用户的习惯也在发展。

建造它,他们会来的,不会再切割它了

任何一个构建网络产品并想知道为什么评论越来越少的人,访问和点击必须意识到它们是庞大的网站和服务网络的一部分。人们使用网络和多任务社交。

Back when this was all fields

我记得当我刚开始做网络开发人员的时候,你有一个浏览器窗口。如果你想打开几个页面,你需要几个窗口。All of these used up memory of which we didn't have much.由于电脑运行缓慢,我们可能打开了另一个聊天客户端或IRC客户端和电子邮件客户端。无论如何,工作和冲浪是两项不同的任务。

Web 2.0革命

在Web2.0中,这一点发生了变化。Computers became more powerful,browsers started supporting multiple tabs and software moved from bulky desktop to lighter web-based interfaces.网络从一种读/写媒体转变为一种读/写媒体,用户开始通过改变网络体验来积极定义自己的网络体验,而不仅仅是阅读在线内容。

带上噪音!

下一波是越来越多的社交网络,blogging,微博客和信息系统。As humans we are hard-wired to communicate and tell the world about everything we do.只有我们的社会标准和所学的礼仪改变了这一点。必威体育下载As neither seems to be of much significance on the web we are happy to tell the world what we do – no matter if the world is interested or not.毕竟,once we found something out and told the world about it it is time to go back and find the next big thing.

Oh,闪亮的物体!

This wealth of real-time information causes an overload and makes people easily distracted.它还降低了通信成本,迫使我们以越来越短的点对点格式提供越来越多的信息。

如果你不能和他们战斗…

Enough complaining though.有趣的是,我们现在拥有的分布式网络正是网络应该是的样子。网站不是广播或电视频道,而是与更大的数据网络相连接的小型数据集。所以为了成为其中的一部分,我们需要分发我们的内容。

摊铺和收集

享受数据网络乐趣的方法是在网络上分布我们自己,并将数据带回我们的网站。

第一步是在网上传播我们的内容:

这种方法的好处如下:

  • 数据分布在多个服务器上,即使您自己的网站处于脱机状态(例如用于维护),数据仍然存在
  • You reach users and tap into communities that would never have ended up on your web site.
  • You get tags and comments about your content from these sites.这些可以成为关键字和指导方针,为您写在您的主要网站在未来非常相关的副本。你知道人们想听什么而不是猜测什么。
  • Comments on these sites also mean you start a channel of communication with users of the web that happens naturally instead of sending them to a complex contact form.
  • 您不必担心将图像或视频材料转换为Web格式——专门为此目的构建的网站会自动为您实现这一点。
  • 您允许其他人将您的内容嵌入到他们的产品中,从而可以重新获得他们的成功和完整性。

If you want to more betway体育官方网about this approach,退房开发者福音手册在“使用(社交)网络”一章中,我将详细介绍这一点。

将网站带到网站

另一件要考虑的事情是把网络带到网站上,让人们可以在你的界面上使用他们乐于使用的服务。

我发现其中一件非常有用的事就是聊天捕捉器.Chat Catcher是一个WordPress插件,或者PHP检查各种社交网络中链接到网站的更新的脚本。这样你就可以得到Twitter的更新,比如在你的博客上以评论的形式链接到你的网站。这让我知道有多少人在谈论我的帖子,尽管我没有得到多少评论。唯一的一个小麻烦是,重新发布的推特会出现,但可以调整。

另一个有趣的小工具是雅虎副业它允许您定义对Twitter网络的搜索,get automatic updates and answer the tweets.

科特韦特做同样的事情,但在更专业的层面上。Cotweet是为企业管理其Twitter推广而建立的,它不仅可以帮助您跟踪人们谈论某些话题,而且还可以为几个人定义“轮班”,以便在特定时间段内监控Twitter。在世界各地都设有办公室的公司中使用它,您可以24小时在Twitter上进行报道,而无需从多个地点登录到Twitter本身。

另一种利用社交网站的方法是允许您网站的访问者直接从您的网站更新其在各种社交网络上的状态。这可以像添加“tweet this”或“bookmark this in Delicious”按钮一样简单,也可以像在新雅虎主页上实现第三方小工具一样复杂。

Digging into the web of data.

将社交网站带到您的网站是第一步。在你的网站上使用“数据网”的信息会更强大,但也有点复杂。

到了多汁的地方,美味数据

网络上充满了漂亮而丰富的数据,而且周围有很多数据。不过,我们试图做到这一点可能相当笨拙。我们需要的是一种访问数据的简单方法。一个经典的方法是雅虎派普斯.

YahooPipes是一个可视化界面,可以混合来自各种数据源(如网站和RSS喂养。该界面提醒用户使用Visio或数据库组织工具,非常容易使用。Pipes的问题在于它是一个高科技界面(看不见或不能使用鼠标的用户无法使用它),而且很难更换管道。任何更改都意味着您需要返回管道接口,并在视觉上更改管道的结构。The good news is that you can clone other people's pipes and 必威体育下载learn from that.

混合Web的一种更简单、更灵活的方法是钇铝石榴石.这个雅虎查询语言,或短钇铝石榴石是Web的统一接口语言。The syntax is as easy as very plainSQL

select {what} from {service} where {condition}

比如说你想让小猫出现在你的网站上(谁不想?)以下钇铝石榴石声明将抓取描述中带有“kitten”字样的照片,Flickr的标题或标签。

从flickr.photos.search中选择“*”,其中text=“kitten”

假设你只想要5只小猫——你只需要添加一个限制命令:

从flickr.photos.search中选择*,其中text=“kitten”限制为5

很好,但是你从哪里能得到这个呢?钇铝石榴石是一个美国石油学会就其本身而言,统一资源定位地址端点:

http://query.yahooapis.com/v1/public/yql?Q=查询&format=格式

输出格式为XMLor杰森.如果你选择杰森you can use use the data immediately in JavaScript.

重新混合网络。

你可以套几个钇铝石榴石用于执行复杂Web查找的查询。猜猜这是怎么回事:

从flickr.photos.info中选择*,其中photo_id in(
从flickr.photos.search中选择id,其中wou id in(
从geo.places中选择weid,其中text='London,UK'
和许可证=4

它的作用是:

  • 寻找伦敦,英国使用这些地方美国石油学会雅虎地理平台。这是为了确保你能找到在伦敦拍摄的照片,英格兰,而不是伦敦乐队。地理位置美国石油学会returns a place as a where on earth or short woe ID.
  • 搜索具有此地球上何处ID的Flickr照片
  • 获取在Flickr中找到的每张照片的详细信息。
  • 只返回许可证为4的照片,因为这意味着这些照片是创作共享空间,您可以使用它们。这一点非常重要,因为Flickr用户可以非常保护自己的照片。

使用免费小工具显示它们!

You can use systems like the雅虎用户界面库在一个很好的界面中轻松显示您找到的照片.

通过使用多个API钇铝石榴石以及宇航CSSgrids you can show for example information about a certain location without having to maintain any of the content yourself.这个关于德国法兰克福的例子显示这可能是什么样子。每当法兰克福的维基百科条目被更改或有人上传法兰克福的新照片时,此页面会自动更新。雅虎天气的变化美国石油学会或者有人添加了一个在法兰克福发生的新事件。

All of this works using APIs

所有这些东西背后的驱动因素是应用程序编程接口或短API。安美国石油学会is a way to get to the information that drives a web site on a programmatic level and a chance to remix that information.比如说,你想要Twitter上当前的趋势主题。You can either go to the Twitter homepage or you can open the following统一资源定位地址在浏览器中:

这将为您提供杰森格式–您可以轻松转换和使用的格式。

美国石油学会问题

当然,API存在一些问题。首先,外面有很多。可编程网络,一个试图跟上API发布和消亡的门户目前列出了1400多个不同的API。这是很好的,但问题是他们中的大多数人不遵循任何其他人的结构。Authentication,输入和输出参数以及访问限制因美国石油学会美国石油学会而且会使我们很难使用它们。这里就是钇铝石榴石comes in as an easy way out.

API的另一个问题是,它们可能只是实验性的,甚至可以在没有警告的情况下关闭或更改。Therefore you need to write very defensive code to read out APIs.预计一切都会失败,并保留要显示的数据的本地副本,例如,Twitter将再次离线一天。

Conjuring content?

生成内容丰富的Web产品而不必自己编写内容,这听起来像是梦想成真。不过,重要的是要不断提醒我们,我们使用他人的内容,并且我们依靠他们来传递。

内容问题

虽然您可以实现很多自动化,但在将第三方内容投入使用之前让人检查它仍然是一个非常好的主意。所有的事情都会出错——糟糕的编码会使文本看起来很糟糕,一个笨蛋细胞质雄性不育can seed wrong content into the category you chose,文本可能太大而无法显示,还有许多其他因素。因此,最好编写一个验证工具来缩短文本并调整所提取数据中图像的大小。

语境缺失

一个可用性问题是可能缺少上下文。早些时候,我们发现区分像巴黎这样的地理位置很重要,法国和帕丽斯·希尔顿这样的人。这同样适用于从网络上获取的内容。人们很乐意分享他们的内容,但是当你把它放在他们不赞成的东西旁边时,他们会变得很不协调。记住,人们在网上发布数据是出于内心的善良。不要通过在上下文之外显示信息来降低成本。

UGC问题

专业记者和作家长期以来一直在批评的一件事是,虽然用户生成的内容有很多直接性,但也缺乏质量控制。可悲的是,在很多情况下,最有动力表达自己观点的人是最不合适的。评论可能很严厉,让人们不再相信Web2.0是一种告诉人们你的想法的方法。诀窍是善有善报。对你来说,这再次意味着UGC数据不是你应该测量的——质量是你需要关心的。

安置

错误的放置会降低整个数据网络的成本。例如,如果你在保修期满后的某一天,在这些型号容易爆炸或死亡的新闻旁边展示某个品牌的笔记本电脑的照片,你不会给自己任何帮助。再一次,在坏消息旁边显示人们的评论和博客帖子也可能会让他们感到困惑。

Legal issues

这给我们带来了法律问题。Just because data is available on the web doesn't naturally mean that you can use it.你可以在网络上有很多免费的数据,并用它来让现在越来越无用的停车场对读者来说对域名更有价值。You do however also need to make sure that you are allowed to use that content and that you display it with the right attribution.

演示和资源

下面是一些任何开发人员都可以通过一点努力来使用和构建的东西。

  • 我的公文包页面完全由钇铝石榴石在服务器外部维护。If I want to upgrade it,I either post something on我的部落格,更改一些博客页面,将新书签添加到美味的or upload new slides to幻灯片
  • 关键词查找器使用雅虎BOSS APIto find related keywords to any item you enter.The keywords are the keywords that real users entered to reach the top 20 results in a Yahoo search
  • 耶斯洛is a Firefox add-on that allows you to analyse why your web site is slow and what can be done to make it more nimble and thus create happier visitors.
  • 土工格室是工具的基础雅虎占位符在文本中找到地理位置并将其转换为地图或可嵌入的微格式。
  • 盲目搜索是对雅虎的一个并排比较,必应和谷歌搜索结果,因此一个快速的方法,找出你如何在所有三个排名。
  • 相关器is an experiment in alternative search interfaces.您可以按兴趣筛选结果,而不是获取“全部捕获”搜索结果页面,地点或人员。
  • 开发者福音手册这是我写的一本免费的在线书,在这一章中,我将详细介绍本文所涉及的主题。
  • Web开发解决方案这是一本我和Ed的朋友们出版的关于使用分布式数据进行Web开发的书。

玩得好!

作为最后一件事,我想提醒你,在社交网站上表现好是很重要的。一切都是为了付出,分享和联系,如果你滥用这个系统,人们会抱怨你,并引起一场很难与公关或营销抗衡的骚动。但是,如果你接受了网络的社交方面,你会有相当大的影响,如下面的例子所示。

CalalIF.Org

科拉利夫这是一个很好的例子,说明如何使用社交网络对人们的生活产生影响。colalife的组织者利用社交网站(facebook和twitter)说服可口可乐将免费药物和饮料一起运送到第三世界国家。可口可乐拥有世界范围的冷藏分销渠道,Colalife的员工设计了一种特殊的设备,可以在不占用额外空间的情况下,将避孕药和补液药物储存在瓶子的板条箱中。可口可乐公司同意了这一点,现在药物免费提供给那些需要它的人,公司创造了大量的善意。只有一个人有一个想法,有一个数百万人的网络,能自由地告诉一家公司,这一切才得以实现。

谢谢!

这就是我想说的,thanks.

Extra achivement

作为额外的,我很高兴地宣布,由于我在点酒方面的创造性,多伦多的丽笙酒店现在提供了一种新的鸡尾酒,它是我发明的“keylime pie”,由斯米尔诺夫香草制成。酸的混合物和苏打水。这对我来说又是第一次——我从来没有在鸡尾酒酒吧菜单上展示过我的任何发明!