只取一瓢

折腾hexo的时候,也想改改主题,自定义些样式之类的。
但是稍微google了下之后,感叹前端技术真是太tm复杂了啊。框架多如牛毛,没几天就有一个xxx.js出来。
而且没有一个统一的标准,没有谁能一统天下,angular/react/backbone/…
还有各种js模板:jade/ejs/swig/…
对我这种java开发,真是太难了。。。只会html,还在用jquery ui做界面,连“业余”都算不上。。。

还有css,真是头疼啊,为啥显示效果总是跟我想的不一样。。。
css还有各种模板语言,也没有个能统一的。

可能最近是前端技术的爆发期吧。

还有Node.js这种颠覆了前端/后端分工的逆天存在。。。

相对而言,后端技术似乎就稳定的多。看看数据库方向,mysql统治了多少年。

但最近大数据方面的框架/产品也不少。
hadoop虽然是事实上的标准,但地位也不是那么稳固。
hadoop每个版本都会加入很多新功能:yarn/HA/cache/…每个新版本都要付出学习成本。
基于yarn也实现了很多计算引擎,tez/spark/storm on yarn/hbase on yarn/…尤其spark发展非常快。
hbase的每个小版本变化都非常大,而且最近发布了1.0版本。

还有很多:sentry/azkaban/hue/hcatalog/ambari/…
还有更多都没听过的东西。

废话这么多,只是想说明,不要妄图搞明白所有的技术
技术太多,很难全部掌握,只会让自己身心俱疲。
更悲剧的是,当你掌握它之后,它可能已经过时了。技术的发展方向是很难预料的。

应该分两个方向:

  • 自底向上:夯实基础。一些基础的理论/语言是比较稳定的。比如算法、数据结构、java。
  • 自顶向下:把握大局,不要拘泥于细节。很多东西我能知道大概的原理,但我没必要深入到源码去求证。

只关注“底”和“顶”,至于中间的东西,可以挑一些重要的深入了解,比如hadoop。其他的,酌情考虑吧。

胡言乱语一番,睡觉去了。