zoukankan      html  css  js  c++  java
  • 原来学编程这么简单,如何理解程序的本质(今天听了【遇见狂神说】发布的《从HelloWorld到程序本质的思考》这个视频,有了自己的一些感悟,在这里和大家做一个分享)

    一、抽象一下程序的生产过程,打个比方

    1.程序的作用主要是为他人提供服务的过程,提供服务的方式分为两种(前端,后端)

    2.用开餐厅打个比方:

      我是一家餐厅的老板,我想要创业,给客人提供美味的食物来获取利润,但是我一个人肯定忙不过来,所以我必须请人帮忙,请的这些人分别是谁呢?

      首先是前台的服务人员(vue,html,css,js等),接着就是后厨人员(java,mysql,redis,mq,es等),而作为老板的我,需要做的就是如何让这些人合理的搭配在一起干活!

    3.那我们为什么要学这些技术呢?

      作为老板,我肯定必须知道整个餐厅应该怎么去工作,怎么去运营(也就是整体架构得清楚),所以我就得知道哪些人可以做什么事,而这些人就是我们程序中所用的技术,这是开餐厅的第一个成本!

      而第二个开餐厅的成本就是招人,招的这些人就是所谓的技术栈!这也是需要成本的(比如:购买云服务器ECS,云数据库RDS(mysql),云数据库Redis,MQ等等),

    二、我请的这些人分别有什么特长(主要讲解后端)

    1.如何将这些技术栈比喻成现实生活中我们要请的这些人

      云服务器ECS:也就是租一个店铺,有专门的人看守

      云数据库RDS(mysql):仓库,存货物的地方,也有专门的人看守

      云数据库Redis:也是仓库,也有专门的人看守

      MQ消息中间件:接单,派单的人

    2.这些人都能干嘛

      其实这些人生下来,只会做一件事,就是自己的本职工作(很单纯的一群人),你只要说清楚让他们去做的事情,只要他们听懂了,就会照着你说的去做,很听话!

      然而这些人并不知道怎么和别人去搭配干活,所以作为老板的我,就得给他们分配好工作,给他们安排的明明白白的(这也是最关键的一步),事情做的漂不漂亮,还得看老板!(当老板最焦虑的地方)

    三、如何将这些人搭配起来干活

    1.通过开餐厅来举例(这是我目前的理解,不知道大家能不能明白,还望多多指教)

      客人来店里点餐(用户)===》服务员记录客人点的菜品(前端)===》将菜单交给接单派单人员(mq消息中间件)===》把单子给厨师去做菜(Java业务逻辑)===》厨师去仓库拿菜(数据库)

      仓库找到菜交给厨师===》厨师开始炒菜,做好的菜交给接单派单人员===》通知服务员上菜给客人

    2.开餐厅本生也存在一些问题,比如

      厨师被油烫伤(抛出异常)

      没有这个菜了(库存不够)

      人员爆满(服务器崩了)

      仓库人员进菜取菜忙不过来(数据库服务器崩了)

      ......还有很多现实生活中的例子

    3.除了这些餐厅本生可能存在的问题以外,还会出现更多意料之外的事情

      有人来店里打劫,有人来前台乱点菜,点完就走,有人去后厨捣乱(黑客攻击)

    4.怎么解决这些问题呢,老板就该考虑了

      多请几个人,扩张店铺,多买一些菜等等

      每个客人进来都要扫描一下,跟过安检一样,给工作人员穿上更加安全的装备,如果遇到有人来打劫,马上打电话告诉老板,或者买一套智能防护的系统等

    四、我们学习编程的目的是为了解决问题,解放双手,让程序帮我们干活

    1.把编程当成是自己创业一样来思考,创业就是解决社会中的需求,编程亦是如此

    2.这些仅限于本人对编程的一些感悟,不足的地方还需要和大家多多学习,欢迎讨论

      

  • 相关阅读:
    莫队
    NOIP2010_T4_引水入城 bfs+贪心
    拉灯游戏 搜索
    种花小游戏 随机化搜索
    [usaco2003feb]impster
    P1265 公路修建 (prim)
    P3378 【模板】堆
    并查集 模板
    P2661 信息传递
    P1828 香甜的黄油 Sweet Butter (spfa)
  • 原文地址:https://www.cnblogs.com/yangyangfubin/p/13760830.html
Copyright © 2011-2022 走看看