写这篇文章,缘自于前几天部门内部成员们进行了一次部门内部现有涉及的一些算法的review以及整理。不过比较囧的就是,因为boss不在,咱们讨论讨论着就成了吐槽大会,却是有一半时间在吐槽产品以及业务部门了。php
不过这也算是一件可喜可贺的事情了,这也能够看作是咱们数据部门,已经由开轻型挖掘机向深挖阶段迈步了。css
所以,借此机会,也对本身接触过的,了解过的,或者作过的一些勉强称得上算法的东西作一个梳理。其实,就我的来讲,自己就不是作算法出身的,在大学时代,学习的反却是网络方面多一些,更不知数据挖掘算法为什么物。html
其实,就所谓算法而言,我的认为,我有个同事说的很对:所谓算法,并非说那些复杂的数学模型才是算法,哪怕是你写的一个简单的计算公式,只要可以解决现有业务的痛点,有了本身的模型思路,它就是一个算法,只是它可能不够通用,只能解决特定业务需求而已。前端
在大规模的数据前提下,其实不少复杂的算法过程,反而效果没有这么好,或者说,咱们会千方百计去简化其过程。java
举个简单栗子:假设有一批大规模数据集,就以近千万篇博文为例。若是提供一篇博文,让你去查询与其类似度最高的top N,那咱们的一般思路是什么?一般的作法是计算这篇博文与其余博文的类似度,至于类似度的计算方法就不少了,最简单的就是计算其向量夹角,根据向量夹角断定类似程度。OK,就算你用最简单的计算过程,你试想一下,运算近千万次须要多久?或许,有的人说,俺使用hadoop,利用分布式的计算能力来完成这个任务,但若是实际操做起来,你就会发现这是一个多么蛋疼的事情。c++
再举一个简单栗子(好吧,多吃点栗子):好比SVM,这是一种难以收敛的算法,在大数据的前提下,有些人但愿使用它,但又但愿使用更多的数据来训练模型,毕竟手里数据量太大,不少人仍是但愿使用尽可能多的数据训练的,以达到模型更准确的目的。可是,随着训练数据量的增大,像SVM这种难以收敛的算法,其耗费的计算资源仍是很巨大的。git
东拉西扯说了这么多,自个的梳理工做尚未完成呢!github
(1)最先接触的应该是贝叶斯的分类了web
贝叶斯算是分类算法中最简单的算法了,初学挖掘机算法的人十有八九第一个爱上的绝对是它。其实,贝叶斯的原理真的很简单,就是依据统计学的最大几率原理。这么简单,可是就是尼玛这么好用,多年依然屹立不倒。面试
训练过程就缺少可陈了,基本上贝叶斯的都这样,因为是文本,因此一套流程下来,分词,去停词,做为最基本的知识点向量,而后就计算模型几率了。不过比较有趣的是,分类过程是放在Storm里头作的,至关于这是一个实时的分类业务。
(2)说到了文本,天然少不了分词算法了
其实说到分词算法,反倒没啥可说的。现在互联网上各类开源的分词工具,都已经作的很好了,效果也差不了多少,想进一步改进的话也够呛。至于说深刻到分词算法的内部,涉及上下文法分析,隐含马尔科夫模型等东西,若是是我的出于兴趣去研究,那我没话说;若是是小公司,花费人力物力去优化分词效果,我只能说他们闲着蛋疼;若是是大公司,人家金多任性也是能够理解的。
因此,至今来讲,我的对于分词方面的东西,也仅限于初步了解分词算法的衍变,内部大概涉及的算法,以及几种分词工具的使用。
其实,在文本挖掘方面,仅仅针对于文本的分词是不够的,由于咱们使用分词拆分出来的单词,每每不少跟业务都是没有关系的,一般作法是,创建对应业务字典,至于字典的创建,固然也是须要分词的,再进行进一步的加工,甚至可能会加上一些人工的工做。
(3)下一个就是实时热点分析了
我也不知道这算不算是算法,说到实时,天然跟Storm又有关系了(好吧,我认可我是搞这个以后开始接触数据的)。说到实时热点,可能大伙儿都摸不着头脑,举个简单栗子就明了了。
玩hadoop的童鞋都知道WordCount这个经典栗子,MapReduce在Map到Reduce的过程当中,自动将相同的Key经过相似hash的方法聚合到一块儿了,因此,统计单词这个需求经过MR来作是辣么的简单。
那Storm的实时WordCount呢?好吧,这也是一个可以记录到实时技术领域史书上的经典案例(好吧,其实它就是一个Storm的HelloWorld)。Storm虽然没有相似MR那种自动Hash的功能,不过它也提供了一种数据分组流策略,也能达到相似的效果,而且它不像MR那样是批量的,它是实时的、流式的,也就是说你能动态的获取到当前变换的单词词频。
实时热点分析,若是咱们把热点映射成单词,那咱们是否是就能够实时的获取到当前Top N的热点了。这个方向但是有很大的研究价值的,实时地掌握了用户的热点导向,咱们就能够动态的调整业务策略,从而衍生更大的数据价值。
不过,整体来讲,这个数据模型更多依靠的是Storm这个实时工具的自己功能,模型设计上的东西反却是少了。至于说算不算是算法模型,就跟前面所说的那样,看我的见解吧,你说是就是了~~
(4)国内很成熟的一种建模——推荐
就目前在国内作数据挖掘的来讲,可能分类与推荐是作的最多的两种方向。分类就很少说了,就好比刚才所说的贝叶斯,简直就是分类中的鼻祖算法了。
可能一说到推荐算法,有人脑海里立马就闪现出关联规则、协同过滤、余弦类似性等这些词。这是没错的,但我要说的不是这个。其实我的想说的是推荐就两个方向:基于用户,基于内容。
咱们须要注意两点,咱们推荐的对象是用户,或者说是相似用户这种有动做行为的实体;而推荐的东西则就是内容,他没有动做行为,可是他有不一样的属性,或者用更砖业说法描述就是他必然有知识点。
基于用户推荐,咱们看重的不是内容这个实体,而是用户自己的行为,咱们认为用户的行为必然隐含着一些信息,好比,人的兴趣导向,那么既然你有了相关的行为,那么我按照你的行为去给你推荐一些东西,这老是有必定道理的。
基于内容的推荐,咱们的侧重点则是内容,这就跟用户的历史行为无关了。咱们潜意识的认为,既然你会看这个内容,那么跟这个内容有关系的内容,你是否是也感兴趣呢?或许这样说有失偏颇,可是大致方向是对的。
至于以前说的那些关联规则也好,协同过滤也好,余弦类似性也好,其实就是研究知识点与知识点之间关系所创建的模型。
针对于基于内容推荐,其知识点就是内容之中的各类属性,好比影片推荐,其知识点可能就是各类评论数据、点播数据、顶踩数据、影片类型、演员、导演以及其中的一些情感分析等等;又好比博文,其知识点可能就是一个个带权的词,至于这个词就涉及到词的抽取了,再说到词的权重,可能就会涉及到TFIDF模型、LDA模型了。
而针对基于用户,其知识点最直接的体现就是用户的行为了,就是用户与内容之间的关系,不过深究下去,又会发现,其实跟内容的知识点也紧密联系,只不过这可能不止一个内容实体,而是多个内容实体的集合。
(5)文本单词的加权模型
前面正好提到了TFIDF以及LDA模型,因此顺带也就讲讲文本单词相关的加权模型吧。
说到文本挖掘,可能大部分人都熟悉TFIDF模型,既然涉及到了,那就简单的说一说。咱们知道,文本的知识点就是一个个的单词,虽然都是单词,但也总有哪一个词重要程度高一点,哪些词重要程度会低一点吧。
或许有人会说,出现多的词就重要。没错,那就是词频,简单的来想,这种思路并无错,而且,早期的文本挖掘模型就是这么作的。固然,效果确定是通常般的。由于那些常常出现的词每每都是一些没用的经常使用词,对文章的做用并不大。
直到TFIDF模型的出现,才根本性地解决了文本挖掘知识点建模的问题。如何判断一个词的重要程度,或者专业点的说法就是判断其对文章的贡献度?TFIDF经过词的词频来加大词在文章中的权重,而后经过其在多个文章中的文档频率来下降其在文章中的权重。说白了就是下降了那些公共词的权重,把真正贡献度大的词给暴露出来。这基本就是TFIDF的基本思路了,至于词频权重怎么加大,文档频的权重怎么下降,这就涉及到具体的模型公式了,根据不一样的需求进行调整就OK了。
关于文章知识点主题建模的另一种很重要的模型,那就是LDA模型了。它是一种比较通用的文章主题模型,它经过几率学原理,说白了就是贝叶斯,创建起知识点(也就是词),主题和文章的三层关系结构。词到主题有一个几率矩阵,主题到文章也有一个几率矩阵的映射关系。
好吧,LDA不能再说下去了,再说下去就露馅了。由于,俺也不是很懂啊。对于LDA,虽然部门内部有在使用,可是我没有作过具体的模型,只是和同事讨论过它,或者更确切的说向同事请教过它的一些原理以及一些设计思路。
(6)类似度计算
类似度计算,好比文本的类似度计算。它是一个很基础的建模,不少地方就用的到它,好比刚才咱们说到的推荐,其内部关联的时候,有时候就会涉及到计算实体间的类似度。
关于文本的类似度,其实方法有不少。一般会涉及到TFIDF模型,拿到文本的知识点,也就是带权的词,而后经过这些带权的词去作一些类似度的计算。
好比,余弦类似模型,就是计算两个文本的余弦夹角,其向量天然就是那些带权的词了;又好比,各类算距离的方法,最著名的欧式距离,其向量也依然是这些词。还有不少诸如最长公共子串、最长公共子序列之类的模型,我的就不是很清楚了。
总之,方法不少,也都不是很复杂,原理都很像。至于哪一个合适,就得看具体的业务场景了。
(7)文本主题程度——信息熵
曾经和同事尝试对数百万的博文进行领域划分,把技术博文划分红不一样的领域,好比大数据领域、移动互联网领域、安全领域等等,其实说白了仍是分类。
一开始咱们使用贝叶斯进行分类,效果还行,不过最终仍是使用SVM去建模了。这都不是重点,重点是咱们想对划分到某一领域下的技术博文进行领域程度判断。
咱们想了不少办法,尝试创建了数据模型,但效果都不是很理想,最终回归到了一个最本质的方法,那就是使用文本的信息熵去尝试描述程度,最终结果仍是不错。这又让我再一次想到同事说过的那句话:简单的东西不必定很差用!
信息熵描述的是一个实体的信息量,通俗一点说就是它可以描述一个实体的信息混乱程度。在某一个领域内,知识点都是类似的,都是那些TFIDF权重的词,所以,是否是能够认为,一个文本其信息熵越小,其主题越集中越明显,信息的混乱度越低,反过来讲,有些文本主题很杂乱,可能包含了多种领域的一些东西,其领域的程度就会下降。
最起码表面上,这种说法是行得通的,而且实际的效果还不错。
(8)用户画像
用户画像这个方向多是近两年比较火的方向了。近年来,各大互联网公司,各大IT企业,都有意识的开始从传统的推荐到个性化推荐的道路衍变,有些可能作的深一些,有些可能浅一些。
商业价值的核心是用户,这天然不用多说。那么如何结合用户进行推荐呢,那就是用户的属性,那关键是用户的属性也不是一开始就有的,咱们全部的只是少许用户的固有属性以及用户的各类行为记录。咱们连用户是啥子里状况都不清楚,推个毛啊!
因此,咱们须要了解用户,因而对用户进行用户画像分析就颇有必要了,其实就是把用户标签化,把用户标记成一个个属性标签,这样,咱们就知道每个用户大概是什么状况了。一些商业行为,也就有了目的性。
至于说如何对用户的每个画像属性进行填充,这就看具体的状况了。简单的,用几个简单模型抽取到一些信息填充进去;复杂的,使用复杂的算法,经过一些复杂的转换,给用户打上标签。
(9)文章热度计算
给你一大坨文章,你如何判断哪篇文章比较热,哪篇文章比较矬,换个说法就是,我进入一个文章列表页,你能给我提供一个热文章的排序列表吗?
可能大部分的思路都很直接,拿到文章可以体现热度的属性,好比点击率、评论情感分析、文章的顶踩状况,弄个简单加权计算模型,咔咔就出来了。
本质上这没错,简单的模型在实际的状况中不必定很差使,部分属性也的确可以体现出一篇文章的热度,经过加权计算的方式也是对的,具体的权重就须要看具体状况了。
但若是这么作的话,实际上会出现什么状况?今天我来了,看见了这个热度推荐列表,明天我来了,仍是看到这个列表,后天我来了,依然是这个列表。
尼玛,这是啥状况,咋每天都是这个破列表,你要我看几遍?!不错,这就是现实状况,形成的结果就是,越热的文章愈来愈热,越冷的文章越冷,永远的沉底了,而热的文章永远在前头。
如何解决这个问题?咱们把时间也加入参考,咱们要把老文章经过降权的方式,把他人为的沉下去,让新文章有出头的机会。这就是说,须要咱们把建立时间也加入权重中,而且随着时间推移,衰减其热度权重,这样,就不会出现热的一直热,冷的一直冷了。至于衰减的曲线,就须要看具体业务了。
这样就能解决根本问题了吗?若是文章自己信息量就不够呢,好比,自己大部分就是新文章,没有顶踩,没有评论,甚至连点击曝光都不多,那用以前的模型就行不通了。
那是否是就无解了呢?方法仍是有的,好比,咱们寻找到一个类似的站点,他也提供了相似最热文章推荐的功能,而且效果还很不错。那么,咱们是否是就能够借助它的热度呢?咱们经过计算文章类似度的方法,复刻出一个最热列表出来,若是站点性质类似,用户性质类似,文章质量不错,类似度计算够准确,相信这个热度列表的效果也是会不错滴(这方法太猥琐了~~)。
(10)Google的PageRank
首先,别误会,我真心没有写过这个模型,我也没有条件去写这个模型。
认识它了解它,缘自于跟几个老同窗合伙搞网站(酷抉网)。既然搞网站吧,做为IT人猿,一些基本的SEO的技术仍是须要了解的。因而,我了解到:想要增大网站的权重,外链是不可缺乏的。
我跟我几个老同窗说,大家去作外链吧,就是逮住网站就放咱网站的连接。他们问到:一个网站放的连接越多越好吗?放的网站越多越好吗?啥网站放比较好?这都不是重点,关键是他们问:为毛啊?
把我问的那个是哑口无言啊,因而我一怒之下就去研究PageRank了。PageRank具体的推演过程我就不说了(何况凭借我这半吊子的水平也不必定能说清楚),其核心思想有几个:当一个网页被引用的次数越多时,其权重越大;当一个网页的权重越大时,其引用的网页权重也随之增大;当一个网页引用的次数越多时,它引用的网页给它带来的权重越低。
当咱们反复迭代路上过程时,咱们会发现某个网页的的排名基本就固定了,这就是PageRank的基本思路。固然也有个问题须要解决,好比,初始网页如何给定其初始权重,高计算迭代过程如何简化其计算过程等等。这些问题,在Google的实际操做中,都作了比较好的优化。
(11)从互联网上定向抓取数据
其实我估摸着这跟算法没很大关系了,不过既然有数据的获取设计流程,也勉强算是吧。
之因此有这个需求,是那段时间搞网站搞嗨了,给本身整了个工做室网站,想给别人尤为是一些小企业搭建包括轻度定制企业网站(是否是挺瞎折腾的-_-),也确实是作了几个案例(个人工做室网站: www.mite8.com ,有兴趣去看看)。
因而乎,俺就想啊,如何给本身找客户?工做室的客户应该是那些小企业的老板,而且还必须是目前没有企业门户的。做为一个搞数据的程序猿,而且仍是开挖掘机的,虽然是半路出身非蓝翔毕业且无证上岗,但好歹是挖过几座山头的呀。
现在是互联网横行的时代,他们总会在互联网上留下一些蛛丝马迹,我要把它给逮出来!个人目标很明确,我要拿到那些无企业网站的企业邮箱,而后作本身EDM营销(电子邮件营销)。
1)我先从智联检索页面,抓取了企业规模小于40人的企业名称,事实证实智联招聘的页面仍是很好解析的,都是静态的,而且格式很规整,因此很容易就分析出一批小企业的企业名来了;
2)拿到了企业名,我如何判断这个企业已经有了独立的企业官网?经过分析,我发现经过搜索引擎检索这个企业名的时候,若是有企业官网的话,必定是在首页。而且其页面地址也是有必定规律的,那就是:独立官网的开头一般是www开头的,长度通常不会太长,收尾一般是index.html、index.php以及index.asp等等。
经过这些规则,我就能够将那些有企业官网的企业名给pass掉了。其中遇到了两个难点,一个就是搜索引擎的不少页面源码都是动态加载的,因而我模拟了浏览器访问的过程,把页面源码给抓取下来了,这也是爬虫的通用作法;第二个就是,一开始我尝试的是经过百度去获取,结果百度貌似是有放结果抓取的一些措施,致使结果不如人意,因而我换了目的,使用的是360的检索,问题就解决了(事实证实百度在搜索引擎方面比360仍是强了很多的),而且效果也差很少。
3)解决了排除的问题,那根本的问题就来了,我如何拿到企业的企业邮箱?经过分析搜索引擎的返回结果,我发现不少小企业喜欢用第三方网站提供的一些公司黄页,里头包含了企业联系邮箱;还有部分公司发布的招聘信息上会带有企业邮箱。
经过数据解析,终于拿到了这部分数据,最后还作了一些相似邮箱是否有效的基本解析等等。最终拿到了大概3000多个企业邮箱,有效率达到了80%以上。
问题是解决了,但仍是有些地方须要优化的:首先就是效率问题,我整整跑了近12个小时,才把这3000多个邮箱给跑出来,太多须要解析的地方,而且模拟的浏览器在效率上不高;其次就是对邮箱的有效不是很好判断,有些邮箱根本就是人为瞎写的;还有就是部分网站对邮箱进行了图片化混杂处理,即作成了相似的验证码的东西,防抓取,我没有对图片类的邮箱数据进行解析,其实这个问题也是有解决办法的,咱们拿到一些样本图片,进行图片字母识别的训练,这样就能解析出其中的邮箱了。
整体来讲,此次体验仍是挺有成就感的,毕竟在业余的时间解决了本身实际中的一些痛点,熟练了一些所学到的东西,或者说实施的过程当中学到了不少东西。
ps:github上检索webmite就是这个项目了,我把代码托管到了github上,或者从个人博客上进入。
其实我的的缺点很明显,首先就是没有通过系统的数据挖掘学习(没去过蓝翔,挖掘机自学的),也就是野路子出身。所以对不少算法的原理不够清楚,这样的话,对于有些业务场景,可能就提不出有建设性的意见了。而且,对于不少算法库的使用,仍是不够了解的。
其次就是在数学功底上有所欠缺。咱们知道,一些复杂的算法,是须要有强大的数学基础的。算法模型,其本质就是数学模型。所以,这方面也是个人短板吧。
因为我的是由作大数据偏向挖掘的,基于大数据模式下的数据挖掘过程,可能跟传统的数据过程有很大的不同。好比,数据的预处理过程,大数据挖掘的预处理不少依赖的是目前比较流行的分布式的一些开源系统,好比实时处理系统Storm、消息队列Kafka、分布式数据收集系统Flume、数据离线批处理Hadoop等等,在数据分析存储上可能依赖的Hive以及一些Nosql会多一些。反倒对于传统的一些挖掘工具,好比SAS、SPSS、Excel等工具,我的仍是比较陌生的。不过这也说不上是缺点吧,侧重点不同。整体而言,大规模数据的挖掘将会是趋势。
说了这么多,前面的那些东西可能对大伙儿的用处并非很大,固然对于开挖掘机的朋友仍是有必定帮助的。如今我想表达的东西可能跟挖掘就没有直接的关系了,更多的给动物园动物(程序猿,攻城狮)的学习以及自我进化的建议。
(1)为了学到东西,脸皮是毛玩意儿?
对于这点,我的但是深有体会。想当年(好吧,这个词仍是很蛋疼的),大学那会儿专业是信息安全,偏向于网络多一点,所以在语言方面更多的是c和c++,对于java但是连课都没有开的,说白了就是用java写个HelloWorld都不会。
刚毕业那会儿,兴冲冲地跑去公司写c,结果不到一个月,新项目来了,需求变了(尼玛,开发最怕的就是这句话),变了就变了吧,尼玛要研究大数据,用c能干毛啊!一些个开源系统工具,十个却是有九个是java写的。当时我就哭了!
因而就纠缠着一个同组的伙伴,逮住时间就问他问题,有些问题在熟悉java的人看来,绝对是白痴又白痴的。可是对于初学者来讲,绝对是金玉良言,人家一句话的事,若是本身去查找,多是几个小时都搞不定。一个月以后,总算入门了,后面就轻松多了。
日后的一些日子里,遇到了一些问题,老是会厚着脸皮缠着交流群中的一些大拿们死问,慢慢地就进步了。近段时间,开始学习scala,幸亏旁边有个scala小高手,哈哈,可苦了他了~~
因此,遇到本身不懂的东西,不要怕本身的问题简单很差意思问,必定要脸皮厚!你连这么简单的问题都不懂,你还有资格担忧本身的脸皮?!
(2)交流与分享
对于交流与分享这点感想,缘自于2012年底研究Storm的那段时间。Storm在2012年那会儿,并不像今天这样火,研究的人也很少,无处交流,可用的资料就更少了,因此解决起问题来很费事。
固然其中有几个博客给个人帮助仍是很大的,包括了“大园那些事儿”、“庄周梦蝶”等几个博客,都是早期研究Storm而且分享经验技术的博客。当时我就萌生了写博客的想法。
在日后的时间里,我花费了很大一部分精力,将我学到的Storm相关的东西整理了出来,而且因为当时感叹没有一个很好的交流平台,建立了“Storm-分布式-IT”技术群(群号191321336,主要搞Storm以及大数据方面的,有兴趣的能够进来),并把整理的资料、代码、经验分享到了平台以及博客中。
因为我一直主张“进步始于交流,收获源于分享”这个理念,不断有搞技术的朋友加入到这个你们庭中,而且不断的把一些经验技术反馈到群贡献中,达到了一个良性的循环。 短短不到两年的时间,群已经发展到了千人,而且不管是技术氛围仍是群员素质,在IT技术群中绝对能够算的上名列前茅的。
就我的从中的收获来看,这种交流是可以学到不少的东西的,你要相信三人行必有我师,这句话是有道理的。而分享则是促进交流的基石,只有让你们意识到本身所收获的东西是源自于别人的分享,这样才能让更多的人参与进来。
其实说了这么多,想表达的意思就两点:多多与他人交流,听取他人的意见;至于分享本身的所得,这就是属于良心发现了。
(3)多看书,随时给本身大脑补充养分
其实这点也不止是给大伙儿的建议,也算是给本身的一个告诫吧。
我的在这方面作的也不是很好,好久以前给本身定了一个目标:一个月看完一本书。结果工做的问题,其余杂七杂八的事情不少,这个一直没有落实下来,至今买来的《个人互联网方法论》才看了前几章。最好的案例算是上上一个月,我花费了近一个月上下班等地铁、倒地铁的零碎时间,终于把《构建之法:现代软件工程》给看完了。
书中有没有颜如玉我不知道,但书中确定有黄金屋。平时多看一些书,多学一些,跳槽时跟面试官老是能多唠一些的,哈哈,提薪酬的时候是否是底气就足了些?!
关于说看书的内容,工做中涉及的一些必须了解,必须看的我就很少说了。若是业余时间比较多,仍是推荐多涉猎一些其余相关领域,毕竟,人不可能一生就只窝在本身那一亩三分地上的;就算你一直坚持某个技术方向,随着时间的推移,技术的升华也必然会涉及到其余不少的相关知识。
因此,多看书,多充实一下本身,这必定是对的!
(4)常常梳理一下本身,整理一下本身
常常给本身作一下梳理工做:本身目前掌握了哪些东西,目前本身缺少什么东西,掌握的东西够不够,缺少的东西如何去弥补。这些都是须要咱们常常去反思的,只有整理清楚了本身,才知道本身要干什么,才有目标。
固然梳理完了,你还须要去实际操做,否则的话,你会发现,每一次梳理,结果都是同样的。咱们须要在每一次梳理事后,进行对比,了解本身进步了多少。固然每一次梳理,都是为了给本身作一个计划,计划本身大概须要在哪些方向进行增强。
其实不少人一到了跳槽季就犹犹豫豫,其实他们对目前的工做已是有所不满的了,可是总感受本身能力不够,可能辞了也难找工做。这是由于他们对本身认识的不够,连他本身都不明白本身到底有多少料,那么,请问面试官会知道吗?
若是,你对本身掌握了多少东西都一清二楚,核心领域已经熟悉了,相关领域也有所涉猎,那么你还在担忧什么呢?若是真有面试官对你说no,你能够说:hi,恰好我也没什么时间,我还回去挑选offer呢!
(5)善于在实际生活中寻找学习的动力
人是懒惰的,不少时候,有些事情可作可不作的,每每人都是不去作的,也不肯意去深根究底。
这个我很想学,那个我也很想了解,关键是一到大周末,我更想躺被窝!说到底,就是没有学习的动力!
也就是说,咱们要善于在实际的生活中,寻找到推进咱们取学习的理由。
举几个简单的栗子:
1)以前也说过,有段时间在研究网站。为了让网站推广出去,各类去研究SEO,如今来看,本身虽然远远达不到一个SEO专业人员的标准,但最起码是知道了为毛经过搜索引擎检索,有些网页就排在前面有些就排在后面(PageRank算法);也知道了怎么去编译一篇文章,更好的方便搜索引擎收录(等俺失业了,不搞挨踢了,去作网编估计也是行的,又多了一条活路,哈哈)等等。
2)为了给EDM寻找目标,我本身使用业余的时间去分析互联网上的数据,而后写代码,跑数据,测试数据等。其实,在那以前,我对爬虫的了解是很少的,对于网页数据的解析也不在行,这彻底都是经过“从互联网抓取有用数据”的我的需求上去驱动的。还不止如此,拿到邮箱以后,为了让EDM邮件看起来更“砖业”一点,我开始自学如何使用html来制做好看的电子营销邮件页面。
3)曾经有一段时间,工做非常悠闲,突发奇想的把大学时想写小说的梦给圆了。因而就开始在纵横小说网上写小说。不过,这都不是重点,重点是纵横要求每个做者给本身的小说配小说封面。我去问了一下,尼玛一张破封面须要20多大洋。心想,一张破封面就要20大洋,本身都是搞IT的人,干脆不本身P一个呢。因而,我开始捡起了大学时期放弃的PS学习计划,只用了两个星期,PS基本功能就熟练了。后来的话,本身的封面固然是搞定了,而且还服务了至少数十位做者朋友们。固然,这都是题外话了。至于小说,哈哈,不但签约了,稿费仍是挣了上千大洋,关键是过了一把写小说的瘾。在PS技术方面,虽然跟专业的前端人员比不得,可是改改图、修修照片仍是木有问题滴。
4)远的太远,说一个近一点的事吧。前一段时间开始学习scala,其实就我的需求来讲,写那个项目用java来写也彻底可以搞定,但关键是我对我本身说,错过了此次机会,下次说不定啥时候才有决心去学习这个颇有前途的语言了。因而,狠下心使用这个全新的语言去开发,过程虽然磕磕绊绊,毕竟立刻使用一种陌生的语言去敲代码是很蛋疼的事,但一个星期来,结果仍是不错的,最起码一些基本的用法是会了。完事开头难,熟悉了一些基本的东西,剩下的就是累积的过程了。
其实这些归结起来就一个观点:咱们要适时的给本身找一些理由,逼着咱们本身去学习,去获取新的东西,去提高本身。
或许有人会说,哥我每天加班,还有毛线时间去问问题、去交流、去看书,大周末的好不容易有假期了,吃饱了我不去睡觉去给本身找动力干不给钱的活,我脑抽啊?!好吧,若是你是这么想的,抱歉耽误了你这么多睡觉的时间。
其实上面说了这么多零碎的栗子,关键仍是在于态度!你有没有想学习的欲望,有没有提高本身、升华本身的想法,有没有升职、加薪、当上UFO、迎娶白富美的念头。是的,这些东西都是本身去作的,没人逼你。若是你有这些想法的话,那么这些东西多多少少仍是有一些帮助的。
除了对待事情的态度,咱们的心态也很重要,看待事情要乐观一点。前几天,群里有个搞互联网招聘的朋友问我:你是搞技术的吧?我说是。他说我认识不少搞技术的都很闷,不像你这么开朗。我说我不想哪天死在了马桶上~~
搞IT的给大部分人的映象确实是闷骚、不善言谈、不善交际。其实也是,天天大量的工做,领导又开会训人了、产品这边需求又改了,确实让人疯狂。工做压力大是IT人的标准属性了。
咱们须要调整好本身的心态,就像以前所说的,学习一个东西,虽然可能会占用原本就很少的业余时间,可是咱们应该不是那种单纯为了解决问题而去学习,去获取,当成一种提高本身、升华本身的途径,而不是逼不得已的无奈之举。若是一份工做,你确认本身不喜欢,那就别犹豫,果断跳吧!脑中有货还怕找不到买家!
时刻警醒本身对待任何事情要有一个好的态度,认清本身,抓住一切机会提高本身、升华自我,保持一个良好的心态,这就是我想说的东西。
吭吭唧唧说了一大坨,其实我也知道不少是废话,可是我依然但愿,个人这些废话可以帮助到你,作为同一个动物园里的人,一块儿努力吧!
来源:博客虫投稿, 原文连接 。做者公众微信号:博客虫(ID:blogchong)