• <fieldset id="82iqi"></fieldset>
    <tfoot id="82iqi"><input id="82iqi"></input></tfoot>
  • 
    <abbr id="82iqi"></abbr><strike id="82iqi"></strike>
  • 如何快速地學習新事物?(上)

    神譯局是36氪旗下編譯團隊,關注科技、商業(yè)、職場、生活等領域,重點介紹國外的新技術(shù)、新觀點、新風向。

    編者按:這是個日新月異的時代,每天都會產(chǎn)生以兆億計的信息,同時也有大量新事物不斷在誕生。這些新事物也許是你以前沒有接觸過的,抑或是最近完全新生的事物。但是有些人會恐懼,面對新事物不知道該怎么下手去了解;有些人開始了解了,可是卻不得其要,難以掌握。在這篇文章中,作者分享學習經(jīng)驗,如何快速掌握新技能,希望對你有所啟發(fā),本文來自編譯。

    相關文章:如何快速地學習新事物?(下)

    人們常說,互聯(lián)網(wǎng)已經(jīng)使教育民主化:人類所有的知識只需在搜索引擎上搜索一下就可以得到!然而,獲得信息只是故事的一半,你還需要能夠?qū)⒃夹畔⑥D(zhuǎn)化為可用的技能。

    對于很多人來說,這兩者之間的差距可能會導致像“教程地獄”這樣的事情:被卡在一個又一個的教程中,卻從來沒有感覺到你正在取得實質(zhì)性進展。

    學習如何有效地學習是超級重要的,特別是作為軟件開發(fā)人員;學習新的東西實際上是整個工作的一部分!如果你能學會快速掌握新的語言/框架/工具,你就能比一般的開發(fā)人員更有效率,這算是一種超能力。

    混合指導性學習和非指導性學習

    廣義上講,有兩類學習。

    1.有指導性的。閱讀教程,學習課程,觀看視頻。任何有指導的學習方式。

    2.非指導性學習。從頭開始創(chuàng)建你自己的項目,擴展一個教程,在文檔中查找東西。任何你不遵循指南的行為。

    如果你只遵循指導性的資源,就會陷入教程的地獄。你不能發(fā)展出作為一個成功的開發(fā)者所需的解決問題的技能。當你試圖建立自己的項目時,你將不知道從哪里開始。你會覺得自己花了那么多時間練習,卻沒有發(fā)展出任何切實可行的技能。

    另一方面,如果你完全專注于無指導的學習,那將會花費很長時間。如果沒有一個有經(jīng)驗的向?qū)В銓⑿枰匦掳l(fā)明每一個輪子,花幾天或幾周的時間解決已經(jīng)被解決的問題。這是一條漫長而令人沮喪的道路,最壞的情況下,你可能會完全放棄,因為你相信(不正確地相信!)你不夠聰明,不適合這個東西。

    一些課程意識到了這種二分法,并加入了非指導性學習的機會。比如擴展目標、思想實驗和挑戰(zhàn)性練習。我希望這些類型的資源能夠更加普遍。

    讓我們來看看如何將一些非指導性學習融入指導性資源的想法。

    故意犯錯

    如果你和我一樣,不喜歡犯錯。你希望一切都能完美地進行,第一次就成功。

    這種心態(tài)通常在生活中很有幫助,在其他領域也有幫助。如果你是一名汽車修理工,錯誤可能會造成數(shù)百美元的零件損失。如果你是一名牙醫(yī),一個錯誤可能會毀掉某人的笑容。

    然而,在軟件開發(fā)中,錯誤是免費的!如果我們犯了錯誤,我們可以回到我們的編輯器,修改代碼,然后再試一次。我們甚至還能得到有用的錯誤信息,可以(有時)為我們指出正確的方向。這是一種令人難以置信的奢侈,但我們卻沒有充分地利用這種優(yōu)勢。

    當我跟隨一個教程時,我喜歡玩弄代碼。與其逐字逐句地復制/粘貼所提供的代碼,不如嘗試一下:如果你省略其中的一行,會發(fā)生什么?或者如果你改變一些數(shù)值會發(fā)生什么?

    我試著像個科學家一樣行事。如果我對這段代碼應該如何工作有一個假設,我就通過改變代碼來測試這個假設,看看是否以我預期的方式發(fā)生。當我發(fā)現(xiàn)我的假設有缺陷時,我可能會繞過教程,在谷歌上做一些研究。或者,如果暫時解決不了,我可能會把它添加到 “以后要探索的東西 ”列表中。

    這個過程可以幫助我們避免自動跟隨教程的節(jié)奏,一味復制/粘貼代碼而不真正理解它的作用或為什么要這樣做。

    學習是一個主動的過程,對代碼的探究將幫助我們建立一個思維模型,了解正在發(fā)生的事情。

    教程淡化

    幾年前,當我剛開始工作時,我使用了一個過程,我稱之為 “輔導性淡化”。

    以下是它的工作原理:

    1.逐字逐句地跟隨教程,一步一步地進行。

    2.當你完成后,將代碼重置為初始狀態(tài),并將教程最小化。看看你在不看教程的情況下能走多遠。當你被卡住時,把教程拉回來,但一旦你解開了障礙,再把它最小化。

    3.重復這個過程,直到你能在不看說明書的情況下從頭到尾完成教程。

    就像上面描述的科學家心態(tài)一樣,這個過程是有用的,因為它迫使你注意到。教程逐漸消失,而你最終會在沒有指導的情況下學習如何建造這個東西。

    這種方法超級有效,但不是每個人都喜歡重復建造同樣的東西。不過,如果你想從教程地獄中掙扎出來,這可能值得一試!

    擴展教程

    讓我們假設我們通過建立一個井字游戲來學習React(Web開發(fā)框架),按照官方的教程。

    當你完成這個教程的時候,你已經(jīng)創(chuàng)建了一個功能齊全但相當簡單的游戲。

    我們可以添加各種有趣的東西:

    記錄每個玩家贏得的游戲數(shù)量

    用更多的展示組件來增強用戶界面

    允許配置棋盤大小(4x4,5x5)

    增加一個玩家可以對戰(zhàn)的AI

    奇思妙想! (動畫、聲音效果、勝利后的動畫等)

    要有創(chuàng)造性,并選擇你真正感興趣的東西!

    這種策略很好,因為你避免了空白畫布的壓力。你已經(jīng)有了一個功能完備、理解透徹的項目。你是在為一個堅實的基礎添磚加瓦。

    還有一個很好的副作用:如果你為一個教程項目添加了重要的擴展,你可以在作品集中記下它的功勞。

    打造相關項目

    一旦你完成了井字游戲項目,你可能有點不確定下一步該怎么做。

    在跳到另一個教程之前,嘗試從頭開始建立一個類似的項目可能是一個好主意。

    例如,也許你可以做一個賓果游戲! 你將能夠利用一些新技能(狀態(tài)管理、事件監(jiān)聽),但在一個稍微不同的背景下,你可能會遇到不知道怎么做的情況,因為教程中沒有涉及到;你可以在谷歌上搜一搜,試圖找到一個解決方案。

    如果你真的卡住了,可以暫時把這個項目放在一邊。多做幾個教程,以后再回來看看你是否學到了足夠的知識來解開自己原來的障礙。

    我曾見過這種策略被描述為 “一上一下”。跟著教程這樣的指導性資源學,然后花同樣多的時間創(chuàng)建一個類似的(但沒有教程的)項目。如果教程告訴你如何建立一個克隆版的Instagram,那么你可以嘗試自己建立一個克隆的Twitter!

    尋找正確的平衡

    當我處于學習旅程的最初階段時,我傾向于將主要精力放在指導性學習上。當我還在摸索語法和基礎知識的時候,很難以非指導性的方式打造任何東西!

    不過,隨著我變得更加熟悉,平衡也發(fā)生了變化。我把越來越多的時間花在無指導的學習上,建造我認為有趣的東西。當我遇到新的、不熟悉的問題時,我會找教程,但隨著經(jīng)驗的增加,這種情況變得越來越少。

    我的圖表看起來是這樣的:

    你的圖表可能看起來有點不同;最終,這取決于你是否能找到正確的平衡點! 重要的是,我們并不完全局限于有指導或無指導的學習。

    心態(tài)的培養(yǎng)

    許多年前,我和一些朋友去打保齡球。

    我打得并不好,我的大部分球都掉到了邊溝。比賽結(jié)束時,我的分數(shù)是全組中最低的。

    有兩種不同的方式來解釋這種情況:

    1.我就是不擅長打保齡球,而且永遠也學不會。保齡球并不是我的專長。

    2.我不擅長保齡球。不過,如果我想,我可以成為一個優(yōu)秀的保齡球手。

    這有一個自我實現(xiàn)的預言的問題:無論你選擇哪種解釋都是正確的。如果你認為你的保齡球技術(shù)水平是固定的,它就是固定的。如果你相信你能提高,你就會提高!

    如果你想快速學習新技能,培養(yǎng)正確的心態(tài)是至關重要的。

    談到軟件開發(fā),事情永遠不會一帆風順。不可避免地,我們會遇到一個粗糙的補丁,代碼做不到我們期望的那樣。

    這可能會導致一個向下的螺旋,一個充滿挫折、自我懷疑和冒名頂替綜合癥的螺旋,或者它可以被看作是一個奇妙的學習機會。如果你有正確的心態(tài),沒有什么比難以解決的錯誤信息更能幫助你學習。

    老實說,我們從掙扎和失敗中學到的東西,比我們從毫不費力的成功中學到的東西多得多。有了成長的心態(tài),掙扎可能并不完全是有趣的,但卻是很有成效的,就像一次好的健身。

    目標和動力

    我們生活在一個社交媒體的世界里,很容易感覺到壓力,要保持與時俱進,要學習流行的每一個時尚的JS庫。

    就我個人而言,每次我試圖這樣做的時候,都沒有成功。

    我只是沒有特別的動力去為學習而學習。為了讓我保持動力,我需要心中有一個令人興奮的具體目標。

    例如:幾年前,我發(fā)現(xiàn)了節(jié)奏空間(Beat Saber),一個VR視頻游戲。在這個游戲中,隨著音樂計時,你用光劍攻擊方塊,每首歌都有一個獨特的編排。

    現(xiàn)有的軟件可以讓用戶創(chuàng)建他們自己的編排(在社區(qū)中被稱為 “地圖”),但我對它并不感冒。我想為節(jié)奏空間建立我自己的地圖編輯器。

    經(jīng)過幾個月艱苦的、偶爾令人沮喪的工作,我實現(xiàn)了目標。

    在這個項目之前,我沒有3D經(jīng)驗,我必須學習大量的WebGL、Three.js和react-three-fiber。學習是困難的,無論你的心態(tài)有多好,總會有事情不順利的時候。

    但是因為我有一個具體的目標,一個我真正想要的東西,所以我能夠克服挫折,繼續(xù)取得進展。如果我學習這些東西只是為了好玩,或者因為我認為這在簡歷上會很好看,可能很快就會放棄。

    不同的人有不同的動機,所以我的意思不是說你需要找到一個小眾項目。但我認為重要的是,你要有一個目標,一個你真正感興趣的東西。否則,在最初的新鮮感消失后,將很難維持所需的動力。

    譯者:蒂克偉

    相關文章:如何快速地學習新事物?(下)