原來學編程這么簡單,如何理解程序的本質(今天聽了【遇見狂神說】發布的《從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.這些僅限於本人對編程的一些感悟,不足的地方還需要和大家多多學習,歡迎討論

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM