跳至主要内容

如何做到心无杂念

最近计划着要转行,可总是静不下心来。想来想去时间一天天的过去,一天天的耽误,心里也是着急。前天,朋友的话让我有所悟。做事得心无旁骛才行,尤其是影响比较大的事。

用程序的方法看待心无旁骛

每个人的生活都是一个小小的系统。而系统的稳定性和健壮性也是每个人都追求的。然而,维持系统的稳定性和健壮性并不是一件容易的事情。心无旁骛说的就是系统不受外部因素影响。

用程序的方法解决杂念

要做到心无旁骛,就必须解决杂念。杂念其实就是变化。变化总是能够给系统带来不稳定因素,对系统造成各种干扰。不过,仔细来看,变化则是外部系统功能弱化,存在度降低的过程。当这个过程传递到子系统时,需要子系统对其进行代偿,继而维持自身的存在度。而子系统为了代偿这些弱化的功能,便需要找到更多的能代偿的子模块。这些子模块的集合就构成了子系统的存在。当子系统再也找不到可以为其代偿的子模块之时,便是子系统湮灭之时。正所谓皮之不存,毛将焉附,就是这个道理。因此,外部的变化和模块的代偿能力便是一对相辅相成的矛盾。每个模块的存在都是做到了调和变化和代偿的矛盾。然而,如何才能调和这对矛盾呢?
变化的开始是随机的,并且变化一旦开始,它的传递是强制的,单向的,如水波纹一般,要么遇到坚硬的石头反弹,要么被较软的物体完全吸收。因此,我们可以从反弹和吸收方面入手。
病从口入,尽量减少系统的出入口,来减少传入系统内部的变化量,消耗系统的代偿能力。引入满足自身需要的模块增加自己的代偿能力。基于此,我们如果要调和变化和自身代偿的矛盾有以下几个方法:

拥有四面的铜墙铁壁,封装严密

要做到封装好就必须有铜墙铁壁。然而,要做成这样一堵墙,就必须有一个与外部系统格格不入的模块来完成。也就是我们常说的倔脾气。它能够帮人保护好自己不受外界的侵害。此外,减少与无效信息的接触,也是个抵御侵害的方法。
当然,封装也有不良后果。系统代偿能力的固化。由于系统的代偿能力的变化是随着引入外部变化而变化的。如果外部的变化极少引入,那么系统的代偿能力便会固化,甚至萎缩,更严重的带来系统的消亡。并且,在这个过程中,由于外部系统会主动贴近发生交互多的子系统,脱离交互少的子系统,因此,会造成自身被脱离,增加遇到来自原系统之外所带来更不可控的变化的风险。因此,适当的不务专业一些,拥抱变化也未尝不可。至少它能够帮你背靠大树好乘凉。

建好门,内外松耦合

耦合度高,在程序架构中带来的问题就是牵一发而动全身。松耦合的作用就是将系统中各个组件的依赖程度降到最低,避免出现牵一发动全身的现象。而松耦合的实现方法就是把接口设计好,也就是建好门,不单单是大门,还有各个房间的小门与窗户。要做到这些,需要对自身资源进行归整,对主动引入的变化做好归整,对被动引入的变化做好归整。然后将这三者很好的组合到一起。
当然,松耦合也有不良后果。耦合度过于松散,换句话说就是功能的固化。就仍然回到刚才封装的不良后果中。此外,如果封装是主动屏蔽变化,那么耦合就是主动引入变化。当接口的过滤设计的不好时,会引入自身处理不了的变化,引起中毒,也会引入过少的变化,饿死机体。

维护好可靠的外交关系,拥抱变化

拥抱变化看似与刚才的封装相互矛盾,实则是为了弥补封装模块的缺陷所提出的。不过,也不是什么变化都要引入,只引入自身需要的。然而,新的变化总是富有风险的。因此,在引入变化的时候千万不能盲目。一定要按部就班,根据自身系统所能容忍的程度来引入,一步一步,由小到大的来。
此外,引入新的模块之后,系统内部必须有一个沙盒一样的东西,也就是个试验场。在这个试验场里,只能引入足够小规模的变化,以防失控对主系统产生威胁。因此,要做好这个沙盒,首先内部得有足够的空间承载这些引入的变化。

勤劳致富,高内聚

高内聚意味着内部模块足够小的时候应该牺牲安全换取紧耦合。目的是为了提高单个模块的代偿能力。而紧耦合也就带来了频繁的变化。所以,勤劳在这里起作用。勤于修整因为紧耦合所带来的自身的资源的混乱。勤于处理传入的变化。这两者都是为了提高自身的代偿能力。

放到生活中来说

生活中有很多问题都可以基于以上的理论来解决。比如,我自己的实现转行到区块链这件事。这件事是在我自身的Android工作无法代偿生活带来的压力的背景下,拥抱变化而发现的一个新行业。我的目的依然是代偿生活这个模块给我带来的变化。因此,我需要开辟一个沙盒,将其引入。主要做几件事:
1. 观察这个模块可否能够代偿生活给我带来的变化。
2. 这个模块和我原有的各个模块是否耦合。
除此之外,我需要尽量让其对我原有的系统造成较小的侵入。所以,我需要对我的工作模块中包含的子模块进行归类。对生活的子模块进行归类。对外部引入的变化进行归类。对生活,我们的目标是找个以后能方便照顾父母,不耽误孩子前程,自己喜欢的地方定居。目前满足这三个条件的有郑州,荥阳,巩义三个地方。这对我们带来的压力就决定着,我们的家庭目前有三名成员,我,孩子和媳妇。我和媳妇的工作又都在郑州才有。不耽误孩子前程的条件如果是让孩子至少是个一本的话,其实放在巩义就可以。然而,这就和我们俩的工作产生了不兼容。所以,为了保持兼容性,郑州是个合适的选择。然而,在郑州定居的话,我们俩的工作是家庭几乎所有的代偿能力,我们的代偿能力就产生了不兼容。为了保持兼容性,我就需要转行,媳妇也必须工作。然而,孩子此时此刻就没人照顾。只能引入父亲来帮忙。而父亲也是需要我们进行代偿的。因此,整合如下表:

变化 兼容 代偿
孩子的未来(巩义) 郑州 媳妇和我(郑州)
孩子的现在(和妈妈在一起) 郑州 父亲(老家),媳妇,我(郑州)
父亲 郑州 我,媳妇(郑州)
媳妇(郑州) 我,媳妇
我(郑州) 我,媳妇

从表中就能发现家庭这个系统中,我和媳妇在代偿方面占主导地位。我和媳妇50%,孩子30%,爸爸%20。只有提高我的收入是个方法。于是就有了转行区块链的目标。
为了实现这个目标,根据以上理论,我需要做到以下几条:

  • 对区块链的代偿能力和接收变化的方向做出归类,也就是区块链的技术要求和工作。
  • 做好归类以后,少做变化。然后明确目标,努力提高。
    目前区块链的工作在郑州只有10家,技术要求比较宽泛,普遍要求熟悉以太坊,超级账本,比特币的原理,熟悉常见的几种共识机制及实现方法。其次,就是些基础的编程语言,如java,golang,c++等,另外还有些高要求的有带领团队,对分布式系统,数据库熟悉。而我目前从事Android只有java基础,但是自学能力强,学习语言不成问题,对新技术新理论的掌握速度也还行。所以,我应该先从以太坊入手,了解其智能合约。然后从ethereumJ项目入手了解项目的原理实现。完了之后同时把golang语言学会,依葫芦画瓢的看geth的源码。学完之后接下来仍然用java学习比特币,用go和java学习超级账本。至于C++就到工作中在学把。学习的目标是:
  1. 以太坊的智能合约可以发币。
  2. 手写一个Android端的以太坊钱包。
  3. 画出一个以太坊原理的思维导图,并根据这个思维导图写出个简单的以太坊的原理框架来。
  4. 画出一个比特币的原理思维导图,并且根据这个思维导图写出个简单的比特币的原理框架来。
  5. 总结各种共识机制。
  6. 画出超级账本的实现机制的思维导图,并使用超级账本实现一个应用。
    经过以上学习目标,此时市场的工作岗位也应该会翻倍了。
    说完工作,说生活。媳妇需要上班,孩子来到郑州之后,学习的时间会变的更少。不过,有了监督以后学习也会更高效。
    洋洋洒洒写这么多,算是给自己的生活做个总结归整把。

评论

此博客中的热门博文

用Google Calendar写日记

Google的产品一直都是非常强大的。说它强大并不是因为Google公司有多么牛逼,而是它的产品如果你用心用的话总是会用处许多花样。与之前 强大的Gmail做成完全可以替代Google Reader的RSS阅读器 一样,Google calendar一样是个功能强大的产品。它除了大家常用的日历、任务表功能以外,还有一项并没多少人知道的记日记的功能。今天我就详细介绍一下怎样用Google Calendar记日记。 一、日记 日记想必许多人都曾经写过,以前自己买个本子,晚上没人的时候偷偷写,写完之后藏起来。每个人都有点小秘密,不过如果大家回头看一下自己的日记,一定会发现自己原来真的好傻。其实有这个想法,日记就没有白写。日记本来就是记录自己成长的log而已。既然是log,那么流水记事是一定的,时间准确,天气环境什么的都要计入。这样才能以最快的速度还原当天的情景。这其实就是日记的功能。 此外还有童鞋在日记本里记下自己的小梦想,比如买部好手机,到泰山旅游,或者追小丽什么的。这些如果记入日记本里,你会督促自己努力实现自己的目标。 总之,写日记是个很美妙的事情。如何让这件事情延续下去?就请出今天的主角Google Calendar先生。用它来记日记有以下几大优点: 1、日记的数据很安全,保存在Google机房,并且随时可以导出备份。 2、支持的平台很多,网页端,手机网页端,Android客户端,iOS客户端,让你随时都可以记日记。 3、速度很快,Google Calendar一直没有被GFW认证过。另外google的速度,你懂的。 4、仍然是安全,密码只有你自己知道,别人不可能破解。 5、在日历里以日程的方式添加记事,想写多少都可以。事情精确到时分。 6、可计入的内容很多,日期,地点,人物,时间,天气、照片,视频,文档等等。 7、可以提醒写日记。 8、强大的全文搜索 9、日历的查看方式,让你对日记更一目了然 10、可创建多个日记本,让你对自己的日记分类更明确 11、对每一种事件都可以添加不同的颜色,让你对自己一天忙的事情一目了然。 12、界面简洁,可以自定义背景 13、可以针对某一篇日记,某一个事件通过邮件的方式与人分享 缺点: 这种写日记的方式是对传统写日记的习惯的一种挑战,需要你逐渐的适应这种写日记的方式...

自己打造Gmail RSS阅读器完美替代Google Reader(Gmail与ifttt的完美结晶)

Gmail RSS阅读器已经升级到2.0 GR挂掉的日期临近, Feedly 跟着不断的抽风,其他RSS阅读器残疾的功能让我们又一次怀念GR的日子,最近突发奇想,Gmail这么强大,可不可以变成RSS阅读器呢?答案当然是能的,并且与GR相媲美。 于是自己在G+的基友们帮助下打造了一个利用ifttt与Gmail配合的RSS阅读器,相当强大,优点多多,请各位达人指教: 1、收取速度国内延时20分钟之内,无漏收(国外源在五分钟之内) 2、只要Gmail不关,ifttt不关,那么你就可以一直使用下去 3、 内容不过滤,安全 4、翻墙订阅没问题,图片照常显示 5、用Gmail的标签以及关键词过滤管理订阅源,与gr的边栏一样的效果 6、 可以加星标,另加标签来保存重要的文章 7、Gmail的访问速度 8、 Gmail的各种访问平台,跨平台使用。Android,web,桌面,windows,mac,iPhone,iPad,Linux等等,只要能用Gmail就可以用Gmail RSS 阅读器。 9、Gmail的IMAP设置可以在移动端有选择性的收取某个标签的订阅源。 10、 以往的订阅条目全部保存 11、订阅更新可以通过邮箱提醒 12、 全文搜索 13、对收取过程的全程监控 14、可以邮件编辑后转发以此来共享,目前evernote,Blogger,QQ空间支持邮件发布 15、 支持快捷键并且与GR的差不多 16、利用Gmail实验室里的预览窗格可以增加一种阅读方式 17、可以标为已读 18、可以自动翻到下一条目 19、可以删除无聊的条目,比如博主的测试条目 20、客户端有没有都可以用 还有更多的功能供大家来发现 当然也有缺点: 1、添加订阅比较麻烦:需要在ifttt添加触发,在Gmail里面添加过滤,标签 2、邮箱界面的阅读有些童鞋不喜欢,不过Gmail可以换背景的说 打造教程: 一、总体思路 这个Gmail阅读器主要原理是利用ifttt的Feed 应用抓取订阅源的文章更新,然后利用设定好的触发器,通过Gmail应用将这个更新作为一封Html邮...

优秀人的标志和特点――俞敏洪

文/俞敏洪 讲话总要有个主题,因为今天在座的都是优秀的人,所以我的主题是“一个优秀的人的标志和特点”。大家把我讲的这个内容跟你自己去对照一下,看看我们怎么样才能使自己成长得更快。因为你们毕竟都还很年轻,当然我们这儿也有年龄稍微大一点儿的。但是,我相信一个人的成长,即使到了80岁,只要你还活着,依然是可以继续下去的。 我相信获得优秀代表的称号不是你们的目的,它只是你人生道路上的一个小小的点、一个小小的荣誉。在这个荣誉之上,我们还要使我们的生命、使我们的工作、使我们的学识不断地长进。 当然,首先我想说的是人无完人。我一直在向优秀的人靠近,我这辈子一直在追随优秀的人的脚步。从进入北大开始,我的很多同学就成为了我学习的榜样。到我大学毕业以后,很多北大的老师也成为了我学习的榜样,否则我不会从一个给五十人的课堂上课,只剩下三个学生的人,而最后成为北大的优秀老师。创立新东方以后,我不断地向新东方的各种人学习,不管年轻的、年老的,对我来说没有区别,惟一的区别就是他们身上有没有值得我学习的东西。我可以从这个人身上学这个东西,从那个人身上学那个东西。现在我在中国和世界更大的范围内跟很多着名的企业家、政治家、思想家打交道的时候,跟很多成功人士打交道的时候,我从他们身上看到一些优秀的东西。 你不可能看到你身边的人完美到你发现他身上一点儿缺点都没有,如果在我身边工作,你会发现我身上有很多缺点,而且有些缺点还挺顽固的。优秀是挺难的一件事情,但是,我们可以总结一些要素,看看在我们的生命中优秀的人是怎么样的。 我总结了一下,一个优秀的人的标志和特点大概有八条: 第一条,一个优秀的人对生命会无比热爱。 会很高兴地每天等待着太阳出来,没有太阳的时候,也会很高兴地等待着下雨天的到来,在月亮阴晴圆缺的时候,总是等待着月夜那一刻的美丽……这些都是对生命热爱的标志。一个对生命热爱的人首先是爱自己,要有自信,当然不是狂妄。第二还要兼顾到别人,喜欢交朋友,一个对生命热爱的人喜欢交朋友,一个天天闷在家里的人、心理阴暗的人是不太敢去交朋友的,因为他既不相信别人,也不相信自己。当然,对大自然的热爱也是对生命热爱的一个重要组成部分。这就是我原来讲课的时候反复强调的“三热爱”——爱自己、爱他人、...