生活中处处都有小惊喜,在程序员的世界里,这种惊喜更多得多。他们潜藏在互联网世界的各个角落里,普通人在偶然的机会下或许能窥探其中的一角,然而这些秘密在开发者的世界里已经众所周知。本文就列举其中几个,帮助你打开程序员魔法世界的大门。
这个也不算多大的秘密了,不过还是很诧异很多朋友不知道。
Chrome 是浏览器界的扛把子之一,在网络连接失败的情况下,很多人都见过一个小恐龙图表和连接失败的提示。
也可以通过在 Chrome 地址栏中输入 chrome://dino 来访问。
此时如果你按下空格,就会发生神奇的事情,小恐龙能跑起来,这个界面变成了一个按空格躲避障碍物的跑酷游戏。
这个小恐龙跑酷游戏其实已经在 Chrome 浏览器里存在很多年,原本只出现在专为开发者和早期用户设计的 Google Chrome 金丝雀版。2013年小恐龙出现在正式版本,2014年秋小恐龙被正式改造成一个横版游戏。
在今年 5 月份左右,甚至有人用神经网络 遗传算法训练了一个自动跑酷的 AI,超过了人类玩家的历史最高分 18842 分(竟然有人玩这个游戏能玩到将近 2w 分?)。下面是来自掘金的一个神经网络跑分动图:
在前不久的 Google 10 周年之际,这个魔性小恐龙还带上了生日帽:
你可以把浏览器变成一个文本编辑器,或者一个支持代码高亮的代码编辑器。只需要在网址栏输入 data:text/html, <html contenteditable> 后回车,一个基本的文本编辑器就完成了。原理并不复杂,只是调用了浏览器的一个 HTML5 属性。
基于此,程序员做了很多发明创造,比如一遍打字一边切换背景颜色的编辑器:
data:text/html, <html><head><link href='http://fonts.googleapis.com/css?family=Open Sans' rel='stylesheet' type='text/css'><style type="text/css"> html { font-family: "Open Sans" } * { -webkit-transition: all linear 1s; }</style><script>window.onload=function(){var e=false;var t=0;setInterval(function(){if(!e){t=Math.round(Math.max(0,t-Math.max(t/3,1)))}var n=(255-t*2).toString(16);document.body.style.backgroundColor="#ff" n "" n},1e3);var n=null;document.onkeydown=function(){t=Math.min(128,t 2);e=true;clearTimeout(n);n=setTimeout(function(){e=false},1500)}}</script></head><body contenteditable style="font-size:2rem;line-height:1.4;max-width:60rem;margin:0 auto;padding:4rem;">
比如提供笔记本样式的编辑器:
data:text/html;charset=utf-8, <title>TextEditor</title> <link rel="shortcut icon" href="http://g.etfv.co/https://docs.google.com"/> <style> html{height: 100%;} body{background: -webkit-linear-gradient(#f0f0f0, #fff); padding: 3%; height: 94%;} .paper { font: normal 12px/1.5 "Lucida Grande", arial, sans-serif; width: 50%; height: 80%; margin: 0 auto; padding: 6px 5px 4px 42px; position: relative; color: #444; line-height: 20px; border: 1px solid #d2d2d2; background: #fff; background: -webkit-gradient(linear, 0 0, 0 100%, from(#d9eaf3), color-stop(4%, #fff)) 0 4px; background: -webkit-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: -moz-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: -ms-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: -o-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; background: linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px; -webkit-background-size: 100% 20px; -moz-background-size: 100% 20px; -ms-background-size: 100% 20px; -o-background-size: 100% 20px; background-size: 100% 20px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.07); -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.07); box-shadow: 0 1px 2px rgba(0,0,0,0.07); } .paper::before { content: ''; position: absolute; width: 4px; top: 0; left: 30px; bottom: 0; border: 1px solid; border-color: transparent #efe4e4; } textarea{display: block; width:94%;margin:0 auto;padding:3.8% 3%; border: none; outline: none; height: 94%; background: transparent; line-height: 20px;} </style> <body spellcheck="false"> <div class="paper"> <textarea autofocus="autofocus"></textarea> </div> </body> </html>
网络上还有一些让浏览器支持代码高亮的编辑器,原理也都相同啦。
平常打开百度,知乎,斗鱼,爱奇艺甚至天猫,你很可能错过了他们的招聘邀约。这些互联网企业把信息藏在 Console 面板里,随着 HTTP 相应一同传递到浏览器,普通用户往往错过,开发者却能发现玄机。
在求职季点开一个网站,不妨看看他们的 console 面板?
每个 Python 程序员都知道,在 Python 里 import this,会出现 Tim Peters 编写的 Zen Of Python(Python 之禅)。其中每一句话都可能对人生有指导作用。比如
Simple is better than complex.
Complex is better than complicated.
简单胜于复杂。
复杂胜于难懂。
就可以对应上设计领域「Less is more」的经典名言。
在 Python 里输入 import antigravity,会跳转到漫画网页 xkcd,讲述一个人因为前夜学习了 Python 就能在天上飞的故事...
在 Google 搜索递归(recursion),它会问你你要找的是不是递归(recursion),点击之后仍然会出现这个选项,是的,这个搜索引擎调侃了递归(这个梗恐怕只有程序员才能懂了)...
另一个彩蛋是打砖块(Atari Breakout),搜索图片,会出现一个打砖块游戏,立刻就能愉快的开始游戏...
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved