我可以一口气把我所了解的技术说一遍,但是我却无法更深入的理解这些东西在具体使用中的职责是什么,所以有了本篇博客一个记录、学习。
商城的后台是java语言的,所以很自然的使用了:
jsp+servlet+structs2+hibernate+spring+ajax
jsp和serlet我之前学习过了,其中一个整理了一篇日志。我手上有一本《JavaWeb编程实战宝典》,学习到jsp写登陆就暂停了。哦~大不当啊,没有持续。当时我在干什么呢?从日志记录来看是分神了,去捅了一点研发管理、测试管理的理论,加上最近太忙,就没有拐回来所致,哎,我这个人就是太贪心了,面面俱到,没有深入的。所以这个计划还是要继续下去。话又说回来,学这么多,其实我在测试这块的累计还是有限啊,明年怎么涨工资啊,万一干的不爽出去找工作,卖什么啊?说什么jmeter会用,讲真我真不觉得那工具能怎么样,我花了2天晚上就把教学视频看完了。真的在工作中使用,作为一个测试,你唯一厉害一点的就是工具熟悉一点,压测的时候也需要研发配置你,给你开接口才可以压测。真的不能以为你掌握了一个性能工具就懂性能测试了,不是那样的,要做一个压测,都是团队合作,反正我做了很多次压测,基本上是low的一逼,我甚至教研发用jmeter,最简单那种一教就会,在研发内部推荐大家自己压,一个研发反应快马上就懂压测自己的代码了,嘿,测试小朋友,你的价值呢,搞笑啊,会用jmeter?由于我之前研究学习了http协议,用起jmeter还是没有什么障碍。知识网上有,不懂2分钟后就懂了,再不行,开源的有官方文档,读啊,尼玛六级不是白过的。最近一周读完了《操作系统之哲学原理》后,对计算机又加深了认识,看看对性能测试这个方向真的感觉我做的太low逼了。扯得远了点,就是说学的东西(就是这个javaweb宝典)啊,不好卖钱,我又缺钱,而且还很贪(双11买了一堆无关测试的书)。三难啊。
使用的容器:tomcat,这个基本配置是我在维护,有所了解,但是还没有达到精进的程度,比如性能优化怎么搞,我就不太懂。这里还有提升空间。最近去看了jvm的原理,忘了摘抄,大概知道些,堆栈,垃圾回收,线程,这个地方回头单独出文。
代码管理工具:git,这个在公司内部使用最深的人大概就是我了,命令行操作无形的装逼,脚本自动化之类的,可以解决各种发布的问题,什么多少小时内提交过代码就怎么样之类的逻辑。不懂,查一下就解决了,所以没有什么困难了。
编译和包管理工具:maven。能用,编译打包,其他的更深的没有必要纠结。
研发工具:eclipse。只能呵呵了,java用的少,基本能用起来,一般是看git log,查看方法调用、查看研发修改代码引用之类,自己写代码还差点火候,还有延展空间。
数据库:mysql。我负责刷脚本,研发提交脚本过来,我负责刷生产和测试库,一些语法错误可以纠正,什么左联右连不熟啊亲。其他select\update\insert\之类的知道,但是不熟练。所以这个地方可以找个时间再总结下,虽然已经看过2次教材了,但是平时用得少,知而已。哎,一切以效率为先,navicat足够了。。。自我鄙视
页面框架:vue+kendo。哦,这个就完全不是我的领域了。但是我shell帮他们解决了每次发布手动替换的问题,自动化发布。我的水平,知道css/html/javascript的分工,css的几个样式分类器(不确定这么叫),html的标签啊,大概知道html里面的结构之类。好歹也是用selenium玩过jQuery的啊╮(╯▽╰)╭
技术对我来说,知道个大概,具体要说明白,说出点道道来不是一下两下的事,就目前这种状态呢,基本和我大学时代接受一个观点相同,那个观点的核心就是:这是一个知识大爆炸的时代,你不可能也不用去记住具体的知识是怎么样的,但是你一定要搞清楚知识是如何被使用的,已经有哪些知识可以被使用,最关键的是你要知道如何找到它们,并用起来。这里想起另一观点,知识是分级别的,一手知识来自源头,二手知识来自无差别转发,三手就是自己理解转述之类,最好是去拿一手的知识。
其他我暂时还无法知道具体作用的:
netty是代码里的,从研发口中听说过,其他我在负责维护,基本的启动配置都知道。但就点到为止了,不能再深入。所以这篇文章主要是它们几个。
Netty
homepage
http://netty.io/
百度百科基本忠实了官网描述,那我再引用一张官网的图:
Netty is an asynchronous event-driven network application framework
for rapid development of maintainable high performance protocol servers & clients.
在我目前这种层次来看,我们用netty就是简化了网络通信的编程复杂程度,把底层的通信都交给了netty打理。
基于netty提供的能力(可扩展的事件模型、通用的通信api、防内存溢出的富字节缓存机制(意译二手)),构建起我们商城的各类网络通信。