前言
寫文章是一個短期收益少,長期收益很大的一件事情,人們總是高估短期收益,低估長期收益。往往是很多人堅持不下來,特別是寫文章的初期,剛寫完文章沒有人閱讀會有一種挫敗感,影響了後期創作。
從某種意義上說,部落格是我最好的學習筆記和個人名片。在IT行業內,技術部落格是瞭解一個開發者最好的方式之一,特別是當你沒有一張足夠分量的文憑或者一段出彩的工作經歷時,你就應該沉下心來好好打磨自己技術,打造自己的部落格。往者不可諫,來者猶可追。從現在開始,養成寫技術部落格的習慣,或許可以在你的職業生涯發揮著不可忽略的作用。
作為一個一年多工作經驗的前端小白,本文並不是想炫耀自己在寫部落格這件事上,有多麼的出色,至少我從來不覺得!相反我想以我的切身體會來分享一些諸如如何去寫技術部落格,如何推廣自己文章,以及如何打造個人品牌的一些事。
一、寫技術部落格的收穫
仔細算來,我堅持寫部落格已經有15個月了,目前在掘金社群上,發表文章50篇,閱讀量11w+,點贊數6000+,在segmentfault社群上發表文章39篇,閱讀量5w+,點贊數3800+,Github部落格上發表文章50篇,800+star,150+watch,文章也曾被奇舞週刊、前端大全、前端之巔等知名公眾號轉載過,這裡並不是為炫耀這點微不足道的成績,只是想勉勵和我一樣默默堅持付出的朋友們----功不唐捐。
剛開始寫文章和大部分人一樣,最主要的目的有兩個:第一,記錄自己階段性的學習成果;第二,想多結識一些志同道合的人。不管是以什麼樣的目的開始的,只要堅持寫下去,就會漸漸感受到這件事所給你帶來的好處:
1.檢驗自己學習成果,加深對技術的理解
如果一件事情不能用通俗、簡單的語言說出來或者寫出來,證明你並沒有全面地掌握或者掌握的深度不夠。只有通過知識共享才能更好地發現自己在知識理解和掌握上的不足。
2.提高文字的表達能力
隨著我的閱讀量的增多,我對自己的文章的要求就越來越高,無論是文章質量還是給讀者的閱讀體驗上我都會花費心思去琢磨,經常在寫作過程反覆問自己,諸如“如何可以讓讀者更容易吸收我所寫的東西?”“如何表達更讓人印象深刻?”等等,此外我會藉助思維導圖工具xmind
和生成動態圖工具ScreenToGif
,因為影象比文字記憶牢固,視覺化記憶可以充分發揮優勢。
3.結交更多優秀的人,獲得更多內推機會
樂莫樂兮新相知,通過文章結交新朋友何嘗不是快樂的事!況且分享知識的同時還能幫助到別人,也會給人帶來成就感! 回覆讀者留言的時候,可以通過這種方式和五湖四海的技術人在一起交流。素未謀面,但神交已久這是件很酷的事!
4.打造個人品牌,提高業內影響力
自媒體時代,資訊高度流通,是個段子手都可能收穫一份事業。通過知識共享可以幫助自己找到更有價值的朋友和合作夥伴,從而協助你打造個人品牌。“讓別人知道你知道”,建立你的個人品牌,讓別人更願意跟你合作——傳遞和共享自己的知識是最簡單的方法,通過知識共享,可以促進人們對你的瞭解和信任,為個人發展開拓新的天地。當你有了足夠的名氣時,你會收到類似網站廣告,(付費)演講邀請,錄製視訊,出書等邀請和機會。
5.得到報酬(稿費/打賞/廣告費等)
堅持寫優質的文章會帶來稿費或者是打賞,雖說可能都是些小錢,但這也是正向反饋一種形式,會刺激你持續輸出。等到部落格幫你塑造了個人品牌後,這個東西會成為和你日常所做的工作同樣有價值,甚至超過你的本職工作。
二、如何寫出一篇受歡迎的技術文章?
1.全力找一個好標題
標題可以說是一個門戶的作用,是讓讀者瞭解到文章的內容主旨的一個標識。如果標題起得不好,就很難引起別人的興趣,更不必說高閱讀量了,即使是文章的內容質量很好。
標題確定下來後,要多查詢些資料,因為不同的人可能對同一個事物有不同的看法,所以通過閱讀和整理多個人對同一事件的描述可以讓自己更深刻,更多角度地理解這個問題,然後再結合自己的理解,就會理解的很快,也比較透徹。
2.明確目標和受眾
確定好標題後就需要確定你的目標讀者群體。瞭解你的讀者群體是極其重要的一步,他們是怎麼樣的人,有什麼背景知識(或者你希望你的讀者群體需要什麼知識),這些人需要什麼思維方式。這是極其重要的一步,最好是能夠把你對讀者的要求寫在文章的前面,這樣對你和讀者都有好處。瞭解目標群體就像產品經理了解目標使用者需求,切身體會到了才能做出好的產品。
3.有一個好的開頭結尾並且內容翔實
俗話說,巧婦難為無米之炊,事實上要想寫出一篇內容翔實的文章,高質量參考文章必不可少!以下羅列一些個人覺得不錯前端資料:
-
JavaScript Weekly,這是一份相當有名氣的英文週報,整理的文章質量都很高,如果你只想訂閱一份週報,那就是它了。
-
33 Concepts Every JavaScript Developer Should Know,這份資料講解了 33 個前端開發必須知道的 JS 概念,內容是英文的,網上有中文版。
-
前端精讀週刊,這是一份前端好文集合,每週都會更新,目前已經更新了 84 篇文章。
-
前端效能清單,這是一份前端效能清單,如果你需要優化一個專案的話,可以根據這份清單一個個來檢查優化項。
-
30-seconds-of-code,30 秒系列,很短的程式碼片段讓你瞭解一個知識點。
-
30-seconds-of-css,30 秒系列,很短的程式碼片段讓你瞭解一個CSS知識點
-
must-watch-javascript,這份資料包含了很多高質量的前端相關視訊,值得一看。
-
css-protips,通過這份資料你可以學習到很多 tips 來提高你的 CSS 技能。
-
奇舞週刊,每週都會整理一份不錯的中文文章合集。
如果想了解更多優秀的前端資料,建議收藏下前端英文網站彙總這個網站,收錄了國外一些優質的部落格及其視訊資料。
4.獲得反饋並進行迭代
我有一個毫無根據的理論,並且對此深信不疑:好文章都是慢慢打磨出來的。當有一定閱讀量後,跟讀者互動交流後,就會發現文章不足之處,此時就應該及時修改過來。等過了段時間,寫過的文章也應該經常拿出來溫習,此時可能能力較之前有所進步,看問題更深刻,覺得不滿意的舊文章也應該進行迭代!這樣,你的寫作能力才能迅速提高!
5.新增最後潤色:包裝,釋出和宣傳
三、關於寫部落格的幾個問題
1.什麼時候開始
每個人的心裡,有多麼長的一個清單,這些清單裡寫著多少美好的事,可是,它們總是被推遲,被擱置,在時間的閣樓上腐爛。
萬事開頭難,寫技術文章也是,很多人會在起步這個階段逗留很長的時間,你或許有這樣的疑問:開發人員技術到什麼程度才有資格去開通自己的部落格?種一棵樹的最好時機是十年前,其次是現在,開通技術部落格同樣如此。其實我一年前開始寫那些文章,現在再回頭看,便覺得當時寫得很差勁,對於那些不滿意的文章,可以等你能力提高了,再刪掉重新寫。所以非要等到是技術牛人,才有資格寫文章,然而恰恰相反,你可以通過寫文章來記錄自己成長軌跡,分享文章的同時,打造自己個人品牌,何樂而不為?
2.如何開始寫?
- 從模仿和重寫開始
對於一個新手想要一開始就寫出一篇高質量文章,往往會覺得無從下手。而我的建議是從模仿和重寫開始,雖然你可能還沒開始寫文章,但你一定閱讀過那些優秀的部落格文章,不妨先模仿那些優秀文章,學習如何給文章起標題的,如何寫開場白,如何闡述他們的觀點,以及如何總結的。通過模仿和重寫,你會漸漸培養起寫作的感覺,並且越寫越好的。
- 建議先確定主題,然後再根據主題查詢相關資料
根據主題來查閱資料,而不是根據資料來查閱主題。按照主題來閱讀,你會發現讀的時候不再是老老實實地一本書看完看另一本,而是非常頻繁 地從一本書跳到另一本書,從一處資料跳到另一處資料, 從而來獲得多個不同的人對同一個主題是如何講解的。通過對比不同資料,取其精華,去除糟粕,總結成文。
- 養成思考習慣
劉未鵬《暗時間》中提到:“你走路、買菜、洗臉洗手、坐公交、逛街、出遊、吃飯、睡覺,所有這些時間都可以稱為‘暗時間’。 我們可以充分利用這些時間進行思考、反芻和消化平時看和讀的東西, 讓我們的認識脫離照本宣科的層面。”
當思考和總結成為習慣之後,訴諸文字以及藉助書寫來進一步思考就變成了一件自然而然的事情, 就變成了一件“因為你在思考和總結從而必須書寫下來”的事情,部落格就變成了副產品。
3.寫部落格挺花時間,如何平衡工作和學習?
寫一篇高質量的文章確實很花功夫,為了可以讓讀者有所收穫,需要從內容,措辭,配圖,排版等多個方面下功夫,而這些地方都是需要花時間的。
其實我的大部分的部落格的初稿就是我的學習筆記,這主要包括看視訊學習或者看書做的筆記,有了這樣的初稿,寫部落格已經成功了一半。接下來你要做的事,就是如何將你所掌握的知識進行深度和廣度的延申,最後通俗易懂地講給別人聽。所以如果你不堅持學習,很難持續高產。
程式設計師可能是加班相對嚴重的一種職業。對於有工作的上班族來說,寫部落格就要善於利用小塊時間,也就是《奇特的一生》中所說的“時間下腳料”,比如利用中午休息時間,根據主題搜尋一些資料,做好前期準備。我一般一個禮拜時間才寫一篇文章,從來不是花個幾個小時一氣呵成,而是有時間就寫一部分,寫部落格對我來說是挺享受一個過程。
4.在哪個平臺寫
現在可以寫文章的地方太多了,所以選擇會有很多,反而讓人迷茫,哪裡才是技術人員真正的聚集地。我發現很多愛寫文章的技術人,首先會在一個平臺去寫文章,慢慢的在這個平臺積累了一些名氣之後,就會被各種編輯邀請或者是出於推廣的目的,會在各個熱門的平臺下去同步自己的文章,然後引流到自己的獨立部落格,最後開通自己的公眾號。
如果是寫作新手,我建議先重點選擇一個平臺,瞭解這個平臺的規則和技術氛圍,如果各方面都和自己比較貼切,那就選擇它寫作發表文章,平臺積累了一些名氣之後,再選擇開通自己的部落格。至於選擇什麼樣的平臺,個人覺得最好選擇支援 Markdown語法的平臺,這樣你就不必花心思調整文章的格式,在IT技術平臺中,個人最喜歡掘金和SegmentFault社群,兩者的技術氛圍都很不錯,只是前者比後者瀏覽量來的多!
- 掘金
- SegmentFault
- Github issues
5.如何推廣自己的文章?
好酒也怕巷子深,如今寫技術文章而且寫的不錯的人太多了,如果不太注重推廣的話,文章很快淹沒在知識的海洋中,閱讀量很小,繼而影響寫文章的動力和激情。就我個人而言,寫文章最大的樂趣就是和讀者互動交流以及他們帶來的反饋,如果閱讀量少了,我就會質疑自己文章是否對別人到底有沒有幫助,文章質量是不是很差?
到底如何推廣呢,第一需要研究清楚平臺的規則,熟悉規則,才能玩轉規則!接下來以SegmentFault社群為例,你應該仔細研究我們進一步改善了首頁的推送這篇文章,裡面詳細介紹瞭如何上首頁的一些條件:
當滿足上述一個條件的時候,這篇文章就會被推送到所有訂閱了相關標籤使用者的時間線上了。這又引出了另一個問題,那就是在撰寫文章時對標籤的使用,我們建議為了擴大你潛在的文章閱讀人群,第一個標籤最好選擇一個比較廣泛的技術標籤。
6.為什麼應該採用部落格的形式而不是雲筆記
上文我們提到,部落格源於自己的筆記,這裡可能會有不少人有疑惑為啥不直接在印象筆記來記錄筆記,而還要花心思來寫部落格?我認為採用雲筆記的侷限性如下:
- 記錄在筆記,更多的是為自己看,無法進行深入理解和研究
- 無法分享給廣大同行,不利於發現自己看待問題的不足和更有的見解
- 無法獲得類似知識變現,名氣提升等益處,更不用說打造個人品牌了
四、2018年文章列表(50篇)
過去一年,堅持寫部落格,陸陸續續寫了五十多篇,不乏有些不錯的文章,被一些前端知名公眾號轉載過,得到過別人的認可和讚譽,這讓我在寫部落格這條路一發不可收拾,越陷越深!現將所有文章歸納如下,希望對你們有些許幫助。
Vue全家桶
1.從頭開始學習Vuex
2.從頭開始學習vue-router
3.Vue2.0父子元件間通訊
4.Vue2.0自定義指令與例項的屬性和方法
5.Vue2.0資料通訊詳解
6.Vue2.0元件的繼承與擴充套件
頁面效能優化
1.頁面效能優化辦法有哪些
2.懶載入和預載入
3.函式節流和防抖
Javascript
1.深入淺出JavaScript執行機制
2.JavaScript預解釋是一種毫無節操的機制
3.JavaScript的資料型別及其檢測
4.JavaScript建立物件幾種形式
5.細說陣列常用遍歷的方法
6.淺拷貝與深拷貝
7.深入淺出Javascript閉包
8.你還沒搞懂this?
9.原型與原型鏈詳解
10.九種跨域方式實現原理(完整版)
11.Dom事件機制
12.JavaScript常見的六種繼承方式
13.JavaScript資料型別轉換
14.JavaScript執行緒機制與事件機制
15.前端模組化詳解(完整版)
16.瀏覽器與Node的事件迴圈(Event Loop)有何區別?
ES6
1.ES6核心特性
2.ES6陣列的擴充套件--Array.from()和Array.of()
3.非同步解決方案--Promise與Await
4.JS 非同步程式設計六種方案
5.ES6迭代器和生成器
CSS
1.實現三欄佈局的幾種方法
2.深入理解BFC
3.如何清除浮動
4.LESS即學即用
5.如何居中一個元素(終結版)
6.幾種常見的CSS佈局
7.關於響應式佈局,你必須要知道的
Http協議與資料請求
1.關於Http協議,你必須要知道的
2.關於Http協議一些重要概念
3.深入淺出HTTPS工作原理
4.Ajax原理一篇就夠了
5.Ajax請求後臺資料
6.fetch 如何請求資料
瀏覽器相關
1.從URL輸入到頁面展現到底發生什麼?
2.瀏覽器儲存
3.深入淺出瀏覽器渲染原理
4.深入理解瀏覽器的快取機制
web安全
1.常見六大Web安全攻防解析
工具
1.如何線上預覽 GitHub 專案
實戰
1.vue全家桶製作一個精緻的美團專案
五、2019年待寫文章計劃(暫定)
這部分寫作計劃參考木易楊大神的進階系列目錄,目前暫定以下主題,個人覺得這些都是前端重難點,有必要深入瞭解。
- vue深入系列
- react入門系列
- node入門系列
- webpack配置與原理系列
- 呼叫堆疊
- 原型與原型鏈
- bind、call、apply的實現原理
- 高階函式
- JavaScript設計模式
- Promise原理及手寫Promise
- 計算機網路概述
- TCP/UDP協議
- http2協議
- websocket
- 前端監控
- 效能優化
- 骨架屏實現
- Vue3.0新特性
- vue與react對比
- MVVM框架實現原理
- Diff演算法
- Virtual Dom原理
- 前端資料結構與演算法
六、後記
事實上,理解一件事並不難,難的是如何將一件事通俗分享給別人,並讓別人也有所收穫。我有個習慣,經常會翻看自己之前寫的文章,覺得不滿意,便會重新修改,這是我一直秉持的態度:文章的質量要比數量重要得多,每一篇文章,都是像是我的孩子,要認真對待!
上文中提到寫文章諸多好處,這裡友情提醒大家,千萬不要為了寫部落格而寫部落格,作為程式設計師,我個人覺得最重要的還是敲程式碼的能力,以及工作中解決問題的能力,千萬不要本末倒置,撿了芝麻丟了西瓜。
給大家推薦一個好用的BUG監控工具Fundebug,歡迎免費試用!
最後打個小廣告,如果你想了解前端的重難點、常考面試題和新知識等等,可以關注我的公眾號「前端工匠」,一週兩篇原創優質文章,旨在用通俗語言帶你入門!