本节书摘来自异步社区《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提供的内建方法,来展示某项功能,但在“真正”大型的部署中是不合适的。如果出现这样的捷径,我会给出特别提示,并探讨如何转向更具扩展性或更容易修改的结构。本书的挑战是在清晰性和构建真正实用的应用之间取得平衡。

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

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

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

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

  1. node mongoose_如何使用Express,Mongoose和Socket.io在Node.js中构建实时聊天应用程序

    node mongoose by Arun Mathew Kurian 通过阿伦·马修·库里安(Arun Mathew Kurian) 如何使用Express,Mongoose和Socket.io在N ...

  2. 连接Python 3和Electron/Node.JS:构建现代桌面应用程序

    目录 先决条件 第1步--设置开发环境 安装Node.js和NPM 设置Python虚拟环境 创建虚拟环境 第4步--创建Node.js应用程序 如何在Electron和Python之间进行通讯 什么 ...

  3. react node服务器_适用于初学者的服务器上的React:构建通用的React和Node应用程序...

    react node服务器 In this article we are going to learn how to build a simple "Universal JavaScript ...

  4. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    转载需经本人同意且标注本文原始地址:https://zhaomenghuan.github.io/blog/nodejs-eggjs-usersytem.html 前言 近来公司需要构建一套 EMM( ...

  5. node aws 内存溢出_在AWS Elastic Beanstalk上运行生产Node应用程序的现实

    node aws 内存溢出 by Jared Nutt 贾里德·努特(Jared Nutt) 在AWS Elastic Beanstalk上运行生产Node应用程序的现实 (The reality o ...

  6. 如何在Windows上安装Angular:Angular CLI,Node.js和构建工具指南

    In this tutorial, we'll learn how to install Angular CLI in Windows and use it to create an Angular ...

  7. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计 1

    前言 近来公司需要构建一套 EMM(Enterprise Mobility Management)的管理平台,就这种面向企业的应用管理本身需要考虑的需求是十分复杂的,技术层面管理端和服务端构建是架构核 ...

  8. mongodb连接java_如何从Java EE无状态应用程序连接到MongoDB

    mongodb连接java 在本文中,我将介绍如何从无状态Java EE应用程序连接到MongoDB,以利用与MongoDB Java驱动程序提供的数据库的内置连接池. 如果您开发的REST API对 ...

  9. 如何从Java EE无状态应用程序连接到MongoDB

    在本文中,我将介绍如何从无状态Java EE应用程序连接到MongoDB,以利用与MongoDB Java驱动程序提供的数据库的内置连接池. 如果您开发的REST API对MongoDB执行操作,则可 ...

最新文章

  1. 5类6类7类网线对比_未来值得投资的6类苗木,5年内市场前景应该都不错!
  2. 2020年 第11届 蓝桥杯 C/C++ B组 省赛真题详解及小结【第1场省赛2020.7.5】【Java版】
  3. notepad++ 远程连接阿里云服务器
  4. netty SimpleChannelInboundHandler类继承使用
  5. 一笔订单,但是误付了两笔钱!这种重复付款异常到底该如何解决?
  6. 【flink】RocksDB介绍以及Flink对RocksDB的支持
  7. ubuntu 安装 oracle-xe-universal
  8. jmeter html插件,Jmeter最常见的几个插件(一)
  9. 抖音文字时钟壁纸html,抖音文字时钟
  10. 一副眼镜一千多贵吗_一副近视眼镜的成本大概多少?
  11. 实现iOS系统相机九宫格滤镜的思路
  12. 【汇正财经】证券市场的基本功能有哪些?
  13. 【项目】小帽学堂(十一①)
  14. 1.深入.NET框架
  15. POSIX正则表达式
  16. 成功解决:curl: (7) Failed connect to github-production-release-asset-2e65be.s3.amazonaws.com:443; 拒绝连接
  17. 第十二周 任务三
  18. 输入一行字符,分别统计出其数字、大写字母、小写字母和其他字符的个数。
  19. SQL语句实现关系代数中的“除法”
  20. 带倍速播放的播放器_带有HTML5的MP3播放器

热门文章

  1. Python连接MySQL及一系列相关操作
  2. 源码 状态机_[源码阅读] 阿里SOFA服务注册中心MetaServer(1)
  3. 字体外面怎么加边框_有钱人家连电视墙都发“光”,大理石墙周围加一圈镜面边框,华丽...
  4. 19.删除链表的倒数第N个节点 golang
  5. Qt中槽函数触发两次的两种场景分析
  6. 【C++11新特性】 C++11智能指针之shared_ptr
  7. 《STL源码剖析常见面试问题》
  8. Wireshark(1):Wireshark基本用法
  9. 一次违反常规的Java大厂面试经历,系列教学
  10. 7天拿到阿里Android岗位offer,都是精髓!