技術寫做技巧分享:我是如何從寫做小白成長爲多平臺優秀做者的?

我從事技術寫做的時間其實不長,開始寫做的時間就是我掘金帳號註冊的時間:javascript

image-20210219170755430

到今天(2021年2月23日)也就是一年零一個月,這一年的收穫是超過個人預期的:前端

  1. 產出博文四十多篇,總共數十萬字
  2. 掘金優秀做者,掘金年度人氣做者No.27
  3. 思否2020年度"Top Writer"萬粉專欄做者
  4. 開源中國優秀源創做者,源創計劃年度活躍博主 Top20

本文想對這個歷程作一個回顧,並分享一下我總結的寫做技巧以及推廣策略。java

爲何寫做

在寫做以前想清楚爲何寫做很是重要!由於你最初的想法會決定你往哪一個方向去寫,寫出的內容的質量怎麼樣。git

我寫做的緣由很簡單,就是我前端作了幾年了,大部分時間都在寫業務代碼,技術上一直沒有太大的突破,最多也就是換個框架,換個UI庫,換來換去始終感受似曾相識。爲了避免讓幾年工做經驗成爲「第一年工做經驗的複製品」,我決定再深刻,系統的學習下前端知識。因此對於我來講,寫做是個人學習方法,個人首要目的是學習知識,寫做帶來的社區聲望只是附帶的,有了固然好,沒有也不必刻意去刷。github

「爲學習而寫」與「爲刷聲望而寫」

根據個人觀察,社區上的做者寫做目的主要分爲兩種:「爲學習而寫」與「爲刷聲望而寫」。面試

大部分厲害的大佬其實都是「爲學習而寫」,就是他們看到什麼好玩的,新奇的技術,去學習了,天然而然的總結出文章。或者以爲某個知識點你們很容易搞錯,想輸出本身的觀點,幫你們避坑,就將本身的看法寫成文章,這個過程做者雖然更多的是在輸出內容,可是寫做的過程其實也會強化做者本身的理解,其實也是一個學習方法。我我的認爲「爲學習而寫」寫出的文章纔是正道,是社區良性發展的方向。編程

固然也有少部分做者想在短期內獲取更多關注而刻意的去迎合讀者口味,也就是「爲刷聲望而寫」。比較典型的一個例子就是,掘金曾經在某段時期被大量的面試題彙總佔據。你們出去面試了回來分享下心得實際上是好事,可是刻意的去搜集面試題,類似的內容發了一遍又一遍,裏面的答案甚至仍是錯的,會致使社區愈來愈功利,低質量面試題霸版,高質量技術文章反而沒機會展現,從而形成劣幣驅逐良幣的現象。我記得那會兒有個做者靠反覆發麪試題,短期就刷了三四千掘力值,眼看就要到「優秀做者」了,結果被一個社區大佬懟了,而後就沒怎麼露面了。這樣,前面刷的幾千聲望不是都白費了嗎?後來掘金官方也整治了低質量的面試題文章,如今的狀況已經好多了。segmentfault

因此我說,寫做前想清楚「爲學習而寫」與「爲刷聲望而寫」很重要,若是是「爲學習而寫」,那就能夠寫出本身的心得體會,寫出高質量文章,若是單純是「爲刷聲望而寫」,可能短時間會有點收益,可是也有可能會被大佬懟,被官方整治,前功盡棄。設計模式

寫什麼

在這個「系統學習計劃」開始以前,我其實沒怎麼寫過技術文章,甚至都沒怎麼逛過技術社區。平時若是須要學習一個東西,好比學習React,那我會直接去它的官方網站,把它的文檔所有讀一遍,如今這些流行庫的文檔都寫的很好,看一遍基本就能上手了。若是看完了仍是不太知道怎麼用,那就去公司看看有沒有項目用過,公司沒用過,就去GitHub上找找,而後抄抄改改就能上手了。這個過程通常也就幾天,複雜的庫最多也就一兩週就能上手。使用的時候遇到問題就用Google搜,基本都會找到Stack Overflow上,答案拿過來一用就行。性能優化

前面幾年個人工做模式基本都是這樣的,這樣應付工做也沒啥問題,可是第一年是這樣,第二年是這樣,第n年仍是這樣。。。就成了「一年工做經驗複用n年」,成了名副其實的「API工程師」,作項目沒問題,問原理似曾相識,可是卻說不太清楚。若是一直這樣,技術就會一直原地踏步,在現單位很容易被替代,出去找工做也可能會四處碰壁,或者找來找去找到的始終跟當前的差很少,很難實現大的突破。

我感到,我碰到瓶頸了。我想突破這個瓶頸,可是我不知道怎麼作!在沒有具體方向的時候,就看看手上能作啥吧,從簡單的,可見的開始作。因而,我決定,我要重頭整理本身的知識框架,把那些只是似曾類似的技術,原理所有吃透,因而我從網上找了一份「前端知識架構圖譜」,決定按照裏面的提綱,所有從新學習一遍。只是我再次學習不能是簡單的看看書,看看博客,看看視頻就好了,這種事情我之前幹過了,做爲一個有幾年工做經驗的前端,我對本身有更高的要求:全部學過的知識點,必須本身所有寫成文章進行鞏固;全部框架的學習,必須學到原理或者源碼層面

因此,「寫什麼」這個問題的答案已經有了:學習前端知識架構,將學習過程寫成文章

怎麼寫

上面說了,我其實並無什麼寫做經驗,我最近一次寫做是大學論文,再往前就是高中做文了,寫做水平其實不咋地。可是技術寫做跟普通做文不同,通常不須要華麗的辭藻,更重要的是要把問題講清楚,看技術文章的讀者須要的是學習技術知識,而不是看風花雪月,因此技術文章的邏輯,層級遞進,由淺入深,好理解其實更重要。我剛開始時也不知道怎麼寫,也是在不斷寫做工程中,一邊寫,一邊總結,總體來講,我本身的文章其實都分了好幾個階段:

  1. 就是記個筆記
  2. 有本身理解的知識點解析
  3. 深刻源碼,探究原理
  4. 從工做中總結

就是記個筆記

從小學開始,老師就會讓你們記筆記,你們應該都會,這也是最簡單的切入點。我剛開始的時候,不會寫文章,寫的基本都是筆記,好比各類CSS居中方案,這就是我在其餘地方學的,而後把他記錄下來,也就是個筆記而已。對於「CSS居中」這種問題來講,面試問爛了,網上資料也是一大堆,這篇文章也沒什麼出彩的地方,因此關注的人很少。其實對於「筆記型」來講,獲取關注少是很容易理解的,由於你寫的東西是筆記,也就是說你也是從其餘地方學來的,整個文章的思路其實也是人家的,若是本身記筆記的水平不高,可能寫出來的效果還不如原文章。

有本身理解的知識點解析

在寫了一些「筆記型」文章後,我發現效果很差,不只僅是沒什麼人關注,甚至對本身幫助也不大。常常是寫了沒多久就忘了,須要的時候還要回過頭來看看筆記,我開始意識到,這個現象的本質是,你寫的東西是筆記,核心思想都是人家的,或者是本身東拼西湊的,整篇文章沒有本身的邏輯,沒有本身的看法。因而,我開始嘗試在文章中加入本身的看法,當時正好組內有小夥伴對「JS原型鏈」理解的不是很透徹,網上雖然有不少相似文章,可是不少都是從表面來解釋「原型鏈是什麼」,畫的圖也很複雜,不是很好理解。因而我嘗試本身寫一篇原型鏈的文章,由於我知道他能夠實現「面向對象」的特徵,這是不少其餘文章都沒怎麼提的,但倒是設計者最初可能想要實現的效果,因而我類比Java的面向對象,從面向對象的角度講述了原型鏈的做用以及他存在的意義,就是這個:輕鬆理解JS中的面向對象,順便搞懂prototype和__proto__。這篇文章上了掘金首頁推薦,最終得到了兩百多贊,一萬多閱讀,這讓我開始意識到,「有本身理解的知識點解析」在掘金可能更受歡迎。

在這以後,我開始有意識的在整理知識架構時加入本身的看法。那對於一個知識點,怎麼產生本身的看法呢?這須要在學習時多問本身幾個問題!好比,學習HTTPS時,除了跟你們同樣搞清楚HTTPS的加解密流程,握手過程外,我問了本身一個問題:「HTTPS有沒有可能被破解?假如我是個黑客,若是我想破解HTTPS,有哪些方法和途徑?」帶着這個問題,我從「破解HTTPS」的角度講述了HTTPS的原理,這篇文章也上了推薦,得到了一百多贊和好幾千閱讀:RSA初探,聊聊怎麼破解HTTPS

嚐到點甜頭後,我更加註意在學習中反問本身問題,加入本身理解了。有時候在學習別人的東西時,我發現了別人沒發現的一些點,也能夠從這個角度加入本身的獨到看法,寫成本身的文章,好比某視頻課程在講述JS的事件循環時說:「setImmediatesetTimeout先執行」。聽到這句話,我敏銳的感受不太對,由於我曾經遇到過setTimeoutsetImmediate先執行的狀況,可是具體是啥狀況我一時想不起來。因而我花了點時間把這個問題和原理完全弄清楚了,並寫成了本身的文章:setTimeout和setImmediate到底誰先執行,本文讓你完全理解Event Loop。這篇文章最終也得到了一百多贊,大幾千閱讀~

深刻源碼,探究原理

JS知識體系雖然龐大,可是終究是有限的,很快我就寫了十幾篇JS的文章,內容包含了內存管理,深淺拷貝,面向對象(原型鏈),this指向,事件循環,變量類型,做用域等等。這些已經囊括了JS的主要知識點,JS上我已經很難找到新的寫文章的點了。

因而個人文章內容開始轉向我使用的框架,這幾年我主要使用的React技術棧。因而我準備從新整理學習React技術棧,固然不是學習他的用法了,畢竟我用了幾年了,用法早就熟悉了,此次我要學的是他們的源碼和原理。源碼和原理相對於JS知識和框架使用方法來講要可貴多,受衆也小的多,對於讀者來講也很難產生直接的收益。由於讀者可能看個JS知識點,出去面試就能應付大部分的JS面試了,除了些大廠外,也不是每一個公司面試都會問源碼,並且這些受歡迎的開源庫是各位大牛努力寫做的成果,裏面匯聚了各類JS的高級用法,各類高級編程思想和設計模式,因此即便我儘可能寫得深刻淺出,層層遞進,相較於其餘文章來講仍然會顯得更加晦澀難讀。因此這類文章在掘金得到的贊和閱讀並不可觀,我大量的源碼解析都只有三四十個贊,這裏面還有一半左右是我厚臉求朋友同事們點的(這點我後面在講推廣的時候會說)。

對於做者來講,寫源碼類文章須要去讀框架源碼,也會很花時間。我寫一個JS知識點的文章,由於東西都是我熟悉的,可能幾天就搞定了,寫完了還會有上百的贊。可是一個複雜框架的源碼解析,好比Express.js,我須要一點點的去讀,去調試源碼,成文可能須要兩三週,寫完後可能仍然只有三四十個贊。從社區聲望增加這個角度來講,性價比極低!可是我一直沒有放棄這類文章,甚至如今成了我主要的寫做方向。爲何?由於人總要突破本身的溫馨區,探索未知的領域,最終才能學習到東西,得到成長!這其實回到了文章開頭就提出的問題:「你爲何要寫技術文章?」對於我來講,這是我學習的途徑,因此若是這個過程我可以學到東西,可以感覺到成長,我就會堅持去作,即便他在其餘方面性價比很低!另外個人源碼類文章雖然在掘金反響不是很好,可是在其餘平臺,好比思否,還能夠,因此其實也是有回報的。

好了,說了這麼多爲何要寫源碼解析,如今來談談怎麼寫源碼解析。前面說了,在我從事技術寫做以前,我基本不懂源碼,是名副其實的「API工程師」,那會兒我也是一提到源碼就心慌,徹底不知道從何下手。後來我忐忑的打破本身的心理障礙,屢次嘗試以後找到了一個看源碼的套路。其實再🐂的框架或庫本質也是JS代碼,因此咱們能夠用一種簡單質樸的方法去讀,這其實也是你們常常在用的方法。想象這樣一個場景,大家公司一個運行好久的項目出了點問題,你領導讓你去調查下。因爲這個項目你以前沒有參與,如今貿然叫你去解決BUG,你是否是要先反覆復現問題,而後找到相關的代碼塊,調試這些代碼並找到BUG緣由,而後將它修復。看源碼的時候咱們徹底能夠用相似的思路去看,先縮小範圍,只看這個庫的核心代碼。好比Koa.js核心用法其實只有這麼點:

const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {
  ctx.body = 'Hello World';
});

app.listen(3000);

你就把它當成你如今須要接手的老項目,爲了弄懂他的運行邏輯,看看這段代碼裏面他暴露了哪些API,而後一個一個去調試下就好了。就上面這幾行代碼而言,其實只有三個API:

  1. Koa
  2. app.use實例方法
  3. app.listen實例方法

花點時間去源碼裏面找到這三個API,並看看他們是怎麼實現的,在看的時候,把主要邏輯剝離出來,本身實現一遍,同時把整個過程記錄下來。等你把這三個API實現都看懂了,其實一篇源碼解析的文章也就出來了,同時還能夠產出一個迷你版Koa手寫Koa.js源碼

從工做中總結

其實不少公司都不是技術驅動的,技術只是實現業務的一個手段而已,這就形成不少公司的一個項目都是從另外一個項目抄抄改改就能用,不少人(包括我)在這種環境下待久了,慢慢就成了「API工程師」,最熟悉的實際上是CV大法。可是每一個公司的業務其實在某方面都有本身必定的獨到性,否則也活不下來,在實現這些比較複雜的業務時,有時候咱們也會用一些比較有意思的方法,有時候咱們可能花了不少時間去實現他,可是事後又慢慢淡忘了。其實對於這些有必定技術含量的工做,咱們也能夠總結下,而後寫成文章,慢慢沉澱下來成爲本身的技術。我就從工做中總結了三篇文章,有的反響還不錯:

  1. 速度提升幾百倍,記一次數據結構在實際工做中的運用
  2. 使用mono-repo實現跨項目組件共享
  3. 歪門邪道性能優化:魔改三方庫源碼,性能提升幾十倍!

推廣

有句俗話說:「酒香不怕巷子深」。可是這個並不適用於如今的互聯網時代,互聯網時代是信息爆炸的時代,若是沒有適度的推廣,即便你的內容很好,最終也會淹沒在信息的洪流裏面。好內容的推廣對於社區,讀者和做者來講實際上是三贏的。

對於社區來講,若是有大量優質內容提供給讀者,口碑就會很好,讀者會願意長期待在這個社區學習,並可能會主動推薦給朋友。因此不少社區的編輯很大一部分工做就是主動發掘好的內容,並推送給更多的用戶。

對於讀者來講,好內容的推廣能夠學習到更多東西,而不是成天被一些低質量內容霸屏。

對於做者來講,好內容的推廣能夠得到更多關注,更多的社區聲望,激發創做熱情,從而造成正向激勵,產出更多高質量內容。

可是推廣有一個很大的前提:推廣的內容必定要是高質量的內容,否則會起反效果

因此個人技術寫做,我也嘗試了多種推廣方式和渠道,不一樣的方式效果不同,我用過的方式主要有:

  1. 各類QQ羣,微信羣分享
  2. 找朋友,同事幫忙點贊
  3. 找社區編輯幫忙推薦
  4. 多平臺發佈
  5. 文章相互引用
  6. 運營微信公衆號

下面就這些詳細講述下:

推廣的前提是高質量

在推廣以前,必定要確保你推廣的內容的質量,至少要是你用心寫的,也許你如今只是一個初學者,寫不出高深內容,可是你寫的內容必定要是你用心寫的,要讓讀者感覺到你的誠意。若是隻是簡單的面試題拼湊,甚至裏面的答案都是錯的,你還拼命去推廣,你推廣的越多,只會讓更多人知道你寫的東西很差,沒誠意,可能還會被不少人留言懟。就像開頭提到的那個例子,若是一味的爲了「刷聲望」而去拼湊內容,大量推廣,你聲望可能會漲得很快,可是,同時也會讓大量的人知道,你寫的東西不行,沒誠意,甚至可能被大佬懟到不敢露面。

QQ羣,微信羣分享

我開始寫文章時喜歡寫完了就分享到一些QQ羣和微信羣,可是效果並很差。常常是分享到一個幾百人的羣,過一下子去看,閱讀量漲了幾百,可是贊一個沒有。。。固然也多是我早期的「筆記型」文章質量不高,因此獲贊很少,好比前面提到過的各類CSS居中方案,我就分享到過不少羣,最終有三千多閱讀,可是贊只有三十來個。。。因此我如今已經基本不亂分享了,收益過低,還可能被當成打廣告的遭嫌棄。

找朋友,同事幫忙點贊

這條主要是針對掘金平臺的,由於掘金的贊多了能夠升級,升到4級就是「優秀做者」,能夠自動上首頁。因此我在掘金髮布後,會分享給關係好的同事和同窗,由於關係很好,他們基本都會幫忙點個👍。可是這部分老鐵人很少,總共也就十幾個。

找社區編輯推薦

這實際上是效果最好的一個推廣渠道,能夠聯繫社區編輯,將寫好的文章連接發給他,編輯在審覈後,以爲能夠的會推薦到社區首頁,這會大大提升曝光量。以掘金爲例,通常我上首頁推薦的文章,至少都會有十來個贊,閱讀少說幾百上千。加上前面朋友點的贊,我一篇文章最少會有三十來個贊,加上閱讀量轉換的掘力值,一篇文章至少會有四五十的掘力值。有一段時間,我就以這個爲基準在那裏算:我再寫一百篇就能夠升4級了,哈哈😃 固然若是出了爆品,某篇文章得到了成百上千的贊,會大大加速這個進程。

其餘社區,好比思否,開源中國,找編輯推薦效果也是很是好的,他們有做者推薦羣,能夠聯繫編輯加羣,有好的內容就能夠發到羣裏求推薦。

多平臺發佈

中文社區其實仍是挺多的,我最開始是在掘金寫文章,可是粉絲最多的平臺倒是思否,我的粉絲將近兩千,專欄粉絲一萬多。因此你文章寫好後,能夠發佈到多個平臺,也許這個平臺不火的文章在另外一個平臺卻火了。目前對於我來講效果還不錯的平臺有:掘金,思否,開源中國和博客園,下面我就這幾個平臺的特色來細說下:

掘金

掘金最大的特點是等級制度,等級到4級能夠解鎖成就:掘金優秀做者,而後發佈的文章能夠自動上首頁,能夠大大提升曝光量。另外編輯也很負責,會主動尋找優質內容推薦到首頁,因此若是你持續輸出優質內容,篇篇被推薦也是有可能的。

思否

思否最大的特色是漲粉很快,由於新用戶在註冊思否時會推薦一些專欄和做者給他關注,若是你足夠活躍,就能夠進這個推薦列表。思否每一年還會評定「Top Writer」,每一年15人,由於名額少,因此比掘金的「優秀做者」還難點,若是被評上了「Top Writer」,會有一段時間的流量支持,漲粉更快,我評上後最多的一天漲粉上千。另外思否的技術團隊也很負責,有什麼問題在羣裏反饋了很快就能獲得回答,有時候CEO還會親自回覆👍。

開源中國

開源中國流量也不錯,若是被推薦上首頁,至少會有一兩千的閱讀。另外在他的博客站點首頁還有個「精彩博客」欄目,若是出如今這裏,能夠掛很長時間,下圖中這篇文章:速度提升幾百倍,記一次數據結構在實際工做中的運用是我1月6號發佈的,到今天,2月23號,一個多月了還排在這個欄目第一,單篇閱讀一直在漲,已經有4.7萬了。

image-20210222165101368

而一樣一篇文章我也發佈到過掘金,只有三十來個贊,效果很通常,因此多平臺發佈仍是有好處的,這個平臺不火,另外一個平臺說不定就火了。

博客園

博客園最大的特點是在發佈時能夠本身選擇上首頁,固然若是你質量很差,仍是可能會被編輯撤下來的,我之前就被撤下來過。由於能夠本身決定上首頁,因此博客園的首頁刷新很快,一下子就被淹沒了,因此單篇閱讀量不高,可能只有一兩百。可是若是你能得到編輯的特別推薦,出如今這個位置,流量仍是能夠的:

image-20210222170001673

我有兩篇得到過編輯推薦,最多的一篇有近萬閱讀,少的也有三四千,這個位置只能待一天,因此其實仍是不錯了。

另外,我還試過CSDN,知乎,騰訊雲社區等,由於效果不是很好,已經沒怎麼運營了。你們早期時能夠儘可能多發佈幾個平臺,而後看看哪一個平臺效果好就重點關注,效果很差的就能夠放棄了,由於運營平臺過多也會耗費大量精力,選性價比高的弄就行。

文章內相互引用

由於我寫的東西成體系,因此一篇文章B可能會用到之前寫的文章A的知識,那我就會在文章B裏面引用文章A,這樣讀者可能就順着去看文章A了。這樣有必定的效果,有時候好久前寫的文章會被點贊,就是這麼來的。

運營微信公衆號

我寫了一段時間後,會有朋友給我留言,但願轉載到微信公衆號,這種狀況遇到幾回後,我就在想,我爲啥不本身弄個公衆號,因而我就開通了一個公衆號進擊的大前端。據說微信公衆號還能賺錢,說不定我還能賺點外快,到目前爲止確實有一點點收入:

  1. 得到讚揚收入7元,其中5元是我老婆給的
  2. 得到廣告收入1.84元

這個收入還真是一點點😜,主要是由於我運營比較佛系,發的內容主要是原創,粉絲很少,新增粉絲主要是文章後面的廣告和其餘號主轉發帶來的。廣告我也只放了文末廣告,文中廣告都沒放,怕影響用戶體驗。

有一段時間我也想過要不要大力運營,天天轉發更新內容,可是天天發內容須要尋找稿子,審覈稿子,也須要很多時間。而我目前的主要精力在學習和原創內容上,就沒弄了,先佛系運營着吧。

總結

本文總結和分享了我這一年從事技術寫做的心得體會,對這一年進行了回顧,同時也但願給想往這方面發展的朋友提供一個參考。下面再對內容進行一個簡短總結:

  1. 從事技術寫做的目的最好是學習和分享,而不是單純的刷聲望。
  2. 寫做內容能夠是:

    1. 簡單的學習筆記:由於是簡單的記錄別人的內容,效果可能不是很好
    2. 有本身理解的知識點解析:有本身看法,也有必定難度,但又不至於晦澀難懂,受衆廣,在社區容易受歡迎。
    3. 原理和源碼解析:內容較難,受衆略小,在社區不必定受歡迎,可是對於本身的成長很是有用。
    4. 從工做中總結:注意總結工做中有價值的技術內容,而不是作單純的「API工程師」,在工做中完成技術沉澱,一箭雙鵰。
  3. 適度的推廣是社區,讀者和做者的三贏,可是推廣的內容必定要是高質量的,否則可能會起反效果,通常推廣手段有:

    1. 各類羣分享:效果很差,常常是閱讀量漲幾百,贊一個沒有
    2. 分享給朋友,同事:早期有用,能夠保底有幾個贊,可是數量畢竟有限。
    3. 社區編輯推薦:最有用的方式,能夠大幅提升曝光量,可是質量必定要過關才行。
    4. 多平臺發佈:寫了文章後能夠嘗試發到多個平臺,也許這個平臺不火的另外一個平臺火了。
    5. 文章內相互引用:有一點效果,可讓好久前寫的文章仍然得到少許曝光。
    6. 運營微信公衆號:聽說能賺錢,可是我佛系運營,目前總收入不到10塊。

最後感謝各位讀者的閱讀,點贊

感謝各位公衆號號主的轉發

感謝掘金,思否,開源中國,博客園等平臺的大力支持

大家的支持一直是我持續創做的動力

歡迎關注個人公衆號進擊的大前端第一時間獲取高質量原創~

「前端進階知識」系列文章源碼地址: https://github.com/dennis-jiang/Front-End-Knowledges

1270_300二維碼_2.png

相關文章
相關標籤/搜索