對比學(xué)習(xí)能力是開發(fā)者的重要能力
“地球直徑12741.56公里,月球直徑3483.36公里”,這樣的描述你可能很難理解地球與月球的大小,然而通過同比例縮放為球體的話,人們會非常直觀的理解兩者的大小,這種技巧就是對比學(xué)習(xí)。
開發(fā)者面對的技術(shù)概念、技術(shù)理論以及方法都是非常抽象的,對于這些知識的學(xué)習(xí)和應(yīng)用,充分利用對比學(xué)習(xí)能力是非常必要的。
概念對比
比如,很多開發(fā)者不太明白什么是Hbase,什么是Hadoop,為什么Hbase要架構(gòu)在Hadoop上面,其實最簡單的解釋方法就是對比,Hbase相當于MySQL數(shù)據(jù)庫,Hadoop相當于一塊磁盤存儲「HDFS分布式文件系統(tǒng)是Hadoop的核心組件之一,其他還有mapreduce,yarn等共同組成Hadoop」。
比如,數(shù)據(jù)庫表重組「reorg table」功能和磁盤碎片整理對比。所謂的磁盤碎片整理就是硬盤在使用一段時間后,由于反復(fù)寫入和刪除文件,磁盤中的空閑扇區(qū)會分散到整個磁盤中不連續(xù)的物理位置上,從而使文件不能存在連續(xù)的扇區(qū)里。這樣,再讀寫文件時就需要到不同的地方去讀取,增加了磁頭的來回移動,降低了磁盤的訪問速度;同樣的道理表重組操作會整理數(shù)據(jù)碎片來減少浪費的空間,并對數(shù)據(jù)行進行重新排序以合并溢出記錄,從而加快數(shù)據(jù)訪問速度并最終提高查詢性能。
比如,索引與字典目錄的對比。為什么數(shù)據(jù)庫中添加了索引的字段查詢起來非常快呢?漢語字典都用過,怎么快速查找一個漢字呢,自然要使用字典的目錄,通過目錄快速定位這個漢字所在的頁碼,那么索引也就是這個所謂的字典目錄,因此添加索引的字段查詢起來非常快。
SQL語法對比
基本上所有的RDBMS系統(tǒng)都有對應(yīng)的SQL方言,比如選擇表中的前n條記錄,各數(shù)據(jù)庫都有自己的寫法,通過對比分析,可以非常快速的發(fā)現(xiàn)他們的不同,做的比較好的一本書,之前在讀書推薦系列中推薦過,就是SQL CookBook,該書對于選擇表中的前n條記錄問題的解決方案截圖如下:
開發(fā)語言對比
以熟悉的編程語言比如Java為基點,擴展到其他種編程語言的學(xué)習(xí),這樣效率就會非常高,也會變得非常簡單。怎么做呢?一是搞明白基本的術(shù)語和概念,二是根據(jù)自己熟悉的語言去對比新的語言,比如for循環(huán)、線程、網(wǎng)路連接等,學(xué)習(xí)起來事半功倍。
通過對比學(xué)習(xí)你可以快速的學(xué)習(xí)和掌握一門新的語言,可以快速復(fù)制自身已經(jīng)掌握的經(jīng)驗。
交流對比
學(xué)會交流。添加一些有意義的QQ群、微信群,不要一個人閉門造車,要多去交流,在交流中你會發(fā)現(xiàn)自身的短板,進而可以查缺補漏,彌補自身不足。QQ、微信等群里的信息噪聲比較大,要學(xué)會取其精華去其糟粕,盡量提取有價值的信息,不要把大部分時間消耗在群里,給自己規(guī)定幾個固定時間點翻看聊天記錄是個不錯的選擇。舉賢不避親,推薦自己的一個QQ交流群「162566098」,希望可以幫助大家進行交流學(xué)習(xí)。
與書籍甚至技術(shù)視頻之間都可以交流思想,但是只讀一本書或者看一個老師錄制的視頻,很可能無法徹底理解某個知識點,因為每個人的講解方法和方向是不同的。同一個知識點可以從多本書或者多個不同的視頻中獲得解讀,通過對比可以很快的理解它。
總結(jié)
對比學(xué)習(xí)能力很重要,它可以瞬間幫助你記憶和理解抽象難懂的技術(shù)概念和術(shù)語,快速提升開發(fā)者水平。
【本文為51CTO專欄作者“朱國立”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號“開發(fā)者圓桌”獲取聯(lián)系和授權(quán)】