迷茫時,學習Node.js最好的方法

Node全棧發表於2017-09-25

迷茫時,學習Node.js最好的方法

這是真事兒,在3w咖啡整理書稿,然後小弟樑過來了,聊聊他的現狀,一副很不好的樣子,在天津我曾帶過他大半年,總不能不管,我給他的建議是:“每天看10個npm模組”

對於學習Node.js迷茫的人來說,這是最好的方式,當你不知道如何做的時候,就要向前(錢)看,你要知道積累哪些技能對以後有好處。對於學習Node.js必經之路,一定是要掌握很多模組用法,並從中汲取技巧、思路、設計思想的。與其不知道學什麼,為什麼不每天積累幾個技巧呢?

但這個是有爭議的,朋友圈收集的反饋非常直接

  • 一天看10個?怎麼個看法?

  • 每天看10個。。。工作不飽和啊

  • 看完能年薪百萬不?

  • 你說的不對,不在多,在精

  • 您說的這個會用任意個包解決過小需求算會麼?還是要閱讀過文件才能算?

下面我會一一作答

一天看10個?怎麼個看法?

這裡的10個其實只是個虛數,看個人能力和決心,量力而行即可。

但請一定要能做到每日精進。

Node.js模組在npm上的統計資料表明,截止到今天2017年9月24日,共有55.9萬個模組。單日下載在1.5億次。這麼大規模的模組,每天學幾個,水平一定會增長的非常快的。

最難的不是下決心,而是堅持!這是最值得自豪的稱讚,沒有之一!學習是誰也沒法逼你做的,只能靠你自己

每天看10個。。。工作不飽和啊

想要成長又不吃苦,哪有這樣的好事兒,程式設計沒有捷徑的。在我看來每天看10個並不多。

至於說工作不飽和,我不認同。工作多少和有效工作是2個概念,很多人有效工作時間不足2小時...毫不誇張!你不能抽出時間學習,你知道你的時間都用到哪裡了麼?你真的會時間管理麼?

按照柳比歇夫的做法,記錄一天看看,你自己到底在什麼地方花費時間最多?按照我小弟的說法,基本上白天被中斷的時候非常多,各種人來找他,這讓他痛苦不堪。其實這事兒非常好解決,你就告訴它:“稍等,我現在在忙,等我5分鐘,行不?”,別小看這樣的一句話,它可以幫你擋掉80%的中斷

他還說了一個例子,寫完功能後,由於沒有後臺管理,需要他幫測試新增修改資料,基本上一週2天半做功能,另外2天半輔助造資料,我當時就火了,你是不是傻?寫個管理後臺的crud要多久?為什麼要蠢到去手動改資料?明明是自己的方式不對,自己坑自己嘛!將一些重複的勞動消滅,不合理的勞動消滅,爭取更多的時候用在寫程式碼和學習上不好麼?

看完能年薪百萬不?

上面的圖裡也說了,一般正常工作的人掌握的可能連200個模組都沒有,這是很實際的。畢竟大家的不會頻繁的切換場景。所以很多人工作很久,還是不知道怎麼寫開源軟體,1)不知道寫啥,沒思路 2)不會寫,沒寫過。每次看到這樣的人都很鬱悶,真是可憐之人必有可恨之處啊。

是的,大部分不具備接觸更多場景想法的幾乎。但是,接觸面不夠,你又怎麼能夠做出更好的選擇呢?每次大家都說,合適的場景做合適的技術選型,這話基本等於廢話,大部分根本不具備這樣的能力。我舉個例子,Node.js有2個知名的redis庫,一個是redis,另一個是ioredis,我一般都是推薦ioredis的,作者是luin,前阿里巴巴工程師,現在是石墨技術負責人。對於ioredis的程式碼寫的非常棒,無論是api設計,還是效能、測試、程式碼質量等都明顯的高於redis庫。甚至redis的人找luin要求合併一起基於ioredis寫。如果連這麼基本的選型的都做不了,只能說明你自己的無知。見得少,不具備區分的能力。而已。

至於年薪百萬,身邊好多朋友早都到了。這些人大都思維敏捷,思路清晰,無論是在業務上創造價值,還是在架構上降低成本,都是能夠把握全域性,高屋建瓴,具有俯視視角的人。

大局觀好的人真心不多。那麼怎麼樣能夠擁有較好的大局觀呢?其實還是要多思多看多總結。這不是虛話。第一次當首席被漲工資的時候,還是蠻有趣的。當時公司比較閒,我躲在老闆的小辦公室(小黑屋),整理了公司所有的產品,屢清楚它們之間的關係,並試圖給出解決方案。當時cto剛來,找我聊天,我就給他講了這些,於是就有機會按照自己的想法來做。

大家都在混日子的時候,才是你的機會。如果真的你能夠堅持1年,每天10個,1年至少學會3000個模組,好處是對這些模組更清楚,對node能夠使用的場景更瞭解(大局觀),對如何在合適的場景提供更好的選型有更好的理解,最重要的是有恆心,這樣的人放在什麼崗位都錯不了的。年薪百萬真的不是夢,但大家不相信的原因是,自己沒有做到,也不願意相信別人能做到。這其實就是成功的人與loser的差距吧。

知名架構師史海峰開玩笑說:“1000元1一個”,算上也差不多,這年頭會個express,工資上萬也很多吧。

你說的不對,不在多,在精

你說我說的不對,但我卻要說你說的對。確實是在精不在多。

但是有一點你錯了,上下文說的是當你迷茫的時候。你不知道要怎麼學習,那就只能每日精進,別管學什麼,只要對最後的目標有益即可。

還要說一點就是,學習之初最好選小模組,避免上來就來大的難的,容易消化不良。而且對於自信心的打擊是非常大的。

您說的這個會用任意個包解決過小需求算會麼?還是要閱讀過文件才能算?

學習當然是要越深越好啦。先會用,然後扒原始碼,扒套路(開源做法,測試,程式碼結構,編碼規範,開源協作等等)。這個過程開始是無聊的,你會有很多東西都不會。這個時候最好的做法就是一次只多學1個,避免落入長尾陷阱。

等到積累到一定程度的時候,你要適當的總結,大家的玩法哪些是類似的,哪些寫法是特定場景的,從而能夠理解作者的意圖。甚至可以通過程式碼共享,和作者成為朋友。

掌握了套路後,就是創造的過程了。這才是程式設計最有意思的開始

如何學習

推薦一個repo即 https://github.com/parro-it/awesome-micro-npm-packages 小型庫集合,一天看十個不是夢!

當然,能自學是最好的,如果你覺得自己學有疑問,可以加入付費小密圈,和我一起學習!

全文完

歡迎關注Cnode官方公眾號【node全棧】

如果想參與評論,請點選閱讀原文連結,進入國內最專業的cnode論壇

你身邊如果有朋友對Node.js或全棧感興趣,可以轉發給他們看看哦,O(∩_∩)O先謝過

相關文章