2018年总结and2019年展望

96
tommy_yang 595a1b60 08f6 4beb 998f 2bf55e230555
17.1 2019.01.01 23:12* 字数 2377

回顾与展望
2018年感觉一瞬间就过去了,想想一转眼就毕业2年多了,总是感觉时间过得很快,但是又有好多事情没有做完,所以准备记录一下我的2018,
然后展望一下2019。

2018年回顾

2018年--工作篇

PPTV

2018年,6月份从PPTV离职到简书。所以先说说前半年在PPTV的工作,在PPTV这大半年(2017-8到2018-6),主要负责的工作是PPTV移动客户端的自动话推送项目;项目中具体的细节在这里就不回顾了,主要说说工作中用到的一些技术栈;首先说说在推送项目中用到比较多的,也比较优雅的开源框架RxJava
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
通过上面的介绍,可以知道RxJava应该是更适用于异步编程,然后用到了观察者模式,使用起来很方便,我项目中用到的更多的场景就是结合多线程,线程池使用。例如,不同的场景通过不同的Observable订阅不同的Observer,然后把Observable和Observer作为参数传到线程中,交给线程池管理,这样可以让我们更清晰的去写多线程代码。在Observable中处理逻辑计算,计算结果交给Observer sink到具体的存储仓库(包括Hive、ElasticSearch、Redis、File等)。这个是RxJava里面使用到的一个场景,也是我项目中普遍使用的,但是RxJava肯定还有更多的用法,我这边研究的也不是特别深入,只是感觉使用起来非常nice,code写起来也非常清晰。所以推荐给大家,希望大家一起研究交流,gitter of RxJava
这里帮一个好的开源项目交流框架推荐给大家(https://gitter.im),跟Github项目结合起来也是非常的方便;PS:也是非常适合大家去学习English哟,会接触到很多世界各国的开发者哦,大多数都是以英语交流的。

然后说一下,大数据离线计算中,用到的比较多的工具,Apache Hive,优点: 稳定,处理亿万级数据量。为什么会说到这个呢,因为在当下,作为存储仓库,还是非常普遍的,数据存储到HDFS文件,可以使用SQL查询,使用起来也比较简单。
推荐对大数据感兴趣的同学们,最开始,需要自己做的就是去搭建一下Hadoop环境,安装Hive,去看看Hive的4种常见的数据存储结构和格式。

然后总结一下,在PPTV的工作吧,主要负责的就是移动客户端的自动化推送,负责所有的逻辑编写和技术稳定编写;然后就是短信推送,以及Web端站内信推送。同时提供一套完整的Rest API推送接口,提供给其他的部门和项目组推送使用。第一次在项目中接触到了大数据相关技术栈,包括Hadoop、HBase、Hive、RabbitMQ、Kafka等。

简书

下面总结一下来到简书之后的工作,6月25号来到简书,一转眼也半年过去了,来到简书,加入的是推荐部门,负责推荐部门相关工作,包括推荐接口优化、文章页相关文章推荐、推送离线计算工具、用户画像实时计算系统的项目构建、项目优化与完善。在简书的工作中,确实也接触到了许多新的知识,比如RPC(主要用到的RPC服务是GRPC)、Apache Flink、以及一些推荐算法(User2Vector,Doc2Vec,LDA等),在公司算法工程师的推荐下,看了一本推荐算法入门书籍,在这里也推荐给大家(西瓜.pdf),有兴趣的同学一定要记得去看一下,写的很不错哟。
这里主要说一下Flink吧,非常给力的实时流处理框架,类似于Spark Streaming,以前没接触过Spark Streaming,但是了解了Flink之后,不准备去学习Streaming了,就准备深入的学习一下Flink,本人准备整理一些Flink开眼库里面有用的知识点和易错点,在Github上已经开好了仓库,有兴趣的可以一起维护哟Flink知识点整理。喜欢上Flink的原因是可以实时处理海量数据,有丰富的stream和batch api,最重要的是有自己的数据存储结构,有自己的序列化类库,非常的节约空间;举个例子吧,我在一次工作中,需要取10亿条数据,放到内存里面,然后一开始,通过Hive JDBC去取完,放到内存里,如你们所想,很快就OOM了,后面通过Flink去取,然后通过Flink API做 相关计算操作,一点问题没有。这就是我喜欢上Flink的理由,就是那么一瞬间的事情。听说2019年年初,阿里要开源他们的基于Flink开发的实时流处理框架Blink,很期待,会第一时间去使用的。Flink主要做的就是一些线上的实时计算操作,比如我们的是用户画像实时更新,文章CTR实时计算等;听说阿里淘宝也是使用的Blink实时计算用户画像,给用户推荐相关物品的。

加入了go开发的大家庭。对go也有了一定的感情,之前总是觉得Java就是最好的,现在虽然还是觉得Java最好,但是go也不错,但是go在写多线程编程的时候,确实比Java nice很多。语言不是最重要的,掌握好具体的技术点才是重要的。

2018--开源篇

2018年,第一次在开源社区贡献自己的代码;
JRebloom

jrebloom.png

在Jedis提了一个PR,后面在上面的开源库中去具体实现的。希望大家多去star。
Jedis

自己也开源了两个开源库,一个是支持Json格式的Log日志工具,一个是链式Json生成工具。希望大家star,给予鼓励。😂😂
slf4j4json
jsontool

2018--偶像篇

一生詹密,最大的愿望就是在LeBron James(勒布朗.詹姆斯)退役年可以去现场看一场比赛。2018年,詹姆斯虽败犹荣,一个伟大的季后赛赛季,充满英雄色彩,但又是一个孤胆英雄,2次压哨绝杀,单核带领队友闯入总决赛,可惜没能创造神奇;但总决赛第一场足够传奇,51+8+8,如果不是队友加裁判的反向助攻,也不会有赛后受伤吧。可惜什么都没有如果,虽然我是一个冠军蜜,但是对詹姆斯,我一直是一个詹密,从2003到永远,为你的伟大感到骄傲,伟大包括球场上和球场下。2019,我们一起继续,我期待着你的一次又一次伟大的表演,不管是否会为湖人带来总冠军,只希望你健康。但是从你为骑士带来了52年来的第一个冠军,我依然相信你会为湖人带来总冠军奖杯;只想默默说一句,2019,湖人总冠军,因为那个人是LBJ。

2019展望

工作篇

简书的工作未完待续,希望2019在简书把我们的推荐系统做的越来越好!当然自己也会继续努力地去学好技术,掌握好知识。希望在2019年写总结的时候,不会再觉得又是有很多的事情没有做完,而是可以有条不紊的写出自己的每一项计划,这是成长的过程,还是希望自己可以早点养成这样的好习惯,不要总是在结束的时候再去感叹有很多的事情,很多的知识技术没有去掌握。2019,希望自己可以做到。

开源篇

2019,已经在Github加入了一个开源项目的开发:
Email-Dashboard,2019希望这个项目可以在go方向上很好的完成,在业余时间,为该项目后端提供GraphQL Rest API接口。

其他的自己也会努力去编写一些有意义的,适合开源的库。

篮球篇

2019,要好好锻炼身体,经常去打打篮球,不然怕拉下职业病啊!😂😂
最后说一句,2019,湖人总冠军!!!

总结
Gupao