聊聊最近几个月接触的东西。

  • 2016-11-12 15:00:40
  • 1736
  • 0

    最近几个月暂停了微博的更新,主要有两个原因:1、前一个系列更新完毕,一直在思考应该写些什么;2、工作方面稍忙。

​这段时间学习的新东西偏多,有:docker、scrapy、协同过滤推荐、elasticsearch等等,我接下来也会在微博中聊聊我这段时间学习的成果。先大致来解下上面几种技术:

1、​docker 

​      Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

​简单来说,就是任何一个应用、包、软件可以以一个可移植容器部署到服务器上。可见这玩意对部署这块的帮助,同时由于每个人创建的镜像可以在docker hub上分享,所以这使得一个丝毫不懂某个应用的、包、软件的人但只要懂得docker的人,极其快速地安装任何一个软件成为可能。

​2、scrapy

​      Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试

​有些人可能会说,我通过requests+beautifulsoup 也可以写一个web爬虫。但是,scrapy它是一个框架,因此它有一个该有的M层和C层,而且它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本还提供了web2.0爬虫的支持。总之,如果要写一个大型、稍微复杂的爬虫系统,scrapy是你最佳的选择。

​3、协同过滤推荐

​      协​同过滤推荐有两种:1、基于用户的协同推荐  2、基于商品的协同推荐。这个算法的原理:相似顾客的兴趣或者购买行为是最近接的。

​      总之,如果你现在有很多用户和订单数据,需要写一个推荐算法, 协同过滤是一个不错的选择。

​4、elasticsearch

​      ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

       注意:它是一个全文搜索引擎,换句话说它比一般的关系数据库能满足更多的搜索需求。

​       简单来说,当你的数据库数据量太大,一般的关系型数据库和nosql数据库已无法满足你的搜索需求时。elasticsearch是一个不错的选择。


发表评论

* *