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

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

Archive for December,二千零九

为《粉碎》杂志撰稿——你认为我该报道什么?

星期一,December 28th,二千零九

我想这是一个很好的例子,吱吱作响的轮子得到油…在Twitter上抱怨粉碎杂志过度“列表帖子”–你知道“543个你真正需要的jquery插件”和“3214种创建阴影的方法”我现在被要求成为杂志的作者之一。

I've always had a soft spot for Smashingmagazine as it rose quite quickly in an already full market and showed that dedication works out in the end.我从网上杂必威体育下载志上学到了很多东西,后来从博客上看。诸如此类分开的清单,进化论,数字网站and立地点教我CSStricks,basics ofSEO以及其他技巧。当数字网络关闭时,一张单子分开改变方向和其他,有趣的新杂志颗粒物只是没有完全离开地面,我以为一切都结束了,在某种程度上是这样。个人博客,Twitter和Facebook组织改变了我们去哪里获取信息的想法,传统的编辑方式显得有些呆板,似乎阻碍了我们的发展。

但我不同意。良好的编辑流程意味着我们提供更好的内容。书之所以伟大,不是因为作者是天才,而是因为技术编辑挑战作者更好地解释,copy editors fixing spelling and grammar mistakes and the same subject being prodded over and over again until it is the bare mimimun and easy to understand.

当你的编辑工作不受欢迎,读者数量(和广告浏览量)加起来不足以支付给作家和编辑的费用时,它就会变成梨形。当第一个杂志出版的时候,这不是一个问题——人们很乐意免费这么做。如今,然而,它的业务要多得多,许多在线作家都要求用现金购买文章。看到一篇好文章的工作量,这完全没问题,但是如果你每天都找不到好文章怎么办?

这是当杂志转向列表帖子的时候。These are quick to do and mean a new release for the mag – theRSSfeed得到一个新条目,人们可以发推特,等等。

列表帖子是一个真正的问题。他们非常成功,as they are easy to digest,但它们也扼杀了杂志的整体质量。AS抽屉上的小纸条用不太切碎的词写进去。:

It used to be so much better than this.你看到的每一篇文章都不是教程或列表。地狱,他们中的大多数不是教程或列表。有些文章实际上讨论了设计。有一些文章让你思考如何成为一个更好的设计师,并鼓励关于设计的智力讨论。那些文章仍然存在,但他们被模仿者淹没了。
Web设计社区分为两个方面:1。喜欢看每一篇单列文章有2个。讨厌那些列出来的文章被发明出来。我两个阵营都有,因为对我来说有些单子确实有目的,but when we start to see Design Trends of Spa Websites I think we might be going a bit too far.

因此,当《粉碎》杂志(在Facebook上的所有内容)接近我,为他们写文章,因为他们想改变和发布更多的内容时,我非常高兴。引起讨论而不是一系列评论的深入文章,都说“棒极了”或类似的YouTube主义。

因此,我在去父母家过圣诞节的路上写的前两篇关于机场的文章将在1月份发表,内容包括以下主题:

  • 使用yslow进行基本性能测试,PageSpeed和AOL网页速度测试
  • 七步测试以找到正确的javascript小部件

你还想在SmashingMag上看到什么,以及它拥有的大量读者?

Going a little crazy – one HTTP request RSS reader in JavaScript

星期一,12月21日,二千零九

小丑和两张脸。好啊,使用钇铝石榴石玩游戏机会让你走得太远。

几天前为了回应我24路文章钇铝石榴石我的朋友詹斯格罗赫德雷斯asked me how to get the thumbnails and some other data from the Slideshare site in one钇铝石榴石请求。He tried multipleXPath直到我指出有一个完全有效的RSS用缩略图喂食。

这让我们想知道,为什么我们真的需要关心一个feed的检测,而是在它存在的时候使用它,让计算机为我们做检测。What I wanted to do was to turn the followingHTML将源数据作为嵌入列表自动放入列表:

      

不虔诚的人钇铝石榴石request I came up with was the following:

select
标题,链接,内容。缩略图,缩略图,描述
from feed where url in (
从HTML中选择HREF,其中URL位于(
“http://wait-till-i.com”,
"http://flickr.com/photos/codepo8",
“http://slideshare.com/cheilmann”,
“http://youtube.com/chrisheilmann”

xpath="//link[contains(@type,'rss')][1]")
|unique(field="link")

这是怎么回事?我正在使用HTML表读取我要分析的每个资源:

select * from html where url in (
“http://wait-till-i.com”,
"http://flickr.com/photos/codepo8",
“http://slideshare.com/cheilmann”,
“http://youtube.com/chrisheilmann”
)

然后我使用xpath并返回第一个具有包含单词的type属性的link元素RSS.在YQLⅠonly take its href attribute.

从HTML中选择HREF,其中URL位于(
“http://wait-till-i.com”,
"http://flickr.com/photos/codepo8",
“http://slideshare.com/cheilmann”,
“http://youtube.com/chrisheilmann”

xpath="//link[contains(@type,'rss')][1]")

注意XPath语法的乐趣…0是第一个-每个开发人员都知道这一点!We then use the feed table to get the feed information from each of these hrefs as urls:

select
标题,链接,内容。缩略图,缩略图,描述
from feed where url in (
从HTML中选择HREF,其中URL位于(
“http://wait-till-i.com”,
"http://flickr.com/photos/codepo8",
“http://slideshare.com/cheilmann”,
“http://youtube.com/chrisheilmann”

xpath="//link[contains(@type,'rss')][1]")

最后一个问题是Flickr会以这种方式多次返回照片项,因为它有一个用于照片URL的提要和一个用于链接到照片许可证的提要。因此,我们需要使用unique()来只获取其中的第一个:

select
标题,链接,内容。缩略图,缩略图,描述
from feed where url in (
从HTML中选择HREF,其中URL位于(
“http://wait-till-i.com”,
"http://flickr.com/photos/codepo8",
“http://slideshare.com/cheilmann”,
“http://youtube.com/chrisheilmann”

xpath="//link[contains(@type,'rss')][1]")
|unique(field="link")

所以,这实际上是我们想要的–我们将所有不同的请求放在一起超文本传输协议request and then only need some JavaScript to display it.回来的数据一团糟,因为它只是一个项目数组——所以我们需要循环并检查每个项目的链接,以知道何时进入下一个列表项目。

这是非常迅速和肮脏的:

var x=document.getElementByID(“feeds”);
var containers = [];
if(x){
var links=x.getElementsByTagname(“a”);
var资源=[]
var URLS=[];
for(var i=0,j=links.length;i containers.push(链接[i].parentnode);
urls.push(链接[i].getattribute('href'));
}

var yql = ‘select title,link,content.thumbnail,thumbnail,'+
'来自源的说明,URL在其中(选择href'+
'来自HTML,其中url在('+urls.join(','')+'“)和'+
'xpath=“//link[包含(@type,'rss')][1]”)'+
'唯一(field=“link”)';
var api='http://query.yahooapis.com/v1/public/yql?q=’+
encodeuricomponent(yql)+'&format=json&callback=foo';
var s=document.createElement(“script”);
s.setattribute('src',api);
document.getElementsByTagname('head')[0].附件子项;
}

function foo(o){
var items=o.query.results.item;
var c = 0;
var out='';
对于(var i=0,j=items.length;i out += ‘

  • '+项[i].标题+'
    if(items[i].thumbnail || items[i].content){
    var thumb=items[i].缩略图items[i].content.thumbnail;
    out += ‘
    } else {
    if(items[i].description.indexof('src')!= -1){
    var thumb = items[i].description.split(‘src="')[1];
    Thumb=Thumb.Split(“”)[0];
    out += ‘
    }

    }
    out += ‘


  • if((items[i+1] && items[i+1].link.substr(0,20) !=
    项目[i].link.substr(0,20)))
    容器©innerhtml+='
      “+ + +”

    C++;
    out='';
    }

    }
    容器©innerhtml+='

      “+ + +”

    }

    然而,坏消息是,这是非常没有意义betway体育官方网的,因为性能是可怕的。Not really surprising if you see what the钇铝石榴石服务器必须做,以及加载和分析了多少数据。

    你的表演毫无意义。

    当然,您可以在本地缓存结果,从而将其减少到非常小的数量。然而,如果您这样做,您也可以完全转到服务器端。

    I am currently working on making icant.co.uk perform much faster,因此,请注意这个空间中的泛型RSS显示器:

    curl–您的“查看源代码”

    星期五,12月18日,二千零九

    下面是对卷曲魔法的快速介绍。这是受到布鲁斯·劳森对我的24条路文章的评论:

    看起来很酷,可以帮助我完成一个小的圣诞节项目。Unfortunately,你在“做卷发”时把我弄丢了。Care to explain what's happening there?

    卷曲是什么?

    好啊,来吧。curl是Web的“查看源代码”工具。In essence it is a program that allows you to make超文本传输协议requests from the command line or different language implementations.

    The卷曲主页has all the information about it but here is where it gets interesting.

    如果您在Mac或Linux上,你很幸运,因为你已经有了卷发。如果您的操作系统受到挑战,你可以下载不同包中的curl.

    在上面提到的系统中,你可以直接去终端做你的第一件事,加载网站并查看源。To do this,simply enter

    curl "http://icant.co.uk"

    And hit enter – you will get the source of icant.co.uk (that is the rendered source,就像一个浏览器会得到它——而不是PHPsource code of course):

    用曲线显示

    如果要在文件中输入代码,可以添加>文件名at the end:

    curl“http://icant.co.uk”>myicantcouk.html

    Downloading with curl by  you.

    (速度当然会有所不同-这是雅虎英国的管道:)

    这基本上就是curl所做的——它允许你做任何超文本传输协议request from the command line.This includes simple things like loading a document,but also allows for clever stuff like submitting forms,setting cookies,正在验证超文本传输协议,正在上载文件,faking the referer and user agent set the content type and following redirects.简而言之,任何东西您可以使用浏览器。

    我可以解释这一切,但这很乏味在curl的主页上有很好的解释(如果没有很好的展示)。.

    这对我有什么用?

    现在,当你在另一种语言中使用它来构建网站时,这就变得很酷了。PHP我选择的武器有几个原因:

    • It is easy to 必威体育下载learn for anybody who knowsHTML和JavaScript
    • 几乎每个网络托管包都有

    后者也是问题所在。As a lot of people write terribly shoddyPHP网络上到处都是不安全的网站。这就是为什么许多招待员不允许一些有用的东西PHPcomes with.例如,您可以使用读取文件():

    
                
      readfile'http://project64.c64.org/misc/assembler.txt');
    ?>

    事实上,因为这是一个文本文件,它需要正确的标题:

    
                
      header'内容类型:文本/普通');
      readfile'http://project64.c64.org/misc/assembler.txt');
    ?>

    你会发现,然而,很多文件宿主不允许您从其他服务器读取文件读取文件(),或FOpen-()include().Mine for example:

    readfile not allowed by  you.

    这就是卷发的来源:

    
                
    header'内容类型:文本/普通');
    //定义要加载的URL
    $URL = 'http://project64.c64.org/misc/assembler.txt';
    /开始卷曲
    $ CH = 姜黄素); 
    // tell cURL what the URL is
    库尔斯基塞特$ CH,CURLOPT_URL, $URL); 
    //告诉curl您希望从该URL返回数据
    库尔斯基塞特$ CH,卷边返回传输, ); 
    /运行旋度
    美元产量 = 姜黄$ CH); 
    //结束curl调用(这也会清除内存,因此
    // important)
    紧闭的$ CH);
    // display the output
    回声 美元产量;
    ?>

    正如你所看到的,选项是事情变得有趣的地方和你可以设置的地方。军团.

    所以,不只是包含或加载文件,you can now alter the output in any way you want.比如说你想不使用API.这将从我的Twitter主页获得个人资料徽章:

    
                
    $URL = 'http://twitter.com/codepo8';
    $ CH = 姜黄素); 
    库尔斯基塞特$ CH,CURLOPT_URL, $URL); 
    库尔斯基塞特$ CH,卷边返回传输, ); 
    美元产量 = 姜黄$ CH); 
    紧闭的$ CH);
    美元产量 = 前置替换“/”*
                 
    +>)/MSI , “1美元” , 美元产量 ) ; 美元产量 = 前置替换 '/ */MSI , '' , 美元产量 ) ; 回声 美元产量 ; ?>

    Notice that theHTMLTwitter的桌子as the stats,一张单子就能做到这一点。Let's rectify that:

    
                
    $URL = 'http://twitter.com/codepo8';
    $ CH = 姜黄素); 
    库尔斯基塞特$ CH,CURLOPT_URL, $URL); 
    库尔斯基塞特$ CH,卷边返回传输, ); 
    美元产量 = 姜黄$ CH); 
    紧闭的$ CH);
    美元产量 = 前置替换“/”*
                 
    +>)/MSI , “1美元” , 美元产量 ) ; 美元产量 = 前置替换 '/ */MSI , '' , 美元产量 ) ; 美元产量 = 前置替换 '/ , '' , 美元产量 ) ; 美元产量 = 前置替换 '/<(?)tr>/' , '<$1ul>' , 美元产量 ) ; 美元产量 = 前置替换 '/<(?)TD> , “$1LI>” , 美元产量 ) ; 回声 美元产量 ; ?>

    刮纸只是卷发的一件事。大多数情况下,您将要做的是调用Web服务。

    说你想搜索web驴,you can do that with Yahoo老板:

    
                
    $search = 驴子;
    阿皮德 = 'appid=tx6b4xhv34enpxw0syer51hp1pn5o8kags'.
             '.lqsxer1z7rmmvrzouz5svyxkwsvk-';
    $URL = 'http://boss.yahooapis.com/ysearch/web/v1/'.
           $search.'?format=xml&'.阿皮德;
    $ CH = 姜黄素); 
    库尔斯基塞特$ CH,CURLOPT_URL, $URL); 
    库尔斯基塞特$ CH,卷边返回传输, ); 
    美元产量 = 姜黄$ CH); 
    紧闭的$ CH);
    $data = simplexml_load_string美元产量);
    foreach$data>结果集网>结果 as 美元){
      回声 "

    {$r> >点击URL}>{$R> >标题}

    "
    ; 回声 "

    {$r> >抽象} {$r->url})

    "
    ; } ?>

    clickurl}\">{$r->title}

    “;echo "

    {$r> >抽象}({$R~> URL})

    “?”>

    对于需要的API,您也可以这样做或其他身份验证。比如说用放置器要在文本中查找位置:

    $content = 嘿,我住在伦敦,英格兰和星期一.
               “我经由瑞士苏黎世飞往纽伦堡(很遗憾)。;
    $KEY = 'C8meDB7V34EYPVngbIRigCC5caaIMO2scfS2t'.
           '.HVsLK56BQfuQOopavckAaIjJ8-';
    $ CH = 姜黄素); 
    定义“后URL”,  'http://wherein.yahooapis.com/v1/document');
    定义'POSTVARS', 'appid='.$KEY.'文档内容(&D)='.
                        乌伦码$content).
                       '文档类型=text/plain&outputtype=xml');
    $ CH = 姜黄素后网址);
    库尔斯基塞特$ CH,箭毒柱, );
    库尔斯基塞特$ CH,curlopt_邮箱,POSTVARS);
    库尔斯基塞特$ CH,卷边返回传输, );  
    X = 姜黄$ CH);
    $places = simplexml_load_stringX, “SimpleXMLElement”,LIXMLX NOCDATA);    
    回声 "

    $content

    "
    ; 回声 "
      " ; foreach $places > 文件 > 位置细节 as 美元 ) { 现在$ = 美元 > 地方 ; 回声 "
    • {$now->name},{$现在->类型}"; 回声 "($现在->质心->纬度,{$now->centroid->longitude})
    • "
      ; } ; 回声 "
    "
    ; ?>

    $content

    ";echo "
      “foreach($places->document->placeDetails as$p)$now=$p->place;echo "
    • {$$->名称},{$现在->类型};echo”($now->centroid->latitude,$now->centroid->longitude)
    • ";};echo "
    “?>

    Why is all that necessary?I can do that with jQuery and Ajax!

    对,你可以,但是你的用户可以吗?也,你能负担得起一个没有被搜索引擎索引的页面吗?您能确定页面上的其他javascript都不会导致错误,并且您的所有功能都消失了吗?

    通过坚持你的服务器做艰苦的工作,你可以依靠工作,如果你在javascript中使用网络资源,首先你希望用户的计算机和浏览器能够理解你想要的东西,同时你也能接受各种危险的注入。JavaScript不安全–页面中执行的每个脚本都有相同的权限。如果您使用javascript加载第三方内容,并且您没有非常巧妙地过滤它,那么第三方代码的维护者可以注入恶意代码,允许他们从您的服务器窃取信息,并以您的用户或您的身份登录。

    为什么C64事情?

    Well,the卷发后面的小伙子实际上过去做演示C64(和我一样)。看看区别:

    地平线1990

    HAXX.SE 2000

    开发者福音书更新-关于写幻灯片的新章节,新打印版本

    星期二,December 15th,二千零九

    昨天我花了一晚上的时间更新了Developer Evangelism Handbook:

    新封面。由你。

    The updates include:

    The rest remains the same:

    开发者宣传是IT公司的一种新角色。这是一本如何取得成功的手册。

    开发者传道者是发言人,公司及其技术人员和外部开发人员之间的调解人和翻译。如果你认为这对你来说是个好角色,这是开发人员福音传道者手册,它提供了一些关于如何做这项工作的好提示。

    使用手册,您将学习如何:必威体育下载

    • 找到优秀的网络内容并进行推广。
    • 为Web编写并创建引人入胜的代码示例。
    • 利用网络和社交网络为你提供便利,研究和推广。
    • Prepare and deliver great presentations

    我最喜欢的五个应用程序来完成我的工作

    星期一,12月14日,二千零九

    I was asked by .net magazine to list my five most used applications at the moment and why not publish my results here,也是。以下是我作为一名开发者传道者的日常工作:

    我最喜欢的应用程序-叉车。

    Krusader on Linux,Windows上的总指挥官Forklift on Mac–我使用最多的工具是什么?我在各种服务器和S3帐户上处理文件做了很多工作,我主要是一个键盘用户。我喜欢能够使用任何网络资源,比如外部硬盘,使用像文件夹这样的压缩文件,在删除文件时不会被问到我是否真的想这样做。所有这些都做得很好的另一件事是,让我可以快速访问文件夹中的命令行,以便进行繁重的文件编辑,并且能够同时看到两个资源,这使得跟踪重复的文件和区分两个文件夹变得容易。

    我最喜欢的应用程序-你的textmate。

    Textmateis my weapon of choice for any editing – including writing.速度很快,可扩展性非常好,不会因为菜单和面板太多而分散我的注意力。键盘快捷键和选项卡的完成使得在其中进行编辑变得非常快速,并且能够从编辑器中运行脚本,使得从文件文件夹中自动创建文档变得非常强大。

    Picture 1 by  you.

    Skitchkept me from waiting for Photoshop opening many a time.对于快速截屏,简单地编辑屏幕截图和注释它做得很好。Its integration with flickr makes it also very useful to quickly annotate something and show it to the world.

    我最喜欢的应用程序-你的Ishowu。

    我最喜欢的应用程序-MPEG流剪辑。

    我最喜欢的工具——VLC。

    伊肖乌可能是我用过的最简单(也是最便宜)的筛选工具。当我还在用窗户的时候坎塔西亚相比之下,它感觉非常笨重。一起mpegstreamclip对于最终视频的简单编辑和VLC对于筛选和编码任务当你的工作是快速向全世界展示一些功能时,这会让你的生活更轻松。

    My favourite tools - Audacity by  you.

    因为我想录下我的谈话,当你不同时做事情和谈话,而是在事后给电影配音的时候,电影的放映效果会更好。厚颜无耻是我的工具,任何音频编辑和混合。It is amazing just how much you can do with an open source tool these days – tasks that in my days as an audio producer were only possible with ProTools.

    那是五个。当然,我会更多地使用和用于其他特定任务(我想到的是主题演讲和Adium和Dropbox)。but I was asked for five,so here you go.