做一个全栈工程师
jiangjingxuan
这个作者很懒,什么都没留下…
展开
-
四十六、利用yarn多队列实现hadoop资源隔离
大数据处理离不开hadoop集群的部署和管理,对于本来硬件资源就不多的创业团队来说,做好资源的共享和隔离是很有必要的,毕竟不像BAT那么豪,那么怎么样能把有限的节点同时分享给多组用户使用而且互不影响呢,我们来研究一下yarn多队列做资源隔离请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址CapacityScheduler使用过第一代hadoop的同学应转载 2017-01-25 12:00:18 · 8498 阅读 · 1 评论 -
三十三、利用scikit-learn计算tf-idf做文本词频分析
为了让机器帮我自动筛出我想看的文章,我利用上一节实现的爬虫抓取了近500篇微信公众号文章,接下来我来讲述我是怎么对这500篇文章做机器训练的,本节先说一下怎么做tf-idf计算请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址TF-IDF TF-IDF(Term Frequency and Inverse Document Frequency),是一转载 2017-01-25 11:53:59 · 2079 阅读 · 0 评论 -
三十二、scrapy爬虫抓取网页写入mysql数据库
scrapy抓取的网页默认存成了python的dict结构,scrapy提供了pipeline接口来存储数据,为了方便以后使用,我们把抓取的结构化内容存入mysql请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址安装MySQL-python[root@centos7vm ~]# pip install MySQL-python执行如下不报错说明安装转载 2017-01-25 11:53:30 · 1038 阅读 · 0 评论 -
三十一、利用微信搜索抓取公众号文章
我喜欢看微信公众号里的技术文章,但是总是有一些鸡汤文阻碍我的实现,我是怎么让机器帮我自动摆脱鸡汤文的呢?接下来的几个章节讲述我的解决方案,让你感兴趣的文章扑面而来,无关的鸡汤文随风而去。本章节先将怎么利用搜狗微信搜索抓取公众号的文章请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址自动收集我关注的微信公众号文章 我的微信里关注了数十个有关大数据的公众转载 2017-01-25 11:53:04 · 13169 阅读 · 1 评论 -
三十、十分钟掌握最强大的python爬虫
如今大数据是互联网技术的热门,应用也很广泛,所以无论是做互联网产品还是学术研究,抓取他人的资源是快速有效的方法,只要不盗取版权就不为过。开源的爬虫软件很多,本节来介绍最流行也是使用最多的python爬虫开源项目scrapy请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址安装方法 执行yum install libffi-develyum in转载 2017-01-25 11:52:20 · 2144 阅读 · 0 评论 -
二十九、在storm上运行python程序(修正)
上一节部署python程序出现了一些错误,没能正确运行,本节基于稳定版storm做了修正,运行成功请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址部署0.9.5版本的storm集群 streamparse最新稳定版是基于0.9.5版本的storm的,所以我们需要把storm集群的版本回退到0.9.5,方法如下:wget http://apach转载 2017-01-25 11:51:51 · 3184 阅读 · 0 评论 -
二十八、在storm上运行python程序
storm是原生支持java的,但同时也支持其他语言,python和java一样有非常多且用起来更爽的类库,所以这一节我们尝试一下使用python来运行storm任务请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址安装lein 下载安装脚本wget https://raw.githubusercontent.com/technomancy/le转载 2017-01-25 11:51:25 · 9625 阅读 · 0 评论 -
二十七、开发第一个storm任务
每门语言的学习都要经历最经典的helloworld过程,学习storm框架也一样,本节我们先来运行storm为我们做好的storm-starter例子,来确定storm服务搭建是正常的,然后我们自己来从零开始写一个简单的storm任务请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址运行storm-starter 首先要下载storm源代码,我们服务转载 2017-01-25 11:51:01 · 1831 阅读 · 0 评论 -
二十六、storm安装与初识
storm是如今用来做实时数据处理的首选,它的高效以及基于分布式系统的考虑备受技术团队青睐,尤其是实时日志处理,以及基于日志的实时分析,从本章节开始我们来认识一下这个强大的开源工具,并通过这个工具来做一个非常有意思的事情,敬请期待请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址安装zookeeper zookeeper是storm运行强依赖注意转载 2017-01-25 11:50:29 · 421 阅读 · 0 评论 -
二十五、为你的网站添加强大的搜索功能
当你的网站文章内容变多时,搜索的需求会逐渐显现,mysql的like功能无论从性能还是效果上都是一个山寨的实现,本节帮你集成elasticSearch实现专业的搜索功能请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址elasticSearch安装elasticSearch服务的安装请见我的上一篇文章《教你成为全栈工程师(Full Stack Devel转载 2017-01-25 11:50:01 · 3812 阅读 · 0 评论 -
三十四、基于python的高效中文文本切词
对中文文本做自然语言处理一定设计到切词的操作,流行的切词工具有很多,本文介绍基于python的结巴中文分词,它是基于文本分析的,不是基于词库的,因此更精确请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址安装jieba分词工具在https://pypi.python.org/pypi/jieba/下载jieba-0.38.zip解压后执行:pyt转载 2017-01-25 11:54:30 · 2021 阅读 · 0 评论 -
三十五、利用sonataadmin做样本标注
要想实现对新发现的公众号文章做自动分类,需要对样本做训练,而样本属于哪一类别是需要我们做人工标注的,直接操作数据库非常不方便,我想到了我们的网站后台管理系统,直接把样本数据整合进来就可以方便标注了请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址创建CrawlPage实体 在sonataadmin中每一张表都要对应一个Entity实体,也就是MVC里转载 2017-01-25 11:54:57 · 830 阅读 · 0 评论 -
三十六、对微信公众号文章做样本标注与特征提取
基于上一节实现的web界面的样本标注系统做人工标注,然后详细讲解如何对标注好的样本做挖掘和分析,并根据分析结果提取出最优代表性的特征,用于后面的训练请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址多类分类问题解法 解法一:通过一系列两类分类问器并将它们组合到一起形成多类分类器解法二:将多个分类面的参数求解合并到一个最优化问题中 我们利用转载 2017-01-25 11:55:26 · 1485 阅读 · 0 评论 -
四十五、一文读懂hadoop、hbase、hive、spark分布式系统架构
机器学习、数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-reduce计算,spark用于分布式机器学习,hive是分布式数据库,hbase是分布式kv系统,看似互不相关的他们却都是基于相同的hdfs存储和yarn资源管理,本文通过全套部署方法来让大家深入系统内部以充分理解分布式系统架构和他们之间的关系请尊重原创,转载请注明来源网站www.sharedi转载 2017-01-25 11:59:50 · 1323 阅读 · 0 评论 -
四十四、如何基于数据统计做网站页面布局的优化和适配
当今是移动互联的时代,网站针对移动设备的适配是必须的,那么网站页面怎样布局是最合理的,又如何针对pc和移动端做不同的布局设计呢?本节我们基于数据统计来试验一下不同页面布局的效果请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址移动适配的必要性pc的页面布局的特点是宽度比较大,一般可以分成两栏或三栏,除了正文部分,左侧和右侧都可以放置一些相关的组件,比如:转载 2017-01-25 11:59:18 · 1025 阅读 · 0 评论 -
四十三、网站优化必备良器:点击事件的上报与统计
有这样一个问题:怎么样对网站页面做布局是最优的?光凭站长YY显然是不够的,用户也许对你精心设计的按钮或链接不感兴趣,甚至都没注意到那里竟然还可以点。为了探究用户的行为,有效的做法是在你想了解的地方埋下点击事件触发的上报,本节来介绍如何用简短的几行代码实现点击事件上报和统计请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址为什么要做网站优化先来看一下我的网转载 2017-01-25 11:58:52 · 1043 阅读 · 0 评论 -
四十二、利用n-n表关联实现文章标签
当文章积累了比较多时,总是希望能够从某一个方面把整理到一起,但一篇文章可能同时属于大数据类和机器学习类,所以这会是一个多对多的关系,那么如何实现这种关系呢?本节我们通过一种标签功能来说明请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址创建标签Entity首先我们要创建标签实体类,创建src/AppBundle/Entity/Tag.php文件,内容为:转载 2017-01-25 11:58:28 · 729 阅读 · 0 评论 -
四十一、如何准确的统计文章浏览量(pv)
自己写的原创文章很想知道都有多少网友浏览过,单纯的显示次数并不能准确地反应真实浏览量,还需要解决一些意想不到的问题,本节我把刚刚完成的浏览量统计方案分享出来请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址数据库表建立pv(Page View,网页浏览量)是针对blog文章的,因此数据库表直接在BlogPost表中扩充,修改BlogPost.php,增加转载 2017-01-25 11:57:56 · 7272 阅读 · 0 评论 -
四十、pdf文档自动生成方法
积累了很多博客,希望能产出一个pdf电子书来分发给可能感兴趣的人,但是编辑pdf是比较繁琐的,怎么能直接利用我们的html页面生成一篇pdf呢?本节讲解pdf的自动生成方法请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址安装配置KnpSnappyBundle扩展先安装扩展,执行:composer require knplabs/knp-snappy转载 2017-01-25 11:57:20 · 1380 阅读 · 0 评论 -
三十九、简单几步做到外链自动生成,从此妈妈再也不用担心我的SEO
搜索引擎排名最关键的数据是高质量外链,无法被被人收录,我们就自己做一个收录自己的网站,同时用最佳的相关性生成高质量外链,百度也无法辨别真伪请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址具体方案用抓取回来的所有网页做一个简单的好文站,用来做外链,引流量。然后写一个complete_link.py,遍历所有CrawlPage,找到content没有标记过转载 2017-01-25 11:56:50 · 1302 阅读 · 0 评论 -
三十八、100行python代码实现机器学习自动分类
现在朋友圈、公众号、微博信息应接不暇,以微信公众号举例,看技术极客是怎么自动筛出自己想看的文章的,100行机器学习代码就能自动帮你归好类,要想找出想看的和不想看的,你再也不用刷朋友圈了请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址准备工作1. 准备一张mysql数据库表,至少包含这些列:id、title(文章标题)、content(文章内容)、seg转载 2017-01-25 11:56:18 · 7038 阅读 · 2 评论 -
三十七、利用支持向量机做文本分类
从上一节提取出的全部特征中选取出关键的特征,并利用支持向量机对测试样本做回归计算,判断准确率请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址选取出关键特征通过tf-idf计算出来的数值是某个特征(词)对于这篇文档的权重,不代表这个特征(词)在文本分类中的权重。这很容易理解,比如某一个特征(词)在多个分类中的tf-idf是不一样的,但是这个特征对于这个分转载 2017-01-25 11:55:51 · 1584 阅读 · 0 评论 -
二十四、ES(elasticsearch)搜索引擎安装和使用
大数据时代,搜索无处不在。搜索技术是全栈工程师必备技术之一,如今是开源时代,数不尽的资源供我们利用,如果要自己写一套搜索引擎无疑是浪费绳命。本节主要介绍搜索引擎开源项目elasticSearch的安装和使用请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址为什么需要搜索引擎 首先想一下:在一篇文章里找一个关键词怎么找?字符串匹配是最佳答案。然后再转载 2017-01-25 11:49:34 · 4854 阅读 · 0 评论 -
二十三、番外篇之搜索引擎优化(SEO)
网站发布了,怎么能快速被百度等搜索引擎收录呢?怎么能更容易被用户搜到呢?这是SEO范畴的知识,本节来讲述一下,并帮你把你的网站做一些优化请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址网站结构搜索引擎分为三部分:抓取、建索引、检索。抓取就是通过爬虫软件自动爬取你的网站内容存储到搜索引擎的网页库中,建索引就是对抓取到的网页内容做分析并建成倒排索引,检索就转载 2017-01-25 11:49:01 · 542 阅读 · 0 评论 -
二十二、番外篇之网站开发不能放过的小细节
对之前开发的博客网站中一些小细节做一些补充,让他变得更完美,更像一个产品请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址logo超链接网站左上角的logo作为网站的一个标记,通常情况下点击会回到主页,刚好我们这部分是通过模板继承实现的,修改app/Resources/views/base.html.twig,找到logo文字的部分,加上超链接到主页,如转载 2017-01-25 11:48:29 · 346 阅读 · 0 评论 -
九、让模板文件帮你快速开发网页
模板顾名思义是用来复制的样本,那么模板文件同样具有这样的特性:可继承、可重载、可嵌套,同时具备一些其他优点:流程控制、变量传递、链接自动生成等。html模板给我们开发带来怎样的好处呢?这一节我们继续改进我们的网站来说明模板的作用请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址再做一张页面 新增/data/httpdir/mywebsite/app/转载 2017-01-25 11:41:05 · 411 阅读 · 0 评论 -
八、10行代码建起你的网站
从这节开始,我们来完成一个完善的博客网站,我们每一节都会实现一点小功能,逐步完成。基于symfony2搭建网站都是采用MVC设计模式,本文用最少的代码带你感受一下symfony2里的MVC是怎么使用的。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址小插曲1——开发模式与发布模式我们做c开发或java开发都会提到debug和release,symfon转载 2017-01-25 11:33:51 · 541 阅读 · 0 评论 -
七、带你进入神奇的symfony世界
一步一步手把手讲解symfony2的安装和配置,并快速搭建网站第一个页面。安装symfony2 我们默认你使用的是centos7操作系统并已经安装好了php和nginx(如果还没有请回过头看前面几篇)。首先,我们来安装symfony安装器。假设我们要安装到/usr/local/bin下,那么执行sudo curl -LsS https://symfony.com/install转载 2017-01-25 11:23:22 · 783 阅读 · 0 评论 -
六、总结php框架的功能
可以成为一个产品的网站的业务逻辑都有一定的复杂性,哪怕一个小小的博客网站也会有用户管理、新闻发布、分类管理和多媒体资源管理等,但是有没有办法像堆积木一样实现想要的功能呢?有!开源框架及其海量组件可以帮你实现梦想,本节主要是php框架的介绍。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址什么是php框架? php框架就是把php开发过程中通用而繁琐转载 2017-01-25 11:16:39 · 548 阅读 · 0 评论 -
四、浏览器的那些事
如果说windows图形界面是个人电脑得到普及的基础,那么浏览器就是互联网得到普及的基础,那么浏览器是怎么工作的,和远端的网站之间又是怎么交互的呢?请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址浏览器都干了什么 用浏览器打开http://www.shareditor.com/,在网页空白处点右键选“显示网页源代码”,如下:这才是网页的真正转载 2017-01-25 11:06:53 · 402 阅读 · 0 评论 -
五、世界上最好的网站后端语言php
php是一种实现动态网页的服务器端语言,具有简单、轻量、上手快的优点,而且可以和其他很多语言结合使用。有人说php是世界上最好的语言,虽然说得不对,但从php工程师的角度来讲确实是这样的,那么就让我们一起领略一下php的神奇之处。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址环境准备工作 打开我们的centos 7虚拟机,确保nginx已经安装好转载 2017-01-25 11:13:09 · 3060 阅读 · 0 评论 -
三、网站后端服务器那些事
当你访问百度的时候就一个简单的页面呈现在你面前,你觉得这个简单的页面几个人就搞定了,实事上也是这样,但隐藏在百度的后端服务器程序却有数千工位程师在维护着。网站后端服务器就是这众多重要的后端服务器的一种。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址互联网上的机器之间是怎么相互访问的? 你打开电脑就能相互访问吗?显然需要先接入互联网,也就是常说的“转载 2017-01-25 11:04:02 · 5463 阅读 · 0 评论 -
〇、什么是全栈工程师
作为一个编码12年的工程师老将,讲述整段工程师的往事,顺便把知识都泄露出去,希望读者能少走一些弯路。这段往事包括:从不会动的静态网页到最流行的网站开发、实现自己的博客网站、在云里雾里的云中搜索、大数据一统江湖......请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址你可以把这个看做一个全栈工程师教程,因为看过“网站开发”部分的几篇文章你基本上就可以开转载 2017-01-25 10:53:46 · 500 阅读 · 0 评论 -
一、各显神通总结八大类编程语言的区别
为了能在最快的时间里理解更多语言的相同点和不同点,我用大家最熟悉的Hello World来展示一下各个语言的奥妙请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址注意:整个教程是基于linux系统的(为了方便讲解,我选择用vmware虚拟机装了CentOS 7来演示,其他linux均可),包括编译器、依赖库安装过程、命令行,如果是使用windows或mac系转载 2017-01-25 10:57:33 · 15652 阅读 · 1 评论 -
十、MVC模式中的Model使用方法
model是MVC里的M,它是MVC里最简单而又复杂的部分,简单是因为有了它你就不必关注数据层,让你把精力集中在业务逻辑,说它复杂是因为要想实现这样的机制是比较困难的,好在symfony2帮我们实现了最困难的部分,连在model中编写业务需要的字段都做成了自动化,当然为了学习我们暂时不用自动化的工具。这一节我们就用model来把博客真正管理起来。请尊重原创,转载请注明来源网站www.share转载 2017-01-25 11:41:37 · 7686 阅读 · 0 评论 -
十一、轻松搭建网站管理后台
互联网上见到的多数网站都有一个你看不见的更强大的管理后台支持,比如一个新闻网站的管理后台一定有新闻编辑、发布、审核、管理等,一个论坛网站的管理后台一定有用户管理、板块管理、帖子审核等。这一节我们见识一下php框架的真正魅力:数行代码实现的强大管理后台请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址sonata介绍 sonata扩展是symfony2转载 2017-01-25 11:42:18 · 7974 阅读 · 1 评论 -
十二、SonataAdmin管理后台轻松配置
sonata-admin管理后台不只是简单地把数据库表的管理映射到网页上,它有非常多的支持对各种数据类型的编辑组件,本节来举几个例子,包括文本编辑插件ckeditor的支持,它能让你像编辑word文档一样所见即所得,还包括时间选择器,让你方便填写时间类型。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址特殊字段的困扰 上节中我们编辑一个blogpo转载 2017-01-25 11:42:56 · 2174 阅读 · 0 评论 -
二十一、网站开发资源汇总
总结了一些不错的网上的资源,如果希望更系统的学习网站开发,可以按需选择资源进行学习请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址学习资源入门教程教你成为全栈工程师(Full Stack Developer):http://www.shareditor.com/bloglist/2适合于初学者入门学习,内容涉及到前后端以及周边技术的方方转载 2017-01-25 11:48:03 · 315 阅读 · 0 评论 -
二十、管理后台的权限控制
如果你按照前面的章节一步一步实现到现在,应该可以在管理后台编辑和发布你的博客文章了,但是如果别人知道你的链接,也可以编辑、发布甚至删除你的文章,这时就需要你做权限控制了,也就是能够支持输入用户名密码登陆的用户管理部分请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址SonataUserBundle SonataUserBundle是sonata项目中转载 2017-01-25 11:47:33 · 1652 阅读 · 0 评论 -
十九、文章内容展示页面设计
前面已经对整个网站的布局做了周密的准备,下面就是最关键内容的展示了,完成了这一部分网站也就基本搞成了。本节我们把文章内容展示部分完成。请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址修改controller 修改src/AppBundle/Controller/BlogController.php,把BlogController类的showActi转载 2017-01-25 11:46:28 · 2589 阅读 · 1 评论