node是什么

1. nodejs闲聊

nodejs 是什么
nodejs不是框架;jquery是框架
nodejs 是js 运行时的运行环境,类比java中jvm
只要安装对应版本的nodejs,那你就可以用js来开发后台程序。

2. node 和 vue 关系

vue是前端框架,js的三大框架之一
node是后端开发语言,同php、java、c#一样的

3. node 使用

文档

1. 异步并发请求

async
eventproxy

当你需要去多个源 (一般是小于 10 个) 汇总数据的时候,用 eventproxy 方便;
当你需要用到队列,需要控制并发数,或者你喜欢函数式编程思维时,使用 async。
大部分场景是前者,所以大部分时间用 eventproxy 。

网站有并发连接数限制?
爬虫: rate limit 的限制?

异步到底为何异步,Node.js 为何单线程却能并发
@朴灵 的 《九浅一深 Node.js》

js 写异步并发,并处理数据 链接

如果你要并发异步获取两三个地址的数据,并且要在获取到数据之后,对这些数据一起进行利用的话,常规的写法是自己维护一个计数器。

先定义一个 var count = 0,然后每次抓取成功以后,就
count++。如果你是要抓取三个源的数据,由于你根本不知道这些异步操作到底谁先完成,那么每次当抓取成功的时候,就判断一下 count
=== 3。当值为真时,使用另一个函数继续完成操作。

eventproxy 就起到了这个计数器的作用,它来帮你管理到底这些异步操作是否完成,完成之后,它会自动调用你提供的处理函数,并将抓取到的数据当参数传过来。
eventproxy 并发请求,时间取决于最慢的请求

eventproxy 的 #after API

2. node 爬虫

使用 superagent 抓取网页
使用 cheerio 库 分析网页

用到三个依赖,分别是 express,superagent 和 cheerio。
superagent (http://visionmedia.github.io/superagent/ ) 是个 http 方面的库,可以发起 get 或 post 请求。
cheerio (https://github.com/cheeriojs/cheerio ) 大家可以理解成一个 Node.js 版的 jquery,用来从网页中以 css selector 取数据,使用方式跟 jquery 一样一样的。

  1. 前端测试
  2. 正则表达式
    《正则表达式 30 分钟入门教程》
    《正则表达式之:零宽断言不『消费』》
    正则表达式在线调试

3. 线上部署

heroku 是弄 ruby 的 paas 起家,现在支持多种语言环境,更甚的是它强大的 add-on 服务。

paas 平台相信大家都不陌生。Google 有 gae,国内新浪有 sae。paas 平台相对 vps
来说,不需要你配置服务器,不需要装数据库,也不需要理会负载均衡。这一切都可以在平台上直接获取。

你只要专注自己的业务,把应用的逻辑写好,然后发布上去,应用自然就上线了。数据库方面,如果你用 mysql,那么你可以从平台商那里得到一个
mysql 的地址、账号和密码,直接连接就能用。如果应用的流量增大,需要横向拓展,则只用去到 paas
平台的管理页面,增大服务器实例的数量即可,负载均衡会自动帮你完成。

heroku 的 addon

这个 addon 确实是个神奇的东西。这些 addon 提供商,有些提供 redis 的服务,有些提供 mongodb,有些提供
mysql。你可以直接在 heroku 上面进行购买,然后 heroku 就会提供一段相应服务的地址和账号密码给你用来连接。 大家可以去
https://addons.heroku.com/ 这个页面看看,玲琅满目各种应用可以方便接入。
之所以这类服务有市场,也是因为亚马逊的 aws 非常牛逼。为什么这么说呢,因为网络速度啊。 如果现在在国内,你在 ucloud
买个主机,然后用个阿里云的 rds,那么应用的响应速度会因为 mysql 连接的问题卡得动不了。但在 heroku 这里,提供商们,包括
heroku 自己,都是构建在 aws 上面,这样一来,各种服务的互通其实走的是内网,速度很可以接受,于是各种 addon
提供商就做起来了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值