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

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

8月存档,二千零一十

使用HTML5存储来缓存应用程序接口

星期四,8月26日,二千零一十

让我对浏览器的新功能感到兴奋的是“HTML5 Web存储模块。我喜欢它主要是因为它简单。

Web存储的思想是为用户简化信息存储。因为所有的域问题,我一直讨厌使用cookie。检查它们然后又回到其他东西上,这也是一个混乱。大多数人都是偏执狂,我认识很多禁用所有cookie的公司计算机用户。

另一方面,Web存储是浏览器中的一个简单对象。您可以将localstorage.foo设置为“bar”,当您下次加载文档时读取localstorage.foo时,它将为“bar”。这很简单。您可以存储5MB的文本数据,这些数据可以是整数或字符串。用JSON.stringify()您可以轻松存储更复杂的信息。

所以我想知道你能用它来最大限度地利用它,我意识到在很多情况下我会变得简单HTML在里面PHP然后在javascript中做一些聪明的事情,使它成为一个不同的界面。如果我想保留该接口的状态,我必须以某种方式将其存储在数据库中,以便下次用户访问该站点时,我重新呈现了最后的情况。

使用localstorage,只需缓存主应用程序的innerhtml(如果逐步构建它),就可以做到这一点:

你可以检查一下诀窍的来源在Github上的这个要点中

如果你不明白我在这里做什么,检查这个快速截屏视频

我会经常使用它——它非常简单,但功能强大。

视图源将教会您错误的东西

星期一,8月23日,二千零一十

最近,我发现越来越多的人在评论中为我们的web产品中对“视图-源代码”的需求而战,并声称它是“开放web的重要组成部分”和“新开发人员学习的伟大方式”。必威体育下载这让我很苦恼,因为在我看来,这是一个非常过时的学习和建立网站的想法。必威体育下载我不是说视图-源代码不重要——我是说有更好的方法来学习和分析代码。必威体育下载

当视图-源为王的时候

回到我开始在网上工作的时候,你通过查看其他人的实时网站的源代码了解到,必威体育下载复制和粘贴他们所做的工作,并对工作进行反向工程,以查看如何使用或改进它。这就是我在没有免费博客的情况必威体育下载下学习javascript的方式,教程或文章在那里告诉我。可用的书籍(基本上是javascript参考)处理的是技术本身,而不是浏览器世界中的应用程序。例如,与强大的Perl或相比,JavaScript仍然被认为是一种玩具语言ASPPHP或Java。

在网络出现前的几年,我通过分析我的电脑上的游戏学会了汇编语必威体育下载言C64试着得到无尽的生命。我通过冻结游戏来做到这一点,检查屏幕上我失去生命时发生变化的部分(计数器),然后在内存中搜索以找到改变屏幕上计数器的代码(找到十二月)我学必威体育下载会了如何欺骗系统,而不是如何编写汇编语言。后来我花了几年时间进行逆向工程。

如果你想学习web开发,我们没有时间去做这种承诺。必威体育下载

视图源为您提供了一个视图,而不是源

尽管花了很多时间,使用查看源代码查看网站的问题在于,您没有看到源代码,但你可以看到一个视图:

  • 如果您构建的网站考虑到了性能,并且在高端环境中,您可以将浏览器优化的视图发送到不同的浏览器。这意味着学习者将看到为Firef必威体育下载ox优化的内容,然后在Safari中进行尝试。或者更糟的是,他们看到了我们需要通过什么来让旧的IES行为,并认为这是最好的发展方式。
  • 活动代码通常被缩小和连接,并删除注释。所以你学会了怎必威体育下载么做,而不是为什么。您看到的一些东西可能是糟糕的黑客,但对于用于构建web站点的环境来说是必要的。
  • 检查生成的源更糟糕。浏览器添加了原始作者从未添加的特定于浏览器的代码。
  • 实时网站通常是由委员会构建的,其中有很多开发者感到不愉快的地方:跟踪代码,具有荒谬代码质量的第三方广告,在约定的时间和日期快速入侵,把事情弄出去。
  • 现在的大多数web站点都不是手工编写的——如果您为web构建而不使用power模板,细胞质雄性不育数据库和Web服务为您提供了许多错失良机的机会。HTML是方法论和构建过程的最终产品,而不是它的开始。

开放源代码是新的视图源代码

如果您真的想了解如何构建网站以及如何使用某些必威体育下载技术,而是查看源代码存储库。github,索尔斯福格谷歌代码和所有其他代码都有很多很好的例子。这就是开发人员互相交流和展示最新技术的地方。

由于最终产品是创建的,而不是手写的,您将发现关于为什么有些东西就是它存在的方式。

说说我参加10000米比赛的情况世界信息.如果您查看源代码,您将看到微型JS和CSS,所有这些都是内联的。我永远不会那样写代码。这是生成脚本的结果。我告诉世界:

世界信息源代码消息

如果你看看GitHub上的源代码你会一步一步地评论我是如何构建这个解决方案的。

新的学习者会从中获得更多的信息?必威体育下载这对我来说并不是更多的工作——当我记录我所写的东西时,我总是保持最新。更有趣的是,实际上,我在记录代码的时候解决了一些问题并修改了代码——因为在编写代码之后,我不得不从另一个角度重新审视它。

必威体育下载了解为什么不仅是如何

教人们如何成为优秀的Web开发人员的主要问题是缺乏耐心。我们没有意识到了解一种语言的语法并不能使您成为开发人员,而是认为这是所需要的。这就像学习一门语言的语必威体育下载法,然后尝试在没有词汇的情况下进行交流。或者分析一首诗的句法而不去看它的隐喻及其意义或它所处的历史环境。由于缺乏耐心,大多数使发展和写作艺术和工艺丧失的东西。

W3学校就是一个很好的例子。它告诉你最快的解决方案,并给你一些可以玩的东西。这就是它大获成功的原因。这是一个可怕的资源,尽管它不能解释什么会出错,当这将是一个糟糕的解决方案,它给人们的想法是,他们知道一切,通过了解语法。这个PHP当您在社区评论中了解到如何应用函数以及它们如何失败时,文档就更必威体育下载好了。

如果您真的想了解Web开发和标准,那么有一些必威体育下载非常好的资源:

我现在可以在这里列出太多的个人博客。这些是2秒查找任务——但是一旦你经历了其中的一些你就会知道为什么和如何,你将能够明白是明智的,从一个源视图,这可能不是什么好主意。

Worldinfo -我的Event Apart 10KB提交(信息和文档化的源代码)

星期二,8月17日,二千零一十

你们可能知道,与Microsoft关联的事件当前正在运行竞争对手询问开发人员在10 KB以下可以做什么我想我有机会做到这一点。

这是我提交的:一个在5K以下获取地球上任何国家信息的界面:

上周四,在伦敦的酒吧标准会上,有人问我是否有可能获取世界上所有国家的信息钇铝石榴石.主要的兴趣不仅是获取名称,还包括边界框信息,以便显示具有正确缩放级别的地图。它是,你需要做的就是钇铝石榴石如下所示:

从geo.places.children(0)中选择name、boundingbox。
父级wEID=1,placeType=“country”排序(field=“name”)

这将获取条目的所有子元素伍德1(地球,就是说)地质规划数据集那是一个国家,按字母顺序给你排序。

每个结果都带有边界框信息,然后可以使用该信息显示地图开放式街道地图静态图像美国石油学会(或任何其他提供者)。例如:

http://pafciu17.dev.openstreetmap.org/?
模块= map&bbox = 38.804001, 37.378052,
48.575699,29.103001,宽=500,高=250

或者当我使用它时:

var image='http://pafciu17.dev.openstreetmap.org/?模块=映射&bbox='+
bb.边界框.西南.经度+','+
bb.边界框.东北.纬度+','+
bb.边界框.东北.经度+','+
bb.边界框.西南.纬度+
'宽度=500,高度=250';

最后一个难题是从哪里获取国家信息,当然最简单的是维基百科。维基百科上的每个国家网站都有一个关于它的信息表,结果证明这是一个很难清理的问题,所以我所做的就是把这个表后面的前三段钇铝石榴石

从html中选择*
url=“http://en.wikipedia.org/wiki/Christmas_Islands”
和xpath=“//table/following sibling::p”限制3

其余的,正如他们所说,是历史。我花了2个小时的时间构建了这个系统,现在我花了一些时间来清理它,并为它添加香料:

世界信息-我的10KB应用程序Compao条目(增强源代码版本)

因为第一次加载数据需要很长时间HTML5本地存储以缓存国家/地区信息。这意味着你只需要等待一次,然后它会更快。

你可以在GitHub上下载并查看WorldInfo的来源我给你留下了大量的评论。

如果我把它构建成一个真正的产品,我会将结果缓存在服务器上,而不是每次用户出现时都对API进行锤击——因为信息变化不大,所以这更有意义。我可能会释放aPHP很快就会出现这种情况。现在,这就是我们拥有的。

validate()不要()

星期二,8月17日,二千零一十

如果你今天早上在Twitter上,你会看到我和雷米·夏普就他的网站进行了一些讨论。http://doesvalidationmatter.com/最初只是说“不”。我不同意这样一个笼统的说法,但我仍然不同意——如果你这样做,那么你需要量化它。因此,我称之为“傲慢的胡说八道”,它的雄辩足以容纳140个字符。

有影响力的人发表广泛声明的危险

因为我和雷米是我们刚去的朋友IRC对我们每个人的想法进行了更长时间的讨论,我详细解释了我对像雷米这样的名人的担心,我做了这样的一次性声明。我喜欢雷米的工作,我羡慕他的努力和他对最新技术的奉献。这就是为什么我的名字出现在他和布鲁斯·劳森的书的后面,我在书中称赞了他们的实用主义和如何使用的实际例子。HTML5以及当今世界所有的酷API。

一位受人尊敬的、站在伟大出版物最前沿的人所说的“确认无所谓”的问题,并不是说它可能是错的或是对的,而是说人们会把它当作一个借口,而不去理解主题:“酷,雷米说,验证并不重要,所以让我们使用表格布局和字体标签——毕竟它们是有效的”。

验证在Web开发(尤其是标记)上下文中具有任何重要性的问题并不容易。原因再次是我们作为Web开发人员构建产品时所处的宽泛和不明确的环境。

如果在javascript文件中输入语法错误,它坏了。如果我在PHP脚本页面不会呈现(或引发错误)。如果我写的无效HTML浏览器或者忽略它,或者——实际上更糟的是——试图为我修复它。这就是浏览器作为标记而不是代码的工作方式,这也是为什么工程师仍然考虑web开发人员设计人员。想象一下,当您保存文档并通过电子邮件发送而不告诉您时,Word只是替换了所有它认为写得不好的内容或打字错误——这就是浏览器为我们所做的。

标记和验证问题

  • 现在,我们重新发明标记,因为我们想要构建真正的应用程序,而不是模拟它们(每个Ajax应用程序都是一个hack,如果你真的看到了它)
  • 的官方验证W3C太严格和过时了
  • XHTML生来就死了,不是因为这是个坏主意,而是因为当时使用的主浏览器不支持。
  • XHTML2XHTML模块让我想起了在监狱墙上乱涂疯子的情景——对普通人来说太复杂了,试图解决那些要么是边缘案件,要么就是在遥远的将来的问题。
  • 我们习惯于写一半有效的代码来让事情正常运行,而当我们写无效的代码时,我们不会受到任何惩罚。
  • 标记对HTML命名空间类-aria作为错误,不允许一个网站上线,如果它不验证,会阻碍我们构建更好的Web应用程序。

总之,验证标记的需求似乎是武断的,而Web开发方法的一部分已经结束。我唯一关心的时候XHTML当我不得不使用XMLXSLT为某个特定的细胞质雄性不育.我在那里也学到必威体育下载了XML如果您的数据没有附带模式或没有验证,提供者将永远不会获取它。这是已知的。

以上两个原因都没有阻止我编写干净的代码并验证我的HTML.这就是为什么:

验证是过程的一部分

验证器是残忍和愚蠢的机器。结果应该按其意义进行分析和应用。正如道格拉斯·克罗克福德所说:“它会伤害你的感情。”

因此,对于我来说,验证器是发现和消除明显缺陷的第一步。当我在上担任主持人时,IRC很久以前,我们从来没有帮助过那些没有验证代码的人——原因是,当人们意识到他们忘记关闭一个div浏览器呈现了他们想要得到的东西,但没有呈现出来。这使我们能够帮助更多有实际问题的人。

验证标记是您对计算机所做的“您是否尝试关闭它并再次打开它”—它将解决您的许多问题,并给您一些时间重新思考您的方法。此外,它解决了很多问题,其中一些是神奇的。

验证的大多数问题不是关于验证或工具——而是关于人们对结果的误解。由于标准之间存在这样的差距,浏览器可以做什么,一些被标记的错误应该是异常,而不是标记为显示停止符。

多年来,这一直是无障碍性的祸害——无障碍性标准和基于这些标准的验证器只是发布了一系列报告,人们都选择遵守一个标准,而不是构建合理的产品。采取一些措施使你的网站美国农业协会实际上,顺从让他们更不容易接近。原因不在于人们是如此的固执己见,原因是——至少在英国——无法访问的网站是违法的。因此,人们构建的站点不是真正构建可访问的产品,而是验证自动验证报告的结果并将其装订到移交完成。

这当然是胡说八道。您无法验证语义,也无法自动测试图像的替代文本是否真正有意义。为此你需要一个人来检查这个。无障碍标准也有这样的规定。他们还要求对具有不同能力的用户进行测试,但是当你能显示一个很酷的报告,这意味着你的站点通过了一个自动化测试,所有这些就变得不重要了。

这种态度也会蔓延到企业环境中,在这种环境中,Web应用程序的界面比它与业务流程的联系更不重要。有来自的验证报告W3C验证器意味着这个东西是活的还是不活的。不管什么HTML真的是。这些人和那些不得不为他们工作的可怜的开发人员开始对验证充满敌意。

验证器检查语法,但不检查代码的含义或质量。它们是质量过程的开始,还没有结束。通过说验证根本不重要,我们使整个过程中性化。

让我们来教育人们如何验证和调试

我们应该教育人们如何阅读和权衡验证报告,而不是直截了当地告诉人们验证是死的,我们不需要它。我们也应该帮助W3C而其他人则写下验证器,以产生更合理的报告,并考虑到例外和遗漏的权衡。然后我们有一个强大的难题创造干净,有意义的代码。

浏览器支持的警笛之歌

关于验证的需求或意义的更大的困惑是,人们说它在“所有现代浏览器”中都有效,因此可以使用。问题是“现代”很快就变成了“狗屎,为什么我们要用这个而现在没人用那个了,我们不要支持它。当然,另一个问题是,如果您将浏览器视为主要的支持和测试平台,那么您也需要在所有“现代”浏览器中以及在不同系统中的所有排列中测试代码。

很多产品现在让我们无法摆脱IE6是那些在IE6是“了不起的”,支持它的是“为未来建造”。我们在过去几年中取得的许多成就以及浏览器供应商之间当前的交流都是基于我们为标准支持而奋斗的基础上的。让我们意识到我们曾经陷入的陷阱,在我们谴责这个工具之前,我们是如何思考标准的,这个工具告诉我们,你已经接近了一个应该成为标准的标准。

雷米很快就会发表他的想法,也是。这是一个有趣的讨论。现在这仅仅是为了验证——更有趣的问题是,是否值得编写有效的代码。就我个人而言,我认为浏览器有足够的能力呈现我们给他们的东西——为什么他们还要修复我们所做的错误?

选择加入或退出Google StreetView是更好的解决方案吗?

星期六,8月14日,二千零一十

似乎整个欧洲目前正在竭力反对谷歌街景展示他们的房子(这还没算闻无线点和数据),在谷歌的朋友们告诉我,在谷歌德国办公室有队列,人们要求他们的房子被删除。

谷歌街景应该选择加入吗?相片

原因是隐私,人们担心安全。正如我妈妈所说,“小偷只需要使用街景设备,看看哪里有好房子可以偷东西”,我回答说,他们也可以使用像自行车或汽车这样的技术来做同样的事情,而且他们不必去很远的地方偷东西。

现在,今天我的一个朋友必威体育下载克里斯蒂安·布林奇有一个非常好的想法,并把它放在一个邮件列表:

我估计这条街的风景不好。梅因
Vorschlag zur Loesung:es wird ein spezieller二维条码定义。杰德坎
澳大利亚证券交易所和德国克莱本证券交易所。迪耶斯·豪斯·威尔皮塞尔。
Vorteil:Geringer Aufwand,机器人技术:DAS HAT Schon VOR 6000 Jahren
基金会。Hauser konnen automatisiert verpixelt werden。DEN条形码
曼卡姆曼恩·恩特·贾凡尔希·杰纳赫·豪斯法尔贝(Man K_nnte Ja Verschiedene Je Nach Hausfarbe)定义者。
我是丹科·贾·尼克特,所有的护卫舰都在安特雷希,科恩恩,祖尔。
Entfernung并且我们将这些人力资源分配给bb0。

英语:

有些人不喜欢看到他们的房子在街景中。这是我的一个解决方案建议:你定义一个二维条码,人们可以打印出来并在自己的房子上显示。带有条形码的房子不会添加到街景中。好处是:这很容易实现,这项技术很古老,而且已经被证明有效(6000年前,真的。你几乎看不到条形码,你可以根据房子的颜色提供几种不同的条形码。我不认为人们能够及时将他们的请求从街景中发送出去,而谷歌的人力资源开销是另一个问题。

这是选择退出的想法。你也可以把它转过来,让它成为一个选择。如果你想让你的房子-显示条形码。

我能看到的唯一问题是你有几户房客的房子。另一个好处是,谷歌可以提供这些条形码并通过邮件发送。他们还可以创建一个生成器,允许商店在条码数据中添加他们的名称和产品,从而进一步增强街景信息。你怎么认为?