您的位置:首页 > 其它

回顾2011,展望2012

2012-01-09 09:10 441 查看
终于在上海安顿下来,可以好好写篇博客。

2011年内我专注于JS领域,看我写了这么多JS博文就知道。这内在驱动是,我继续完善升级2009.12.21发布的第一版dom Framework;外在驱动是,我在前公司专职JS,我离职时公司给我的头衔是JS架师,专门处理前端的各种疑难杂症。2011年内,我的博客尽是一些很偏很底层的JS研究,没有成篇的UI控件介绍,这只要为了避嫌,免得被公司的人说是泄漏源码什么的。年末时,GFW的封锁愈加变态,连ruby gems都给墙了,我转向用node.js作为我的后端。那时也离职了,有的是时间,加之几个群里讨论node.js的人多起来了,这也坚定了我学习node.js的信念。与此同时,我的框架由dom Framework更名为mass Framework,宗旨也改为前后端一体化的建站框架,开源到github上。

写一个框架是极不容易的,我上班也写,下班也写,有空就写,有本设计模式的书在手总想着怎么把它们加入到我的框架中去。幸好,设计模式的书都是用java做例子,动态语言与静态语言差异巨大,许多硬套不下去,这也防止了我陷入许多javaer设计过度的怪圈。这一年来,HTML5成了招牌菜,写个东西都与HTML5沾边才好意思放出来宣传,因此我的框架也添加了许多HTML5的新API。其次,javascript界也出现了一个名为CommonJS的邪恶团体,他们为JS框架的设计定下了许多条条框框,其中最著名的部分是模块加载。由于内部混乱,眼高手低,最后流行开来的是RequireJS作者提倡的AMD模式,jQuery1.7也被说服了,加上几行代码来支持它。但要让jQuery支持AMD,自己还要实现或选择一个遵循AMD规范的加载库才行,因此没什么用。加载器的涌现也说明了javascript朝着大规模开发的方向踏步,而要大规模开发,模块化是必须的,因此jquery官方博客上这篇《 CALL FOR JQUERY 1.8 IDEAS》上说要在2.0中去掉对IE678的支持,在新浪微博中吵得很沸沸扬扬。如果它早早实现模块化,通过判定环境实现智能加载针对于IE678的补丁模块,就不会这么被动了。而事实上了,jQuery在github上的开发环境是分模块的,不过它需要依赖于一个build工具把它重新组装起来,现在jQuery依赖的那些工具全部改为node.js。node.js在国外之火热可见一斑。mass Framework也存在两个这样的补丁模块,ecma与css_ie,随着HTML5的发展与微软对IE的强制升级,兼容IE678的理由将越来越少,其他模块的IE部分都将剥离出来。复杂的系统需要经过反复的测试才能投入市场,因此,我的测试工具也不断升级,最后集成到框架中。

过去一年,也郁闷的时候,于是也看了许多玄幻小说,都是国外,一套叫做《冰与火之歌》,另一套叫《时光之轮》,时光之轮已出的部分(台版书)都给我买回来。不过坑爹啊,作者出书的速度巨慢,我开始备受追书之苦。火影也遭遇相同的鞑靼之轭,其动画更是变态,神经病啊,真想枪毙那个编剧的!买书一直是我网购最大项目,N多书没有看完,基本上是C++的,python的,算法的,编绎原理的。。。哇,这不相当于都没有看完吗?!orz!javascript罗浮宫这个技术群也有一个扩充到五个,因此不会像以前那样频繁踢人了。通过QQ群,认识各路人物,辣妈,月影,玉伯,hehe123,winter,裕波,老赵,天天,JK,abcd, nana,文叔,豪情,黑莓......当然还有许多许多,涵盖国内所有大公司,这在我找工作时非常有用。当我决定离开深圳,与群里的人出去玩时,发现错过许多东西,比如大学城宜人的居住环境,黑莓的料理,及各种社交的愉悦。

一个人的技术底蕴是包含多方面的,如对API的掌握程度,各个版本的差异与BUG分布,再上去就是驭驾这些语言的东西——设计模式,以及背后运行的机理(对JS而言就是ECMA262),跨语言方面还有编程范式。动态语言与静态语言的差异性,一元语言与二元语言的差异性。。。许多热门东西都要去了解下,增加与其他技术人员的交集,比如时下最红的jQuery, rails与node.js, 幸好它们都是我的强项。其中,rails抛去它是用ruby这门语言是日本人写的,基本上没有任何理由不让我们去研究它。现在时下什么grail, cakePHP都在疯狂抄袭它。不过,但java与PHP没有ruby那样强悍的元编程能力,因此用起来也不及rails那么迷人。即使如此,这样赝品还是在他们所在的语言的框架竞争中脱颖而出。另外,什么DSL,BBD在ruby中发展得最快。总有人问,有什么高级的JS书籍,很抱歉,没有。因为,JS很少出现像gmail那样大规模开发的应用。只要这些大规模应用多起来了,相应的大规模开发框架才会产生。现在这类框架只有EXT,YUI,dojo算得上,但它们却被jQueryer边缘化了!JS最大的悲剧是它有个远程加载JS文件的过程,因此人们对JS库的体积非常敏感。别看jQuery现在只有30K,那是拼命压缩下的结果,它结果膨胀到9000多行。即使这样,它能做的事还是少,像C#的.net Framework这样庞大的框架可能最终无法出现在前端上,更不用说后端的node.js了。什么MVC、DI、AOP、cache、session、feed、orm、geo、auth、作业调度,router。。。对于JSer来说都只是一个术语。要打造一个前后端一体化javascript框架,就必须向其他语言学习,经寻路问津,三座金字塔耸立在我眼前,ruby的rails, python的Twisted, php的symfony。它们都有我想要的东西,rails的COC与元编程,Twisted的异步机制,symfony的MVC。出色的程序员都是有信仰的,语言就是他们的宗教。但顶级程序员都是泛神论者,通吃多门语言,因此我要做到这一点就不要对某门语言存在偏颇。我认识的JS顶级高手都不是搞JS出身的,多门语言的类推更容易擦出智慧的火花。

最后说一下求职。那个悲催!求职时间长达一个月时间,所有简历几乎都由群里的人投出的(也就是所谓的内荐),自己在觉得走投走路之时亲自投了深圳两间小公司(其中一间是叫珍爱)。求职一开始,淘宝与盛大与新浪的人就找上门来。然后就快得到玉伯与月影的电面,于是头脑发热,一心想离开深圳,只想与他们其中一个共事,于是推掉TX朋友网的邀请,北京的公司也统统不考虑,因此失去大量机会与退路。电面之后就是坐飞机去总部面。大公司的流程很漫长很漫长。炳承技术至上的我意想不到会挂在淘宝的HR上,盛大也没有久久没有回音。当时群里有个八面TX的同学,让我意识到HR的可怕之处。在HR面前,技术再高也无用!于是慌了,开始找备胎,朋友们又帮我内荐,于是到华为面试。华为的经理很nice的,路痴的我找不到北,他驾车出来接我,找了我一小时。上来就是HR面。资薪是我最大的门槛。果不出其然,华为的底薪就是低,连我原有的工资水平也出不了。绝望之际,盛大创新院的offer来了。我连忙查一下我QQ群有多少个上海的(让他们都改昵称,地点在前,^_^),经再三求接送求合租求包养后,群里还是有许多好心人来帮我,分别是灰大,金风,黄鱼,海洋,一只患有偏执狂的猪,海子牛。我真是RP爆发了。房子也当天就找到。这里还得补充一下,上次到杭州面试,也得到思科那帮哥们与玉伯的接待,太感谢他们了!出门靠朋友,此话一点也不假。

2012年如果没有发生大灾变,估计我还是在编码,还是在写mass Framework,不同的是我已经不得不向 python, php伸出触爪。2012年争取把mass Framework做成品吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: