寫技術博客那點事

前言

寫文章是一個短期收益少,長期收益很大的一件事情,人們總是高估短期收益,低估長期收益。往往是很多人堅持不下來,特別是寫文章的初期,剛寫完文章沒有人閱讀會有一種挫敗感,影響了後期創作。

從某種意義上說,博客是我最好的學習筆記和個人名片。在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,歡迎免費試用!

最後打個小廣告,如果你想了解前端的重難點、常考面試題和新知識等等,可以關注我的公衆號「前端工匠」,一週兩篇原創優質文章,旨在用通俗語言帶你入門!
寫技術博客那點事

參考文章及書籍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章