致全部的開發者們

此文來自我我的微信公衆號,總的來講,閱讀量和反饋都還挺不錯,藉此分享給廣大的博友們。html

本文主要內容爲以下幾個方面?前端

  • 爲何要有一個本身的博客vue

  • 爲何要讓本身的GitHub活躍起來react

  • 天天給本身一點學習的時間git

 

1、爲何要有一個本身的博客github

關於爲何要有一個本身的博客這個問題,其實與爲何要寫博客基本上是相通的。面試

 

首先說說關於爲何要寫博客?
算法

寫博客的目的很簡單,就是爲了總結和記錄,記錄工做中遇到的問題,總結項目的得失或者是本身沒有深入理解某個API致使出現了某某問題等。編程

若是再往高度說,就是爲了分享。分享本身遇到的坑以及是如何填了這個坑及其本身究竟是由於什麼緣由才落入了這個坑。在寫的過程當中,也是讓本身在思考,通過深度的思考和總結,可以避免再度重蹈覆轍。小程序

 

寫博客給我帶來的好處?

(1)提升效率(好比我須要搭建Ubuntu16.04的項目環境時,我直接就能夠參考本身的博客來實現快速搭建);

 

(2)深究問題,提升知識深度。有的時候解決一些問題時,咱們每每都知足於解決了就行,而非深究這個問題,這時再寫博客的時候,我就會問本身,爲何會出現這個問題,有時候弄清楚爲何比怎麼解決更重要,由於當你知道了爲何時,就基本上已經有了如何解決這個問題的思路。

 

(3)引導新人和幫助同事。特別是團隊帶新人的時候,有的時候新人遇到一些問題(這些問題基本上都是老鳥們已經遇到過),這時新人遇到了時,你能夠將你的博客分享給他,讓他本身看,這時博客就能夠起到引領新人的目的(張開濤先生曾經寫博客系列文章也是這個目的),固然了,若是時間比較寬裕的話,能夠告訴他問題的緣由和解決思路;

 

(4)知識系統化。我認爲不管學什麼編程語言和框架都須要系統化地去學,像好比HelloWorld這樣的例子,基本上都能學會,有很多朋友僅僅知足於拿這個技術跑起來一個簡單的例子就表示本身已經掌握了這門技術,就再也不繼續學習下去了,除非公司真正的要用到時纔去比較系統的去學一下。

好比曾經的我就是如此,曾經的我Python和Node.js我都學過,可是如今的話,留下的只有Node.js,Node.js仍是由於最近對Settings-Sync插件二次開發的時候纔去比較系統地去學習。知識系統化的目的在於讓本身所儲備的知識樹更加紮實穩定

 

(5)讓思路更清晰。寫做的同時也是理清思路。特別是開發過程當中,思路清晰很重要,思路不清晰基本上等於無用功。

 

寫博客的好處不少,這裏就不一一說了。寫博客,堅持很重要。寧肯不寫也不能敷衍了事。

 

有朋友說有了家庭有了小孩哪有那麼多時間來寫這些呢?

我對此的回答是:按期總結很重要,能夠不那麼頻繁。好比單身的時候天天寫一篇兩篇或者是兩天篇之類的頻率,有了女友而後到結婚再到有了小孩能夠根據本身的時間進行合理安排。不過堅持,本人認爲很重要,千萬不能三天打魚兩天曬網。記得我剛開始寫博客的時候,的確以爲好難寫,另外也以爲網上明明就有現成的答案,我何須屢次一舉呢。關於剛剛開始寫以爲很難這個問題,萬事開頭難,這是確定的,聯想到廣大的小夥伴們在校學計算機時,特別是從農村出來的朋友們(這裏不是歧視),哪個學計算機又是輕鬆的呢?寫博客亦是如此。

 

關於有人說,我文采很差我寫很差怎麼辦?

我對此的回答是我文采也很差啊。寫博客的主要目的是讓本身總結和記錄而非必定要在此中展現文采。其次在寫多的前提下,慢慢讓文章具備條理性,而後分享給廣大的朋友們。至於文采方面,放眼古今中外又有哪個天生就寫的一首好文章的呢?也許有,但我不知道。

 

回到一個原有的問題上來,爲何要有一個本身的博客?

緣由有這麼幾個方面?

第1、安全感。時代老是在變,誰也不能保證今天的東西,明天不會淘汰(好比曾經的雅虎是多麼的風光,而今早已不復當年勇了或者更糟糕地像AT&T煙消雲散)。

第2、利於學習。我想從學習的角度來講,我作過很多項目,發現不少項目與我之前在學校的時候作的博客本質上差異並不大,好比權限管理、內容管理等。權限管理又能夠有角色、菜單、組織部門、總公司和分公司等。內容管理又能夠包含客戶信息、人力資源管理、財務報表、商品管理、醫療管理等。而這些其實均可以在博客系統裏面進行復現。寫一個博客系統,不只僅是提升本身的實踐能力,同時也是在提升項目認知。

第3、提升影響力。好比阮一峯先生的博客就是一個很好的證實。固然了,還有不少知名博主。關於這個影響力的好處我就很少說了。

 

關於搭建本身的博客,目前有這麼幾個平臺能夠輕鬆搭建?

(1)GitHub。好比個人GitHub博客平臺是使用Hexo,地址爲:

https://developers-youcong.github.io/

 

(2)WordPress。WordPress的名氣就很少說了。記得GitHub裏面的一個開源項目Jeecg的插件開發我以爲其就是參考WordPress的。

關於WordPress平臺搭建也能夠參考個人這篇博客:


Ubuntu16.04搭建WordPress:

https://www.cnblogs.com/youcong/p/9309197.html

 

CentOS7搭建WordPress:

https://www.cnblogs.com/youcong/p/9240603.html

 

(3)Jekyllt。關於Jekyllt須要搭建對應的Ruby環境。不過我沒有搭建過,更多能夠參考其官網。

 

(4)本身動手豐衣足食。能夠選擇本身寫,編程語言能夠是Java,也能夠是Node.js或PHP。最近本人本身就在寫,固然了,寫也不是徹底沒有參考的,當初在學校的時候,主要是參考像CSDN、博客園等這樣的。如今寫的話主要仍是站在巨人的肩上,好比我如今主要參考系就是WordPress。之因此寫博客也是爲了實踐本身看的書,好比像分佈式存儲之類、高併發等。我一直就不喜歡背那些面試題,由於不理解的話根本記不住,只要理解的話,基本很難會忘記。

 

關於上述平臺除了GitHub以外,其它都須要你本身有一個服務器才行。

關於服務器你們能夠去阿里雲或者騰訊雲、百度雲都行。

也許有人說,我不會Linux。我對此的回答是不會能夠去學。在上學時期的時候一篇文章對我印象深入,文章這樣說,「愛看書的青年,大能夠看看本分之外的書,即便和本業絕不相干的,也要泛覽。譬如學理科的,偏看看文學書,學文科的,偏看看理科書,看看別個在那裏研究的,到底是怎麼一回事。這樣子,對於別人,別事,能夠有更深的瞭解。在博的基礎上,要漸擇而入於己所愛的較專的一門或幾門。

這句話聯繫到我這位開發工程師身上,個人感觸以下:

我以爲做爲一名軟件開發工程師,不只僅侷限於軟件這一塊,同時也要關注其餘行業並結交其餘行業的朋友,固然了,在此過程當中,仍是得讀讀書。

 

再說句行內話,我以爲像作後端開發,好比Java不只僅要把後端作通,在足以勝任後端工做的前提下(這個勝任不只僅表示你可以把活幹好,同時也表示着你多少知道一些框架方面的底層實現),也能夠去學學像微信小程序、安卓開發之類的。

而安卓方面則也能夠對學學Java相關的,好比安卓就是基於Java語言。再好比像處於中小公司的開發人員通常身兼數職,作後臺的每每也兼任前臺,前臺通常用前端框架(好比vue、angular、react或者是jQuery、BootStrap、AdminLTE、Metronic等)。不過這些框架的基礎就是網頁三劍客(HTML+CSS+JavaScript)。

通過這一圈你會發現技術本質上區別並不大。也許我工做年限不長說這句話有點狂妄了點。以我18年學Python、Node.js、Perl、PHP等來講,基本上不少都是相通的。固然了,我也不建議東打一拳西打一拳的學習方式。由於很是浪費時間,效率又低。學習最有效的方式是帶有目的性,好比我想用SpringBoot+SpringCloud/Dubbo+PostgreSQL寫一個簡單的CMS(其實傳統Servlet+JSP+JDBC就能作這些,我之因此這樣作是由於加深感性認識,這個感性認識,不只僅包括你知道它是個什麼玩意,怎麼用它,同時也包含遇到問題如何解決的)。我以爲通過以作一個項目的方式做爲學習導向比漫無目的的寫HelloWorld或者是看書效率要高不少。

 

2、爲何要讓本身的GitHub活躍起來

關於爲何要讓本身的GitHub活躍起來,理由以下:

(1)GitHub不只僅是一個倉庫,也是一個開發者的歷程;

(2)一個良好的GitHub,能夠爲你的應聘加分或者是會有一些企業主動聯繫你;

 

針對(1),爲何說GitHub不只僅是一個倉庫,也是一個開發者的歷程?

有句話叫作GitHub寫滿你的故事,每位開發者都是從0到1,而後從1到無窮大。

而GitHub就能夠充當見識人,每當我翻閱本身之前的GitHub,看到本身的編碼風格從雜亂無章到漸漸有序,看到本身的學習能力從依賴性或他人驅動性到獨立自主和自我驅動,看到一個一無所知的人慢慢變的知識淵博。

針對(2),爲何一個良好的GitHub,能夠爲你的應聘加分或者是會有一些企業主動聯繫你?

咱們經理在招聘的時候經常說的一句話之一就是請貼出你的GitHub,之因此這麼說,緣由與(1)不無關係。

 

那麼如何讓本身的GitHub活躍起來呢?本人有以下幾點建議:

 

(1)能夠在GitHub上利用Hexo搭建一個屬於本身的博客,關於搭建Hexo博客能夠參考個人這篇博文:

https://www.cnblogs.com/youcong/p/9965885.html

 

(2)平時有意識的收集本身經常須要閱讀的資料,將其上傳到本身的GitHub倉庫。我會本身認爲比較重要並時常須要閱讀的資料上傳到個人GitHub倉庫,地址爲:

https://github.com/developers-youcong/Personal-Learning-Library

 

 

(3)開發過程當中經常用的腳本或者是腳手架也能夠放到本身的GitHub上,這樣一來省的本身在寫,雖說能夠記錄成一個文檔,可是本人以爲仍是放在GitHub上好一些。另外關於腳手架,好比像SSM框架+SpringBoot+SpringCloud這種的,雖然有些IDE能夠一會兒生成,可是我的以爲一會兒生成的並不必定適用於你的,好比像SSSM框架+Shiro+Solr+MySQL+Metronic+經常使用的數據表,徹底就能夠做爲一個腳手架,由於很多企業都在用它,每次搭建框架環境時,只需git clone下來便可,基本上就能夠用了。就像下面我記錄的讀書筆記那樣,要最大程度上覆用第一次從0到1的結果,而不是從頭再來。說實話這一點我在這家公司作的不是特別好,雖說開發前端,基本上就是看到一些好的網站就將其扒下來爲我所用,可是以爲效率仍是不高。

 

(4)記錄本身的讀書筆記,譬如像教材類的書必定要記錄詳細筆記,好比《Java數據結構與算法》之類的(關於這本書能夠去個人GitHub找到),在GitHub上通常都是使用Markdown來寫,我我的初次寫的時候很不習慣Markdown,後來寫久了發現,以爲愛上Markdown。再譬如像一些非教材類的能夠記錄一下本身的心得和體會,又或者裏面某些觀點給你的啓發。

 

(5)工做一年以上的朋友基本上工做上都能搞定了,在此過程當中爲了提高本身,好比你想要系統學習SpringCloud,你能夠參考官網,並在GitHub上添加對應的倉庫,在此基礎上系統學習。好比像這位朋友那樣,如圖所示:

 

 

 

該SpringCloud教程地址爲:

https://gitee.com/ylimhhmily/SpringCloudTutorial

 

這裏我想強調一點的是不必定將人家的copy下來,畢竟SpringCloud版本不斷迭代中,你能夠選擇適合當下的穩定版本進行學習不必定非要標新立異追求最新版本的,而後放到本身的GitHub上,例子跑起來是必要的,同時也要記錄一下筆記,好比你一開始你不熟悉它確定會遇到一些錯誤,這些錯誤的緣由是什麼,你是如何解決它的,這些均可以記錄在對應的README.md文件裏面。這種學習方式其實就至關於實踐+理論。記得一位前輩說過一句話,理論不懂就去實踐,實踐遇到問題就去看理論。

 

(6)本身發起一個開源項目,好比你以爲CSDN或者博客園在某些方面作的不夠好,你能夠寫一個比它們更好的。我就以爲目前博客有一種很是很差的就是不能同步,好比我在CSDN上發佈能夠直接同步到個人博客園上或是思否、簡書上。固然了,他們這麼作的緣由應該也是處於防止大量重複文章佔用搜索資源吧。關於這個我以爲百度應該像Google學習,之因此不少開發人員用Google最大的緣由就是由於一般搜索關鍵字,排名靠前的都是一些優質資源,反觀百度,商業化太嚴重了。另外補充到本身發起一個開源項目,這個開源項目能夠是從0到1,也能夠不從0到1,好比能夠學習Hutool的思想,Hutool這個開源項目實際是一個Java經常使用工具包集合,開發經常使用的都能在裏面找到。咱們能夠參考它,本身也能夠發起一個相似的項目,由於Hutool雖然廣而齊全,可是並不能涵蓋方方面面,好比在我如今這家公司比較適應,可是在我一些朋友的公司並不適應。因此在此我想說的是,每待一家公司不只僅要將對應的業務吃的透一些,同時也要有意識的將一些經常使用的工具類收集起來。這也是未來跳槽面試的一個亮點之一。這個庫一開始你能夠私有化,當相對成熟些你能夠將其公開分享給廣大的開發者們。

 

(7)記錄本身讀源碼的過程。我嘗試過讀Spring源碼,按着Ctrl鍵,鼠標點進去再點進去發現這樣讀下去沒有盡頭啊。說帶有某個目的去讀,效果雖然會好些,可是我以爲有種方式會更好,那就是好比像咱們Java開發的,日常寫代碼的時候也要有意識的翻翻源碼,特別是遇到問題的時候並將問題解決的時候,經過查看源碼看到裏面的實現,這樣下來,天天看一點點,積累一年或者半年,再或者三到四個月你會發現很多庫的源碼你都能看的懂了,不少實現機制你會發現都有不少相通點。關於這一點我並無實踐過三到四個月,目前我僅僅只是開始,可是個人一個導師實踐過。

 

3、天天給本身一點學習的時間

如今不少人都很焦慮,所以知識付費很火。前面我說過知識付費不乏有好的。可是大多並無那麼好,主要抓住的是人焦慮的心理。

爲何焦慮呢?

主要是壓力大(這個壓力主要的來源於生活與工做)其實說真的,我也很焦慮,一是我給本身定了不少目標我想迫切地讓其實現,二是我沒有安全感,我總想讓本身變的更增強大。

 

可是隨着而來,焦慮也逐漸加劇,漸漸地致使我失眠。後來我找到了一種比較好的方法,那就是天天給本身一點學習的時間。

這個學習的時間能夠是寫代碼,也能夠是看書,也能夠是品味一段輕音樂讀上一首優美的詩歌感覺詩歌的情形。

 

天天給本身一點學習的時間,這個學習的時間並不等於就是每次下班回到家中看書或者是寫代碼之類的,而是天天讓本身有一點收穫。

 

焦慮的根本緣由在於本身停滯不前擔憂後面的人超過本身或者是前面的人原本與本身的距離是望其項背,最後變成了可望不可即。

 

針對此,最好的策略就是天天讓本身進步一點點有所收穫。好比最近我VsCode插件某段代碼不嚴謹,一位同事指出了個人這個錯誤,因此我決定下次再也不出現這種錯誤。再好比最先個人代碼註釋寫的很隨意,也是個人那個同事指出的,所以到如今爲止我無論怎麼樣,都要讓本身代碼嚴謹起來。也許是由於以前養成了一個很差的習慣,有的時候嚴謹點,有的時候不那麼嚴謹。從換位思考的角度看,嚴謹的代碼,簡單扼要的註釋,不只僅對本身有幫助,同時也對同事閱讀也是一種賞心悅目。

 

另外分享一下最近閱讀吳軍先生《見識》的閱讀筆記。

 

1.不作僞工做者

(1)那些既不能給公司帶來較大收益,又不能給用戶帶來價值改進和「升級」,不少都是僞工做。

(2)有的人明明可以經過學習一種新技能更有效地工做,卻恰恰要守着過去的舊工具工做,甚至手工操做,這種人就是典型的僞工做者。

(3)在作事情前不認真思考,作事時經過簡單的試錯方法盲目尋找答案。

(4)作產品不講究質量、不認真測試,上線後不停地修補,老是在花費不少時間和精力找漏洞和打補丁。

(5)不注重用有限的資源解決95%的問題,而是把大部分時間和精力用於糾結不重要的5%問題。

(6)每次開會找來大量沒必要要的人員旁聽,或者總去參加那些沒必要要的會議。

 

2.努力一萬小時真能幫你成功嗎?

存在以下誤區:

(1)簡單重複。

(2)習慣性失敗(迷信失敗是成功之母,簡單地重複失敗是永遠走不出失敗的怪圈)。

(3)林黛玉式困境(活在本身的世界裏,排斥外界)。

(4)狗熊扳棒子(10000小時的努力須要一個積累的效應,第二次的努力要最大限度地複用第一次努力的結果,而不是每次都從頭開始)。

 

3.三板斧破四困境

(1)第一板斧:確立「願景-目標-道路」。

(2)第二板斧:即便聽到不中聽的話,也要試着找出其中的合理之處。

(3)第三板斧:凡是作記錄,這樣能夠避免狗熊扳棒子(從中正好體現寫博客的好處之一)。

 

4.作好最後的1%

這裏主要啓發的就是作事不能作一半。好比開發者們不要偷懶,該寫單測仍是要寫的。

相關文章
相關標籤/搜索