多实践,多回顾

来源:互联网 发布:企业样本设计制作软件 编辑:程序博客网 时间:2024/04/29 11:52

关于行动和梦想,这是一个很早就有人争论的问题。

好像目前关于梦想的宣传很多,“梦想舞台”,“梦想达人”……。

做为一个技术人,也同样要面临着这个问题,其实问题很简单,只有思考的人,对问题的理解不深入也并不深刻;而对于有实现精神的人,这是做为一个技术人基本品质,但相信有很多止步于思考,甚至初步的认识。

其它技术人都会经历这些阶段,集中学习(大学时代),相信那时候你都还不确认你会从事什么行业,所以你只会去了解。

第二时期,就是参加技术性质的工作,你可以会把精力放在需求确认,业务实现方面。

第三阶段,反思,在工作中你会遇到很多似曾相识的重复的模型,查找/排序,递归,模式等。看似很简单,毕业这后那天起就开始,写甘特图组件,比较插入等等。

这已经是本人第四次,重温数据结构和算法、操作系统、计算机组成、汇编语言。(现在只看了一部分,预计还要一周时间)

给本人的感觉,是美不胜收。

以下我就举个列子,实现一个分布的通信架构为例:

应用的技术人员,可以会使用http,webservice,hessian,thrift,google protocal buffer等;(工具级认识,最多这个些知道各种实现的细节及最佳的应用场景,客户端如何调用,服务器端如何实现,是基于远程api,还是消息)

http:客户端:http:get/post/-->rest风格,服务器端page,httphandler,servlet,action(使用的框架/web服务器等都有关系)

webservice:集成的web service框架;

就不说明,这个所谓框架的利弊。

而核心的技术人员,更多专注于如何实现序列化压缩(空间小),如何制定协议(通用,可扩展)

认识就一样了,hessian序列化是递归实现,对数值的处理和日期的处理又是如何bit处理的,如何分隔,如何结束等;但是hessian是基于http了,那对于通信部分的优化的空间就小了;如何版本兼容的问题;

服务器端实现多进程,还是多线程,如何非阻塞;再深入点,又到深入点,大访问量的情况下(如10000request问题),你就得去深入了解操作系统了.select,poll,epoll;(但可惜实现语言的本身,如.net,java,python都提供这些丰富的接口,都是基于自身的虚拟机,并不是原生的操作系统的调用),你就是去看看这些语言本身的虚拟机实现。

那对于深入核心技术的人员来说,好就触类旁通,那thrift,protocal buffer,不就是协议和服务器端的实现有些有差异嘛?

而应用性的技术人员,又开始了起来的memo,又是一个挑战,如何thrift -gen java hello.thrift……

当然你考虑还要更多,如果保持客户端连接(http就免了),如何实现客户端集群,如数据服务器,如何实现服务器端同步等问题。

不要止步于学习、思考,要以实现为基本,被你的思考更加深入,理解更加透彻!

 

原创粉丝点击