从事计算机领域的思考(不断总结,不断更新)

1. 学习技术究竟意味着什么呢?

       第一个层面:就是掌握具体的原理,进行实战,并且学习别人的经验,解决自己在实际工作中的问题。比如说,学习Redis时,我们会把它用在缓存、分布式锁、数据集群等业务场景中,这就需要我们掌握关键时间技巧、常见问题和应对方法。

       第二个层面:当我们对技术的认识和积累达到一定程度后,我们就应该“向技术致敬”。所谓的致敬,就是向技术学习,来解决我们在生活中遇到的问题。这背后的道理其实非常朴素:每一项优秀其实都是一些精华思想的沉淀成果,向技术学习,其实就是向优秀的思想学习。我一直很崇尚一个理念:一个优秀的计算机系统设计本身就包含了不少人生哲学

       Redis中,“单线程”思想是非常值得我们品味的。在确定目标以后,我们也可以采用“单线程模式”,把精力集中在核心目标上,竭尽全力做好这件事,同时合理安排自己的时间,主动避开干扰因素。当我们沉浸在一件事上,并且做到极致时,距离成为大牛,也就不远了。当然,我们说在一件事上做到极致,并不是说只盯着某一个知识点或某一项技术,而是指在一个技术方向上做到极致。

       Redis的新特性在持续推出,新的存储硬件也在快速地发展,这些最新技术的发展,很可能就会改变Redis的关键机制和使用方法。所以,想要应对复杂的场景变化,我们也要像Redis集群一样,具备可扩展能力。毕竟,技术的迭代速度如此之快,各种需求也越来越复杂。如果只是专注于学习现有的技术知识,或者是基于目前的场景去苦心专研,很可能会被时代快速地抛弃。只有紧跟技术发展的步伐,具备解决各种突发问题的能力,才能称为真正的技术大牛

怎么培养可扩展能力呢?

      很简单,随时随地记录新鲜的东西。这里的“新鲜”未必是指最新的内容,而是指你不了解的内容当你的认知范围越来越大,你的可扩展能力自然就会越来越强。

       做技术的同学,通常习惯于脚踏实地地把事情做好,但是,也千万别忘了,脚踏实地的同时,也是需要“仰望星空”的。要把学习变成一种习惯,从为了应对问题的被动学习,到为了增强自己的可扩展性而主动学习,这个转变绝对可以让你的技术能力远超过其他人。

2. 从做成一件事开始

       我们常说“不积跬步,无以至千里”,这句话中的“跬步”,我把它解释为做成一件事。我们总是会做很多事,但是,很多时候,能够让我们真正得到提升的是把事做成。事情做成之后,你回过头来看以前的经历,感到很欣慰,因为这事儿你做成了,而且有很多额外的收获。因为,每一次把一件事做成,都会增强我们的自信心,提升我们的能力。随着我们做的事越来越多,我们也就越来越接近山顶了,这时,你会真正地体会到“会当临绝顶,一览众山小”的感觉。

       其实,做成一件事的目标不分大小。它可以很小,比如学完两节课,也可以很大,比如花3个月时间把Redis源码读完。最重要的是,一旦定好目标,我们就要尽全力把这件事做成。我们不可避免地会遇到各种困难,比如临时有其他的工作安排,抽不出时间,或者是遇到了不理解的内容,很难再学进去。但是,这就像爬山,爬到半山腰的时候,往往也是我们最累的时候。

        对于程序员来讲,精彩的代码是如何想出来的,要比看到精彩的代码更加令人期待。

3. 行业选择时应该的思考

        当遇到人生选择难题的时候,该如何进行选择呢?可以考虑从以下几个方面。

第一,要加强自己对势的判断和理解

        多多思考,未来什么东西可能会流行。国家的战略是啥,技术的发展趋势是啥。多想想这些比你抠手头的那一两个bug要有意义的多。可能思考是错的,但不思考一定会泯然众人。

        还有另外一个判断,就是技术生命周期的迭代趋势。我觉得单纯应用层的技术一定都是生命周期短暂的,红火超不过十年。而你的职业生涯却得好几个十年。

        其实,核心的、底层的技术变化却是非常的缓慢。比如Linux1991年就发布了,Java的核心网络包netty2004年发布,到现在都是二三十年的时间,依旧都火得一塌糊涂。

        能在技术迭代的浪潮中闯过风险的未来保持核心竞争力的工程师一定是底层功底异常扎实的基础之上还会应用开发的人。这就好比一艘船多了一个锚,就稳定的多。

第二,提高自己的认知

        有句话说的好,一个人赚不到他认知以外的钱,未来人与人主要的差距也会是认知差

        就像现在很多人对财富的认知还都停留在工资上。你看知乎脉脉上年薪百万的帖子总能吸引不少眼球。

        但其实时至今日,情况已经在悄悄地发生了很大的变化。社会主要分配方式早已经从工资收入向资产升值方向发生转变了,但绝大多数人的认知还都没有跟上,包括十年前的我。

        资产主要就包括的是房产股权等。总体上来看,靠资产增值的人比靠工资的人的段位要高的多的多。

第三,多和比你年长的人交流

        现在我们绝大多数的人的朋友圈都是同龄人,认知水平都是伯仲之间,没有太大的差异。但其实比你年长一些的人,他们因为比你多活了几年或者几十年,他们往往有着更深的思考和认知,非常值得你去听。

        如果你觉得你的父母长辈的人生社会经验都不太够,不愿意多听听他们的,还有一种社交关系叫做忘年交,就是说你有年龄差别大一些发展还不错的朋友,比如十岁甚至是几十岁。

        这些比你年龄大的朋友都绝对是过来人,他的一句话可能能点透你思考许久都没搞明白的问题,他的一个建议也可能会让你少走很多弯路。

        比如,我刚来北京的时候,就是一位比我大十几岁的朋友告诉我,赚来的工资一定不要都乱花了,好好攒下来钱当首付买房。就他这一句话,说让我少走几年弯路,真的一点都不夸张。我现在在北京靠自己的努力折腾出了两套房,非常感激我的这位朋友。

        作者能给的建议也就这么一点了,具体实际中该如何进行选择,还得你自己投入深度的思考,只有这样才能更好的掌舵你自己的人生!!!!

1.理解方法思维:

        模块化思维:确定模块接口,封装功能

        规则化思维:抽象过程为规则,计算机自动执行

        化繁为简:将大功能变为小功能组合,分而治之

2.模块化设计 —— 分而治之是核心

思路:

       — 通过函数或对象封装将程序划分为模块及模块间的表达

       — 具体包括:主程序、子程序和子程序间关系。其中,模块是子程序,主程序是模块间的关系

       — 分而治之:一种分而治之、分层抽象、体系化的设计思想

两个概念:

       紧耦合:两个部分之间交流很多,无法独立存在

       松耦合:两个部分之间交流较少,可以独立存在

       关键:模块内部紧耦合、模块之间松耦合。

操作原则:

  • 函数内部尽可能的紧耦合,通过定义局部变量,进行大量的数据传输;即紧耦合的代码放在一个函数中。
  • 函数与函数之间要尽可能减少它们的传递参数和返回值,这样能做到以松耦合的形式来组织。从而提高函数模块的复用性。即松耦合的代码放在多个函数中表达

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值