前两年 mongodb 炒的多火,面试官必问的一项就是 nosql,好像马上就要革 sql 数据库的命。结果现在呢?老老实实呆在它该呆的角落了,大部分业务需求还是 sql 数据库挑大梁。
现在 nodejs 颇有两年前 mongodb 的架势,不会 nodejs 就不是极客,不折腾下 hexo 都不好意思写博客(不就是 10 年前的生成真静态吗,还不如那时候 asp 版的生成静态博客顺手),只有会用 nodejs 些后台才是极客范儿。
纵观这些炒的火的技术,都有一个特点:【新潮,老一代程序员没有这方面的积累】。这是最吸引新生代程序员的地方,而不是因为它的技术优秀吸引的,新生代程序员在经验上被老一代吊打,只能幻想出来一门新技术把老技术淘汰掉,这样就可以跟老一代在同一起跑线上了,并且自己年轻精力旺盛,学的比老一代更快,这样就可以吊打老一代程序员了。两年前最支持 mongodb 的正是那些连 sql 三个范式都不懂,多表关联查询都被绕晕的新手程序员,他们希望 mongodb 能解放他们帮他们逆袭。现在那帮追捧 nodejs 的熊孩子也是这种心态,java、php、rails、python 等生态已经成熟,再去啃这个硬骨头必被吊打,他们就幻想着踩个新场子也当一回先驱。
#2 楼 @hxh1246996371 改变确实很大,让前端终于有机会写后端了,不过后端可不是简单的增改删查,有复杂的业务逻辑和现实需求,跟前端基于事件的驱动完全不一样
然而多表关联查询已经在被淘汰了。 多语句查询在有查询缓存的情况下性能说不定会更高。 思考问题不要只停留在表面现象,要深入下去,探究事物的本质,你才能搞懂为什么这技术或者那技术会流行起来。
你说的 NodeJS 也是这样。JS 语言框架的优势就在于事件驱动。 所以你会很惊讶地发现一个原生连多线程都不支持的环境竟然能做到这样的性能。 新技术流行起来是有道理的,因为这些新技术解决了某一些问题。 你提到的那些应该算作滥用技术,万事提 NoSQL 或者 NodeJS,没意义。 但是在特定场景上,比如高并发高流量的环境下,这些技术轻松吊打那些你认为成熟稳定的老技术。 再借助前端的 V8 引擎,Node 要演变成一个成熟的高并发环境并不难。 (连最难搞的运行时编译器都有人白送了,还有什么不满意的。)
最后提醒你一句,生成静态博客最流行的工具之一 jekyll,是基于 ruby 的。
#9 楼 @blacktulip :plus1: mongodb 更过火了,http://www.databasesoup.com/2015/12/meet-newest-member-of-postgresql.html
作为一个大龄男青年,我表示自从拖家带口以后,就没有大块的时间学习新技术了。所以更愿意花时间去恶补一些性价比更高一些的知识,比如《高性能 MySQL》,一些经常用到的算法,Linux 的基础知识。
今年 Ruby Conf 闲聊时 Terry 说的挺好:新生的事物有可能夭折,也有可能成为明日之星,我们还是持「open your mind」的态度。
十分赞同楼主的一个观点,成为炮灰的总是那些博而不精的语法糖爱好者。不过我们也不要因为自己没时间学,或者学的不够深入,就说人家年轻的程序员瞎折腾。
不懂 sql 三个范式,多表关联查询怎么了?不懂这个一样能把 mongodb 用好! Node.js 也是 MongoDB 的命是个什么意思?mongoDB 不行了吗?Nodejs 不行了嘛?我看现在他们还是很火热啊,也没听说哪家公司因为用了这两个技术而导致出现重大问题的。
没有过时的技术,只有不思进取的人
#19 楼 @numbcoder 我的意思不是 mongodb 和 nodejs 不行了,而是这两项技术回归它本该呆的位置:作为主流技术的补充,而不是革主流技术的命,也革不了。
刚毕业时,有特别关注过,工作第二年开始,回归了根本:扎实 Ruby 开发(前后端),熟透了微信开发,解决温饱后,现在开始向 ios 开发这个方向发展,仍然是优先考虑让自己生活的更好; 当然从未放弃数据库原理、算法、架构之类的学习,只是当成一种爱好,因为公司的产品还未演化到需要更深层次的知识来支撑,只能算是当作一后备力量; 对于新技术,保持敏感是需要的,谁知道将来会不会成为主流,说不定你不小心就变成了专家了呢?
#37 楼 @lithium4010 屠龙之技而已,目前为止,95% 以上的 web 应用,瓶颈不在速度,而那 5% 瓶颈在速度的,95% 以上瓶颈不在语言。再者,非阻塞并不是 nodejs 特有的,为了 nodejs 的这个优点忍受那根本不适合后端的语法,不值得。
看看 Node 在阿里双 11 里的应用,大概就没人说这是忽悠小青年的技术了吧:https://www.zhihu.com/question/37379084
我觉得不是,弄的还是很有前途的。我的这个网站就是几个人用 node.js+mongodb 写的 @hi2016 可以来看看,提提意见,我还特意集中整理了一些 node.js 的内容,我看好 node.js。http://www.hubwiz.com/course/?type=nodes&ch=rubyc