必威体育下载基督教Heilmann

贴有“YDN”标签的帖子

发现,混合和显示网络数据-在马德里的YDN开发者之夜的一个演讲,西班牙

星期四,9月24日,2009

周一晚上,我在马德里参加一个开发商的晚会ETSITelecomunicacion。主办大学有一个很酷的礼堂,但真正让我吃惊的是,它在某种程度上是一个电信博物馆,这意味着整个建筑充满了旧的通讯硬件——这是我真正喜欢的东西。

不管怎样,我为开发者之夜所做的演讲是深入探讨雅虎的定位,YQL悠悠.以下是幻灯片:

你也可以听谈话的录音托管在归档文件.

如果你想看谈话视频(使用伊莎贝尔,大学的会议系统)你可以在大学网站上查看录音.

给你五件事——雅虎开发者网络的介绍

星期四,6月18日,2009

昨天我在巴塞罗那,在西班牙,他们与当地的一些开发者讨论了他们可以在雅虎开发者网络上找到的东西,以便更轻松地建立网站并给他们的老板留下深刻印象。我还展示了其他一些东西:

巴塞罗纳代码8。 雅虎巴塞罗那办事处代码。

下面是演示文稿和我的注释,以及代码示例的来源。你可以“下载幻灯片作为PDF(11MB)来自S3“:http://chrisheilmann.s3.amazonaws.com/developer-win晚-barcelona.pdf或在Slideshare上观看:

注:

给你的五件事

今天我将讨论雅虎为开发者提供的五件事。如果你想知道,在德国,mortadello y filemon实际上相当大——被称为“聪明和聪明”,因此我无法抗拒使用它们。

仅英语

对不起的,但我不会说西班牙语,但我的同事们稍后会来问答,如果需要,他们可以翻译。也,如果我说得太快,只要喊一声,我就尽量让它更容易些。

我是克里斯

我是克里斯,我是一个开发者布道者。你看,我也经常用手说话,但那是因为我热爱我所做的事情。我想让网络更简单,更专业的工作环境和媒体,人们可以享受,无论能力或技术设置。

等会儿再谈这个话题

这是我的主要网站在我发表所有演讲的地方,视频和其他好东西。因此,本演示将在稍后在这里结束,您可以将其重新混合用于自己的培训或演示。Creative Commons岩石。

雅虎开发者网络

我在雅虎开发者网络工作,你以前可能没听说过。本质上什么YDN所做的就是提供你在Yahoo上看到的几乎所有东西——显示的数据和通过api供你在自己的产品中使用的界面元素,SDK和一个伟大的开发框架。这个YDN主页你是我今天谈论的所有信息的第一站。

1)研究

首先,让我向您展示我们所做的一些研究,以及我们为您提供的构建自己解决方案的结果。除了我在这里展示的内容,还要确保与这里的一些同事聊天,因为我们在巴塞罗那有一个研究实验室,他们正在研究一些非常酷的产品。

模式

这个设计模式库是我们网站和应用程序用户所拥有的问题或任务的解决方案集合。我们在实验室里做了大量的用户测试,我们问了正确的问题来准确地找出人们认为最简单的方法,例如选择一个网络表单中的日期。所有这些研究都记录在这些使用模式中,并描述了问题,对解决方案的解释,以及对我们在Yahoo中使用解决方案的位置的交叉引用。如果你建立了一个界面但是你没有时间或者预算去做你自己的研究,这是一个很好的资源。这些模式是共同的创意,所以请告诉我们,如果你的经验不同,我们可以修改它们。

模版

如果你做视觉效果所有这些图案也可以作为模板提供适用于所有主要的设计工具。这样您就可以轻松地构建和设计开发人员能够在其中创建的接口CSS,HTML和JavaScript。

性能

这个特殊的性能雅虎开发人员网络的一部分是我们向您提供所有信息的地方,我们如何使我们的网站行为更快,响应更迅速。在我们的世界里,每一毫秒的页面加载和显示计数——我们可以将浪费的每一秒与损失的金钱联系起来。虽然您的网站可能不那么依赖于出色的性能,但不要浪费您的访问者的时间也不会有什么坏处。在本节中,您将找到如何调整服务器的提示和技巧,如何写作CSS以及如何优化易于组织和详细解释的图像。

2)灵活,专业发展

作为一家大公司,我们需要在如何作为开发人员彼此协作方面更加专业。雅虎有几十个办事处,有数百名开发人员我们发现每个开发人员和办事处都能解决同样的问题,犯同样的错误,并重新发明车轮,一遍又一遍。Web开发是一个非常不明确的领域,最大的问题是我们花费90%的时间来修复错误,而不是开发。我们希望改变这一点,确保我们能够集中精力构建我们的软件解决方案,并为用户的利益开发和调整它们,而不是修复恼人和令人困惑的浏览器错误。

分级浏览器支持

我们需要确保的第一件事是定义和描述对不同浏览器的支持。这是一个我们称为的方法和资源网站分级浏览器支持你可以在产品文档中使用,也是。你不可能给你的网站的每个访问者相同的体验,不管浏览器是什么,你实际上不应该这样想,因为这种想法违背了web的主要原则。你必须让你的产品适合每个人,但是,您可以根据访客设置的复杂程度提供不同的体验。这就是GBS做。我们定义完全支持哪些浏览器,并测试其高端体验。所有其他浏览器都无法获得这种体验,但无论如何都能正常工作。

雅虎用户界面库

这个雅虎用户界面库是迈向职业发展的下一大步。这是一个图书馆,范围从CSS解决,基于我们在GBS以及我们在模式研究中发现的最佳实践。这个悠悠这就是我们解决所有恼人的错误和问题的地方浏览器和Web技术必须允许我们构建解决方案,而不浪费时间去思考为什么它们不能在安装XYZ中工作。通过将所有这些保存在基础库中,我们可以修复并应用任何新技术或浏览器。如果我们在我们的站点上做了所有的修复工作,那么当技术发生变化时,我们将不得不重新访问每一个站点。这是无效的,因此我们建了一个图书馆。

无格式页的神话

浏览器中没有非样式的页面。如果你不应用样式表,然后,浏览器有一个内置的默认样式,随浏览器的不同而不同。这使得您无法设计一个可预测的接口。这就是为什么我们创造了取消所有样式浏览器应用于页面的样式表.这意味着您可以从一个干净的画布开始。

可预测的版式

排版是他的下一个障碍。每个设计师都会给你以像素为单位的字体定义,当你以像素为单位设置字体时,Internet Explorer 6不允许访问者根据需要调整页面上的文本大小。这就是为什么我们创建用于重置字体的样式表将您的浏览器设置为可读的最小值(再次基于用户测试),并有一个与像素大小直接相关的百分比刻度供您使用。

CSS布局

布局HTML不应使用表或表示标记,而应使用CSS.问题是浏览器支持我们需要使用的技术,这些技术可以让浏览器以不同的方式显示我们的布局。为了创建一个跨面板工作的布局,需要进行大量的黑客攻击。这就是为什么我们为我们的站点定义了一个网格结构和一个有效的样式表。我们现在需要做的就是向其中几个添加正确的id和类div元素,我们有一个工作布局。如果你真的很懒,我们甚至有一个CSS网格构建器工具为你。这个CSS是由我们托管在一个分布式服务器网络上,并从他们附近的服务器交付给您的访问者,这对性能非常好。但是您可以主持CSS你自己,也是。

专业解决方案

的javascript部分悠悠对于您必须处理的所有开发任务来说,它不是一个一网打尽的解决方案,而是被分割成更小的组件,这些组件都能做一件事,并且做得很好。这样,您就可以根据解决方案的需要混合和匹配库组件,并保持低占地面积。

小部件

在…之上悠悠组件我们构建了与设计模式相关的小部件。这些是你在雅虎网页上看到的东西——滑块,选项卡,菜单,富文本编辑器等。我们甚至有一个展示,证明了可以通过使用这些免费和开源的构建块来重建雅虎邮件的界面。

剥皮

所有这些小部件的外观和感觉都可以通过以下方式进行更改更改样式表.这很重要。你不应该仅仅为了让标签变成不同的颜色而改变javascript。

工作部件

这是一个小部件的例子——自动完成控件。正如您所看到的,这个小部件是为解决我们在模式设计库中找到的一个模式而构建的,并且使用我们的记录器控件可以向您提供关于在使用它的过程的每个步骤中发生的事情的完整信息。

渐进增强

我们的小部件是为工作而构建的,只有在浏览器支持时才能提供更流畅的体验。这意味着当JavaScript关闭时,自动完成控件将是一个文本框。数据网格或复杂的可排序样式表将是一个简单的,JavaScript关闭时可访问的数据表。这样,您就可以为每个用户构建工作解决方案,而不保证提供未交付的功能。用户信任您,如果你不信守诺言,你就会失去它们。

事件驱动架构

所有的小部件都是用自定义事件构建的,如果您想要增强它们的功能或覆盖它,您可以通过订阅被激发的自定义事件在交互过程的任何点上实现这一点。这允许您在不损害底层代码的情况下构建需要为您做额外工作的解决方案。您永远不应该更改库代码,因为这会阻止您将库升级到never版本。

记录器控件

Web开发中最烦人的事情之一是,并不是每个浏览器都能为您提供良好的调试工具。logger控件通过为您提供一个调试控制台来解决这个问题,该控制台可以跨我们支持的所有浏览器工作。

剖析器

如果你想知道为什么你的javascript会消耗大量的内存和减慢计算机的运行速度,你可以使用悠悠profiler来分析JavaScript内部发生了什么,并以这种方式修复瓶颈。

3)文档

两个悠悠我们所有的API都有由专业的技术编写团队编写的大量文档。

线上和线下文档

这些api附带了一个快速的“入门”指南和完整的文档——在许多情况下,甚至可以离线使用PDF版本。

循序渐进的介绍和示例

完整的文档以易于消化的块形式提供,指导您在需要的地方找到正确的信息类型。为了快速入门,有复制和粘贴演示代码示例。

代码生成文档

除此之外,悠悠还有一个JavaDoc风格的文档,它是从源代码中的注释生成的。这意味着它将始终是最新的,即使代码中有快速修复。这个从javascript代码创建文档的工具也有。

抄本

另一个不错的服务悠悠有是的邮政编码PDF备忘单对于所有不同的小部件。这些是A4纸,其中包含了启动和了解如何快速更改某个小部件实现的所有必要信息。

论坛,列表,博客和视频

如果你仍然被困住了,或者只是一个人不接受代码或文本,有YDN剧场有很多演讲的视频,放映和演示。有论坛,邮件列表和与团队的其他沟通形式社区部分

4)给老板留下深刻印象的事情

我一直在努力确保的一件事是,你可以明天去上班,告诉你的老板一些你可以用来节省公司金钱和时间,或者只是给他/她留下好印象的事情。这里有一些想法。

建立自己的搜索引擎老板

雅虎老板是一个美国石油学会这样你就可以进入雅虎的搜索索引。你可以显示雅虎的结果,根据需要重新排序和显示,并将结果与其他数据混合。这样您就可以轻松地构建垂直搜索引擎。此外,这些数据还包括未在正常雅虎搜索结果中显示的信息,如微格式,RDF信息,美味的标签和关键字。

为你的市场研究关键词

使用中的关键字老板我能够快速构建数据Keywordfinder.它所做的就是搜索你输入的关键字,返回前20个结果,获取用户输入的关键字来查找这些站点,为你对它们进行排名,并按照相关性的顺序把它们还给你。你可以用这个来看看你的头衔中应该用什么术语,标题和副本以获得更多搜索引擎的喜爱。

为您的网站创建性能报告和建议

耶斯洛是一个Firefox扩展,可以根据Yahoo在“卓越性能”一节中找到的最佳实践自动测试web站点。您可以很容易地找到问题并获得如何修复它们的内联技巧。一个真正令人印象深刻的部分是自鸣得意,它将您的所有图像作为一个批处理进行优化,并允许您以zip的形式下载它们以替换原始图像。

YQL重新混合网络

YQL尤其是YQL慰问这是一种非常简单的方法,让您在不了解雅虎和第三方的身份验证的情况下访问其API,参数结构或返回数据。通过使用YQL重新混合网络和访问数据库一样容易。更多细节,退房此演示文稿YQL

如何YQL演示吗?

这个关于巴塞罗那的网站不包含服务器上的任何内容,但从第三方位置(维基百科)提取所有数据,Flickr,即将推出的.org和雅虎天气。布局是使用悠悠网格建设者和以下是所需的所有代码,它是什么是:

PHP

      $ root = ' http://query.yahooapis.com/v1/public/yql?q= ';
$city='巴塞罗那';
美元loc =“巴塞罗那”;
$yql =' select * from html where url =' http://en.wikipedia.org/wiki/'.$city.' and xpath= ' //div[@id='bodyContent']/p ' limit 3';
= $ $ url根。urlencode (yql美元)。“format = xml”;
信息= getstuff美元($ url);
$info=preg_replace(“/..* γ 美元。* /”、“信息);
信息= preg_replace(" /美元 “encoding=”utf-8“?>/“,''$info);
$ info = preg_replace(“/ /”、“美元信息);
$info=preg_replace(“/”/wiki/“,'”http://en.wikipedia.org/wiki“,$info);

$yql = ' select * from upcom.events .bestinplace(5) where woeid in '。
'(从geo.places中选择weid,其中text=“'$loc.'”)'。
“|独特(字段=“描述”)';
= $ $ url根。urlencode (yql美元)。'&format=json';
$events=getstuff($url);
$events=json_解码($events);
foreach($events->query->results->event as$e)
$EVHTML=

  • url链接- > - >内容。”>“”$S->TITLE.''SRC=“'.$SRC.'>

  • ”;
    }

    $YQL='select description from rss where'。
    url = " http://weather.yahooapis.com/forecastrss?p=SPXX0015&u=c " ';
    = $ $ url根。urlencode (yql美元)。'&format=json';
    天气= getstuff美元($ url);
    $weather=json_解码($weather);
    $wehtml=$weather->query->results->item->description;

    函数getstuff($url)
    $curl_handle=curl_init();
    卷发手柄科洛普网址$URL);
    卷发手柄科洛普连接超时,2);
    卷发手柄科洛普返回传输,1);
    (缓冲= curl_exec美元curl_handle);
    旋度关闭($旋度手柄);
    if(空($buffer))
    返回“检索数据时出错,请稍后尝试。';
    }否则{
    返回$缓冲器;
    }

    }?>

    使用单个搜索执行多个搜索HTTP请求

    另一个功能强大的选择YQL给你的是多个排序美国石油学会调用一个请求。比如说你想在网上搜索“vicky,克里斯蒂娜,“巴塞罗那”和每个条款都有自己的规则。这很容易用YQL在单个语句中:

    从search.web中选择*查询
    (“维琪”,“克里斯蒂娜”,“巴塞罗那”,“午夜巴塞罗那”)

    结果可以看出在这里这就是PHP创建此演示的代码:

          $ root = ' http://query.yahooapis.com/v1/public/yql?q= ';
    $YQL=“select*from search.web where query in('vicky'、'cristina'、'barcelona'、'vicky cristina barcelona')”;
    = $ $ url根。urlencode (yql美元)。'&format=json';
    $search=getstufactures($url);
    $search=json_解码($search);
    $search=$search->query->results;
    $ vHTML =”;
    $ bHTML =”;
    $ vHTML =”;
    $ aHTML =”;
    foreach(搜索- >结果我美元){
    $tMPL=
  • clickurl。
    “>”..$i->dispurl.'

  • ”;
    如果(preg_match(美元/ vicky /我,我- >文摘)& &
    !preg_match('/cristina/i',$i->abstract)&&
    !preg_match(“/barcelona/i”,$i->abstract))
    v [] = tmpl美元;
    };
    if(preg_match('/cristina/i',$i->abstract)&&
    !preg_match('/vicky/i',$i->abstract)&&
    !preg_match(“/barcelona/i”,$i->abstract))
    c [] = tmpl美元;
    };
    如果(!)preg_match('/vicky/i',$i->abstract)&&
    !preg_match('/cristina/i',$i->abstract)&&
    preg_match(美元/我/巴塞罗那,我- >文摘)){
    b [] = tmpl美元;
    };
    如果(preg_match(美元/ vicky /我,我- >文摘)& &
    preg_match('/cristina/i',$i->abstract)&&
    preg_match(美元/我/巴塞罗那,我- >文摘)){
    $AttML= $TMPL;
    };
    $vhtml=@join('',数组切片($v,0,3));
    $bHTML = @join(' ',array_slice($b,0,3));
    $cHTML = @join(' ',array_slice($c,0,3));

    }
    函数getstuff($url)
    $curl_handle=curl_init();
    卷发手柄科洛普网址$URL);
    卷发手柄科洛普连接超时,2);
    卷发手柄科洛普返回传输,1);
    (缓冲= curl_exec美元curl_handle);
    旋度关闭($旋度手柄);
    if(空($buffer))
    返回“检索数据时出错,请稍后尝试。';
    }否则{
    返回$缓冲器;
    }

    }?>

    你也可以用JavaScript做所有的事情:


    5)伙伴关系

    真正有趣的是,所有这些都是开放的,您可以向其中添加自己的数据。使用简单XML文件称为开放表您可以在YQL对于其他开发人员。

    你可以主持这个XML如果你还不想让全世界都知道的话,把你自己归档。例如这个开放的表可以用在这样的语句中:

    使用“http://eatyourgreens.org.uk/yql/nmm-search.xml”作为nmm;
    从NMM中选择*,其中category='art'和
    searchterm=''塔桥''

    这让开发者可以访问伦敦国家海事博物馆中所有关于这些物品的信息!

    如果您希望打开的表通过我们的团队显示在控制台(我们会检查它们的安全性和质量),那么您所需要做的就是将表添加到GitHub.

    专业网络发展之路-我在台湾的大学演讲(现在有音频)

    星期四,4月16日,2009

    我刚结束在台湾的第一次谈话回来,我不得不说,这似乎很顺利。房间里挤满了人,后来人们问了很好的问题。

    第一个错误——表示标记

    交谈和翻译成中文

    [幻灯片共享ID=1297512&doc=1297512]

    在我介绍Web开发历史的幻灯片中,我们做错了什么,将来应该避免什么。我也涵盖了悠悠它如何体现了一些重要的学科,伟大的网络开发是基于。

    更新:梁彬勋发帖谈话的录音只错过了前五分钟。

    屏幕广播:用YQL构建分布式数据的在线概要

    星期三,4月15日,2009

    在过去的几年里,在网络上散布你的信息已经成为一种常见的做法,这很有意义。通过覆盖大量的分销渠道,您可以接触到各种受众,并从他们那里获得评论和反馈。

    您还使自己独立于单个在线资源—如果您的服务器不可用,那么您的数据仍然存在。我可以继续讲分配的好处(毕竟)我就这个题目写了一本书)但让我们看看另一方面:通过在网络上传播你的数据,你也在分散你自己,你想要一个单一的资源作为你的主要资源统一资源定位地址.

    人们已经告诉我一段时间了,他们没有时间在网上找到我留下的所有东西,他们想知道是否有一个单一的入口点。一个解决方案是FriendFeed但是,你想要的不仅仅是你的“在线档案”的风格。

    这里就是YQL得到这个方程。使用YQL,一YUI CSS网格,几十行PHP还有一点CSS我努力拼凑在一起我的在线投资组合http://icant.co.uk你也可以这么简单。下面的视频向你展示了这是如何做到的:

    你也可以下载一个可读的ipod屏幕播放版本.

    自从我整理好了剧本(我需要赶飞机时有点匆忙),我就用另一个脚本更新了这个想法,这个脚本可以抓取结果。HTML要创建的文档RSS我在网上的所有数据的馈送.

    使用YQL比自己阅读所有不同的资源并将它们混合起来有更多的好处:结果是为您缓存的,YQL的网络连接很可能比你的更快,这使得抓取过程更容易,你可以完全控制正在发生的事情YQL输出为您提供诊断信息。

    我会在YQL在不久的将来举行的各种会谈中,而且在这个拐角处,系统本身也发生了更有趣的变化。随时关注精彩的更新。

    ttmmhtm:api更新,YDN星期二,YUI在Github和良好的氛围

    星期四,1月15日,2009