軟件開發教給我們的7個生活指南
我們在做軟件開發時學到的很多思維、方法、工具、模型、算法……其實可以遷移到生活中使用,讓我們生活得更美好哦。我這裏暫舉 7 個,以後有時間,慢慢補坑,爭取補到 60 個。大家有興趣的,可以留言補充你最有感覺的。
1. 網絡協議應用於人際溝通
在網絡編程中,客戶端和服務器要通信,必須尋找特定端口,建立鏈接,遵守一定的協議,才能傳輸數據。比如 http、ftp、telnet、echo、rtp等協議,都是如此。這個過程,內含的道理就是:雙方要溝通,先得相互調試,找到一個共同的頻道和彼此都能接受的規則,才能有效完成數據交換。
這點應用在人際溝通上,是一個道理,為了讓溝通有效果,達成目的,那你就要尋找對方的端口、協議格式等等,以對方能夠接受的方式和ta聊,這樣才能聊到一塊去。
2. 版本管理應用於個人生活節點記錄
程序員都會用svn、git等版本管理工具管理自己的工作產出,提交代碼時,還要寫點日誌,描述自己新增了什麽features、修改了什麽bugs,以便能夠記住自己過去幹了什麽,必要時回滾。代碼版本管理這點應用到生活中,就是我們要記錄自己生活中的關鍵事件,比如取得的成功、很痛的失敗,以便我們經常翻看,能夠更好的生活。這就是,沒有記錄,就沒有發生。
3. SCRUM每日站會用於個人每日計劃
很多團隊采用SCRUM運作項目,在SCRUM裏,有個每日站會,每日站會,會問三個問題:
昨天完成了什麽任務?
遇到了什麽障礙?
今天準備做什麽?
這一點,可直接拿來反省我們每天的生活。
比如,你可以每天早上使用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. 適配器模式應用於和父母溝通
適配器模式是常用的模式之一,其主要意圖就是做接口兼容:使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。有點類似這個:唐伯虎要點秋香,可你只有石榴姐,就找了張人皮面具畫上秋香的樣子,給石榴姐帶上,讓石榴姐看起來像秋香。
適配器模式就是為了溝通存在的,可用於各種人際溝通場景。
比如我們因為生活的年代和家裏老人們的主流生活時代不同,我們就常常覺得他們不理解我們,以為說什麽他們也理解不了。那這個時候,就可以使用適配器模式,把我們想說的話,用老人們可以理解的經驗重新包裝一下,再說給他們聽,這樣他們就能理解了。
?
軟件開發教給我們的7個生活指南