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

贴有“mashups”标签的帖子

黑客是什么?在班加罗尔的开放黑客日介绍黑客,印度。

星期六,7月24日,二千零一十

我现在在班加罗尔的开放黑客日,印度刚刚结束了主题演讲,向人们展示了黑客的含义以及如何在黑客日进行展示:

幻灯片

黑客是什么?

我谈到的资源:

录音

录音的音频是在archive.org上提供

和演示:

Fowa Dublin–您需要的强大工具(可能不知道)

星期日,5月16日,二千零一十

上周五,我在都柏林讨论了网络应用的未来,并发表了我的演讲“你需要的强大工具(可能不知道)”。我采取福娃作为一个向读者介绍雅虎提供的一些工具的机会,并为开发者的动力打上烙印,让他们自己做每件事,而不是把已经构建好的解决方案当作无效的。

我演讲的幻灯片在Slideshare上提供:

谈话的音频在archive.org上:

这个对话视频可在UStream上观看

以下是我作为链接讨论的资源:

也检查综合业务数字网在接下来的几天里写一篇完整的博客福娃报告。

你可以用的东西——我在奥斯陆与雅虎和歌剧院的Devoper晚上的演讲,挪威

星期四,12月3日,二千零九

我现在在挪威的奥斯陆,正准备去尼思大学雅虎和歌剧开发商之夜.这是我今晚将要呈现的幻灯片和笔记。稍后将播放音频音频现在可用.

今晚出席的人:就在这里停下来,你会毁了它的。)

幻灯片

音频

录音是在archive.org上提供作为一个54 MBMP3文件.

笔记

你可以使用的东西(由雅虎开发者网络和朋友提供)

在接下来的一个小时左右,我将和你们谈谈一些已经为你们做过的事情,这些事情是你们可以建立的。Web开发已经足够令人困惑了。没有必要不使用已经为我们做过的事情来让事情变得更复杂。但首先,关于我的一些事实:

我是克里斯,我已经开发网站12年了。我使用过许多框架,细胞质雄性不育我还提供了各种国际和高流量的网站。我写过几本书,几十篇文章,数百篇关于网络开发的博客文章,可及性,性能,可维护性,国际化和许多其他的事情,我不得不在我的日常工作中战斗。

现在我是一名开发者布道者,这是市场上的一份新工作,很多人对此感到困惑,我写了一本开发者福音手册这是免费的和有创意的共享网络,但你也可以在lulu.com上购买硬拷贝.

我为工作雅虎开发者网络你会发现我今天要讲的大部分事情。

必威体育下载学习基础知识

我们生活在这些日子里的好处是我们在网络上有大量的资源来学习网络开发的基础知识。必威体育下载我们仍然通过查看源代码和复制必威体育下载粘贴后的尝试和错误来学习它,这是人类的天性,但也阻止了我们的进化。这个Opera Web标准课程是学习基于Web标准的开发的神奇资源(正如必威体育下载黄蜂相互作用雅虎开发者网络剧场充满了谈话和指导视频。所有这些都是免费使用和建立的。

从干净的画布开始

我学到的一件事是,为了提必威体育下载供有效且有趣的产品,你需要在坚实的基础上工作。Web开发受到部署环境完全未知的事实的阻碍。这就是为什么我们要在上场比赛之前把场地平整一下。

您可以通过定义浏览器的“支持”来实现这一点。对于雅虎,这是分级浏览器支持文档。如果你的目标是让你的网络产品在每一个浏览器上看起来和工作一样,那你就错了。Web设计是为了顺应流程,使自己适应用户代理(在大多数情况下是浏览器)的能力。在雅虎,我们有分级式浏览器支持因此,无法支持新技术的浏览器将无法获得这些功能。网站并不意味着到处都是一样的。相反,使界面适应不同用户代理的能力正是Web开发如此强大的原因。

CSS框架和前端库

下一步是让我们摆脱浏览器的局限性,尤其是它们之间的差异。这是什么CSS框架和前端库,如jquery,莫奥泰斯道场悠悠还有很多是为了。所有这些都有相同的目标:允许您构建可预测且仅限于基本需求的代码。我们不应该为了让我们的产品能够处理随机的浏览器实现问题而膨胀我们的代码。这些都是一个移动的目标,因为有各种各样的奇怪发生在整个董事会。图书馆使我们的工作可预测,并允许我们使用网络标准而不迎合浏览器。如果基于库构建代码,则可以通过升级库来修复下一个浏览器的产品。如果你选择自己做每件事——祝你好运。

构建工作的接口

接下来要考虑的是,应用程序接口不仅仅是外观。为了让它对每个人都有效,我们需要了解用户与我们产品的交互方式。这包括简单的可用性(不超载用户,不混淆用户),但也意味着了解不同的交互渠道,例如键盘用户。开始使用界面之旅的一个重要资源是雅虎设计模式库.在那里,我们收集了最终用户如何使用网络并轻松实现目标的信息。如果有的话,在开始构建第一个小部件或应用程序之前,先看看这些模式。他们甚至一起来不同设计器工具的模具.

利用网络

在过去的几年中,Web开发的巨大变化是我们停止了自己做任何事情。网络上有很多专门的系统,比如YouTube,Flickr和Google地图允许您以特定格式托管数据,并使您可以轻松地将这些数据转换为Web格式并重新使用。使用这些信息是通过应用程序编程接口或短API实现的。这些允许您以特定的格式要求数据,并仅返回所需的内容。Web上有数百个可用的API。想知道什么是可用的,退房可编程web.com.

先思考数据

如果您想要构建优秀的产品,需要注意的主要事情是将数据与演示文稿分开。这对于本地化至关重要,国际化并保持代码的可维护性。在不同数据源混合的情况下,这意味着您需要考虑尽可能容易地使用不同的API。产品的复杂性随着所使用的API数量的增加而增加。每个美国石油学会有不同的认证方式,需要不同的参数并以不同的格式返回数据。

将网络与钇铝石榴石

钇铝石榴石是雅虎为自己的需要而构建的解决方案。我们的所有产品都是基于API构建的,这是出于可扩展性的考虑。必须学习所有这些AP必威体育下载I和协商访问会花费我们很多时间,所以我们认为我们会想出更好的解决方案。此解决方案称为钇铝石榴石.YQL是一个SQL-用于从Web获取数据的样式语言。以下查询将从Flickr获取我们的伦敦照片:

从geo.places中选择*,其中text=“London”

还是会呢?实际上,它会给我们提供文本为“伦敦”的照片,而不是在奥斯陆拍摄的照片。如果我们想用另一个美国石油学会.雅虎geo apis允许你定义地球上任何一个地方,并把它作为一个“在地球上的地方ID”或简称woid。Flickr支持此格式,所以我们可以一起使用这些API。Twitter也将很快支持这一点。

从flickr.photos.search中选择*在(
从geo.places中选择weid
其中text=“伦敦”

这会给你一些你想要显示的照片的数据,但不是全部,所以我们用另一个美国石油学会获取信息的方法。

从flickr.photos.info中选择*,其中photo_id in(
从flickr.photos.search中选择id,其中wou id in(
从geo.places中选择weid,其中text=“London”

这是大量的数据,因此为了只检索我们真正需要的数据,我们可以通过替换*来过滤数据:

选择farm、id、secret、owner.realname,
服务器,标题,urls.url.content
来自flickr.photos.info,其中photo_id in(
从flickr.photos.search中选择id,其中wou id in(
从geo.places中选择weid,其中text=“London”

在中使用此查询钇铝石榴石慰问,选择钇铝石榴石作为输出格式和“flickr”作为回调将给我们一个有效的统一资源定位地址要在浏览器或脚本中使用:

http://query.yahooapis.com/v1/public/yql?
Q=从%20flickr.photos.info%20where%20photos_id%20in%20(
从%20flickr.photos中选择%20id%20。搜索%20,其中%20wou id%20in%20(
从%20geo中选择%20woeid%20。将%20放置在其中%20text%3d%22London%22
)&format=json&diagnostics=false&callback=flickr

SRCA的属性脚本标记并编写几行DOM脚本显示照片.

这只限于雅虎吗?

不,当然不是。首先,您可以使用Atom将Web上的任何数据作为源,猪瘟病毒饲料,HTML杰森微格式,RSS和XML表。

刮削HTML具有钇铝石榴石

这个HTML表非常有趣,因为它允许您从任何HTML文件,通过运行清理它HTML整洁,然后允许您使用XPath.

这允许您以一个简单的网站为例,比如这个关于电视笑话的把它变成一个假发,包括在其他页面中用几行javascript。

延伸钇铝石榴石

您还可以通过提供简单的XML架构调用了打开的表.在这个模式中,你需要告诉钇铝石榴石数据端点是什么,需要什么参数以及返回什么。

打开的表还允许执行块它允许您编写将由钇铝石榴石在服务器端使用犀牛并已满E4X支持。

使用这个,我们可以将前面的示例Flickr照片作为列表返回到打开的表中并且更容易获得正确格式的Flickr照片:

从flickr.photolist中选择*,其中text=“me”和location=“uk”,amount=20

使用杰森-PX输出这意味着我们可以简单地使用内层HTML渲染照片。

如果您希望您的桌子在钇铝石榴石,你所要做的就是添加到在GitHub上打开表存储库.更多信息,退房钇铝石榴石文档.

用块构建

如果您想构建一个Web应用程序,现在可以做的最好的事情就是使用已经测试过并且正在工作的构建块。这个雅虎用户界面库充满了这些,因为这正是我们如何构建自己的工具。

用于创建布局CSS不必知道浏览器需要的所有黑客,您可以使用悠悠网格如果你真的很懒,你甚至可以用所见即所得网格构建器.

使用CSS网格和一些悠悠小部件很容易构建一个工作的应用程序,该应用程序在分级浏览器支持中定义的所有浏览器中进行测试。例子如下地理Flickr搜索和A展示获取德里信息.

有一件事对中提供的小部件非常有用悠悠它们都是由自定义事件驱动的。这样,您就可以扩展和更改它们的功能,而不必乱动代码。只需为自定义事件编写事件侦听器,添加您的功能并阻止原始功能。

另一大好处是悠悠是非常详细的吗文档还有成百上千的实例你可以用来开始。

想出名吗?

今天我最不想说的是雅虎应用平台或短雅普.使用雅普您可以使用javascript构建Web应用程序,HTMLCSS并将其添加到雅虎主页,我的雅虎和未来雅虎的更多财产。

您从应用程序开始并将其开发到应用仪表板.雅虎应用程序有两个视图:一个小视图或多或少是静态的(但允许一些Ajax),一个大视图可以让你完全访问和更宽的屏幕空间。小视图覆盖在雅虎页面上,并将显示雅虎广告。你可以用大视角赚钱。

有一件事可能会让人有点沮丧雅普当你以一种正常的网络开发心态去做的时候,并不是所有的CSS/html和javascript允许作为雅普使用恰亚以确保我们的应用程序安全。所以我们把一些caja就绪代码示例让你走上正轨。

最简单的构建方法雅普应用程序是通过使用雅虎标记语言(YML)悠悠作为悠悠重新编写以符合CAJA。

如果你想看看雅普应用程序看起来,退房Github上tweettrans的来源.本质上,它是一个简单的PHP API调用使用钇铝石榴石和AYML使用Ajax显示结果的接口。不涉及javascript作为YML为我们做。

您可以通过单击以下链接安装TweetTrans:http://yahoo.com/add?雅皮德=ZKBMH94K.这也是在雅普应用程序库已启动并正在运行。

在雅虎推广你的应用程序的更强大的方法是利用我们的社交网络,你可以通过进入社交图来实现这一点。美国石油学会.最简单的方法是使用社会的SDK也可在Github上获得.注意到SDK不会在本地主机上工作-您需要在应用程序仪表板或主页上的雅虎容器中运行它。

电梯节距

雅虎用户界面库-悠悠

悠悠是雅虎用来建立网站的系统。它不断被测试为最大数量的用户工作,免费的,打开源代码,涵盖从设计模式到开箱即用小部件的所有内容。它是模块化的,您只能使用您需要的。您可以自己托管它,也可以从分布式服务器网络中获取它。

雅虎查询语言-钇铝石榴石

钇铝石榴石是一个Web服务,它允许您将来自不同来源的Web上的任何数据与简单的SQL-风格语言。您可以将数据过滤到您需要的内容,并且可以在返回数据之前使用服务器端的javascript转换数据。数据提供程序可以使用钇铝石榴石发布美国石油学会在雅虎基础设施和云存储之上的网络上。

雅虎应用平台-雅普

雅普是雅虎应用程序平台,它允许您构建运行在雅虎主页和其他属性上的应用程序。你可以深入雅虎的社交图表来推广你的应用程序,你可以创建高度安全的网络应用程序雅普使用CAJA确保代码质量。

使用YQL打开表按位置和/或搜索词获取Flickr照片列表

星期一,11月2日,二千零九

显示来自Flickr的照片可能会让人望而生畏。这个美国石油学会需要身份验证以及RSS杰森洛尔码产量非常有限。方法是使用钇铝石榴石还有它的Flickr桌子。这样很容易搜索Flickr:

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

尝试在钇铝石榴石慰问。

输出格式有很多信息,但不幸的是,不是全部。例如,缺少所有者的真实姓名或描述。所以你需要再看一部电影美国石油学会要获取整个数据集:

从flickr.photos.info中选择*,其中photo_id in(
从flickr.photos.search中选择id,其中text=“panda”

你猜怎么着?你也可以在控制台中尝试这个更详细的查询。

我以前看过以这种方式显示检索到的Flickr照片是多么容易


但问题是它使用的是javascript和javascript可能被关闭(想想黑莓)。当然你也可以在PHP但我敢打赌,对javascript说的人比PHP这些天。

主要问题是Flickr以一种非常奇怪的格式返回照片,并且您需要像上面的脚本一样的脚本来将其转换为简单的HTML名单。

好消息是钇铝石榴石执行命令允许您在打开的表中嵌入javascript.这样你就可以写执行所有必要转换并以简单列表形式返回数据的表立即使用:

      


从表中选择*,其中location=“London,UK”
必威体育下载克里斯蒂安·海尔曼
http://www.wait-till-i.com/2009/11/01/getting-a-list-of-flickr-photos-by-location-andor-search-term-with-a-yql-open-table
按位置和/或搜索词搜索Flickr并返回 HTML可以立即在mashup中使用的列表。





你会注意到,E4X支持非常强大,乍一看可能有点困惑。一旦你把头转过来,它就会变得更干净。

您可以像其他打开的表一样通过使用命令在钇铝石榴石

使用“http://github.com/codepo8/yql-tables/raw/master/flickr/flickr.photolist.xml”作为flickr;
从flickr中选择*,其中text=“me”和location=“uk”,amount=20

在控制台里试试.

我又包了一个美国石油学会在那里——在雅虎地理API根据名称确定要按位置搜索的位置。总之,您在这个打开的表中有三个参数–所有这些参数都是可选的:

  • 文本–搜索文本
  • 位置-地理位置
  • 金额-要返回的照片数量

如果您查看表源,你也可以看到,我把照片的许可证硬连线到了4,这是CC-BY。所以,如果你把照片链接回Flickr,你既满足了Flickr的条件,又满足了原始摄影师的条件。

现在,使用此输出的最简单方法是使用钇铝石榴石杰森-P-X输出格式。这是XML通过回调返回杰森对象与HTML作为字符串而不是复杂的杰森对象。杰森-此处为P-X输出。

这样,您就可以轻松地在JavaScript中使用它:


而且在PHP

      $url='http://query.yahooapis.com/v1/public/yql?Q=使用%20%22http://github.com/codepo8/yql tables/raw/master/flickr/flickr.photolist.xml%22%20as%20flickr;%20从%20flickr%20中选择%20*%20,其中%20text=22me%22%20和%20location=22uk%22%20和%20amount=20&format=xml&diagnostics=false';
$ch=curl_init();
卷发($ch,科洛普网址$URL);
卷发($ch,科洛普返回传输,1);
$output=curl_exec($ch);
卷曲关闭($ch);
$output=preg_replace('/..*
    / ','
      ‘美元产量’;
      $output=preg_replace('/
    */','
‘美元产量’;
$output=preg_replace('/ /'、''、$output);
$output=preg_replace('/ /'、''、$output);
回波输出;
?>

你可以看到两者都在起作用在演示页面上.

所以通过使用钇铝石榴石打开表不仅可以访问复杂的API钇铝石榴石,但你也可以用javascript编写完整的mashup,并让它们在雅虎服务器的安全环境中执行。mashup的结尾只是一个显示,当javascript可用时,它可以是一个与ajax一起工作的表单,并在中呈现一个静态页面。PHP(或其他服务器端语言)当javascript关闭时。你只需要做一个超文本传输协议请求-其余部分在钇铝石榴石服务器场–人人都赢。

关于聪明懒惰——我在布拉格网络博览会上的演讲

星期一,10月19日,二千零九

我现在在布拉格,捷克共和国并就再利用问题进行了讨论,专业性和易发展性网络博览会.

布拉格网络博览会。布拉格网络博览会。

今天我要和大学里的人聊一聊关于无障碍和创造一个-支持aria的Web应用程序框架。

现在,以下是WebExpo演示文稿的幻灯片和演讲的录音。有视频流,同样,现在由微软决定把它作为一个录音带。

幻灯片

录音

你可以下载作为一个聪明懒惰的人MP3-36MB查看archive.org上的其他音频选项

笔记/抄本

今天我将讨论一个事实,聪明的懒惰会使你成为一个更好的开发人员。

首先,我是克里斯,一个开发者传道者。这意味着我是一个开发人员,在这个角色中,我可以告诉其他开发人员如何过上更轻松的生活,并告诉我的公司开发人员还想做些什么,让他们更轻松。我写了一篇开发者福音手册如果你有兴趣了解更多关于这个角色的知识,以及为什么必威体育下载你的公司会受益于betway体育官方网有像我这样的人。

聪明懒惰

让我在这里快速定义聪明的懒惰。懒惰是“我不想这样做”,聪明的懒惰是“我不想再这样做了,所以这次我做的很好”。在开发过程中,懒惰和聪明的懒惰的区别在于懒惰的产品完成了工作,但却不可能维持,而聪明的懒惰的产品完成了工作,很容易理解,延伸并建立在坚实的基础上。

发展网络

我们作为开发人员的工作,设计师,网络产品的规划者和组织者要发展网络。我们应该有机会集中精力构建让人们乐于使用它们的解决方案,而不是去弄清楚一个或另一个浏览器是如何失败的,或者我们如何将数据转换成Web技术能够显示和理解的格式。

为了实现这一目标,我们需要自由地做新的事情,而不是担心过去。

功能循环陷阱。

一个问题是作为开发人员,我们各自为政。开发人员最大的陷阱是特性循环:

  • 作为开发人员,我们喜欢处理复杂的问题。我们喜欢解决问题,这就是我们成为开发人员的原因。
  • 然后,我们通常很快地找到一个简单的复杂问题的解决方案。
  • 然后我们向全世界发布解决方案并获得反馈。
  • 这就是它变成梨形的地方。我们陷入了一个功能添加和反馈循环,直到优雅,简单而简单的解决方案又变成了一个复杂的解决方案。
  • 其他开发人员会发现我们以前的简单解决方案,并会认为“嘿,这是一个复杂的问题,让我们简单点!”

这使我们无法成为Web开发人员。我们不开发网络,我们用同一个问题的解决方案来填充它。

我的解决方案

下一个问题是,作为开发人员,我们喜欢自己寻找解决方案,而不是使用他人的信息。我们欣赏别人的工作,但最终我们只相信自己能想出最好的解决方案。

注意范围短

寻找和构建自己的解决方案的问题是,我们往往会很快对它们失去兴趣,然后将它们抛在脑后,因为我们已经在简化另一个复杂的问题了。这会导致网络上出现许多半成品的解决方案,而这些解决方案再也得不到任何爱了。

未维护的代码是一个安全问题

所有没有得到任何爱的代码在网络上保持不受约束,成为新的安全威胁或漏洞攻击的极好攻击载体。当您想要构建安全系统时,没有什么比更新更重要的了。

Web开发人员必须知道的事情才能完成他们的工作。

看看我们作为网络开发人员的工作,以下是你必须意识到的东西,以建立人们可以使用的东西。

  • 涉及的技术
  • 浏览器如何处理这些技术以及它们如何不支持它们
  • 安全问题和攻击载体
  • 产品的可用性和可访问性
  • 我们产品的国际化
  • 性能问题
  • 多平台支持
  • 接口的灵活性

浏览器吸吮

浏览器是我们生存的祸根,因为它们是不可预测的,不可靠的,它们有数百个(在不同的配置中),外面的人没有更新它们。

这是很多需要了解和处理的问题。好消息是你不需要知道所有这些。

优秀的开发人员就像图书馆员

图书馆员是伟大的人。他们不知道图书馆里的所有东西,而是知道在哪里可以找到解决问题的信息。作为一个聪明懒惰的开发人员,你也应该这样做。

扎扎实实

Web开发库的出现只是为了一个简单的目的:让我们作为开发人员的生活更容易,让我们作为Web开发人员的工作更容易预测。它们使浏览器的吸引力更小,并且可以解决浏览器之间的差异。它们允许我们使用Web标准并获得结果,而不是修复错误。

用组件生成

如果您构建Web应用程序和接口,请查看已经为您创建的内容。几乎每个库都有经过测试的小部件,为每个人工作,不管能力如何,都可以根据你的需要而改变。如果您构建自己的组件,那么您很可能会忘记协作产品已经包含的一些非常必要的功能。

使用良好的调试环境

如果你不知道发生了什么,你就不能写出好的产品。幸运的是,现在我们有了很好的调试工具,比如Firebug,雅虎分析器所有类型的jslint和验证器。

扩展计划

如果你建立了一个解决方案,计划一种方法,这样人们就可以扩展它而不必更改中心代码。只有在有新的浏览器或平台需要支持或有安全修复时,才需要更改中心代码。除此之外,还应允许人们通过聆听事件或使用其他美国石油学会钩住你的产品。

读,使用和编写文档

如果你做了什么,把它记录下来。没有什么能解释自己的代码,这是一个神话,也是一个傲慢的神话。

使用网络

现在真正聪明懒惰的事情之一就是利用网络来构建你的产品,而不是构建你的产品并将其放到网络上。在专门的系统上发布内容,如Flickr,YouTube美味佳肴和LinkedIn,然后将其集中在一起细胞质雄性不育.这样,您的站点将易于维护,并且不易受到单点故障的影响。

使用API

要实现这一点,您需要使用API。API需要花费大量的时间来阅读和理解这就是为什么它是一个好的使用计划钇铝石榴石作为一个中间环节,以避免在身份验证和理解什么参数进入和什么数据出来上发疯。

一个例子

作为一个例子,让我们来看看一个完全基于网络数据构建的网站,使用钇铝石榴石PHP.

谢谢!

谢谢您,记住,如果你使用外面的东西,你就有时间去创造。我希望我们大部分时间都写代码,不是为了修复错误。