盤點2020 | 所思、所遇、所學、所悟

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同學們好,我是來自 《","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"技術銀河","attrs":{}},{"type":"text","text":"》的 💎 ","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"三鑽","attrs":{}},{"type":"text","text":" 。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年可以說是一個不簡單的一年,也是我人生轉折點的一年。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"春節期間疫情爆發,導致全世界人心惶惶。感謝世界各地的醫生戰士和護士天使們的努力,讓我們可以從冠狀惡魔的手裏逃脫出來。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因爲疫情的影響,年後開工時間也被延後了。那段時間有些人很慌張,很焦慮,因爲有着房貸、車貸或者其他的經濟壓力。也有一些人可能很無聊、在家悶得慌。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而我卻在家思考人生,這幾年工作中確實有努力工作,但是最後獲得的成長倒是越來越少。我想這個可能就是我當前的職業瓶頸吧。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b3/b34c995f506fd74ab4d6e4adb20b4706.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"前半生","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我從專於 PHP 開發開始參與工作,前+後端開發做了 5 年多。過程中待過的公司基本上都是創業型公司,做過技術合夥人、做過開發主管、做過技術總監。因爲是創業企業,都是要身兼多職,同時做着前後端開發(也有做過混合 APP)也需要擔任產品經理整理業務需求和功能,有時也需要做一個 UI 設計師,邊排版邊設計頁面。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個過程確實讓我提升了很多不同方面的能力,包括從 0 到 1 獨立搭建一個 ERP/CRM 系統。自學了 Angular,使用 Ionic 3 搭建一個混合 APP。我記得當時 npm 根本還沒有淘寶鏡像,都是靠 “FQ” 下載依賴包和打包的。npm install 執行一次就要 20-40 分鐘。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"過程中我進過一家公司,讓我接觸到了 PHP 方面的各種架構設計,過程中自學了 Elasticsearch、Rabbitmq、Swoole 等架構搭建。通過加入這些,幫助了公司的項目大大提高了性能和業務能力。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當時的自己覺得應該往後端架構師的方向發展。也至於那段時間專門去學習後端架構方面的知識。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過後面因爲一個機會,進入到上一家公司擔任技術總監。從 0 到 1 組建了一個開發團隊(最後搭建了 21 人的團隊)。在這裏我帶領了一班小夥伴從系統接口架構到前端架構搭建了一個自營商城。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這個過程中,我又負責後端架構與開發,又負責前端主編程。但是在開發前端的過程我發現自己又重新燃起了我對前端的熱愛。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因爲業務功能的需要,我也開發了幾套 Vue 組件功能包,並且把這些組件開源了:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"活動時間倒計時 - ","attrs":{}},{"type":"link","attrs":{"href":"https://github.com/TriDiamond/vuejs-countdown-timer","title":""},"content":[{"type":"text","text":"Vue-countdown-timer","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"固定元素的 directive - ","attrs":{}},{"type":"link","attrs":{"href":"https://github.com/TriDiamond/vuejs-sticky-directive","title":""},"content":[{"type":"text","text":"vuejs-sticky-directive","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"頭部滑動固定 - ","attrs":{}},{"type":"link","attrs":{"href":"https://github.com/TriDiamond/vuejs-scroll-fixed-header","title":""},"content":[{"type":"text","text":"vuejs-scroll-fixed-header","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"圖片滑動/放大組件 - ","attrs":{}},{"type":"link","attrs":{"href":"https://github.com/TriDiamond/vue-photoswipe","title":""},"content":[{"type":"text","text":"vue-photoswipe","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也是這樣,我對前端的熱愛一發不可收拾。其實我前端一直都有在做,因爲做 PHP 開發的後端程序員應該都知道,之前可是沒有什麼純後端開發工程師。基本上都是全乾工程師。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以對 HTML/CSS、JavaScript、Vue、JQuery 等前端技術領域都是比較熟悉和能運用的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也可能是因爲個人從小就特別熱愛畫畫和對視覺方面的東西特別感興趣,所以對前端開發這個領域本來就存在着一種天然喜愛。畢竟前端更多的重心是在用戶界面、交互、效果等方面,相對比後端特別抽象的功能開發而言,對我個人的喜好來說前端會更容易讓我熱血沸騰。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b3/b34c995f506fd74ab4d6e4adb20b4706.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"博客之旅","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"說到這裏,我就要講講我是什麼時候開始寫博客的了。其實寫博客這個事情也是一個很奇妙的事情。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這麼多年的開發過程中,我也一直有寫一些個人的技術筆記。但是一直都沒有系統化的寫過技術的文章和總結。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是一直以來都希望自己可以系統化記錄自己的學習成果。同時也希望可以分享這些知識給更多同行的同學們,讓大家可以在高速發展的技術領域中少踩點坑。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然有這個想法,但是在我之前的公司中,處理工作和每天回到家學習之外基本上時間都是不夠用的。所以一直都沒有實現我自己這一個願望。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是有一天...","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"那一天我在研究 Jenkins 的搭建和部署,在安裝的最後遇到一個報錯 “Jenkins instance appears to be offline”。對這個報錯足足讓我在網上找了兩天的解決辦法,看了很多文章,很多人發出來的解決辦法,都無法完美解決這個問題。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後在 stackoverflow、CSDN、掘金、思否的所有答案的結合,終於找到一個完美的解決辦法,並且是結合了所有的情況。(最後是 CSDN 的一篇文章找找到的思路)。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就是這樣,我經常跟自己說的一句話又冒出來了。“如果我現在不寫個文章,那麼以後遇到同樣的問題,就又要這麼折騰一遍了”。當然我一直都有寫個人的筆記,但是沒有系統化的寫,搜索起來還是非常困難的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以我下定了決心,我要寫博客,記錄日常的學習筆記和知識。但是博客的平臺很多,我也不知道在哪裏寫比較好。(當然也有考慮博客平臺的穩定性,畢竟自己的筆記一旦平臺哪天沒有了,那麼就只能哭暈在廁所了。)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"剛好那時候是 2020 年的年初,在 2019 年的結尾的時候,很多博主大佬都寫了一些年總結。所以我開始閱讀了很多博主們的年總結。這裏我要說一句,他/她們的年總結真的讓我受益良多。我發現寫博客遠不只可以記錄自己的知識和遇到過的問題,從而讓自己有系統化的知識梳理,還可以認識很多一起學習的同學和大佬們。這些人脈和奇妙的關係也觸動着他們成長。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這裏特別感謝 ","attrs":{}},{"type":"link","attrs":{"href":"https://www.infoq.cn/profile/E57FFB8EEB1B32/publish","title":""},"content":[{"type":"text","text":"Big sai","attrs":{}}]},{"type":"text","text":"、","attrs":{}},{"type":"link","attrs":{"href":"https://www.infoq.cn/u/itwanger/publish","title":""},"content":[{"type":"text","text":"沉默王二","attrs":{}}]},{"type":"text","text":"和","attrs":{}},{"type":"link","attrs":{"href":"https://www.infoq.cn/profile/5AD4468C53ABB6/publish","title":""},"content":[{"type":"text","text":"敖丙","attrs":{}}]},{"type":"text","text":",是他們的文章和總結讓我找到的寫博客的真正意義和力量。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也就是這樣我選擇了 InfoQ、CSDN、掘金、知乎,開始了我的博客生涯。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"像我說的,當時的我希望自己可以分享一下自己在工作中總結出來的經驗,包括學習和開發中的一些經驗,讓更多正在學習或者已經在工作中的開發同學有所收穫。所以我頭幾篇的文章基本都是圍繞經驗分享類的文章:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"開發者經驗分享:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/236d953d58e911226fc65ecbd","title":""},"content":[{"type":"text","text":"6個高效學習編程的方法","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/3fc8e8770ae9656d735572421","title":""},"content":[{"type":"text","text":"你真的懂怎麼寫\\服務層\\嗎?","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/e5f29915768ded111ea9ec16d","title":""},"content":[{"type":"text","text":"5大法則助你 成爲更出色的開發者","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/83e4ca9247a187d4f79036b69","title":""},"content":[{"type":"text","text":"用“易於改編”原則,提升編程水平,寫出更好的代碼","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/e15f2d0c66bf4cdfe9c963100","title":""},"content":[{"type":"text","text":"寫給想學和在學編程的你們,學習編程的7個好處","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"前端知識分享:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/e4788d05c87b41f3c7e0a8dc7","title":""},"content":[{"type":"text","text":"帶你體驗Vue2和Vue3開發組件有什麼區別","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/0f678435cb6fea8f870a4a365","title":""},"content":[{"type":"text","text":"更優雅的編寫JavaScript,使用這些函數秒變大神","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/a5f4483851a4fc96a1e462b25","title":""},"content":[{"type":"text","text":"前端必看的8個HTML+CSS技巧","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"VSCode高級玩家寶典","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/b1613c2b2a9ac955b29f31f76","title":""},"content":[{"type":"text","text":"VSCode常用快捷鍵大全","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/78affd565882765ddd8e4e4d5","title":""},"content":[{"type":"text","text":"VSCode插件大全","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/778dc0c02835d70b4d3f6accf","title":""},"content":[{"type":"text","text":"VSCode配置同步","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就是這樣,我把自己當時比較好的知識存貨拿出來寫成了文章。奇妙的事情是,當時的我遇上了CSDN 在做很多的推廣活動 “","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"原力計劃","attrs":{}},{"type":"text","text":"“。通過這些活動,我獲得非常大量的流量。有好幾篇文章一天就破 5k 的閱讀量,對於當時沒有任何粉絲的我,已經是非常滿足的成果了。當然相對於很多寫博客的大佬來說,也就是他們的零頭而已。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過一路過來很多粉絲在支持我的文章,從而給了我非常大的力量繼續寫作。同時我也發現我的寫作水平也是不足的,我也知道如果我一直寫經驗分享是會有瓶頸的。畢竟我發現很多同學都是專注於一個領域的文章。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個時候的我,對前端的熱愛,真的是可以說是熱血沸騰的狀態。所以我沒有想多久,我就決定我要成爲一個前端博主。畢竟在我的內心,我是很確定以後我的發展方向必然就是前端這條路。從現在開始累積前端的知識文章就是開啓這條路的一把鑰匙。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是要從何寫起呢?這個問題讓我在深夜中沉思。突然有一晚上,我突然來了靈感。我自己的前端都是在後端開發的過程中學習的。自然也沒有系統化學習過,但是如果要在前端這條路走的長久,基礎知識就必須要穩固。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"剛好在這個時候我遇到了 ","attrs":{}},{"type":"codeinline","content":[{"type":"text","text":"FreeCodeCamp","attrs":{}}],"attrs":{}},{"type":"text","text":" (FCC) 這個平臺。所以我就決定在 FCC 上從 0 開始學前端,把所有的基礎知識都過一遍。也就是這樣我寫了一系列的 FCC 教程,雖然最後還沒有完成,其中的緣由我後面會細說。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"FCC 教程的文章有以下幾篇:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/1aaf476c24fb8b18e693e8e4b","title":""},"content":[{"type":"text","text":"28關學會HTML與HTML5基礎","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/55acfe3f4cc3438000bc66ae8","title":""},"content":[{"type":"text","text":"44關學習CSS與CSS3基礎「一」","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/5aca289ecc7f8d664e32037b3","title":""},"content":[{"type":"text","text":"44關學習CSS與CSS3基礎「二」","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因爲我的博文獲得很多關注,可能也是因爲持續寫作的緣故吧,開始有一些大廠的同學通過我的博客聯繫到我,邀請我到某寶,某巴巴的面試。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"說實話,進入大廠應該是我們大部分程序員的夢想,我也不例外。雖然我的大學讀的是土木工程,但是自從大學我就有自學編程,直到出來工作後轉行從業開發。我一直的目標都是希望有能力可以突破自己,進入大廠。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以當這個機會突然出現在我面前的時候,我好像終於醒過來了。我一直以來工作中的努力和奮鬥,不都是爲了有一天可以進入大廠,和更多優秀的開發者們一起工作,一起學習,一起成長嗎?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"既然我確定了我要走前端這條路,我也不可能以 PHP 開發工程師進入大廠。雖然我對 Vue、Javascript、HTML/CSS等前端技術都熟悉並且能用來開發項目。但是對於大廠來說,他們還需要穩固的計算機基礎。這個是我這種轉行的開發者所欠缺的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我不希望自己浪費了難得的大廠面試機會。也非常的珍惜這個可以讓我突破現在自己職業瓶頸的機會。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以我開始去了解大廠前端面試相關的資料,就是這樣我參與了 \"","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"前端早早聊","attrs":{}},{"type":"text","text":"\" 和其他的一些大廠的直播活動。希望可以通過了解更多,知道我距離進入大廠的要求還欠缺那些。我很清楚,查漏補缺是當前自己非常急需要做的事情。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就是這樣我又把自己在這些活動中,學到的知識寫成文章分享到博客當中:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/33324ebbb5eecc432b2fb90a4","title":""},"content":[{"type":"text","text":"阿里、力扣、政採雲的15位專家分享前端面試與招聘視角","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就像我在這篇文章中所說的:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這次大會中從早上9點半一直到下午6點多結束,大會含金量超高,我此次受益匪淺,屁股坐到起繭都是超級值得的。本次大會一共有","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"15位","attrs":{}},{"type":"text","text":"來源於各大廠公司的高級前端工程師和技術專家,每個講師都給我帶來了精彩絕倫的知識與乾貨。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這次大會的內容不只給我的","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"技術生涯中帶來了衝勁","attrs":{}},{"type":"text","text":",讓我認知到自己還有很多的不足與未知。同時也讓我","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"認知到了優秀的技術人才與團隊的能力模型","attrs":{}},{"type":"text","text":",講師們有說到他們的經歷和三觀,引發了我對自己“保安式”的靈魂拷問。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"聽完本次大會後,真的讓我重新認識了自己,也重新找到了前進方向與目標。最後還收穫了許多知識與祕訣。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就是這樣,我認知到自己有一些計算機基礎和前端的深度還需要深挖。所以我決定走上前端的重塑知識之路。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"⛳️ ","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"這裏我記錄一個里程碑:","attrs":{}},{"type":"text","text":" 2020年5月27日我成功成爲了 CSDN 博客專家。從 3月到5月總共堅持寫作了 3 個多月成爲了博客專家。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b3/b34c995f506fd74ab4d6e4adb20b4706.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"重學前端","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從寫博客,到認識大廠前端同學,到更新自己對前端的認知。我開始清晰瞭解自己的瓶頸。我需要重學一遍前端,重點強化自己前端的底層知識。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在 “前端早早聊” 的大會中,我瞭解到進入大廠的面試中,是缺少不了算法的考覈。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我也特別認同 winter 老師說的。所謂算法,其實也可以理解爲 “編程能力”。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過算法一般都是 “數據結構與算法”,也就是說複雜的數據結構和算法是一起學的。但是對於前端而言,很多高階的數據結構基本都用不上,但是算法的編程技巧和能力倒是非常需要的。(當然,數據結構也需要有一定的瞭解和熟悉哦,只學算法並不行哦。)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"很明顯,算法是我的重學前端之路中必須修煉之一。這個時候我偶遇到了 “極客大學”,看到了","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"覃超","attrs":{}},{"type":"text","text":"老師的算法課程。所以我開始跟着覃超老師開始學習算法。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然,我也把我學習到的知識寫成了博客文章分享了出來:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/ccdf6781ec9ee9fabef144180","title":""},"content":[{"type":"text","text":"如何高效學習數據結構與算法","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/770c42cd2364b5ce792f1a25c","title":""},"content":[{"type":"text","text":"分析時間複雜度與空間複雜度","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/013434188048831252aae84fe","title":""},"content":[{"type":"text","text":"用動圖解說數組、鏈表、跳錶原理與實現","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/55a97ee31eaeb0e4c6e4581e2","title":""},"content":[{"type":"text","text":"力扣實戰之移動零、盛最多的水、爬樓梯","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在學習算法的同時,我瞭解到 winter 老師的 “前端訓練營” 的課程。在這之前,我也報了 winter 老師的 “Toy react” 小課程。這個課程給我了一個非常深的感觸。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果我們想自學前端的底層知識,如果沒有一個人帶,其實真的非常困難。而如果有一個好的老師系統化的帶着我們學習這些知識,那麼效果完全就是不一樣的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以我大概過了一下 winter 老師的 “前端訓練營” 課程內容後,果斷就報名了。就這樣我就開始了重學前端的第一步。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然一開始我是想算法和前端訓練營一起學的。但是我發現確實學的會很喫力。而且我是希望自己可以深入的系統化學習一遍前端。加上,我只學習知識,沒有任何其他的項目支撐,我覺得這樣的學習缺少了很多實戰和項目經驗。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以我不只在重學前端,同時我也繼續做開源項目,這個過程中我還做了以下幾個開源的項目:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Hexo 博客主題:","attrs":{}},{"type":"link","attrs":{"href":"https://github.com/TriDiamond/hexo-theme-obsidian","title":""},"content":[{"type":"text","text":"Obsidian","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Typora 主題:","attrs":{}},{"type":"link","attrs":{"href":"https://github.com/TriDiamond/typora-theme-obsidian","title":""},"content":[{"type":"text","text":"Obsidian","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://obsidian.md","title":""},"content":[{"type":"text","text":"Obsidian.md","attrs":{}}]},{"type":"text","text":" 知識庫軟件主題:[Obsidianite](https://github.com/TriDiamond/Obsidian-Obsidianite)","attrs":{}}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Obsidian.md —— 被稱爲第二大腦: 是一款使用 markdown 文檔,本地化的知識庫構建軟件。它提供了知識庫文章的內部鏈接體系。可以讓我們更有效的管理我們的知識,可以把我們碎片化的知識被管理和串聯起來。(不知道這是什麼可以看看這篇文章 《","attrs":{}},{"type":"link","attrs":{"href":"https://sspai.com/post/60802","title":""},"content":[{"type":"text","text":"從卡片鏈接到大腦聯想,基於 Obsidian 的卡片盒筆記法實踐","attrs":{}}]},{"type":"text","text":"》)","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/3c/3c8f844c09a8dbe2f7d08fab717f827b.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也就是這樣,我暫停了《數據結構與算法》的學習,開始全心投入學習《前端訓練營》。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不學不知道,一學嚇一跳。一開始進入學習的時候,真的讓我歎爲觀止。Winter 老師帶着我們用全新的視角學習前端。很多人可能看了課程的簡介覺得,這些都是很簡單的底層理論。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"是的,一開始的我也是這麼認爲的,但是學習了兩週之後,我發現其實並非如此。我們所認識的前端並非如此。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Winter 老師的課程是對標阿里 P6 的水平設計的。裏面的理論和實戰都是非常獨特的內容。在學習的過程中自己被帶入了一個全新的角度去學習前端,運用 “追溯” 原則,找到所有前端知識的源頭,從源頭、從歷史開始理解所有的知識。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然這個課程中,不只是有很多的前端的知識,還有很多處理問題,解決問題的思路。這些思路正是在我們進入大廠後可能需要的能力。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在每週提交作業的過程中也發現一個很奇特的現象,每週 github 提交作業的數量,有以線性遞減的趨勢。從一開始的 100+ 人到了最後第 20 周,僅剩下 20-30 來人。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其實在開營的當天,Winter 老師的直播中就講到,前端訓練營這個課程一定會讓我們覺得非常痛苦的。畢竟一切讓我們成長,特別是快速成長的事情,都會伴隨着痛苦。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這裏也感謝自己一直堅持到了第 20 周,所有的痛苦都是值得的,畢竟在這個過程中,自己確實學到了不少,也成長了不少。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然,感謝 Winter 老師精心設計的課程,同時也感謝我們班的助教老師,在我們學習過程中給予的幫助和答疑。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後,我想感嘆一下:","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"這個是我人生中最值得深造自己的一次投資。在課程中真的是受益匪淺。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對,這個課程所有學到的內容,我都寫成了文章發佈到了博客裏面。當然我也是問過 Winter 老師,他的課程內容是否可以寫成自己的學習筆記,並且發佈到博客裏。Winter 老師的答覆是:“如果你們能把我的課程吸收了,並且寫成好的文章,證明我的課程是有用的,也證明了我的課程的質量。”","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"真的,聽到這句答覆,我心裏有些許的感動吧。因爲真正強的人,更在乎的是自己的東西是否有給大家帶來價值。而我寫博客也是一樣的初衷,這句話給到我的是一種志同道合的感覺。當然與 Winter 老師相比,我還差很遠,但是至少我也是朝着變強的道路上蹦跑,我也想變強!","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然前端訓練營,也叫《前端進階》系列的文章目前還在更新中,這個系列會一直更新到完結的。基本上都是每週一篇。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"需要在前端領域進階的同學歡迎關注學習,如果覺得內容非常好的,還是推薦去跟着 Winter 老師學習的哈。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"《前端進階》系列:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"學習方法","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/cdd904c43fe94ee12bdc51162","title":""},"content":[{"type":"text","text":"一篇文章搞懂前端學習方法與構建知識體系","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"瀏覽器原理","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/2d9665d6259156644231bf533","title":""},"content":[{"type":"text","text":"實戰中學習瀏覽器工作原理 — 之 HTTP 請求與解析","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/6a511f0ebdb6e555a5438c2fe","title":""},"content":[{"type":"text","text":"實戰中學習瀏覽器工作原理 — HTML 解析與 CSS 計算","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/c569ec7e713cebaba6ee9f90a","title":""},"content":[{"type":"text","text":"實戰中學習瀏覽器工作原理 — 排版與渲染","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"重學 CSS","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/01488eeda5beb5f2dc9e2ff1a","title":""},"content":[{"type":"text","text":"CSS語法與規則","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/c2f2e662bd7d53fa742a92c65","title":""},"content":[{"type":"text","text":"CSS 選擇器","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/a2dc9eeae907abfa59048d280","title":""},"content":[{"type":"text","text":"CSS 排版與正常流","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/f37cf000fed7285bcecd814a3","title":""},"content":[{"type":"text","text":"CSS flex 排版與動畫","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"重學 JavaScript","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/5ac08b8f91412120419783fba","title":""},"content":[{"type":"text","text":"JavaScript 語言通識","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/7093a884d9438b0574ba7780f","title":""},"content":[{"type":"text","text":"JavaScript 類型","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/775222ad8155b727233463128","title":""},"content":[{"type":"text","text":"JavaScript 對象","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"編程訓練(算法)","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/d0d1d25003dfab7eb1e45e110","title":""},"content":[{"type":"text","text":"用 JavaScript 實現一個 TicTacToe 遊戲","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/9dcbfa2f01fe633d78975e518","title":""},"content":[{"type":"text","text":"用 JavaScript 實現尋路算法","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/9b8bed52797c56d4b481dce51","title":""},"content":[{"type":"text","text":"使用LL算法構建AST","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/ffa04403b862bb054baae857f","title":""},"content":[{"type":"text","text":"字典樹 —— 字符串分析算法","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/ccf688a88c696b83f7f2fd05f","title":""},"content":[{"type":"text","text":"KMP —— 字符串分析算法","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/1701c4dbdba9c562d677b8670","title":""},"content":[{"type":"text","text":"用 Proxy 簡單實現 Vue 3 的 Reactive","attrs":{}}]}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https://xie.infoq.cn/article/35f2657e8d6387cbdb8828547","title":""},"content":[{"type":"text","text":"用 Range 實現 CSSOM 精準操作","attrs":{}}]}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b3/b34c995f506fd74ab4d6e4adb20b4706.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"個人總結","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一個一線戰場中的開發者,迴歸到學習的學堂中。一開始這個過程確實遇到了挺多困擾的。一開始無法靜心下來學習,因爲學習底層的知識確實需要靜下心來學。但是堅持了一段時間後,又會發現自己會愛上學習,愛上深挖這些知識。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當我們把這些知識重新投入實戰中,就會發現自己有一個截然不同的思維方式和解決問題的思路。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年的自己經歷了很多,也學了很多。到此爲止,我想學的還沒有全部完成,Winter 老師的課程的內容我還需要回顧一下。我覺得自己還需要對今年學過的知識做一次全面的總結和沉澱。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"接下來的規劃就是學習《數據結構與算法》,同時也需要查漏補缺一些計算機基礎相關的知識。然後就可以出去嘗試新的機會了。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最近聽了一個月影和 Winter 老師的直播,其中有一個點。我覺得是非常值得深思的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"很多同學在技術領域裏面都應該深有感觸的一個點 “技術一直在更新,真的學不下去了”。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而在直播中他們講到的一個觀點就是,我們需要一直了解新的技術動態,和新的行業動態,但是我們不要只考慮我們需不需要學它們,更多是瞭解幾個點:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"他們爲什麼會出這個東西,","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這些東西是用來做什麼的,爲了解決什麼問題","attrs":{}}]}],"attrs":{}},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現在項目中能否用到,是否能解決當下的問題","attrs":{}}]}],"attrs":{}}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"重點是我們不要爲了技術而技術,而是爲了解決問題而學一門新技術。我覺得這個很值得我們深思的。很多五花八門的技術,每天都在出來,其實我們以後還會有 Flutter,React,Vue嗎?可能也不一定,可能以後有一個出來一統江湖也說不定。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其實聽了老師們的直播之後,我反而覺得,重點不是框架那個以後發展更好,而是瞭解每個框架爲什麼存在,當下有什麼問題導致有了這些框架,以後可能會有什麼問題,可能需要什麼東西來解決。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"說到這裏很多同學就會問,“那麼我們應該往哪個方面發展呢“ ?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我覺得月影老師說的可以參考:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"”基礎和底層知識,基礎和底層知識,基礎和底層知識。”","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因爲所有框架也好,新技術也好。我們也不確定以後會出來什麼,最後誰會一統天下。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以重點是我們需要學習,保持可以快速上手任何框架和技術的能力。其實無論是 Vue,React,Angular 還是 Flutter。底層不都是 JavaScript 嗎?甚至 Node.js 也是。然後更底層呢?不就是計算機基礎知識嗎?如果我們這些學通透了,那麼以後出來什麼各種花樣,難道我們不能在一週內學會嗎?(可能不能一週內,但是快速上手還是可以的嘛)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基礎知識還有像數學,這些都是永世不會變的知識。而往往這些知識都是我們開發者的基礎。而這些基礎纔是我們真正能適應這個技術高速發展的時代。也是這些基礎讓我們不會害怕任何的變化。因爲我們擁有可以適應任何變化的能力。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 所以我們","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"一起終身學習","attrs":{}},{"type":"text","text":"吧。只有學習才能讓我們在這個一直變化的技術領域中茁壯成長,越來越強。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"⛳️ ","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"對 2021 年的自己,我一定會繼續堅持寫作,繼續堅持學習,繼續努力提升自己。找到新的機會,加入一個優秀的團隊和大家一起創造價值,一同學習成長。 ","attrs":{}},{"type":"text","text":" ","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這一年來,感謝有我的粉絲們一直的陪伴和支持。也感謝這一年來給我開闊了很多眼界和知識的老師們。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時這裏也感謝有 CSDN給我提供知識分享的平臺。平臺的工作人員們,你們辛苦了。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/23/237db88ffb40799313e26780f79aad9e.gif","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"博主開始在B站直播學習,歡迎過來《","attrs":{}},{"type":"link","attrs":{"href":"https://live.bilibili.com/22619211","title":""},"content":[{"type":"text","text":"直播間","attrs":{}}]},{"type":"text","text":"》一起學習。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們在這裏互相監督,互相鼓勵,互相努力走上人生學習之路,讓學習改變我們生活!","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"學習的路上,很枯燥,很寂寞,但是希望這樣可以給我們彼此帶來多一點陪伴,多一點鼓勵。我們一起加油吧! (๑ •̀ㅂ•́)و","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我是來自公衆號《","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"技術銀河","attrs":{}},{"type":"text","text":"》的","attrs":{}},{"type":"text","marks":[{"type":"strong","attrs":{}}],"text":"三鑽","attrs":{}},{"type":"text","text":",一位正在重塑知識的技術人。下期再見。","attrs":{}}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":1}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章