美文网首页程序员
程序员探险记4-学习篇-加速度

程序员探险记4-学习篇-加速度

作者: 我不饶岁月 | 来源:发表于2019-08-26 09:49 被阅读0次

知识是学不完的,我们必须要找到正确的学习方法才能加速成长。就像查理.芒格所说,人类只有发明了发明的方法之后才能快速发展;我们只有学习了学习的方法之后才能成为高手。我将学习归纳成三点:要点+坚持+手段。

        首先我们要找到哪些是以前很重要,现在仍然重要,未来可能同样重要的知识。在我看来这些知识大都偏向底层基础,就像习武修炼内功一样。学好了基础,就如同打通了任督二脉,再领悟上层的招式就易如反掌了(下一篇【编程篇】再细致讨论)。

        然后学习贵在坚持,终身学习已成不可逆转的趋势。这两个公式最能反映坚持的效果:1.01的365次方=37.8, 0.99的365次方=0.03。

        最后是学习的手段,当然每个人可能会有不同的适合自己的手段。我的学习手段是看书+实践+交流+构建。

看书。不要当一个“百度”或“google”程序员。我见过很多的程序员不看书的,他们喜欢去看别人的博客或者百度搜索的文章,浅尝辄止。这样学习的知识是零散的,过几天很快就忘记了。 实践。知识如果不能改变行为,就没有用处。而知识一旦改变了行为,本身就立刻失去意义。所以我们需要不停的去实践学到的知识,会得出新的认知,再去实践,形成良性循环。

交流。可以避免思维定势,闭门造车,而应该从外部吸收一些好的想法和建议来取长补短。正所谓三个臭皮匠,赛过诸葛亮。

构建。通过思考,对比(横向),总结(纵向)。通过关联将知识结构化,结成网络,达到融汇贯通,举一反三,最后条条大路通罗马。(为什么通过关联可以更有效的学习,有兴趣的同学可以了解一下大脑的缘脑阻断机制。我更愿意相信天赋是别人找到了这扇门的钥匙)。

下面是我采用的学习手段中关于构建的分享:

        计算机世界是对人类现实世界的模拟,所以计算机里面的概念都能在现实世界找到原型。比如代理模式(中介),IOC(好莱坞法则),缓存(藏书室-书架-书桌),分层(分工),队列(生活中排队),适配器(转接头)等。在学习过程中带着这种类比的思维去学习,很好理解且记忆深刻。

        知识的积累是一个集合结构>线性结构>树形结构>图形结构的过程(还记得数据结构中的四种逻辑结构吗)。知识结构如果形成纵向(面向对象继承思想)+横向(面向切面思想)的纵横交叉网络,会更加的牢不可破。这里我举三个例子。

1 负载均衡这个根节点下,包含子节点nginx,LVS, 硬件负载均衡如F5等。纵向我们要关注凡是负载均衡都要面临的问题(调度算法,会话问题,反向代理知识等);横向可以从osi七层网络模型角度进行对比。因为负载均衡工作的网络层次,决定了它的性能、特点和场景。这就是为什么计算机网络基础很重要的原因。

2 面向对象语言这个根节点下,有子节点java, c++,python, javascript等。 纵向我们要关注的是所有面向对象语言的特性——继承,多态与封装; 横向可以从静态语言/动态语言,解释型语言/编译型语言,强类型与弱类型语言的特点等角度进行对比。语言的设计运行采用了那些方式,决定了语言的性能,灵活性,安全性等。

3 数据库这个根节点下,包括Mysql,redis,mongodb,cassandra等 。纵向我们要关注所有数据库共同的特点如数据模型,持久化方式,事务支持,索引,日志等。横向可以从高可用与高性能下的多节点(包含主从,集群,分片三种模式。每种模式有这多种实现方案,都会包含相同的技术比如sentinel,proxy,副本集,分表,选举,复制等。这些技术都需要解决相同的问题如一致性,主从切换等)等角度进行对比。

这样在面对一个同类型的新技术时,应变能力强,学习速度快,就不用从零开始。所以现在有些人不断追求新的框架,其实是本末倒置的。我认为一个优秀的工程师需要三大能力1编程能力2、架构能力3、工程能力。接下来的三篇文章【编程篇】,【架构篇】和【工程篇】将分别来讨论。

回到首页——程序员探险记1-开篇-起航

相关文章

  • 程序员探险记4-学习篇-加速度

    知识是学不完的,我们必须要找到正确的学习方法才能加速成长。就像查理.芒格所说,人类只有发明了发明的方法之后才能快速...

  • 程序员探险记1-开篇-扬帆

    《程序员探险记》系列文章包含三大部分(规划,技术与服务)共十篇,包括1开篇-扬帆,2面试篇-起航,3职业篇-指南针...

  • 程序员探险记2-面试篇-起航

    程序员的职业生涯都会经历或多或少的面试,当你与公司达成双向选择,便开启一段新的征程。你所经历过的公司,就成了你的航...

  • 程序员探险记10-数据篇-宝藏

    大数据的时代已经到来,除了前面已经多次提到结构化思维和产品思维,这里还要补充最后一个数据思维。有了这个工具,你才能...

  • 程序员探险记5-编程篇-续航

    编程的核心在于思想,人生的成就在于思维(推荐稻盛和夫的人生方程式:人生·工作的结果=思维方式(-100——100)...

  • 程序员探险记7-工程篇-同舟共济

    提到工程,我们容易想到一些耗时耗力的大型项目,而项目的成功都是一个团队齐心协力,同舟共济取得的成果。 工程是什么。...

  • 程序员探险记9-产品篇-GPS

    如果说上一篇【业务篇】从宏观角度分析了业务的重要性,接下来的产品讨论更像一个微观的视角。因为业务触达用户是通过具体...

  • 程序员探险记8-业务篇-载体

    通俗的讲业务就是用户的痛点。没有用户,就谈不上业务。业务为公司直接带来收入,而技术则是解决问题的工具。技术如果脱离...

  • 《vue 3.0探险记》- 尝试安装Element UI Plu

    在之前的一篇文章中《vue 3.0探险记》- 尝试安装Element UI[https://www.jianshu...

  • 《vue 3.0探险记》- 尝试安装And Design

    继上一篇:《vue 3.0探险记》- 尝试安装Element UI,我们发现element这是要跑路的节奏,那就赶...

网友评论

    本文标题:程序员探险记4-学习篇-加速度

    本文链接:https://www.haomeiwen.com/subject/irzlectx.html