注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

如何掌握一项新技术  

2011-07-28 08:35:39|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
科技发展,一跃千里。在这个日新月异的年代,如何保持自己的实力和优势,以应付日益严峻的职业竞争和挑战?这是每一个IT从业人员不可回避的问题!优生劣汰,适者生存,这是自然规律。如果不想被竞争所淘汰,我们就只有时刻保持清醒的头脑,不断学习新的知识和技能,以适应新的变化和发展。

IT界存在这样一种典型的情况。一个大学刚毕业后参加工作的同学,凭着在学校学到的一些计算机专业知识,熟悉VC、VB、Java、Delphi等一两种编程语言的技能,以及一两张计算机等级证书,比较顺利地进入一家软件公司工作。但是他满足于现状,对实际工作中碰到的问题也不求甚解。不多久,就陷入了公司里的一种“上一天班拿一天工资”的圈子里。大家知道,IT行业风险与利润同在,而且行情变化很快,说变就变。有一天,公司领导层突然宣布公司经营状况不太好,要紧缩成本,开始裁员。他很不幸,名列其中。没想到,一两年的不思进取,造成了如今如此被动的局面。

所以,让我们警醒一点吧!因为,一不小心,这个不幸者就可能是你。我们要时时提醒自己:加紧学习,学习,再学习;做一个积极上进的人。只有不断保持并且提高自己对于公司的价值,我们的事业才会更上一层楼。笔者写这篇文章的目的,一来是想给广大同仁们敲一下警钟,二来也是想更加务实地提出一些学习新技术的个人心得,以作抛砖引玉之功。

技术是在不断发展的,新技术也在不断地涌现。然而,人的精力是有限的,我们不可能去研究每一种新技术。选择适合自己的去学才是明智之举。那么,我们怎么来做到这一点呢?一定要结合自己的工作实践,综合考虑到自己现有的知识结构,并分析一下公司的核心技术是什么(以及它的市场前景如何),看看你周围同事们的专长,看看网上用人单位的类似职位的招聘要求,我想,我们不难得出结论。

笔者从事多媒体软件开发工作这么几年来,也颇有几分心得。下面,我想结合自身的实践,跟大家一起来回顾一下这段学习、进步的历程。我们开发微软Windows平台上的多媒体应用软件,程序使用DirectX中的DirectShow作为基本架构,这是微软自DirectX 8.0 SDK发布以来的最新技术(DirectX 8.0之前没有DirectShow这个技术名词,萌芽状态的技术叫做Direct Media)。学习DirectShow编程技术,在当时是很具有挑战性的。因为作为一项新技术,它有自身的特点:书店买不到参考书,网上的资料微乎其微,交流的地方很少(很难找到专家型人物向其咨询),现有的资料都是英文的,还有就都是一堆一堆的源代码。这些因素决定了,学习一项新技术是份苦差事。不过,再苦也要上啊!因为这是一项先进的技术,如果掌握了它,能够提高自己的实力以及自身的价值。在做好了要付出艰苦努力的思想准备后,我们也应该认识到,这同时也是一次难得的机会。

学习DirectShow,最直接的资料就是它的帮助文档。这些文档篇幅很大,但是不要灰心,慢慢看!而且,这些文档不是读过一遍就能了事的。我们要把指向这些文档的快捷方式放到桌面最显眼的地方,以便于经常性的查看。电子文档看多了,眼睛受不了,也可以将部分章节打印出来再看;大块大块的文字很费解,我们就应该尽可能多地从相关的插图去获得更多的信息。第一遍阅读,我们要力图从总体上对这项技术作出一个了解,知道它能够做什么,大致是怎么做的。然后,逐步深入。这样,对于理解这项技术,保持对这项技术认识的完整性很有帮助。另外,大家知道,任何新技术的出现都不是突变的,它们总是在以前的技术成果基础上发展而来的。因此,对于学习一项新技术,了解它的技术发展背景,以及它使用到的相关技术也是相当重要的。就比如DirectShow来说吧,这套架构完全是建立在COM的原理之上的。如果我们对COM一无所知,直接学习DirectShow的结果只会是云里雾里,似懂非懂。另外,DirectShow集成了DirectX其他部分如DirectSound、DirectDraw等的技术,对这些相关技术了解,对于我们学习DirectShow也是大有裨益的。

除了DirectX的帮助文档外,第二个宝贵的资源,就是随SDK一起发布的开发类库源代码,以及一些例子程序。看人家的代码是很辛苦的!但为了深层次地了解它,我们必须这么做。DirectShow SDK的目录里BaseClasses工程,提供了开发DirectShow Filter的所有基类。通读了这里的所有类的源代码,我们就能对Filter的工作流程“亲密接触”,以后自己开发Filter可以说肯定也是游刃有余。另外,就是学习例子程序,一个一个研究过去。发现它们的共同点,比较它们的差异;要勤记笔记;必要的时候,我们还可以在编程环境中单步跟踪,直至将不明白的技术细节彻底搞清楚为止。这是一个巩固和加深第一阶段看文档学习所获知识的过程,也是一个能够不断品尝到点点滴滴收获喜悦的过程。“痛并快乐着”!

在学习的过程中,我们还要学会善于总结。总结,是给前一阶段的学习设置一个“里程碑”;在总结中,我们同样也能学习到新的知识,所谓温故而知新。总结的方式多种多样,可以写一些学习心得,在网上发表(可以和网友交流一下);或者跟一起学习这项技术的同事定期交流等等。这些方法无疑都会促进我们的学习。学习的过程中,我们还要勇于实践。因为理论来源于实践,理论能够指导实践。我们要把学到的东西放到实践中去验证;进而得到更加丰富的实践经验,上升为理论;然后再实践。学习本来就是一个反反复复的过程。实践的内容,可以是自己动手编写一些小型的、功能简单的应用程序。一个好的建议,就是可以编写一个这项技术相关的实用工具。拿DirectShow来说,我们就可以开发一个工具性质的Filter,利用这个Filter,我们能够方便地查看其他Filter的状态细节,可以控制Filter的行为等等。

总之,学习一项新技术是不容易的,要快速掌握它更是难上加难。但是,如果我们始终保持一个积极上进、刻苦努力的心态,并且适当地注意学习方法,我想,我们一定能够做得更好!谁说我们不会成功呢?

  评论这张
 
阅读(518)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016