大家好,我是楊成功。
今天是五一勞動節,標誌著 4 月份結束,新月份開始,首先祝大家節日快樂!
本來我的計劃是五一假期回家的,結果北京疫情愈發嚴重,出京都困難,小區裡每天大喇叭喊著下樓做核酸。最尷尬的是從今天開始,北京餐飲店全部停止堂食,我只能宅在家裡默默的拿出囤了好久的白象方便麵...
言歸正傳。既然宅家了總要做點什麼,那就先覆盤一下剛剛過去的四月份吧。
其實整個四月份都非常忙非常累,原因就是我幹了一件不大不小的事情 —— 日更文章!
“日更”的意思就是每天寫一篇文章,持續一個月,這是個很考驗耐力的事情。
為什麼要幹這個事兒呢?說起來是因為我資料結構這塊的知識比較薄弱,一直想找機會補一下。之前買過一本書,叫做《JavaScript 資料結構與演算法》,正好適合我學習。結果是它一直躺在抽屜裡吃了好幾個月的灰。
後來我想這樣不行,得集中突破一下。剛好那會快到四月份了,我就決定用 4 月份一個月的時間,每天學習一塊內容。自己先輸入,仔細理解讀透,然後用精簡的語言的把關鍵內容梳理出來,寫成文章輸出,每日一篇。
我也是一個自律性一般的人,為了督促自己持續更新完成目標,4 月初的時候和我和群裡的小夥伴們立下 flag,四月份要嘗試日更,每天寫一篇文章,和大家一起學習資料結構,然後讓大家一起監督我。
有了計劃幹就完了。4 月 1 號寫了篇其他的,從 2 號開始了資料結構日更之旅,每篇差不多 1500 字左右,主要是根據書的章節分類,章節短了一篇搞定,長一點或者難一點的分兩到三篇,遇到程式碼必須先理解再手敲一遍,確保自己真正掌握。
到今天這個難熬的 4 月份終於結束了,還是有些感觸。下面呢我總結分享下這個過程中遇到的問題和挑戰,以及收穫了什麼。
如何利用時間
日更期間遇到的第一個問題,也是最大的問題,就是如何安排和利用時間。
我平常工作日上班,每天早晨 8 點從家出發,晚上下班到家也得 7,8 點,所以其實留下來看書寫東西的時間並不多。為了完成日更的目標,我需要保證每天早晨 6點20分 洗漱完並坐到電腦前,開始一邊翻書一邊記錄,這樣的話早上能利用 1.5 個小時。
下班的話時間會相對充足一點,吃完飯磨蹭一會,晚上 9 點鐘就可以開始學習了。晚上不管幾點開始都要到 12 點截止,因為超過 12 點就是第二天了,所以我得保證在 12 點前將文章寫完發出去,才算完成了今天的任務。
按照這個作息來算,每天差不多有4個多小時可以利用,但是實際情況是往往不夠4個小時。比如有時候我會加班,或者有其他的事情耽誤,時間就會非常緊張。
我一般早上的時間利用的比較好,早起習慣保持了好多年了,基本不會睡過頭。加上早晨精力充沛,思路也很活躍,能完成差不多一半的任務。
晚上的時間雖然會久一些,不過效率會下降不少,因為總是不能很好的集中注意力。但是寫寫停停,也差不多能掐點完成任務(總是掐點哎)。
週末的話全天,按理說這時間很充足了,事實上算下來也沒比平時利用很多。我一般工作日會壓榨時間,但是週末呢就想出去溜達,所以寫東西也就小半天,因此計算產出也和平時差不多。
這樣計劃之內的時間安排一直持續到月末,不在計劃的是中間一共斷更了 5 天,這 5 天就是各種原因沒有完成任務。
想想也是,每天那麼多事情,怎麼可能保證天天都有 4 小時?我當時可能就是這樣告訴自己的。不過後來再回顧,斷更並不是因為時間不夠用。更多的原因還是自控力差,注意力被分散,在其他無意義的事情上耗費了大量時間,這才是根本原因。
所以,在有限的時間下如何保持專注,這個又變的非常重要。
如何保持專注
持續充分的利用時間是很困難的,主要是因為會有很多很多的干擾項,分散你的注意力,這些就是阻礙你完成目標的“攔路虎”。
比如我有時候會突然發呆,或者偶爾聊微信,打電話,刷個視訊什麼的,時間蹭蹭蹭的就過去了。
開始的前一週還好,覺得比較充實,時間利用的很滿。第二週開始就會有些鬆懈了,因為有時候就是想聽會兒歌,就是想刷會兒抖音,但是這個東西一旦開始想停下來就難了。
不清楚大家,反正我是這樣的:聽歌刷視訊,持續20分鐘就會陷進去,想撤出來都難。這種感覺很神奇,你明明知道都放鬆這麼久了,還有事情做呢,再磨蹭一會該睡覺了。結果還是身體誠實,一動不動,就是在那一邊自責一邊享受,真他孃的神奇。
半個多月後我總結下來,最大的攔路虎,就是抖音。
刷抖音時間飛快,我認為可以控制自己,實際上總是莫名其妙的拿起手機就刷起來了。我試過兩種辦法,首先是解除安裝抖音,想刷都刷不上。但是現在翻個鹹魚淘寶都是短視訊,有時候莫名其妙的又刷上了,這就整的非常尷尬。
第二種辦法比較好用,就是關網。當你想充分利用一段時間,比如兩三個小時,你就關網,與網路世界暫時隔離。這個時候你可能還會不自覺的拿起手機,但是點進去沒有網路,你會意識到自己現在該幹啥,手機拿起好多次最後還是放下了,繼續看書。
所以保持專注的關鍵是排除干擾,盡力讓自己只有一個選擇。除此之外,再給自己一個時間限制,讓自己知道這個不舒服的狀態是會結束的,而且這個結束點正在不斷接近。
驅動力在哪?
高效利用本不充足的時間,以及持續保持專注,這真的是個非常困難的事情。那怎麼能堅持下來呢?難道光靠自律嗎?
其實也不是,誰有那麼大的自控能力,一定是有其他驅動力的。我幹這件事的動力有兩個:
- 公開目標,接受監督
- 持續的正向反饋
公開目標嘛,很簡單,就是你的牛吹出去了,你要是不行動別人就會認為你嘴炮,光說不練。大家都是要信譽的嘛,這個就會隱隱約約的在你內心產生一股推動力。
假如說你給自己立了一個目標,貼在你的桌子上,雖然每次看著很顯眼,你知道自己該學習了。但是有時候犯懶了,潛意識會告訴你:要不明天吧,反正一天的任務沒完成別人也不知道,對自己也沒什麼損失,明天再學習,今天先躺平。
這樣有了第一次,後面就會有第二次第三次。雖然看起來次數不多,可實際效果卻不是簡單的以量計算。每一次放棄都是對自己的負面反饋,而且這種反饋效果會成倍疊加,最後你只會得出一個結論,那就是:“我不行,還是算了”。
所以第二個關鍵點是 持續的正向反饋,啥意思呢?
比如我每寫完一篇文章會發公眾號,然後分享到群裡,大家有興趣就會閱讀。有時候如果有人覺得好就會點贊,會留言,你看到閱讀量和好的評價就會得到鼓勵,這就是一種正向反饋,它會激勵你明天繼續。
還有的小夥伴跟著我的程式碼自己實現了一遍,發現某個地方書寫有誤,然後告訴我這個地方好像寫錯了,我檢查到就會立馬改正。
這樣會讓你覺得這不僅僅是你一個人的事情,你不是隨便寫寫,而是有人看有人學習的,你必須保證質量對別人負責。所以我後面每次發都會反覆檢查,這樣又提高了輸出的質量。
至於別的嘛,也不是很重要,重要的就是這兩點,你需要創造一些外力來逼自己一把。
成果都在這裡
前面分享了這麼多的個人感受,接下來總結一下實際成果吧~
JavaScript 版的資料結構總體內容包括以下這些方面?
- 陣列
- 棧
- 佇列
- 連結串列
- 集合
- 字典
- 雜湊表
- 樹
- 圖
4 月份共 30 天,我更新了 25 天,斷更了 5 天。已釋出的全部內容如下:
- 怒肝 JavaScript 資料結構 — 陣列篇(一)
- 怒肝 JavaScript 資料結構 — 陣列篇(二)
- 怒肝 JavaScript 資料結構 — 棧篇(一)
- 怒肝 JavaScript 資料結構 — 棧篇(二)
- 怒肝 JavaScript 資料結構 — 棧篇(三)
- 怒肝 JavaScript 資料結構 — 佇列篇
- 怒肝 JavaScript 資料結構 — 雙端佇列篇
- 怒肝 JavaScript 資料結構 — 佇列實戰篇
- 怒肝 JavaScript 資料結構 — 連結串列篇(一)
- 怒肝 JavaScript 資料結構 — 連結串列篇(二)
- 怒肝 JavaScript 資料結構 — 雙向連結串列篇
- 怒肝 JavaScript 資料結構 — 迴圈連結串列篇
- 怒肝 JavaScript 資料結構 — 有序連結串列篇
- 怒肝 JavaScript 資料結構 — 集合篇(一)
- 怒肝 JavaScript 資料結構 — 集合篇(二)
- 怒肝 JavaScript 資料結構 — 字典篇
- 怒肝 JavaScript 資料結構 — 雜湊表篇(一)
- 怒肝 JavaScript 資料結構 — 雜湊表篇(二)
- 怒肝 JavaScript 資料結構 — 雜湊表篇(三)
- 怒肝 JavaScript 資料結構 — 遞迴篇
- 怒肝 JavaScript 資料結構 — 斐波那契數列
- 怒肝 JavaScript 資料結構 — 樹與二叉樹
- 怒肝 JavaScript 資料結構 — 樹的遍歷
這些文章除了樹的一部分和圖沒更新,資料結構的其他內容已經全部更新了。還有兩篇發在其他平臺未同步到公眾號,這些內容會和樹,圖在本月漸漸更完。
已有的和接下更新的內容,全部都可以在 資料結構合集 找到,歡迎各位小夥伴收藏學習。