`

软件开发教给我们的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

分享到:
评论

相关推荐

    软件测试教程课件第四章

    软件测试是一个系统性的过程,它与软件开发过程紧密相连。为了更有效地进行测试,通常采用V模型或螺旋模型来描述测试与开发的关系。V模型强调开发的每一阶段都应对应一个测试阶段,从需求分析开始到系统测试,直至...

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

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

    星宿UI小程序所需软件教程.zip

    在当今互联网技术的快速发展中,小程序以其便捷性和高效性逐渐成为人们生活中不可或缺的一部分。特别是对于微信小程序,由于其庞大的用户基础和生态系统的完善,吸引了大量开发者和企业的关注。"星宿UI小程序所需...

    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插件可以让你根据个人需求定制浏览器,实现...

    亲测!某站8000买的默往im即时通讯源码【带详细教程2.4GB】

    本篇内容所提及的“默往im即时通讯源码”以及对应的“详细教程”,便是一个关于即时通讯软件开发的资源包。 源码是软件开发过程中的核心部分,它包含了解决特定问题的具体程序指令。而一套完整且成熟的即时通讯源码...

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

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

    FreeCAD中文教程-翻译版本

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

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

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

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

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

    网络工程师教程.zip

    在21世纪这个信息化的时代,无线通信和IPv6技术的应用已经成为我们生活中不可或缺的一部分。无线互联网技术的普及,让移动设备的使用变得更为便捷,而IPv6的广泛部署,则为互联网的可持续发展提供了可能。为了适应...

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

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

    菜鸟也能做自己的软件

    例如,在“入门指南”部分,学习者首先会对编程以及软件开发有一个整体性的认识;在“编程基础”部分,将深入介绍一种或几种入门级的编程语言,比如Python,这种语言以其简洁的语法和强大的功能,被广泛用于教学和...

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

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

Global site tag (gtag.js) - Google Analytics