《Node应用程序构建——使用MongoDB和Backbone》一第 1 章 介绍与总览1.1 打造一个社交网络-阿里云开发者社区

开发者社区> 异步社区> 正文

《Node应用程序构建——使用MongoDB和Backbone》一第 1 章 介绍与总览1.1 打造一个社交网络

简介: 本节书摘来自异步社区《Node应用程序构建——使用MongoDB和Backbone》一书中的第1章,第1.1节,作者【美】Mike Wilson,更多章节内容可以访问云栖社区“异步社区”公众号查看 第 1 章 介绍与总览 Node应用程序构建——使用MongoDB和Backbone 互联网已经成为发展最快的技术领域之一,它还在加速。
+关注继续查看

本节书摘来自异步社区《Node应用程序构建——使用MongoDB和Backbone》一书中的第1章,第1.1节,作者【美】Mike Wilson,更多章节内容可以访问云栖社区“异步社区”公众号查看

第 1 章 介绍与总览

Node应用程序构建——使用MongoDB和Backbone
互联网已经成为发展最快的技术领域之一,它还在加速。对于希望通过编写软件来获得收入的人来说,这既是好消息,也是坏消息。今天,优秀的开发人员拥有难得的机会,可以做他们喜欢的事,拓展视野,不断进步,并从工作中得到更大的满足,只要他们愿意付出必要的努力,去理解海量的、快速增长的知识。

精彩的职业生涯是有代价的。作为一名软件开发者,你必须不断寻找下一个优秀的工具,来帮助你更多、更好、更快地实现梦想。你在10年后面对的东西,与今天面对的东西会完全不同。本质上说,你需要多次再培训自己,才能保持好的状态。

马尔科姆·格拉德威尔(Malcolm Gladwell)在他2008年所著的《Outliers》一书中指出,专业水准的融汇贯通需要10 000小时的努力。即使是天才也需要投入时间来收获成功,平庸者和精湛者之间的差异归结于个人实践经验的多少。阅读本书这样的书籍,能让你成为精湛者。现在你正在花费额外的时间,接触这门前沿的手艺。未来即将到来,你会首先获得它的好处。

Node.js已经将一大批软件开发者引入了面向事件编程。无论你的技术背景如何,只要有开放的心态,放下对JavaScript的偏见,就会领悟到在这个疯狂应用多线程的世界里,单线程编程是多么强大。更重要的是,你会更欣赏事件处理,在其他编程语言中处理多线程问题时,也会有所帮助。

JavaScript是一种独特的编程语言,有时会被误解,现在它在开发人员的工具箱中终于得到了应有的地位。由于开发JavaScript应用程序的工具集不断完善和成熟,你会看到全球范围内这种编程语言的重要性在持续增长。

1.1 打造一个社交网络

Node应用程序构建——使用MongoDB和Backbone
本书将手把手指导你搭建一个社交网络,类似于LinkedIn、MySpace或Facebook。使用Node.js,Backbone.js和MongoDB作为工具,你将学会如何创建一个快速响应的应用,并且可以扩展到几百万用户。

由于是例子,本书中介绍的许多组件会走捷径,使用Node或MongoDB提供的内建方法,来展示某项功能,但在“真正”大型的部署中是不合适的。如果出现这样的捷径,我会给出特别提示,并探讨如何转向更具扩展性或更容易修改的结构。本书的挑战是在清晰性和构建真正实用的应用之间取得平衡。

什么是社交网络?“社交网络”这个简单的词组似乎传达了很多意义(在行为科学领域,确实如此),让我们逐词解读,并应用于因特网。“网络”是互联的一组系统,它可以是任何东西,从遍布全国的高速公路网,到学校实验室里的一排计算机,或是名片盒里的专业联系人。“社交”这个词指的是生物体的交互(如动物或人),以及它们作为群体的存在。所以社交网络在这里指的是一群互联、互动的人。

在社交网络里,人的因素高于一切。在构建任何软件时,如果不首先(并且持续)考虑最终用户(不论是客户、教授还是你自己),就针对某一特定功能或目标进行开发,这就是不负责任。要抵制为了技术的缘故而继续编程之路的冲动,直至你能看清楚工作的最终目的。

我们说打造一个社交网络时,当然不可能是打造这里定义的社交网络。你要创建的是一个论坛,一条道路,让社交网络生根成长。系统的每一项功能都为这一目标服务,消除用户的障碍,提供足够的功能来推动、鼓励和促进沟通,而没有过多的修饰。这是一条充满困难的道路,但也是区分伟大和平庸的产品的唯一途径。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ASP.NET Core MVC中构建Web API
在ASP.NET CORE MVC中,Web API是其中一个功能子集,可以直接使用MVC的特性及路由等功能。 在成功构建 ASP.NET CORE MVC项目之后,选中解决方案,先填加一个API的文件夹,填加后,选中API文件夹, 选择新建项,选择填加Web API控制器,要注意控制器在命名时,是以Controller结尾的,这个不能改,前面的随意,比如,此处以NoteController.cs为例 填加后,打开NoteController.cs,系统已经帮我们构建好了一些基础的功能,我们需要在其基础上进行一些个性化修改使其成为我们自己的代码。
902 0
磨刀不误砍柴工,搞定云网络系统性能测试
在本文中,首先简单介绍一下网络性能测试指标重点会关注哪些指标、在开展性能测试时,如何预估系统性能以便合理的规划和部署测试环境,然后会介绍基本的网络连通性测试工具、网络性能测试工具以及在开展性能测试时如何部署监控,更加直观的统计性能指标等。
226 0
IPerf——网络测试工具介绍与源码解析(5)
本篇随笔讲述一下TCP协议下,双向测试模式和交易测试模式下客户端和服务端执行的情况; 双向测试模式: 官方文档的解释 Run Iperf in dual testing mode. This will cause the server to connect back to the client ...
963 0
IPerf——网络测试工具介绍与源码解析(2)
对于IPerf源码解析,我是基于2.0.5版本在Windows下执行的情况进行分析的,提倡开始先通过对源码的简单修改使其能够在本地编译器运行起来,这样可以打印输出一些中间信息,对于理解源码的逻辑,程序实现的过程能够起到事半功倍的效果。
954 0
IPerf——网络测试工具介绍与源码解析(1)
IPerf是一个开源的测试网络宽带并能统计并报告延迟抖动、数据包丢失率信息的控制台命令程序,通过参数选项可以方便地看出,通过设置不同的选项值对网络带宽的影响,对于学习网络编程还是有一定的借鉴意义,至少可以玩上一段时间。
1022 0
TensorFlow 卷积神经网络手写数字识别数据集介绍
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识! 手写数字识别 接下来将会以 MNIST 数据集为例,使用卷积层和池化层,实现一个卷积神经网络来进行手写数字识别,并输出卷积和池化效果。
1496 0
IPerf——网络测试工具介绍与源码解析(3)
【线程的生成】   生成线程时需要传入一个thread_Settings类型的变量,thread_Settings包含所有线程运行时需要的信息,命令行选项参数解析后所有得到的属性都存储到该类型的变量中,作为线程生成的传入值能够决定当前线程扮演的角色。
753 0
Mybatis的Executor介绍(二)——批处理,批量更新
6       Mybatis的Executor介绍(二)——批处理        在程序中,有时候我们需要批量的去操作一些数据,批量的新增、修改、删除,如果是通过for循环一条记录一条记录的去更新无疑效率会比较慢。
1461 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载