Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何学好一门新技术?

如何学好一门新技术?

作者头像
程序员互动联盟
发布于 2018-03-15 07:01:13
发布于 2018-03-15 07:01:13
6810
举报

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

转自(http://www.douban.com/note/277570123/)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学习新技术时你应当掌握的『最少必要知识』
如果你看过《精益创业》,里面有个MVP的概念,叫最小可用产品,意思是创业起步阶段,切忌贪多求全,先做出一个最小的可用产品,拿到市场上去检验,再反复迭代打磨升级,最终做出比较完善比较成功的产品。
Dylan Liu
2019/07/01
4080
我是如何学习一门新技术的
因为近期在业余时间看了一些书和文章,而且也都让自己颇有些心得,以前的快乐是打几把游戏现在的快乐是学会一个新知识,写一篇博客,享受写的这一个过程,所以今天又突然想写一篇感想类的文章,也是对自己的学习路上的一个小总结,因为本人也是正处于“IT工程师伟大发展之路”的初级阶段,所以平时还是要用大量的时间来学习积累。我一直认为不是所有的学习都有方法可言,都有捷径可走,即使我们每个人都希望自己能高效的学习,但是每个人的头脑和学习方式都可能是独一无二的,因此在这里我不讨论什么高效的方法,只讲讲自己学习每个知识点的一个小过程,不喜勿喷哦。
闫同学
2022/10/31
2750
我是如何学习一门新技术的
学习新技术的10个建议
我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来一些启发。 尽管我的建议主要涉及的是软件开发方面,但是这些原则在其他领域也同样适用。 1. 克服惯性 万事开头难,克服惯性是学习新技术的第一步。举个日常生活中惯性存在的简单栗子,当我们看电视的时候会因为遥控器不
编程范 源代码公司
2018/04/18
2K0
如何快速掌握一门新技术/语言/框架
如何快速掌握一门新技术/语言/框架 IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能密切相关。而如果你在企业中扮演的是工程师的角色的话,那么你的核心竞争力就是IT相关的知识与技能的储备情况。而众所周知,IT行业是一个大量产生新知识的地方,就拿Web前端举例,短短的5,6年时间,Web前端已经经历了数次变革,就目前来看变革还将继续下去。从以前的div+css网格化布局到JavaScript的方兴未艾,然后是各种JavaScript框架的百家争鸣,HTML5和CSS3的落地,移
用户1289394
2018/02/27
9130
如何快速掌握一门新技术/语言/框架
directshow使用说明_Process Monitor
DirectX是微软公司开发的一套基于Windows平台的编程接口(API);它能出色地完成高速的实时动画渲染、交互式音乐和环境音效、高效多媒体数据处理等一般API很难完成的任务。 DirectShow是DirectX大家族中的一位成员。DirectX的家族成员很多,而且各有各的本领,就如DirectDraw和Direct3D负责二维图形图像/三维动画加速、DirectMusic和DirectSound负责交互式音乐/环境音效处理一样,DirectShow为Windows平台上处理各种格式的媒体文件播放、音视频采集等高性能要求的多媒体应用,提供了完整的解决方案。
全栈程序员站长
2022/11/04
1.5K0
如何学好一门编程语言?
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。 1.1 培养兴趣 兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日
我是攻城师
2018/05/11
1.5K0
程序员如何快速学习新技术?
今天分享的是知识星球的一位小伙伴在过年期间的提问。这位小伙伴觉得自己学习新技术没有项目组的其他小伙伴快,他想要知道:“作为一个程序员,我们在工作中如何快速学习某项技术?”。
Guide哥
2022/04/11
3120
程序员如何快速学习新技术?
【采访】BAT 的师兄们是如何学习一项新技术的?
今天请一些拿到腾讯,阿里,字节,百度 offer 的师兄,给学弟学妹们回答一个,面试时经常被问到的问题。
公众号袁厨的算法小屋
2022/09/20
2240
工作5年,一位来自广西测试妹子学习《自动化测试》经验分享
本文来自一位90后妹子的投稿 大家好,我是黎婷,一位来自广西南宁的测试妹子,工作5年,借着原作者公众号平台,今天给大家分享一下近期在学习《自动化测试实战宝典》一书过程中的一些感想、学习心得,希望对大家有所帮助。 1. 来自大多数测试人员的困惑 在当前整个软件行业的高速发展中,作为测试人员如何在这个急速浪潮中站稳脚跟,想必大多数人都知道需要学习更多的知识与技能,巩固并加强自身能力,才能保证自己不被淘汰。 然而目前相当多行业内的测试人员基本都会面临这种困惑:大体的方向是确定了,但是具体学什么,怎么学,落实到地
博文视点Broadview
2023/05/19
2890
工作5年,一位来自广西测试妹子学习《自动化测试》经验分享
怎样快速学习一门新技术
前几天fork了Ruby China的源码,面对陌生的Ruby技术栈,一头雾水。 我fork它并不单为了学习,而是要在最短的时间搭建起我脑海中的社区网站。所以我不可能针对每一门新技术都去买一本书来读上半个月。
awwewwbbb
2022/04/27
2120
游戏编程之十四 游戏使计算机的发展超越了晶体管时代
DirectDraw是微软新近发行的DirectX 3软件开发工具箱(SDK)中的一部分。对那些不甚了解的人来说,DirectX 3 SDK是原来称为游戏SDK的最新版本。和在游戏SDK中一样,DirectX 3 SDK包含了一组动态链接库,用来图形加速,3D图形服务,声音加速,扩展连接,游戏杆操纵以及CD-ROM自动化。
张哥编程
2024/12/17
990
如何快速学会一门新技术?李刚老师告诉你!
👆点击“博文视点Broadview”,获取更多书讯 做技术开发的小伙伴总被说成是吃青春饭的,其中一个原因可能在于技术更新迭代太快,不停地学习新技术会给人带来不小的压力,也很消耗精力。 可能大家就会觉得当不再年轻时,学习的精力可能就跟不上了。 很多小伙伴是不是都会想知道,有没有能快速学习一门新技术的方法,能让自己不因为不停地追新掉那么多头发。 针对这个问题,我们请到了一位非常重量级的嘉宾,也是最会教大家怎么学习新技术的资深培训讲师——李刚老师,来就这个话题给大家实地教学一下,告诉大家如何在技术方
博文视点Broadview
2023/04/04
3950
如何快速学会一门新技术?李刚老师告诉你!
写给程序员的新技术学习指南,数据分析师也能用
因为公司缺一个系 Web 管理系统的开发,我决定挑一个技术栈来学习一下,然后自己来写。我选择了 Node.js+Express+AngulaJS+MongoDB 这一条技术栈,花了将近两周的时间,做了很多小 demo,写了一系列博文,终于基本熟悉了 Node.js、Express、AngulaJS、UI Bootstrap、CSS、HTML、MongoDB、Mongoose 等内容,觉得可以开始写我的 Web 管理系统了。 兴奋啊,让兴奋飞一会儿。 之前公司有来过一个从没做过开发的同事,在学习与实践的路上遇
CDA数据分析师
2018/02/13
2.1K0
如何在Java中快速掌握最新技术
大家好,我是默语博主。今天我们将探讨如何在快速更新的代码时代,更高效地学习和掌握新的Java技术。无论是由于时间紧张还是对新技术不熟悉,这篇文章将为你提供实用的建议和方法。关键搜索词:Java学习技巧、快速掌握新技术、Java最新技术。
默 语
2024/11/21
880
如何在Java中快速掌握最新技术
FFmpeg 硬件加速方案概览 (上)
多媒体应用程序是典型的资源密集型应用,因此优化多媒体应用程序至关重要,这也是使用视频处理专用硬件加速的初衷。作为回报,这允许整个系统更加有效地运行(以达到最佳性能)。 但是为了支持硬件加速,软件开发厂商面临着各种挑战:一个是存在潜在的系统性能风险问题;此外,软件开发商一直也因为要面对各种硬件架构的复杂性而苦苦挣扎,并需要维护不同的代码路径来支持不同的架构和不同的方案。优化这类代码,耗时费力。想想你可能需要面对不同的操作系统,诸如Linux,Windows,macOS,Android,iOS,ChromeOS;需要面对不同的硬件厂商,诸如Intel,NVIDIA,AMD,ARM,TI, Broadcom……,因此,提供一个通用且完整的跨平台,跨硬件厂商的多媒体硬件加速方案显得价值非凡。
LiveVideoStack
2021/09/02
2.4K0
FFmpeg 硬件加速方案概览 (上)
打造你自己的技术雷达
Neal Ford ThoughtWorks 20世纪90年代的大部分时间以及21世纪初,我一直都在一家小型培训咨询公司担任CTO。在这份工作开始之初,主流平台是Clipper——一个基于dBase文件构建DOS程序的应用程序快速开发工具。Clipper是基于对象的,我们给它补充了一个扩展库Class(y),来让它变得完全面向对象,正是由于创建了这个广泛的面向对象的框架来辅助程序开发,我们迅速地击溃了竞争对手。蓬勃的培训和咨询业务让我们非常开心。 直到有一天一切都变了。我们注意到了Windows的兴起,
ThoughtWorks
2018/04/17
9570
打造你自己的技术雷达
经验贴:如何快速掌握一门技术
几周前一个朋友也打算通过跑步来甩一甩脂肪,控制一下自己那已经严重扭曲了的身材 —— 他便求教我从衣服到鞋,从腕表到心率带,都买了什么装备,性能如何,他好照着原样来一套。我告诉他我什么装备都没买,跑了半年多了,我还是随便套上件纯棉的T恤,穿条舒服的运动短裤,蹬着跑鞋,抓着手机,就这么跑将起来。他连连说不信,一个连排汗速干的衣服,臂包,运动腕表都没配的人,怎么也能(配得上)跑步? 这让我想起了我经常会遇到的一些读者留言: 「我想学rails,有没有推荐的ruby的入门书籍?」 「我想学android,对ja
小莹莹
2018/04/20
8730
经验贴:如何快速掌握一门技术
工作5年,一位来自广西测试妹子学习《自动化测试》经验分享
大家好,我是黎婷,一位来自广西南宁的测试妹子,工作5年,借着原作者公众号平台,今天给大家分享一下近期在学习《自动化测试实战宝典》一书过程中的一些感想、学习心得,希望对大家有所帮助。
测试开发技术
2020/06/15
3440
如何学好一门编程语言或技术?
相信大家都知道,在看一本书的时候,通过该书的目录和索引能够很快的了解本书内容和找到我们需要的页数,因为一本专业的书本往往记录的知识都非常全面,举个例子假如我们初学Hadoop,所以呢就购买了一本《Hadoop编程指南》,打算系统的学习一下这个东东来提高一下自己的逼格和工资水平,那么问题来了,如何才能学好一门语言或技术? 以前也有很多朋友或群友,问散仙如何学好一门编程语言或XXX技术,当然首先我得从非技术的角度来回答你: 1,最重要的就是坚持下来,不要半途而废 2,空杯心态,戒骄戒躁,多向比你强的人
我是攻城师
2018/05/11
7240
见良:学习多媒体主要靠实践
LiveVideoStack:见良你好,能否向LiveVideoStack的读者介绍下自己,以及目前主要的工作以及关注的技术方向?
LiveVideoStack
2021/09/01
2590
推荐阅读
相关推荐
学习新技术时你应当掌握的『最少必要知识』
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档