看过古剑奇谭以后就无限向往修仙的世界。javascript
知乎上有位大神说过,编程的最高境界是将编译器融为灵魂的一部分,
让世界在眼中重构,当看到山川河流银河无垠都汇成二进制的数字流,
过往英雄都在脑海眼前一一浮现时,
无数码农将跪倒在你的程序面前呼喊,你将成为代码之神。css
昨晚我作了个梦,来到了修真世界,找到了修真之神。html
我跟神说我精通javascript,拥有深厚的java功底,
精通面向对象的各类技能,不过我尚未对象,如今主修H5,
我将如何成为一个代码之神。前端
修真之神之说了三点。html5
首先,无论你学的是什么语言,都是异曲同工,
修真之人,不要在意这些差异,
可是这世界上尚未人能够说,他已经精通javascript,
因此你装逼的时候,也要装的像个样子。
好比,你能够说你精通C#。java
其二,现在江湖现由BAT三大门派统领,
搜狐新浪奇虎等实力派一直虎视眈眈,
无数创业公司如雨后春笋,
小米京东的崛起打破了江湖格局,
知乎,CSDN,博客园等民间组织实力不容小觑。
江湖看似平静,其实暗地里摩擦不断,
若是没有一个优秀的领军人物,江湖必将掀起一场腥风血雨,
因此民间将举办一场武林盟主大会,年轻人去碰碰运气吧。node
其三,江湖虽乱,但恩恩怨怨都是过往云烟,自身境界才是万源之本,
这世界有万千代码,万物均可以编译,但你编译不了的,是本身的心。css3
此次比武大会由CSDN等民间组织举办,
智联招聘以及猎聘网等情报机构赞助,
很多名门正派做为嘉宾收到邀请,
是全国最大的一次民间比武大会。
而比赛规则是,提早发一份简历,
主办方将根据简历挑选出400名参赛人员。
战败者淘汰,评委给出评分,评分低于80淘汰。
最后站在比武台即为武林盟主。到场门派可随时发出offer,
全部参赛者将得到礼物,听说评分95以上有机会进入到BAT。
现场经过对空气进行编码,造出一个虚拟4D显示屏,
参赛者可自带电脑,全程网络直播。web
最早上场一个20出头的小伙开始作自我介绍,来自新东方,
自学C++并亲自作出过坦克大战游戏,以为修 c# 的都是傻逼。
武器为一台外星人笔记本,一看就是个狂小子。
有个修 c#的大叔看不下去了,50岁出头的样子,满头白发,一看就是资深大咖,
左手端着半旧的thinkpad,只轻轻一跃就跳上了比武台,台下观众一齐鼓掌。
主持人赶忙作个专访:大爷您是搞IT的,这么大年纪如此好身手,请问平时是怎么保养的。
大爷:我其实不怎么保养的,工做后天天修炼12小时以上,天天3点之后睡觉。
主持人:大爷您今年高寿啦?
大爷:今年24啦。算法
年轻人恃才自傲不愿先动手。
几番谦让后,大爷不客气了,
只看大爷右手食指在键盘上随便拨弄了两下,就打出了一串字符"HelloWorld!",
一个彻底符合帕斯卡命名规范的字符串,高手就是高手!
小伙没那么客气,嘴中念念有词,手指就在键盘上拨弄起来,
几分钟功夫,空气中就出现了一个虚拟坦克,
一炮就把"HelloWorld!"轰得灰飞烟灭。
大爷眼皮都没眨一下,随手就用c#窗体作了一个迷宫算法,把坦克困在了里面,
坦克转了几圈后听说是一个变量的指针产生BUG抛出异常,小伙直接败下阵来。
大爷被评分89,不少门派发出offer,大爷一一谢绝,他说本身在国企工做,属于朝廷编制,
上去只是想用c#教训下那小子,因此宣布放弃比赛。
山雨欲来风满楼,什么时候起风了?只见远处飘来一朵云,一朵白色的云,
白云中一中年男子缓缓降落,大裤衩,冲锋衣,人字拖,光头,外号光头强,
精通Java,听说曾经作过云开发,已经用大数据编译出本身的云,
代码不在手上,已在心中,物质都是数据,万物皆对象,
一年前已分析出本身的内部数据结构并从新编码,
自己就是一个虚拟机,并称他的到来是为了世界和平,为了贯彻爱与真实的勇敢,
今天每场比赛他只出一招,没赢就算输。
听完光头的自我介绍,全场鸦雀无声,没一我的敢上去。
听到这,我习惯性的低下了头,然而现场并无砖头......
是时候挑战下本身了,我跃上了擂台,
向观众作了一揖:本人周道长,
主修H5,最擅长的功夫是javascript......
话没说完,现场开始起哄:作前端的要挑战后台大神了,周道长,咱们支持你!
光头强笑道:你仍是下去,先学几年服务端语言在来吧。
我淡淡一笑:Talk is cheap,show me the code!
光头强用随手一挥,就打出一个webservice接口,
这个接口封装了不少诡异的招式,全部招式继承了一个抽象的不能实例化的类,
全部招式实现了同一个接口,一个是真正的对象,其余都是代理对象。
代理对象是在接口打出以后根据现场状况动态生成的。
接口经过tomcat发送一个http请求,向我缓缓袭来。
该请求竟然无状态,就像一道彩虹,
在阳光的照射下发出绚丽的光芒,甚是好看。
这难道是失传已久的23种设计模式之一的”动态代理“以及“java多态”?
我迅速用html5+css3作出一个锥形效果,模糊边框以及遮罩,
锥形的顶点恰好瞄准“彩虹”的黄金分割点,
在object的原型里面使出函数柯里化,
用链式编程的风格执行了一遍光头的全部招式,
经过nodejs将该攻击反击回去,并clone了一道彩虹。
反击回去的彩虹体积不断增大,颜色不断加强,
最后只听一声巨响,光头强惨叫一声倒在了地上。
光头强嘴唇蠕动着彷佛有话要说,我走了过去,
他不甘心的问道:个人“彩虹”体积是动态变化的,你用css3作的静态锥形是怎么找到破绽的?
我:这个很简单,我采用了less预处理,less将CSS赋予了动态语言的特性,
它扩充了CSS语言,增长了变量、混合、函数等功能.
光头:但是个人招式是动态生成的,类型以及参数个数都不肯定,每个对象都经过递归循环调用......
我:javascript是弱类型的语言,变量的类型随时能够改变,
函数柯里化把接受多个参数的招式变换成接受单一参数的新招式,
而我改动了你的真实对象,让你的循环递归变成一个死循环。
让你的对象相互引用,虚拟机不能释放内存,致使你元气大伤。
光头:你竟然修改过个人招式,我居然毫无察觉?
我:我将你的招式封装在一个js闭包里面,把你的对象clone了一份 ,
而我使用了浅复制,我和你共同持有那些招式的引用,
因此我能在你发招以后再修改它。
光头:你并无使用web容器,你是怎么能截取到我经过服务器发出的招式?
我:nodejs可让JavaScript运行在服务端,它自己就内建了一个http服务器。
光头:既生java何生node,光头惨叫一声,身体失去告终构,化为一滩数据流,消失在这八月的秋风里。
叮铃铃,叮铃铃,闹钟响了起来,该去上班写接口了。