`

软件开发教给我们的7个生活指南

阅读更多

我们在做软件开发时学到的很多思维、方法、工具、模型、算法……其实可以迁移到生活中使用,让我们生活得更美好哦。我这里暂举 7 个,以后有时间,慢慢补坑,争取补到 60 个。大家有兴趣的,可以留言补充你最有感觉的。

1. 网络协议应用于人际沟通

在网络编程中,客户端和服务器要通信,必须寻找特定端口,建立链接,遵守一定的协议,才能传输数据。比如 http、ftp、telnet、echo、rtp等协议,都是如此。这个过程,内含的道理就是:双方要沟通,先得相互调试,找到一个共同的频道和彼此都能接受的规则,才能有效完成数据交换。

这点应用在人际沟通上,是一个道理,为了让沟通有效果,达成目的,那你就要寻找对方的端口、协议格式等等,以对方能够接受的方式和ta聊,这样才能聊到一块去。

2. 版本管理应用于个人生活节点记录

程序员都会用svn、git等版本管理工具管理自己的工作产出,提交代码时,还要写点日志,描述自己新增了什么features、修改了什么bugs,以便能够记住自己过去干了什么,必要时回滚。代码版本管理这点应用到生活中,就是我们要记录自己生活中的关键事件,比如取得的成功、很痛的失败,以便我们经常翻看,能够更好的生活。这就是,没有记录,就没有发生。

3. SCRUM每日站会用于个人每日计划

很多团队采用SCRUM运作项目,在SCRUM里,有个每日站会,每日站会,会问三个问题:

  1. 昨天完成了什么任务?
  2. 遇到了什么障碍?
  3. 今天准备做什么?

这一点,可直接拿来反省我们每天的生活。

比如,你可以每天早上使用5分钟回顾总结:昨天取得了什么进步?遇到了什么问题?然后再用5分钟做计划:今天准备做什么事情?养成了这样的习惯,苟日新、日日新、又日新,人生开挂不在话下。

4. LRU用于物品断舍离

操作系统在管理内存时,经常用到 一个算法——LRU(Least Recently Used,最近最少使用),把最近没用到的页面置换到硬盘上去,需要时再加载进来。

这个 LRU ,就是家中物品断舍离的原则:那些很久未用的东西,多半将来也很少有机会用到,可以直接扔掉或二手处理。比如你要整理衣服,取 3 年为阈值,3 年没穿过的,就扔掉,那就可以淘汰掉一大半衣服。比如你整理书籍,取 3 年为阈值,3 年没看过的,就扔掉,那就可以淘汰掉一大半废书。

5. 编译器报错与接纳事实

我们写完代码编译时,编译器经常咆哮:你小子他娘的搞出1001个错误!我们虽然很不情愿,但很快就会乖乖的接受,动手去修改代码,解决问题。

可是我们生活中,往往不是这样乖巧的。我们是反着来!

比如我去年查出颈动脉粥样硬化,我就不能接受:“凭什么是我?我还不到四十!老天对我太不公平啦!”

比如男生张三和女生小兰竞争经理职位,小兰成功,张三败北。张三很可能就无法接受这个结果:“老子这么优秀,为什么偏偏不选老子当经理?这里面肯定有猫腻,说不定小兰被潜了!”

比如你早上起床晚了,匆匆忙忙开车出门,一出小区就被堵上了,立即就会埋怨:“我擦,怎么这么倒霉,堵成这样!”

……

生活中有太多类似的事情,我们总觉得自己是特别的,倒霉的事情不该发生在我们身上,可是,生活就是个编译器啊,我们就是程序员,用时间为生活撰写代码,编译器给我们抛出个错误,我们就得臣服啊。臣服,然后想想接下来怎么办。这样才是解决问题的上策。

6. kNN算法与你就是5个朋友的均值

kNN(k-Nearest Neighbor)算法很简单,它说的是,每个样本都可以用它最接近的k个邻居来代表。

kNN用在生活中,就是:你是你最亲密的5个朋友的均值。比如你的收入,就是你最好的5个朋友的均值。

想通这点,要想有更好的成就,就要不断更新朋友圈,不断和更有成就的人交朋友。

7. 适配器模式应用于和父母沟通

适配器模式是常用的模式之一,其主要意图就是做接口兼容:使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。有点类似这个:唐伯虎要点秋香,可你只有石榴姐,就找了张人皮面具画上秋香的样子,给石榴姐带上,让石榴姐看起来像秋香。

适配器模式就是为了沟通存在的,可用于各种人际沟通场景。

比如我们因为生活的年代和家里老人们的主流生活时代不同,我们就常常觉得他们不理解我们,以为说什么他们也理解不了。那这个时候,就可以使用适配器模式,把我们想说的话,用老人们可以理解的经验重新包装一下,再说给他们听,这样他们就能理解了。

 

 

 

 

http://www.techug.com/post/7-life-tips-learn-from-develop.html

分享到:
评论

相关推荐

    学习软件开发有哪些优势.doc

    7. 解决复杂问题的能力:软件开发需要解决各种各样的技术问题,这会训练你的逻辑思维和问题解决能力。这种能力不仅在工作中有用,也能应用于日常生活的各个领域。 8. 自动化与智能化趋势:随着自动化和人工智能的...

    Arduino可穿戴开发入门教程

    Arduino可穿戴开发入门教程是为对可穿戴技术感兴趣的初学者设计的一份综合指南。这个教程旨在教会你如何利用Arduino平台创建自己的智能穿戴设备,将艺术、设计与科技完美结合。在学习过程中,你将了解基本的电子原理...

    艺帆app软件开发官方网站源码 v1.7.5.rar

    资源标题:艺帆app软件开发官方网站源码 资源版本:艺帆企业CMS V1.7.6 关键词:app软件,app软件开发,app软件开发官方网站,app软件开发官方网站源码 类型:asp/access 功能:单页设置 单页分类设置 新闻 产品 ...

    Chrome插件开发完整教程

    【Chrome插件开发完整教程】 在互联网世界里,Chrome插件(或称为Chrome扩展)是一种利用Web技术(如HTML、CSS、JavaScript等)构建的软件,用于增强浏览器的功能。Chrome插件可以让你根据个人需求定制浏览器,实现...

    嵌入式与移动物联网开发教程和案例.zip

    理解嵌入式系统的硬件设计和软件开发流程是成为合格嵌入式工程师的关键。 物联网(IoT)是互联网的一个延伸,它连接物理世界中的各种物品,实现数据交换和智能交互。本教程可能涵盖了物联网的基本概念,如传感器和...

    FreeCAD中文教程-翻译版本

    但是,我们希望更加循序渐进的步伐,基于示例,以及更加少的作者给出的更加统一的基调,使其更加适合第一次接触FreeCAD,并成为一个完美的工具。维基的伴侣。 如果您想提出编辑建议,请在此处进行,因为此存储库将...

    嵌入式与物联网开发教程及案例.docx

    - **嵌入式应用编程阶段:**学习如何在嵌入式平台上进行软件开发,包括但不限于 Linux 系统编程。 - **深入嵌入式底层开发阶段:**重点在于理解操作系统内核原理,并尝试进行内核级的开发工作。 - **学习资源推荐...

    最全的《嵌入式Linux应用程序开发标准教程》(第2版)PDF文档

    《嵌入式Linux应用程序开发标准教程》(第2版)是一本全面介绍嵌入式Linux系统下应用程序开发的专业教程,适合初学者和有一定基础的开发者深入学习。全书分为12个章节,覆盖了从基础知识到高级应用的广泛内容,旨在...

    生活服务行业-蜗牛生活服务源代码【含图文文档教程+源码导入教程+操作界面截图】

    蜗牛生活服务源代码是针对生活服务行业设计的微信小程序开发项目,包含了丰富的源码资源,旨在帮助开发者或企业快速构建自己的生活服务平台。这个压缩包提供了全面的学习和使用材料,包括图文教程、源码导入指南、...

    Java软件开发实战 Java基础与案例开发详解 6-8 接口 共10页.pdf

    ### Java软件开发实战:接口详解 #### 接口概念与应用场景 在《Java软件开发实战:Java基础与案例开发详解》这一系列教程中,第6章的第8节重点介绍了接口(Interface)的相关知识。接口在Java编程语言中扮演着极其...

    软件与网络法案例教程PPT文档.pptx

    总结起来,《软件与网络法案例教程》涵盖了从软件开发到网络使用的全过程,涉及的法律问题广泛且复杂,包括但不限于软件知识产权、网络诚信、虚拟财产保护、隐私权和名誉权等。随着信息技术的发展,这些法律问题将...

    ActiveX开发人员指南[pdf]

    《ActiveX开发人员指南》是一本专为编程者设计的深度技术手册,旨在帮助开发者全面理解和熟练运用ActiveX技术。...通过学习,读者不仅可以了解到ActiveX的基本原理,还能获得实际开发经验,提升自己的软件开发能力。

    Flash动画+单片机开发教程.pdf

    书中展示了多个开发案例,如FlashNet实验测试程序、工业自动控制HMI人机界面、智能家居控制、银行电子密码柜、网络报警安全防范系统等,这些实例覆盖了日常生活和工业领域的多种应用场景,旨在让读者理解并掌握Flash...

    生活服务行业-树芽读书源代码【含图文文档教程+源码导入教程+操作界面截图】

    总的来说,这个资源包提供了一整套生活服务类微信小程序的开发实例,对于想学习微信小程序开发或者需要开发类似应用的人来说,是一个宝贵的实践平台。通过深入研究和实践,你可以掌握小程序的生命周期管理、网络请求...

    生活服务行业-人民好公仆小程序(生活+便民+政务)源代码【含图文文档教程+源码导入教程+操作界面截图】

    在"软件/插件"方面,小程序作为一种轻应用,其开发过程需要遵循微信小程序的开发规范。本项目提供的源代码包含了完整的业务逻辑和界面展示,开发者可以借此学习到如何构建微信小程序的架构,理解模块化编程和组件化...

Global site tag (gtag.js) - Google Analytics