日前,CSDN采访了李祎,请他分享JavaTestin的技能运用。

李 祎

CSDN:请先大略先容下自己,以及目前所卖力的领域。

jsp的mis专访李祎Java在Testin的技巧运用 PHP

李祎:曾经在西门子担当高等工程师, 139微博的架构师和研发部门经理,紧张是用Java做搭建平台。
目前是Testin崩溃剖析的项目卖力人。

CSDN:你与Testin是如何结缘的?

李祎:来Testin之前就和公司内的很多同事认识,我们在139微博的时候就有互助,都是很好的朋友,相互都比较理解。
之前崩溃剖析项目随着业务量的不断增长,碰着一些性能架构上的瓶颈。
我受朋友约请帮忙办理了一些技能问题,也通过这个机会逐渐走近这个产品。
我创造在这里我的潜力能得到最大限度的发挥,而且这个产品还有机会实现我做一个天下级的产品人生梦想。
于是当仁不让的离职加入了Testin,和小伙伴们一起打拼属于我们自己的未来。

CSDN:你们团队是如何分工的?

李祎:麻雀虽小,五脏俱全,我们现在有客户端开拓团队, Web前端开拓团队和Java平台开拓,以及测试,产品和运营的同学。
基本上便是一个创业小公司的完全配置。

CSDN:Testin在开拓过程中有哪些主要的节点?你对Testin的技能改造紧张表示在哪些方面?

李祎:Testin崩溃剖析在发展中碰着最主要的里程碑性事宜发生在一个月内访问量从3千万迅速内迅速打破5千万那个阶段。
由于前期的系统为了节省开拓本钱都是用PHP来搭建的。
当访问量暴增后,PHP不适宜处理海量数据的弱点被迅速放大,造成数据处理常常延迟,大量的要求由于无法及时处理只能被丢弃,直接影响产品的用户体验。
为了搪塞业务的暴增,全体研发团队被临时拉进一间会议室封闭开拓。
由于那个会议室是储藏室改建的,三面是墙一壁是玻璃门,终日不见阳光,被兄弟们称为“小黑屋”。

我对Testin崩溃剖析技能上的改造,紧张是引入了Storm开源框架来处理海量数据的实时打算,利用Spark来进行离线数据的打算;同时对系统流程中各个主要节点,搭建完善的监控,当涌现访问洪峰或者系统非常时,能及时预警和剖析查找问题缘故原由。

CSDN: Testin与其他同类产品比较,有哪些上风?

李祎:我们的产品可以帮助开拓者查找导致Bug的缘故原由,让开发者清楚知晓哪些代码导致了运用崩溃,从而可以更为随意马虎地修复这些问题。
国皮毛似的产品有不久前被Twitter收购的Crashlytics。
我们做了一个Testin崩溃剖析和Crashlytics的全功能比拟,见下图。

从图可以看出,在功能点上,Testin崩溃剖析和Crashlytics平分秋色。
不过,如果从手游开拓者的角度来说,对他们最主要的便是工具对Android NDK及引擎脚本缺点的剖析。
这个方面显然Testin要完胜Crashlytics;并且它的利用也很大略,只需嵌入Testin崩溃剖析供应的SDK,就能够同步真实用户的访问体验,即时创造手游在利用过程中发生的各种问题。
这一SDK的大小只有几十K,嵌入手游之中对用户体验不会有任何的影响。

CSDN: Testin的架构是若何的?在产品开拓过程中,紧张采取了哪种措辞?为什么?

李祎:Testin崩溃剖析的紧张业务是网络SDK上报的运用启动,崩溃的数据,进行实时统计和打算剖析。
部分跨天的业务须要进行离线打算。
考虑到海量数据的实时打算和离线打算哀求,我们采取了现在比较盛行的Storm进行实时打算和Spark卖力离线打算。
这两个打算框架紧张以Java措辞为主。
前真个API接口层由于比较大略,利用PHP+Nginx 来实现。

CSDN:听说你是Java技能牛人,你是从什么时候开始打仗Java的?是什么地方吸引了你?

李祎:技能牛人谈不上,只是事情中有大量的机会利用Java进行项目开拓,十几年中用过学过Java知识相对其他措辞多些。
刚开始打仗Java是在2000年毕业后到的第一家公司,那时Sun推出的Java刚兴起,公司为了培养新人,鼓励大家去考SCJP 认证,考过了公司报销干系用度。
我为了考试猛学了一阵Java的根本知识。
现在转头看,那段经历给为之后的Java学习打下了很踏实的根本。

CSDN:你怎么看待目前Java发展现状?Java发展至今已有二十年了,你经历了哪些技能变迁呢?

李祎:我一贯处在IT这个圈子里,身在个中觉得韶光过得好快, Java都已经由二十岁生日了。
太宏不雅观的见地也谈不上,我就聊聊自己这些年和Java干系的项目。

2000年刚毕业时, servlet刚出来不久,我们做的MIS项目紧张用Servelet和JSP来编写。
那时Java刚出来不久,国际化问题没有很好的办理方案。
我记得当时在网上开拓职员问得最多的Java问题,是各种中文乱码的办理方法。
之后 EJB 和J2EE的观点开始盛行,特殊是4个火枪手著的《设计模式》一书影印版的引进,MVC的理念和框架险些成了程序员口试的必谈问题。
2004年我进入西门子手机研发部,大量用到了J2ME,由于手机资源的限定,很多编码都须要考虑内存大小和包大小。
那个时候最有造诣感的事情,便是学习各种开源代码,裁剪移植到J2ME手机上。
2008年我加入了139微博,正式进入了互联网圈。
面对各种高并发,高可用性的寻衅,个人认为Java是最适宜办理这类问题的开拓措辞。
由于它兼有很好的性能,同时由于利用广泛,有很多配套的工具可以利用,节省开拓周期。
这个时候打仗较多的是Java + redis/memcache + tomcat/jboss。

CSDN:近日,Oracle宣告停滞发布JDK7安全补丁和升级包,此举,你怎么看?

李祎:Java一起走来都在不断的推出新包,放弃掩护老版本,这是在正常不过的软件迭代路线。
不过从我的角度方向于选用比较成熟的JDK作为根本软件。
Testin现在利用JDK7的包,我想我们很永劫光内不会考虑升级的事。

CSDN:你平时最常用的开拓工具有哪些?现在还会常常编码吗?

李祎:开拓编辑工具Windows下我比较喜好用大略的文本编辑工具,加命令行的办法来写代码。
这样编码不随意马虎被编辑器的自动编译打扰,编码像写文章一样可以一气呵成。
2011年之后事情重心向管理倾斜后很少写生产类的编码了。
到Testin后,虽然是我一手搭建了现在的平台,但是也在只管即便限定自己编码,一方面自己韶光不足,无法永劫光投入编码;二是为了磨炼新人,让他们有更多的发展机会。
我今年年底的目标是要研发团队所有成员的SVN提交次数都超过我。
我会利用碎片韶光上SVN做代码Review,创造有问题的地方面对面或邮件指出来,建议他们修正。

CSDN: 转头看这一起的努力和经历,有哪些让你最难堪忘的人或事?

李祎:最难忘的还是在2008年139微博期间,和兄弟们一起加班熬夜,快速推出产品并成功上线后的目标达成后的喜悦。
我非常享受带领团队赢得胜利带来的那种喜悦和刺激大脑的愉快。

值得一提的是,值Java二十年之际,CSDN特殊策划了Java专题,约请Java领域技能专家、有名图书作者从他们的角度谈谈Java的技能变迁以及在各个领域的技能实战。
>>>( 欢迎连续投递Java稿件(发邮件至xiamz@csdn.net)。

关注CSDN官方微信(CSDNnews,请扫二维码)和@CSDN官方微博。