如何让学来的技术不至于忘记的太快

写这个的初衷也就是因为,有些技术我总是在一次次重复的去经历从入门到半精通的过程,颇感苦恼--白费了许多时间与精力。

工作或项目中学来的需反复使用的技术,掌握的会比较牢固,即使隔上一两年脱手再使用,也能迅速回过神来。因为它们常常是有明确目的性去研究掌握的,并且工作中也不时的会用到,许多还是让你非常有成就感的东西。

然而对于某个项目偶尔用过又抛弃,或者是自己一时兴起学来的一些技术,即便当时真正是理解了它,如果隔好一阵子对它不闻不问了,再次捡起,也会像未曾谋面一般,不得不又从头开始一点一滴的去熟悉,实是浪费时间。

我就是那样的感受,比如说 Struts 1.x 对来说是用的最频繁的,对它的构造和原理也比较清楚,相信离开它一段日子还能轻松的驾驭它。还有 Java 本身,自我感觉也还不错。

PHP第一份正式工作中应用的比较深刻,需要的时候可以很快上手。ASP 因为相对比较简单,不会构成问题。对 TCP/IP 以及 SNMP 协议的学习、项目经历总还是记忆犹新,想忘记也不容易。

但是其他许多的技术就没那么幸运了,确切说是我的不幸。

比如说,只在一个项目中用过的 Swing、Corba、EJB2.0、Perl、TCL/TK 等技术的应用只能说是脑海中隐隐约约的,如果再次用它们来做项目,几乎要重新历练一遍。

尤其是那些因为考虑到自身发展,曾经决心好好地,并已付出行动自学来的技术,在当时觉得掌握的还可以,就是直接去做项目都觉得没多大问题。结果是一段时间的奔命于其他技术应用而抛之脑后,不再有练手的机会,同样我也被他们抛弃了。

举个例子,我先前看 VC 从入门到精通版,还照着里面的例子做了不少练习,在用 Corba 与 C++ 互联时对 VC 也增加了少许了解,还在公司的一个项目中做了一个窗口程序(使用 IPMI 协议对网络管理设置进行相关设置),一两年之后的现在,由于一直没去用它。如今还是觉得 VC 的程序有它独到之处,再次学习,看到硬盘目录中还存有先前学习时留下的例子,打开之后,发现是完全的陌生。现在等于又是重新的学习,如果学个东西,过一阵子,又是完全的重学,那可要付出太多的代价,并且有些可怕,哪时时有这么多精力呢。

不过这一次与上一回略有不同,对 VC 的学习力求掌握的更深刻,而不只是浮于表面,并且也考虑到如何学习一块内容,如何去巩固它,所以会试图写一些实用的小工具,最好是别人也愿意去用的工具。还要坚持把思路理清,决心借用概念思维的工具描绘出来,这方面的工具有 Inspiration、MindManager、FreeMind等,个人比较倾向于 MindManger。还有就是像现在这样,以网络日志的形式记录下来,读书笔记,观后感什么的,以前也在笔记本上用烂笔头有记,但内容不多。

记得对汇编语言也经历过重复的学习过程,到现在又是忘得快干净了,直接用汇编的机会应该是不太可能有了,借助它来辅助理解本地程序还是很有用的,就像借助于 Java 的字节码指令(类似于汇编指令的东西)来理解 Java 程序也是受益不不浅的。

因此要想把一个技术更长久的留在脑袋里,就必须多应用它,这样也能碰到许多的问题,每次问题的解决过程本身会给你留下美好的回忆。自己平时也应有意安排时间去不时的回味和巩固。并且要学习真正有用的东西,不过我个人比较热衷于“博闻”,有些边边角角的鸡肋偶偶也会花点时间去了解。

不知众位是如何做的?可否拿来一起分享分享! 永久链接 https://yanbin.blog/knowledge-forget-too-quickly/, 来自 隔叶黄莺 Yanbin's Blog
[版权声明] 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。