Node.js 中的模块循环依赖及其解决
Node.js 开发一般不容易遇到真正的模块循环依赖的情况,可是当你的项目开始达到一定的复杂度之后,你很有可能在你的 Node.js 编码生涯中遇到几次。而且如果你之前没有关于这方面的意识,Debug 可能会花费不少的时间。
我在最近的项目中就遇到了这种情况,而且不能轻易通过项目架构的重构来解决。具体来说,A 文件中需要用 B 文件中某些函数,B 文件又需要用到 A 文件中的某些函数。
Node.js 开发一般不容易遇到真正的模块循环依赖的情况,可是当你的项目开始达到一定的复杂度之后,你很有可能在你的 Node.js 编码生涯中遇到几次。而且如果你之前没有关于这方面的意识,Debug 可能会花费不少的时间。
我在最近的项目中就遇到了这种情况,而且不能轻易通过项目架构的重构来解决。具体来说,A 文件中需要用 B 文件中某些函数,B 文件又需要用到 A 文件中的某些函数。
这两三年来,伴随着大数据(Big Data)的空前火热,无论是在工程界还是科研界,非关系型数据库(NoSQL)都已经成为了一个热门话题。
相比于传统的关系型数据库,非关系型数据库天生从理念上就给数据存储提供了一种新的思路。而在实际应用中,它往往更轻巧灵活、扩展性高,并且更能胜任高性能、大数据量的场景。
值得一提的是,NoSQL并不是 “No SQL” 的意思,而是 “Not Only SQL” 的简写。
人类纪元,公元 2016 年 3 月中旬,一件令全世界瞩目的事件即将发生,世界围棋冠军李世乭九段与 Google DeepMind 团队研发的围棋人工智能程序 AlphaGo 之间的围棋五番棋大战即将展开,一时间「人机大战」、「人GO大战」等词充斥于各大社交网站和媒体。几天过后,最终以人机 1:4,AlphaGo 轻松打败李世乭九段而取胜。
有意思的是,赛前,新浪体育和新浪科技都对网友做过调查,在新浪体育的调查结果显示,认为李世乭将战胜 AlphaGo 的网友占 72.7%,而在新浪科技的调查结果中显示,认为李世乭将获胜的网友占 47.8%。