对比与测试

这周有点点感悟想写出来。选择一样技术,首先要对比,能对比的前提了解了很多相似的技术。简单说个例子吧,android网络库:apache httpclient,java connection,AsyncHttpClient,Okhttp,volley,Retrofit等,该怎样选择呢?首先要做的是对比这几个库的适用场景和未来支持情况。apache httpclient,java connection,AsyncHttpClient,Okhttp都只能算是底层的工具库,只停留在协议层面上的实现。而volley,Retrofit是在工具库基础封装的,是应用层的库。volley,Retrofit能更有效的控制线程,从而更稳定的工作。从应用场景上做了区分,还要做领悟的区分,apache httpclient Android官方从6.0开始放弃了,也就是所有依赖这个库的工具库都残了。这个时候需要阅读一下源代码,volley是基于httpclient的,所以在android 6.0上也很惨,而Retrofit是新兴的,底层基于全协议的OKHttp,性能也不错,是当下不错的选择。那么在案场为什么选择了volley呢,volley比较轻,而在我基于OKHttp修改过,既然能修改了,代表我对其原理也算了解,相反对Retrofit并不是很了解。在实践中我们应该选择有能力去修改的库,这样无论你遇到什么未知问题,都不可怕。选好技术之后,就应该自己做些测试,想办法做测试,这样才能掌握数据,我们不能人云亦云的,人家说这个好,那个好,我们就跟着用,我们应该要有自己判断。要测试,首先要知道测试标准和测试工具,这和优化性能是一样的,瞎搞就没有意义了。工具是第一步,没有工具的,自己写测试代码,多次数据的均值作为最终的测试结果。最近一段时间我也在大量阅读开源库的代码,对比各个库的实现,比较实现上差异,再通过测试对比性能。这样一个过程有什么意义呢?1、懂得原理,2、知道怎样优化。这周某服务器开发群说的几个总结,我觉得挺好的。“看一个语言, 一个系统, 一个项目, 好不好, 我们要不要用, 最最重要的是看:1. 背后的社区是否强大, 这个直接关系到你可利用的资源是否丰富, 出了问题是否很容得到解答。2. 背后的组织是否可持续发展, 一般个人项目, 除非是小工具, 否则很容易蛇尾, 导致你后续只能被迫迁移。” 不是实习生的我们要学会选择,要有选择的能力,这样将来才有可能独当一面。 顺便也说说最近学习node.js的感受吧,要是以前学一门东西,首先要做一个demo或者成品出来,然后在使用过程中发现问题。喜欢感性的认识,喜欢实实在在的感觉。也就是这样,在没有实践环境之下,很难深入学习,导致最后没有自信,总是觉得别人的任何做法都很好,存在很多未知的问题。这次学习node.js的主要目的:1、了解服务器集群,2、了解session共享,3、了解数据集群或者主从配置,4、如何优化性能,5、如何将曾经多年学习多核编程的理论融合到实践。开始学习的时候,我把node的文档都看了一遍,对node的整体有所了解,然后做了demo,用webbench做压力测试。部署调参数,再压力测试,对比数据,做到心中有数。node裸测,配nginx反向代理负载均衡再测试,加上redis session和mongodb测试等。最后发现在我的MacBook上,100个并发数吞吐量是最好的。通过这样的实践,可以掌握一套方法,可以帮助你写技术实现报告和可行性分析。掌握测试方式,这样才能快速定位问题,提高效率。 这周同事说,要会用断点,很快定位问题的。哈哈,在过往的5年程序猿生涯里,我没有用过断点,今年才开始用的。没有用断点的生命里,我也锻炼了不一样的思维,快速分析问题和高效的推测能力。当然还是建议大家使用debug模式,测试工具,这些适用于大部分人。师弟说他可以不测试改bug的,是组里面比较懒,但是改bug最多的,这些都是题外话啦。做性能优化必须要懂的两样东西:1、原理,2、工具。随着技术技能的成熟,我们不可能还以原来的方式学习的,总是依赖环境,总是依赖当前的项目。我们应该通过测试模拟各种环境,达到某种标准,虽然现实环境和测试环境会有差异,但是优化的方法是一样的。很简单,我能在MacBook上测试出,100个并发一秒的吞吐量820,我同样可以在现网机器上得出不一样的参数,确定需要多少台服务器集群。甚至还可以再测试同一个机器开启多个实例,测试整台服务器的最佳运行状态。细心的人在一个demo上就可以学习到很多东西,当然我更希望选择比较出名的开源项目测试,而不是都是很水的开发人员做的东西来玩来测。虽然努力了就会有收获,但是收获不一定能成正比,甚至别人带到坑里去了。在学习过程中,肯定会遇到疑惑,需要一个讨论的环境。有时候我就会问问同事,压力测试的标准是怎样的,是不是不包含失败的呀,还是在多个失败是可以容忍的等等。 能否独挡一面,就看一个人在处理未知情况下的能力,在选择里面能否不跳坑,在项目进度是否有可控能力。 处理未知情况的能力,需要比较广而深的知识,需要具备将无处理过问题转为曾经处理过的问题,然后解决。在成长的过程中,我们有时候过程关注细节,浪费了很多时间,我们只需要知道常用的方法和方案就好了,没有必要面面俱到。关注了一个今年的Qcon,国内的大公司开始使用react native了,阿里开源了相似的方案weex,腾讯推出了x5等,或许将来移动端开发会有所变革,但是无论怎样变,原理是不会变的。CPU从单核到多核,服务器从单机到集群,我们的编程之需要做些细细的调整。复用昨天说的那句话 “ 看着一些人,一时说用swift做android,一时说做服务器!总是希望有一门万金油语言…我只想说语言都是很表面很肤浅的东西!c/c++就是万金油了,但是你用它开发了?现在都是看项目看需求看人选技术的!一个项目很少只用一门语言的!思想体系和架构体系才是真正的跨平台!正确看待语言,一直追着语言跑,和一直追着开源框架走是一样的,永远在被动,永远在加班,没有多少积累。会100种语言还不如会50种方法。核心竞争力就是能各种语言的优势糅合一起,还能发挥最高的效率和性能。”很多方法都是放之四海而皆准,如在redis 2.0 集群,memcached集群等都是相似的,都是什么hashing ring,sharing,hash,环状等,还有主从,双主模式等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容