最昂贵的Javascript代码缘起:

前一段时间,Opera 浏览器公司需要越来越多的服务器。本身公司预见到 Opera Mini, Opera Link, Opera Turbo 会带来爆炸性增长,所以要添置 N 台服务器,减缓服务器压力。(事实上 Opera 确实迎来了爆炸式增长,可以参见每月公布的全球移动互联网报告。)

由于这些服务都是吃服务器的,Opera Mini 服务器要为全球几千万手机用户省流量加速,Opera Turbo 则负责电脑全网加速,Opera Link 频繁同步保证用户数千实时更新。所以需要添置的服务器不是几台的数量级,管理层批准整个订单的预算达几百万克朗(当前汇价1挪威克朗基本等于1元人民币)。

最昂贵的Javascript代码的经过:

信息系统部门的技术控们海皮起来了,这帮人的工作性质决定他们在服务器身上花的时间比在异性朋友身上都多。经过他们的上蹿下跳,公司采购到了收集样机测试的流程。所有供货商把机器发到挪威奥斯陆总部进行测试试用。

技术控们像条女朋友一样挑服务器,直到一台服务器把他们全部击溃了。这台服务器来自所有人都知道的全球一级厂商(名字不敢提)。当Opera工作人员启动之后,用Opera 浏览器访问管理界面,被直接转到错误界面。这还不是问题全部,当找到问题根源时,连同 CSS 发明人(现任 Opera CTO)带旗下所有人都崩溃了。

错误的原因是,服务器管理界面被下面一个经销商加了一行Javascript代码,判断到 Opera 浏览器访问管理界面直接粗暴的转向错误页面。

结果:

由于这行Javascript代码,此公司成功的激怒了 Opera 公司所有相关人员,成功的丢掉了这笔百万大单。Opera 公司感到奇怪,写明代码找我们浏览器的麻烦,还想卖给我们公司服务器?

元凶:

就是一行Javascript代码,逻辑是简单粗暴的处理用户,发现用户使用Opera 浏览器直接转向错误页面。 这算是史上最昂贵的Javascript代码了。

if (is.opera) { window.location.href="config/error.htm"; }

揭秘史上最昂贵的一行Javascript代码相关推荐

  1. 史上最昂贵的 Javascript 代码(转)

    Opera 公司在大规模采购服务器的过程中,发现了史上最昂贵的 Javascript 代码.由于这行代码,此服务器供应商成功丢掉了百万订单. 缘起: 前一段时间,Opera 浏览器公司需要越来越多的服 ...

  2. 150亿参数,谷歌开源了史上最大视觉模型V-MoE的全部代码

    来源:机器之心 本文共2400字,建议阅读5分钟 本文为你介绍谷歌开源史上最大视觉模型V-MoE的全部代码. 还记得谷歌大脑团队去年 6 月份发布的 43 页论文<Scaling Vision ...

  3. SAP MM 史上最偷懒的盘点事务代码MI10

    SAP MM 史上最偷懒的盘点事务代码MI10 SAP标准的盘点流程是:创建盘点凭证,打印盘点凭证,录入盘点结果,最后对差异部分清账处理.这个标准流程在企业实操的时候,显得太复杂,业务人员在系统上操作 ...

  4. win7蓝屏_史上最全电脑蓝屏代码含义,Win7电脑蓝屏最全攻略

    电脑蓝屏大家或多或少的都遇到过,今天李哥为大家整理了这方面的内容,给大家来详细了解一下. 电脑蓝屏,又叫蓝屏死机,简称BSOD,是微软的 Windows 系列操作系统在无法从一个系统错误中恢复过来时, ...

  5. 史上最全面试题总结JavaScript

    1.eval是做什么的? 它的功能是把对应的字符串解析成JS代码并运行: 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行). null,undefined 的区别? 目前 ...

  6. 编程 ul 不能一行显示 跳到下行_史上最全的数控G代码编程详解

    一.G代码功能简述 G00------快速定位 G01------直线插补 G02------顺时针方向圆弧插补 G03------逆时针方向圆弧插补 G04------定时暂停 G05------通 ...

  7. 揭秘史上最烂开发项目:苦撑12年,600万+行代码!

    编译: 欧剃 |来源: 优达学城Udacity(ID:youdaxue) 导读:你见过最烂的项目,撑了多长时间才完蛋?六个月?一年?今天介绍的这个奇葩项目,不但一开始就烂得透透的,还硬撑了12年多,直 ...

  8. 揭秘史上罕见教练奇才 穆里尼奥的足坛大航海时代

    2019独角兽企业重金招聘Python工程师标准>>>       罗布森+勤奋=离经叛道的穆里尼奥       当2003/04赛季,波尔图队在冠军杯中以黑马姿态高歌猛进的时候,皇 ...

  9. [Javascript]史上最短的IE浏览器判断代码

    今天发现个很有趣的js判断全世界最短的代码,想想之前自己写的判断ie浏览器的,这个实在简单多了 var ie = !+"\v1"; 仅仅需要7bytes!参见这篇文章,<32 ...

最新文章

  1. Java内存模型与线程
  2. ML之回归预测:利用九大类机器学习算法对无人驾驶系统参数(2018年的data,18+2)进行回归预测+评估九种模型性能
  3. flutter分平台主题定制
  4. 一个多线程和队列的实例演示
  5. 【GIF动画+完整可运行源代码】C++实现 希尔排序——十大经典排序算法之四
  6. 主题建模lda_使用LDA的Google Play商店应用评论的主题建模
  7. 小程序获取头像试试水 02《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》
  8. 【ARM-Linux开发】linux下Eclipse进行C编程时动态链接库的生成和使用
  9. 解决WordPress设置错误的url网站不能访问的问题
  10. iPhone开发之修改UINavigation Bar背景图片
  11. 查看服务器远程桌面端口命令,Windows系统服务器远程桌面端口查看和修改方法...
  12. WAV音乐文件无法修改标题
  13. 在计算机中NIC是什么意思?
  14. python中hub_Python中文社区名称的统一
  15. Sallen-Key 有源滤波器(1)
  16. ABAP中FIELD-SYMBOLS的详细用法
  17. 从《速度与激情》之布莱恩说起
  18. navicat 表中文显示? 解决
  19. jsPDF,生成pdf文件的助手
  20. MFC 画线,画刷,文本

热门文章

  1. luogu 4909 [Usaco2006 Mar]Ski Lift 缆车支柱 动态规划
  2. 微信小程序 自定义组件并引入
  3. Java几种遍历集合的方法(原理,复杂度,适用场合)
  4. 多种音频文件(.wav, .mp3, .ogg)转化为wav文件,支持分、秒级别切分
  5. 脊髓损伤导致肩部疼痛怎么办
  6. 严重性代码说明项目文件行禁止显示状态错误项目 Common 的 NuGet 包还原失败: 找不到“X.X.X”版本的程序包“XXXXXX”。
  7. 台达变频器通信线SG+,SG-两条and RS-485接线.
  8. 订单库存回补方案与实现思路
  9. (超详细保姆级教程)CISCN_2023--Web-Unzip(内有做题网站)
  10. 什么是挂载?mount的用处在哪?(适合新手,讲解的非常好)