谦先生的程序员日志之个人大数据生涯(1)

从一个初级程序员到高级程序员的经历css

图片描述

你好!我是谦先生,我是茫茫程序猿中的一猿,平凡又执着。前端

刚入行的时候说实话,啥都不懂,就懂点皮毛的java,各类被虐狗的感受。又写js又写css又写后台。。。慢慢被虐出来了~开始掌握一些好多前端框架好比jqury、jquery ui、easyui、datagrid、zTree、extjs、boostrap、echart。。。各类各样的(XoX),后端也由于外包的项目各类各样,主流的框架如struts二、hibernate、mybatis、spring都要熟悉使用,但对于struts2与spring mvc,用得最多仍是spring mvcjava

后来,工做久了有了许多代码的积累,发现一个问题,写过的代码复用起来老是须要改不少地方,我开始尝试尽量的提升代码的通用型以及代码的扩展性。因而就开始搞设计模式,啃书啃开源框架的源码,万事学习模仿起嘛。以后就模仿着开源框架写了核心设计的代码,好比ioc容器、rpc框架、基于观察者的高可用中间件等代码。也仿写基于二进制的linux的权限管理并在项目中成功应用,优化了通常字符串存储的体量问题。python

图片描述

随着时间的飞逝,公司愈来愈多的业务跟我挂钩了。慢慢的我在项目组中编码的能力也获得了承认,从一个新人变成了一个核心的开发成员,开始接触到软件架构的事情了。开始有同事协助个人工做,开发任务的安排不禁得我不写接口文档,以及作项目的架构中很重要的数据库设计,也开始画各类UML来理清项目代码的各类关系。在外包的工做当中,有开发的工做,也有研发的工做,中间件设计与开发是最恶心的,经常会处理许多并发编程的问题,各类并发容器,好比LinkBlockingQueue、DelayQueue等各类队列,还有容量评估、高水位、系统阈值、QPS、RT等一大堆新认知,顿时发现这个世界太大了,这水好深。除了中间件带给个人痛苦,同时还有另外一个恶心的就是mysql存储过程的提示,写了几遍不再想写了。还有700多行有些甚至上千行的的sql的扩展开发,改哪哪疼,多么但愿别再往里加需求或改需求了。也由于性能的事情也开始学习orcale优化器策略、索引设计、物化视图的设计跟jvm的知识,那些新老生代、标志压缩、TLAB、串并行收集器让我记起了那个寒冷的冬天。mysql

图片描述

项目经理开始让我去了解学习hadoop,linux熟练程度决定了个人掌握速度,我开始把下班的生活搬进linux的世界,一个月多都在使用linux shell去干活,无可奈何才能用windows(只能查东西),为了强化linux,开始学习集群的架构知识,今天把一个tomcat集群搭起来,明儿几天计划并实施nginx、Apache的负载均衡,又实施了集群优化,好比读写分离、动静分离等技术。后来想到一个问题,就是当负载服务器宕掉就会出现集群瘫痪的问题,因而就接触到了高可用,也发现了keeplive跟zookeeper这两个好东西。以后作压力测试的时候发现,nginx的峰值是4W左右、Apache就低不少,就开始研究他们的负载均衡。因而了解到他们是出于第七层的负载均衡只能作到请求派发,有一项技术叫LVS——软件实现的第四层负载均衡,跟F5的原理同样以转换IP达到的负载均衡技术,不过它是软件实现。还有基于一致性hash的session缓存层,跟几个经常使用的nosql研究。jquery

一个月后发现,个人linux已经日新月异了,而后我开始去作学习hadoop体系,从第一个版本到第二个版本,他的生态也研究了如hive、hbase、zookeeper、sqoop,还有storm跟spark。开始尝试去从朋友拿到的数据,根据朋友描述的产品线作集群设计与部署,看着本身部署的集群能模拟朋友公司的生产环境运做,我感到很兴奋。以后也为了得到更多的数据去学习python跟nutch,还有solr跟elasticsearch的使用。在本身的公司也有大数据部门,后来成功经过了考核转到了大数据事业部,进入了个人大数据职业生涯。开始我遇到了许多问题,mr、hive的数据倾斜、storm、spark的join问题,还有基于elasticsearch的hive索引优化,以及hbase的二级索引实施的分布式问题。这个过程由于常常写运维脚本也强化了个人python跟linux shell能力,还掌握了scala的多范式编程。linux

图片描述

在大数据事业部的日子一天一天的过去,也慢慢适应了与web不同的业务需求,刚开始的时候就部署下环境,改了许许多多配置文件,还有一些平常的清洗工做、指标统计工做以及一些临时的处于问题排查的业务需求外,一天工做中剩下的时间仍是挺多的。据说最近的项目也有很多跟模型有关,开始了解大数据的数据挖掘领域。经过同事朋友的交流还有网上市面的一些资料书籍,慢慢开始熟悉机器学习的各类算法在spark、mahout、还有mapreduce中的应用。好比基于频繁集项、分类、聚类等算法的舆情分析系统,以及过程当中词库的设计、同义词、错写词的处理等一些关键问题,其次就是标签系统跟用户画像系统的开发,还有公交路段实时监测预测系统的开发过程。在这个学习的过程中,如当初同样,往事模仿起,写了好些业务流程的架构开发,也开始在生产中投入本身在数据挖掘中的自身价值,现在已经有不少的数据挖掘开发经验了。上海尚学堂大数据培训也是给了我很多的帮助和支持,他们项目实战学习积累经验是很好快速成长的方法。nginx

写到这里,从web到大数据所经历的许许多多之后,我又一次看到了一个新的方向,那就是人工智能,也开始投入到人工智能的研究路上。同时也慨叹,做为一个IT技术人,迫切须要一种学无止境的精神才能抵得住技术的快速更替。程序员

相关文章
相关标签/搜索