博客一年: 心理之旅

简介: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   博客园的园龄正式变为一年。最近的一年里,我在博客园写了下面一些系列的文章,共计138篇: Python语言 Java语言 Linux编程 网络协议 算法与数据结构 其他 (C编译、Git等等) 这两天,我回头读了自己写的东西。

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

博客园的园龄正式变为一年。最近的一年里,我在博客园写了下面一些系列的文章,共计138篇:

这两天,我回头读了自己写的东西。虽然有很多不成熟的地方,但每一篇文章都是对当时思维活动的真实记述。这些思维活动隐藏在文字背后,只有我自己才能读到。最近又读了一些心理学的书,忽然想,为什么不能记述一下从学习到写博分享的整个认知创作的过程呢?这样一个隐藏心理维度,说不定会有趣。

(关于写博的好处,我已经写在为什么要写技术博,这一篇算是方法论)

 

也以一次快乐的心理之旅,纪念过去的一年。

 

开始学习

开始学习并不容易。人会无意识的回避自己不熟悉的东西。潜意识中,大脑喜欢激发自动化的神经回路。学习的一些环节需要有很强的意识参与,需要长时间的保持注意力,这对于大脑都不是那么容易。学习又富有挑战。在学习中,学习者需要勇敢地失去自己,再努力地重建自己。挑战旧有的想法和无知,融合入新的知识和感触。就好像走路一样,每一步都是先失去平衡,再重建平衡。在失衡和平衡之间,人最终懂得如何前进。

 

做出学习的决定并不容易。人们普遍认为,决定是理性判断和主观意志的产物。我们先判断事情的利弊,然后动用意志来让自己执行。然而,大量的心理学实验表明,人在理性思考之前,就已经做出了决定。事实上,大脑每时每刻都在经受着感官系统的信号轰炸。这些感官信号在呈现给意识层之前,就已经被潜意识层处理(或者说扭曲)。是否开始学习,在我们思考这个问题的时候,潜意识已经进行了许多衡量。我们可以减少诱惑潜意识的干扰信号: 是否觉得饥饿,是否觉得口渴,是否困了,是否坐得舒服…… 如果有上面的信号,那么最好先去满足身体诉求,而不是强制自己坐在书桌前。另一方面,我们可以训练自己的自动感知系统。尽管学习是个充满挑战的过程,但战胜挑战会带来多巴胺的强烈释放,给人带来快乐,从而让人主动寻求挑战。我们先进行一些简单的学习,在大脑习惯了之后,逐步增加学习的内容和难度,从而不断强化学习-掌握-学习的神经回路,最终培养对学习的自动自发的欲望。

 

人的行为受到环境的强烈影响,包括硬性的外部环境和软性的社会环境。学习时,可以选择一个自己喜欢的学习环境。每个人适合的环境不同。并不是所有的人都适合坐在安静的房间里学习。如果你觉得自己坐在街边的学习效率更高,那么完全可以拿着书,坐在街边看。事实上,人们在学习过程中,是将书本知识和外部环境的感受融合在一起吸收的。一个自己喜欢的学习环境,往往可以更好的融合知识内容。软性的社会环境甚至更重要。我们总是无意识的模仿他人的动作,模拟他人的想法。当周围的朋友热爱学习,并有一些优秀的学习习惯时,那么我们会很自然的模仿,并养成类似的习惯。当我们崇拜和喜爱的人讲述他们的经历时,我们会在大脑中重现相似的场景。融入到优秀的学习群体或者社区中,才能深入掌握一个技能。

 

阅读与笔记

学习技术最基本的方式是阅读。无论是哪一种技术,可以选择的阅读资料总是很多。经典资料是个不错的出发点。到豆瓣上搜索一下关键字,然后根据评分选择合适的书。StackOverflow和一些博客也会列出许多经典的书单。然而经典书籍并非一个限制。同一本书可能并不适用于所有人(即使许多人承认它是经典)。阅读是一种寻求共鸣的过程,而不是单方面的灌输。如果在阅读中,这本书无法唤起共鸣,你觉得枯燥,那么不必犹豫,你大可以换一本更符合自己口味的书。此外,一本书中的内容显得复杂或深奥,往往是因为我们缺乏更加基础的东西。我们可以去寻找一些更基础性的内容来读。比如,如果没有http协议的背景知识,那么web框架的内容就会显得过分的复杂。这个时候,与其在密林中挣扎,不如减少复杂性,花些时间学习基础内容。

 

阅读时,笔记是个不错的习惯。你可以边读边在本子上记下一两句唤起共鸣的话,也可以阅读一个章节之后,记下脑海中印象深刻的部分。如果条件允许,你还可以用高亮笔在资料上写写画画,在页边写笔记。你也可以使用手机,录制自己的感想。网上也有许多别人总结的reference card和笔记,你可以以此为基础整理笔记。方式的选择是根据喜好,重要的是,任何一种笔记都将成为重构记忆的线索。笔记的意义不限于具体的知识,更在于它能唤醒你曾经阅读时的微妙感触。放下书,这些笔记可以提示你阅读时的“感知”和“触觉”。大脑可以根据这些感触,重建起整本书的内容。人的回忆过程与计算机存储不同。回忆并不是固定存储于某些神经元的。回忆作为一个神经网络散布在大脑中的。当我们回忆时,我们根据线索,唤醒大脑的运动、感知、情绪等等区域,来“重构”回忆情境,以及情境中所包含的知识内容。

 

为了掌握一门技术,读一本书可能是不够的,即使这本书中包含有全部的内容。对于大脑来说,知识并不是一块物理性的东西,从外部转移到大脑内部。知识更多的是一种叙述的韵律,一种生动的感知。从多本书中体会不同的叙述方式,从多个角度去理解和思考,才能在大脑中构建一个生动的知识网络。即使只有一本书,也可以通过多次阅读,形成多重的感触,从而加深掌握(由于你已经一定程度上了解了相关知识,这样的重复阅读并不会花费太多的时间,却有意想不到的好处)。一些花边知识,比如该技术的历史、发明者的趣闻、充满geek气的笑话,能让我们将感情代入到技术,从而更加牢固的掌握知识。

 

实验

学习计算机技术的一大好处是可以迅速实验学到的知识。我们可以通过编程来检验自己是否掌握了知识,或者通过编程来理解还非常生疏的知识。动手是人学习的一个基本途径。在小的时候,我们通过动手,来学习物体的下落和投掷的规律。动手实验的好处是更加充分的调动大脑的不同区域,提供阅读所无法达到的多重体验,从而巩固知识。编程又可以提供给我们即时的反馈,以便纠正错误的回路,让知识进化,形成深度学习。神经网络系统就是模仿大脑,通过不断的尝试和犯错,纠正错误的回路,最终掌握某项技能(比如汽车自动驾驶)。

 

编程带来一种“我在改变世界”的独特心理体验。程序员的一个普遍爱好是通过编程,来控制某个实物。比如CMU那台被计算机控制的可乐自动售卖机。这样一种心理体验让程序员的工作有一种传奇感。这样一种近似于虚幻的传奇感,能良性的促进程序员的学习和成长。正如Eric Raymond观察的那样,许多伟大的程序员同时也会是科幻小说的爱好者。编程和科幻交织在一起,为程序员的生活带来传奇感、使命感、故事感和“意义”。这样的一种态度,可以让人更加积极健康的心态生活,更容易达到精神上的富足和宁静。这是一种比收入和声望更加持久的动力。

(对于我来说,“意义”除了改变世界,还包括分享和社区感,见这一篇社区与关怀。在人生的许多阶段,人都会跳出“人生的意义”的问题和对存在的质疑。我现在有一个可以暂时回答自己的答案了。)

 

写作

写博客并不是简单的复述。它是一次有趣的再创作。你学习了知识,熟练了编程技巧,开始想要写作。你就好像米开朗基罗,面对着一块天然的大理石。回顾是必不可少的,正如抚摸和熟悉大理石上的纹理。你需要不断的想象,在大脑中设想文章的主题、风格、配图…… 在脑海中尝试不同的组合方式。这个时候,你是有意识的想,刻意的设计,然而并不满意。于是,你搁置有意识的思考,去运动,洗个澡,睡觉。在你的意识之外,大脑的潜意识继续工作,混合旧的和新的,组合这个领域和另外一个领域。然后在某个瞬间,你忽然意识到,你有了组织整篇文章的主题,有了一个绝妙的比喻。这就是创造

 

写作会带来混合的效果。它像是一份笔记,也像是一次动手实验。它可以作为你未来回忆的线索,也可以为你带来快速的反馈。写作的独特性在于它的社交性。写作是一个和读者交流和沟通的过程,你通过真实的分享来获得读者的共鸣。下面是我采用的一些写作原则。

  • 使用清晰的、通用的语法。
  • 一个语言片段只表达一个简单明了的意思。
  • 幽默和意外是好的提神剂。
  • 高亮和图像让人更容易把握含义。

采用这些原则的目的是形成更一致的风格。每个人的写作习惯不同,有的人喜欢以更加诗意、有韵律的方式;有的人喜欢更多的词汇和典故。读者会有不同的风格取向。实际上,读者在阅读时,也是在脑海中回旋和重建,在读一个句子时,潜意识的猜想下一个句的内容。如果预测准确,读者就会感受到共鸣。一致的风格可以更容易得到这种共鸣感。

(然而,好的音乐不是重复。在风格一致的基础上,要有变化,才能更加丰富。)

 

有时写作可能变得很痛苦,甚至很长一段时间不愿写东西。特别是得到了赞誉之后,我会觉得不知道如何保持相同的水平,担心下一篇文章的水准。我发现有两个调整的方式:

  • 大量阅读,重复体验,造成潜意识的不断工作,觉得有话要说。
  • 写标题,写目录,写日志,再不断增删改。

当然,还有一个方式是: 放大话。这是一个很强有力的武器。人总是希望在社交中信守诺言,保持一致的形象。大话放出去,潜意识中保持一致的力量会促使你朝着“大话”的方向努力。比如,我说自己要写“网络协议”系列文章的时候,一开始并没有完全构思好。但话说出去,就不知不觉的有一种责任感,觉得要写,不能停。直到回头看,才发现自己真的写了不少。

 

下一年

好吧,我要放大话了。下一年计划:

1. 补充和完成现有的文章

2. 深入到新的领域,特别是:

  • 数据库
  • 信号处理
  • 统计,数据分析,机器学习
  • 编程社区与创业团队

3. 写书

  • 以某个系列的文章为基础,完成一本实体书

 

谢谢你们上一年的阅读、纠错、监督和支持。请继续!

Vamei

目录
相关文章
|
1月前
|
前端开发 Java 程序员
编程两年半了,还要坚持写博客吗?
写博客会给程序员带来哪些好处呢?程序员写博客的15大益处大公开!本文将带你深入探究~
编程两年半了,还要坚持写博客吗?
|
9月前
|
Java 大数据 C语言
编程新人的首篇博客
编程新人的首篇博客
|
11月前
|
机器学习/深度学习 自然语言处理 算法
5W2H | 关于写博客的七点反思
5W2H | 关于写博客的七点反思
|
机器学习/深度学习 uml
“辉常努腻” 在校编程小白 博客教程
我是 “辉常努腻” 在校编程小白 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
83 0
“辉常努腻” 在校编程小白 博客教程
|
JavaScript Java 应用服务中间件
从 0 开始搭建一个技术博客,私藏干货~
技术博客的选型有很多种,如:博客园、CSDN、开源中国、简书、知乎等……都可以用来写文章,形成自己的技术博客。 上面的博客都是第三方的,有没有方式搭建自己的服务器、自己的域名的博客呢?栈长知道的成熟方案有:WordPress, Hexo 等,栈长的博客就是用 Hexo 搭建的。
864 0
从 0 开始搭建一个技术博客,私藏干货~
|
程序员
为什么写技术博客对新人如此重要?
最近看到一篇文章,站在招聘者的角度提出了自己对这个问题的看法,主要是以下几个方面:台湾和大陆的对比首先谈谈台湾情况,Programmer 在台湾不叫程序员,而是程式设计师,从搜索引擎找台湾程序员,往往得到的是内地搜索结果。
1168 0