再论思想

我在工作的时候一直都有一个重要的信念–想想都对和想想都不对,只有想清楚了才能做出来,才能做好。如果没有想清楚,想明白,那么所有的行为都是略带探索性,没有把握本质。胸有成竹是所有自信最好的解释。

思想总是走在行动的前面,我们所有的行为都是想法的践行,也就是我们要想拥有行动的控制权,我们需要学会控制自己的思想,控制想法,但是我们的想法似乎很活跃,不是那么喜欢被束缚,被猜想。

这是就是规律上场表演的地方。把握规律,才能洞悉本质,只有知道最根本的,才能做到卓越。我曾想,要想卓越,需要卓越的理由。现在再想想,当你想要卓越的时候,那个时候,的确是想要卓越,但是想要并不代表就达到,就能实现卓越。卓越往往只是一个结果,我们往往关注结果而忽略了原因。

想要卓越的本质是不甘平庸,追求更加完美的精神,这种精神有时被称为勇气,有时被称为一个人的最本质的品质。

想要打造卓越的品质,需要日积月累地磨练,把韧性磨砺到骨子里,就是品质呈现之时。

今天我们都是自己的想法,也有自己的活法,没有好坏对错之分,也没有高低贵贱之分,不同之处就是我们的想法,我们所见皆是所想。

要想达到理想的彼岸,唯有在心中造就伟岸。

《消失的她》观后感

有种欲望就是越不想,就会越想。

之前看过那边对我影响很大的书《娱乐致死》,很长一段时间都对影视娱乐之类的电影也好,电视剧也好,甚至我一度喜欢的国漫也好,都有一种抵触的想法,最终的结果就是“带着悔恨”地看着国漫。

所在在看这部电影之前,我都是不太想去看的,毕竟这个电影的名称就像极了曾经看过的《消失的爱人》,尽管我已经记不起来那部电影讲的是什么,但是我记得大概的剧情就是看起来是消失了,实际上却是在演戏,我想着《消失的她》大抵上也是大同小异,所以一度都提不上兴趣。

加上最近,由于它太火了,我还没有看就了解到一些关键词,“赌博”,“复仇”,“朱一龙渣男”。我能大大小猜到一些,甚至脑补一些剧情。

不过,既然是观后感,显然我还是去看了。

先说说整体的观影效果。整体故事叙事紧凑,有一种紧迫感,这是签证过期的时间在压着,这点利用的很好。然后就是很多的片段都是红、绿灯光,给人一种犯罪的压迫感,利于冲突的情绪表达。所以这显然不是喜剧片,更多的是犯罪悬疑片。还有就是关键情节还是能逻辑自洽,就是撕开那个纹身的瞬间,一切都是那么合理,那么的出乎意料,但是又在情理之中,这点是电影的成功之处。中间那段跑过杀手开车去追的场景,用脚都能想清楚,不可能能跑掉,最不合理的是那么短的距离,枪都打不中。然后后面证人莫名被枪打中,有点突然。到了最后的环节,把姐妹情那么一述说,就串通了前后文,尽管还合理,但是还是略显得过于意图明显,甚至连“导演”的角色都是合理的,戏中戏,但是有一个能让人看出的问题:过于让别人觉得你不是在演戏,反倒显出了在演戏的,换句话说,就是假的。到最后,他们都是一伙的,那么见面的时候,竟然像陌生人一样,我就想不明白。熟人毕竟是熟人,落点破绽才合乎情理。

不过看完电影,还是能听见女生的哭泣声,毕竟最后“笼”中的绝望和那一张杀人诛心的照片,杀了一个最爱你的人——那一刻,不仅仅是歌声应景,悔恨声,哭声交织一片。

再想想原本美好的海底星空,连我都觉得震撼,美是美,但是在最没有防备的时候,在最信任的爱人面前,却被锁在笼中,痛苦,悲伤,挣扎,绝望地死去。那时的内心是何其的痛, 主动摘下面罩的时候或许还获得了一丝解脱。

至此,整个故事回顾完了。还有一个算不上亮点的亮点,那就是文咏珊那抹红裙和海边沙滩上极致地诱惑对戏,不过她的口口声声的“老公”,外行都听得出来不走心,结婚一年了还喊老公?还有那就经典的台词——“我想要你的全部”。如果我猜不到说话者的意图,那么就是逻辑问题了。我反正一直就问自己,她想要他的全部?是在擦边?只有这种解释。因为她的性感对异性的票房贡献是不可缺少的组成部分。

最后的最后,回归本心,李木子的善良单纯还是被“渣男”所葬送,是最大的悲剧。这个故事说到底还是在把人性好的一面展现出来,还是阴暗的一面也显露无疑。

吾之生涯而有限知而无限

在我每次去“每日一本编程书”网站的时候,我就发现几乎过一段时间就会有新的技术书籍出版了,我也会尽快保存下来,尽管我没有及时去看,因为我知道看书是需要时间的,同时就算有时间,你也不一定会去看书,因为看书还需要心境,那种求知的心境,那种甘于寂寞的心境,还有一点就是技术书籍还需要实际去练习的,不仅仅是看完了就是掌握了,最多是了解了,因为很多的知识地掌握需要靠练习,仅仅通过阅读一次就真正掌握是不可能的。

在技术的路上,回归本质,就是到了数据结构和算法,这是最最本质的东西。在本质之外都是一些编程的方法和技巧,还有一些工程的实践。

我在这编程的6年多时间里,绝大多数的编程任务都是对数据进行处理,也就是常说的ACID,几乎所有的编程任务都是围绕这个主题,但是在它的外围体现的是我们对于模拟真正世界的思考,可能会用上一些设计模式,用上一些编程实践,比如测试驱动开发,还有敏捷开发。当然,这满满的都是在后端的基础之上的,前段的编程任务还是负责数据的输入和展示问题。这几年,我写前端的代码时间还是少了很多。

技术一直都在发展,因为总是有新的问题不断地产生和被发现,所以用于解决问题的框架也就多了起来,但是我们把时间花在不断地学习框架上,显然这些投入是将是会不断的过时,比如现在很少会去写JSP页面,因为现在都是前后端分离的框架。同时现在用到Struts2的时间也是少了,因为都是用SpringMVC来完成的,这些Web技术虽然都是过时的,但是对于掌握了其底层的原理来说是极好的,因为新的框架的一项基本功能就是封装以便提供便捷性,也就是编程友好性,当然它也有它的口号——约定优于配置,所以学习的一些成本就是掌握它的一些事先的默认配置。Springboot框架就是其中的典范。

新的技术总是在不断地替代老的技术,总是在不断地更新迭代,SpringCloud项目的发展就可以看到其中的一些端倪。在微服务兴起的那段时间,最早我还去用过Dubbo,最后还是被SpringCloud全家桶所捕获,在Java的生态圈下,或者说是企业级web应用,基本上都没有离开spring框架的领地。

从网关开始,最早的时候还是zuul,后面就是spring cloud gateway。然后就是服务注册和发现—-先是Eureka,后面就是Consul。还有服务的调用,现实Feign,后面又是Open Feign。为了解决服务调用过程中的熔断和降级,之前是Spring Retry,后面又有Resilience4J。甚至过了一段时间Spring Cloud Alibaba三大微服务开发利器问世——Nacos, Sentinel,Seata. 其中Nacos不仅仅解决了服务的注册发现问题,还顺便把服务的配置问题也一块解决了,不然就是之前的Spring Cloud config server那一套。在有些场景之下,分布式事务的引入也是一个不小的挑战,Seata就是其中的利器。在解决无需重启的服务的情况下,配置的更新问题又有了Spring Stream . 当然在它的背后是消息中间件在发挥作用,那时我开始学习Kafka,后来的工作中我又用到了RabbitMQ.在一整套微服务的框架后面又是需要追踪服务的调用链路,很早的时候是hystrix,zipkin ,后面又有sleuth甚至更广的还有Skywalking。还有服务的日志聚合问题,在分布式的环境下之前用的是ELK那一套。同时服务的部署问题也开始引入了Docker, 甚至后面的服务编排——k8s。

这些技术的展开需要花上很久的时间,因为技术一旦深入都是一个个的细节,我们很有可能会错过其中一些。在微服务的开发风行之下,的确服务开发和维护的成本较高,但是面对需要不断市场和业务挑战,这是一个很好的方式,因为事情一旦小,就容易控制风险,也是符合控制变量法的逻辑,这种能快速找到问题的关键,从何发现问题,解决问题或者得出结论。所以这些都是在说明技术产生的原因。

技术的不断更新,也是会带给我们新的认知。在云原生的时代,CNCF是一个新的起点。一切都是在云上,还有infrastructure as code, 基础设施即代码,还有从devops到了gitops时代,新的技术Terraform又是新兴之星。

从整个软件的生命周期而言,我的绝大多数的时间都是在软件的需求分析和设计,编码和测试上后面的部署问题,就基本只是了解一番。我多走了一步,就是学了一番。因为那时我的想法就是在一个小的公司,全才是很重要的竞争力。

在一个大的公司环境,我越来越感受到了全是一件不可取的事情。时间和精力的有限性,在分工明确,合作良好的公司,做好自己本职的工作就是最清醒的认知。

在编程的世界,我之前一直认为我们在从事创作性工作,从无到有,每天的工作内容都是新的,接受的是新的挑战,但是再回归一层就是模拟世界的角度,它不是被创造而不过是模仿,希望模仿还不是拙劣的。

最后的结论,在生涯有限的情况下,学海无涯,我可以做好一件事,认真的做一件事就是极好的。少即是多。业精于勤。