Share via


互联网不是一个黑盒,看看其本质。

[原文发表地址] The Internet is not a black box. Look inside.

[原文发表时间] 2012-11-12 1:27

太多时候我看到程序员试图通过盲目地"来回切换"来解决他们在互联网上的问题。

改变一些东西,在浏览器中点击刷新按钮。"为什么被缓存了?发生了什么?然后再更改其他东西,点击浏览器中的刷新。"到底发生了何事?"

你可能听说过术语"cargo cult programming"(拜物编程,意思是由于对模式的盲目崇拜,在不理解的情况下就使用模式和方法,企图得到好的结果),二战后岛民挥舞棍棒,希望装载补给的飞机会飞过来。他们得出一个结论,挥舞棍棒会造成飞机的到来。

想一想抽象的东西。这是对初学者和资深专家的一个很好提醒。这不仅适用于计算机,而且适用于汽车、 灯泡、 冰箱,以及更多。

你没有看到什么?看看底层。

当在 web 上编码时,请记住没有任何东西可以逃离你的眼睛。

一位朋友给我发邮件,询问有关一些 CSS 文件的问题,不是缓存。这个聪明的人问题写得很长,是有关浏览器中的一个令人困惑的行为。我问-如同我经常问的一样-底层发生了什么事情?你有看过里面吗?

你正在使用Fiddler吗?你有在浏览器中按 f12 键,并探索它们的网络工具吗?你正在使用WireShark吗?

字面上这一时刻,当我编写这篇文章时,我刚刚注意到我博客上的Twitter 框中没有嵌入我最新的 tweet。

Where's my tweet?

我可以多次点击刷新,使用谷歌围绕它含糊地搜索,给朋友发邮件,或者我可以向内看看

我在我的浏览器按了 f12 键。我查看Network(网络)选项卡,并按状态进行排序。

Remember to use the Network Tools in your browser

嘿,突然我的 Twitter API 调用是 404。首次,这就是不对的。它们应该为我重新定向。

看了一眼之后,现在我使用google流行的术语。我搜索”twitter user timeline json api",看到在Twitter Developer Center上他们已经更改了该格式来包括"api."和一个版本号。

我更改我的模板来调用此更改过的 URL https://api.twitter.com/1/statuses/user_timeline/shanselman.json?callback=twitterCallback2&count=10,然后在我的浏览器中点击刷新。

There's my tweet?

那里有我的 tweet了。不是开玩笑,这正好发生了。良好的时机,我认为。

你可以自己决定深入到兔子洞的何处。我并不是在期望每个人都称为神经外科医生或专业的网络工程师,但我坚定地相信往更深一层次的挖掘会加强你的生活和工作

学习基本的HTTP 调试,并始终检查你的结果代码。即使你是一个非技术性的博客人员,也学习如何检查 404, 301和 500,并断言你的假设。

这个世界和互联网—并不是一个黑盒。看看里面。