1   前言

程序猿怎样锻炼自己的脑力!最近看了一本关于记忆的书,看完之后发现一些有意思的东西,不敢独享,故拿出来分享一下。

参加工作以来,也不知道具体是什么时候,总会感觉自己的记忆力越来越不好,而且越来越依赖于计算机存储设备。有时候突然意识到,现在是不是离开了电子设备,自己是不是记忆能力和思考能力会急剧下降?估计答案是肯定的。这应该是自己已经严重忽视了自身大脑的锻炼的结果吧。

关于对大脑的锻炼,个人认为是非常有必要的,虽然肯定会有人反驳“你再怎么锻炼记忆力,能比得过硬盘么?你再怎么锻炼计算能力,搞得过CPU么”。但是这样的反驳就如“你再怎么锻炼身体,体能可以超过起重机么?你再怎么训练跑步,你速度能超过汽车么”。毕竟,身体和大脑是个人思想迸发出火花的最基本基础吧,这两样好了,个体才能胜任更有挑战性的工作,更高效的处理一些外部工具处理不了的事情,比如“创造性工作,逻辑思辨工作”。

广大的程序员们,一般都给的印象是:只能在键盘上虎虎生风,现实生活中,却很少有能够在语言上咄咄逼人,占据上风的,总会给人不善于言辞的感觉,可能就是因为接触计算机设备及互联网太方便了,导致“好记性不如烂笔头”的想法深入人心,一旦离开电子设备,就会在现实生活中陷入词穷的局面,所以要改变此局面和“程序员钱多事少死得早”的调侃话语,就一定要注意下面两样:

锻炼身体

锻炼大脑

这本书篇幅很短,主要是对一些记忆的方法论进行讲解,给大脑来一些锻炼。就像电脑一样,计算能力(CPU)和存储能力(RAM-ROM)都是必不可少的。

当然,本文的脑力锻炼并不是鼓励使用大脑却存储垃圾信息,毕竟,好钢都是要用在刀刃上的。大脑存储部分是思考部分的最直接缓存, 这I/O速度可绝不是电子设备能够相比的,对其进行性能提升是为了存储更多的有用信息。

2   图像记忆法示例

举个例子。

在某个电视节目中要叫人记忆下列东西:

风筝

铅笔

汽车

电饭锅

蜡烛

果酱

在这六样东西,你可以记得几项呢?其实你可以六样都记得而且轻而易举。只要靠着你的想象力。

你要想象,你放着风筝,风筝在天上飞,这是一个什么样的风筝呢?是一个白色的风筝。忽然有一枝铅笔,被丢了上去,把风筝刺了个大洞,于是风筝被掉了下来。而铅笔也掉了下来,砸到了一台汽车,挡风玻璃也全破了。后来,汽车只好放到一个大电饭锅里去 ,当汽车放入电饭锅时,汽车融化了,变软了。后来,你拿着一个蜡烛,敲着电饭锅,当当当的声音,非常的大声,而蜡烛,被涂上了果酱。 现在回想一下。

风筝怎么了? 被铅笔刺了个大洞。 铅笔怎么了? 砸到了汽车 汽车怎么了? 被放到电饭锅煮 电饭锅怎么了? 被蜡烛敲出声音 蜡烛怎么了? 涂上了果酱。

如果你再回想几次,就把这六项记了起来了。

这个需要记忆的内容有如下特点:

是具体的物理实体

有顺序之分

所以直接构造一个电影画面,运用想像力,给这些物理实体安排对应的角色,创造事件给它们制造故事关联,然后就可以很快记住了,而且基本上过很长时间都不会忘记的。

电影角色帮助记住了物理实体,发生的故事一方面为记忆物理实体提供线索,也同时在时间层次间接记住了它们的序列。

书中给出了如下的结论:

能够记得清楚又久的连结,是生动的连结,是动态的连结,是包括这个对象的属性(如果酱有粘粘的,红色的,甜甜的特性)。

好的连结,在回想时速度快,也不易忘记:

有声音的连结比没有声音好

有颜色的连结比没有颜色的好

有变形的连结比没有变形的好

动态的比静态的好

其实有些人记忆力好,表面上看来他们天资聪明,其实都是有一定的内在的你拍案叫绝的技巧的。

2015年,《最强大脑》的综艺节目里面,有一期,某个20多岁的从事核电工作的小伙-李威,从300张常人看来区分度不高的京剧脸谱中找出指定的几张出来,这种短时间快速而又精确的记忆力确实让人惊叹。但是据当事人说,他也没有什么天生神力,来自湖北黄冈的农村小伙,小时候也没有什么特殊的外界营养补充,但是考入武汉大学之后,参加了一个记忆协会,里面分享的一些科学的记忆方法,确实让人有脑力迸发出惊人的力量出来。

之后在网上有人写了一个关于这个小伙的专访

里面提到李威在核电工作当中的一些记忆的应用:

“ 我们拿核电人最熟悉的三字经来举例

APG:第一个A 联想Apple,苹果有很多水,所以是主给水系统;PG,谐音是屁股,所以是排污用的,所以APG是主给水连续排污系统(吃了巴豆拉稀的屁股…囧)。

ASG:A,同上,SG,帅哥,帅哥是用来端茶倒水伺候人的,所以是主给水辅助系统。

REN:R就是核岛,EN音译成”嗯“,联想抽血时,针管扎下去一般人都会嗯一声,所以是核岛取样系统。也可以EN联想为ENGLISH,核岛取样的设备都是英文操作界面。

L:一个直尺,联想到直尺上掺了很多电线,所以凡是L开头的,大部分是电气系统,而380V系统的正常应急的是L和K,可以组合起来,变成LK,(老K),老K是个三八,将L、K对应的电压等级记住。”

知道真相后,是不发现“NB的结果表象背后也是有很朴素的方法论的”?。

计算机技术是一门应用型技术,很多计算机基础平台都是人为创建的,那么就免不了有很多规则。如果不是造轮子的人,那么对于很多基础平台,基本上是“拿来主义”为我所用即可。对于已经公认的结论,只需要记住即可。下面将以几个人为创建的计算机知识系统的相关概念为例子来示例记忆方法。

3   网络七层结构

3.1   网络七层图

绘制结构图+对每一层的功能的理解的记忆方法,应该是最“正统”的方式了。但是这种方式,总是无法被绝大多数人所接受,要不然现在也不会出现N多IT从业人员仍然无法一口回答出网络的七层结构是什么。关于计算机网络的OSI模型,在wiki百科里面介绍

这七层可以说是任何对计算机网络介绍的书里面都要遵守的整体内容结构了。在学习计算机网络的时候,无论教材有多厚,万变不离此整体结构了。

3.2   英文记忆法

网络七层协议的英文名对应如下:

Application

Presentaion

Session

Transport

Network

Data-link

Physical

由上到下的英文简称是为APSTNDP,然后就是:

“All People Seems To Need Data Processing”,似乎所有的人都需要数据处理(的技能)

情景展开,解读如下:

在计算机技术和互联网技术迅速发展的今天,没有一点计算机的能力,真的是很难跟上时代的步伐了,所以目前的情况下看似乎所有的人都需要数据处理的能力了。

3.3   中文记忆法

网络七层协议的中文名对应如下:

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层

由下到上的中文简称是“物数网传会表应”,谐音转化记忆语为:“无数网络传销会议不要回应”

4   MongoDB数据库id

4.1   mongodb简介

在百度百科里面的介绍如下:

Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。

关于NoSql和MongoDB的详细介绍及应用,不是此处只言片语就能够说清楚的,本篇只讲对一些常用知识的记忆技巧而已。

4.2   ObjectId

Mongodb设计之初就是为实现分布式的数据库系统,然后用户在创建一条Document记录的时候,如果不特意指定,系统都会为每条记录生成一个12字节的十六进制唯一码ObjectId,为了保证此标识是独一无二的,特意做了一系列的规定。

12字节的组成图如下:

12字节的具体含义,按照官方的解释如下:

ObjectId is a 12-byte BSON type, constructed using:

a 4-byte value representing the seconds since the Unix epoch,(time)

a 3-byte machine identifier,

a 2-byte process id, and

a 3-byte counter, starting with a random value.

简单点说就是:

4字节的时间戳标记 (timestamp)

3字节的机器编号 (machine id)

2字节的进程ID (process id)

3字节的自增计数器 (increment/counter)

通过如上的规定,对于全球范围分布式产生的数据的区分度为:同一秒时刻,同一机器,同一进程,能够产生256的3次方(即:16777216)条具有不同的ID的数据。即:只要一台机器一个进程每秒能够产生不高于 1千600万条记录,mongodb就能够保证此数据具有全球唯一的ID,显然这个数字已经远远超过了目录单体机器单个进程的数据库IO能力的上限了。

基于这个准则,mongodb做分布式数据系统就有了天然的优势,有点类似于IPv6给地球上的每一粒沙子都能分配一个IP,mongodb可以给全球每一条数据记录都分配一个唯一id。

4.3   记忆方法

其实通过如上的对设计原理进行讲解和理解之后,立刻记住objectid的组成及结构不难,但是稍微过一段时间之后,恐怕就立刻会忘记了。所以必须要强化自己的记忆,就需要构造一下的电视景象场景。

根据前面的知识总结,有如下几个点需要记住:

知识领域:mongodb

唯一ID的位数:12字节

objectid的12字节分段:4323

字节分段的含义:TMPIN

Timestamp

Machine Id

Process Id

Increment Counter

个人以知乎的吉祥特刘看山为主角,根据以上的意象来编写如下电影场景:

刘看山是一条北极狐,家在冰雪荒芜的北极地区,由于地球变暖,在他的家乡很难再见到冰山了。在他出身的时候,没有多少文化的爸爸回忆起很久很久前在家里抬头看到家门口的那座宏伟冰水的场景,便有些感伤,所以就给儿子取名看山

转眼刘看山长大了,有天在看电视时,看到了电视台举办真人秀综艺节目,简单为来说就是 小强打黄金12宫的通关升级游戏,他立刻就报名了,然后居然被选中了。

专机把刘看山接到了 黄道12宫的神庙(temple)的山脚下,刘看山下飞机后,第一次见到山,然后大叫:“是山呃,山!(4323)”,一副没有见过世面的样子,笑坏了剧组人员。

当然剧组人员也没有理会他,只是指了指第一宫白羊宫,说:你可以进去神庙了。小看山就这样进入了神庙(temple in:TMPIN),开启了自己的闯关升级之路。

上面对故事讲了那么多,其实去掉不必要的细节就是:

没见过世面的刘看山去玩打黄金12宫的游戏,刘看山第一次见到山,喊出了“4323”,然后进入了进入了神庙(temple in:TMPIN)

5   一些彩蛋

同样的方法,可以用于对历史事件的记忆。

1844年8月28日:马克思和恩格斯见面

"1844年8月28日,马克思在凯皇咖啡馆与到访巴黎的德国社会主义者弗里德里希·恩格斯会面,开始两人深厚的友谊"

某位历史老师上课时讲了一个虚构的场景解读为“伟大的共产主义导师,马和恩这对基友在见面时,就一把死死(1844)地抓住了对方,根本就拉不开”。如此生动的场景,一下就记住了他们是在1844年见面的了。

1921年7月23日:中国共产主义D的成立

可以解读为“在中国形势十分严峻的时候,一群热血知识份子,冒着妻走儿散(7-23),骨肉分离的风险,举起手中的酒杯,大叫:‘较之国之大事,家之小事乃一酒而已(1921),不足为泣’。虽豪气万千,但仍泣饮之”

免责声明

以上纯属于以武侠体虚构瞎编的场景(目的是为了传播我党的基本知识,宣传党的光荣革命传统,不要查我水表)。其实关键字可以更简洁,更悲壮点,但是怕查水表,就不写上了。此例子,仅供娱乐记忆,不许深究。

各位看官,应该记住了我党的成立时间了吧? 1921-7-23,还记不住的查你水表。

感谢观看!

“我自己是一名从事了10年的老程序员,辞职目前在做讲师,最近我花了一个月整理了一份最适合2020年学习的c/c++项目实战以及基础教程干货,送给每一位编程小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。工作需要学习C/C++、感兴趣、为了入行、转行学习C/C++的伙伴可以跟我学习,技术大牛助你早日成为一名优秀的程序员,快来和志同道合的小伙伴一起加油学习、一起成长进步吧!
官方企鹅群:720168573

学习编程路线: 

程序员,你需要些“脑力运动”了!康康你的脑子好不好用!相关推荐

  1. 程序员,你需要些“脑力运动”了

    程序员,你需要些"脑力运动"了 [读书笔记]开发你的大脑--图像记忆法 1   前言 最近看了一本关于记忆的书,叫<超级记忆力-图像记忆法>,看完之后发现一些有意思的东 ...

  2. 好程序员技术教程分享JavaScript运动框架

    好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下. JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程.如让div的width属性由200px变到400 ...

  3. 让程序员少吃些哑巴亏——认识论辩的逻辑谬误和辩驳原则

    让程序员少吃些哑巴亏--认识论辩的逻辑谬误和辩驳原则 在长期的工作中,发现技术人员和产品经理,业务部门的交流中常常会比较"吃亏".具体表现在很多情况下,自己本来有做很多工作,结果被 ...

  4. 不是程序员学python有什么用-程序员的基本功:为什么非要用Python,其他语言不好吗?...

    原标题:程序员的基本功:为什么非要用Python,其他语言不好吗? Python能够这么火其中一个重要的原因是数据分析带起来的.Python的优点有很多,同样一个功能,其他语言需要写100行,而Pyt ...

  5. 在周末程序员可以做些什么?

     现在有很多国家采取一周双休制.周末能让我们从日复一日繁冗的工作中名正言顺地解脱出来,好好休息顺便充充电.同时,这也是一个很好的机会,让我们能深入思考一些问题. 程序员(开发人员或者软件工程师), ...

  6. 最牛逼程序员自我修养反观认识运动路-中国职场江湖的人情世故--喝酒应酬

    在中国做程序员,以为光靠技术,人情世故也还是有的呢! 喝酒,整的休息不好,喝茶叶解酒,都还感觉到有点昏沉.实在影响做事啊! 然后,员工内心真是想法是什么? 老板一个月给您一个月发个三五千多块钱,并没有 ...

  7. 程序员在想些什么?拒绝盲猜,CSDN帮你精准洞察 Ta 们的心

    CSDN 推出<开发者研究与洞察>服务.基于3200万+开发者的资源,从开发者视角出发,聚焦开发者"关注"."使用"."体验"三 ...

  8. Java后端程序员都做些什么?

    这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库, ...

  9. 程序员分前端与后端,那么后端程序员都做些什么?看完你就明白了!

    我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器. 即使后来Java ...

最新文章

  1. [Linux] 010 权限管理命令 chmod
  2. 如何动态修改下拉列表的默认选中项
  3. 如何查看python安装了什么库-怎么看python安装了哪些库
  4. matlab2015a支持的usb webcams support package
  5. threejs 影子属性_影子场vs.属性访问器接口第2轮
  6. python3 set_python3.x 基础三:set集合
  7. [css] 你是怎样抽离样式模块的?
  8. Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)
  9. Lenovo DS存储Linux下ISCSI 多路径映射配置
  10. linux下的rpm命令详解,RPM包命令详解
  11. 各种浏览器UserAgent一览表(桌面+移动)
  12. 【实用工具】treer生成项目的目录结构,帮助大家书写好的项目readme
  13. 中科大自主招生2018年笔试数学之四
  14. 没有PPT,一文带你了解元宇宙
  15. QT总结10-绘制箭头
  16. 计算机算东西,PCDN边缘计算是个啥东西
  17. bypass分流抢票(火车、高铁)
  18. 最新外卖霸王餐系统程序源码|美团/饿了么霸王餐系统(含数据库)(可对接公众号)
  19. 服务器网卡支持万兆单模么,万兆网卡可以用网线吗
  20. 如何才能高效的学习编程语言(分享)

热门文章

  1. 记一次MSF综合应用内网渗透记录
  2. 【深度学习】Generative Adversarial Network 生成式对抗网络(GAN)
  3. FC30蓝牙手柄连接小米手机3试玩-经典红白机的回忆
  4. hadoopStreamming 编程
  5. 为Notepad++配置C/C++、C#、Java、Python编译环境
  6. [转载]將 DVD-9 影片備份成 DVD-5 的教學資料介紹與整理
  7. 无错版K线全修复带余额堡/带会员等级财经系统源码
  8. 【ANSYS Workbench】ACT配合Workbench真能替代Mechanical APDL经典命令操作吗?
  9. 修改本地host文件-找回丢失迷路的谷歌翻译(已失效)
  10. 弘辽科技:淘宝店铺怎么优化商品关键词?