手把手教你寫高質(zhì)量技術(shù)博客,畫圖工具,錄像工具,Markdown寫法

前言

寫博客是一件很有意義的事情,可以加深自己對(duì)技術(shù)的理解,可以結(jié)交更多的朋友,記錄自己的技術(shù)軌跡,而且分享可以讓更多的人從中受益,獨(dú)樂(lè)樂(lè)不如眾樂(lè)樂(lè)嘛。

但是要寫好博客也不是件容易的事,一是寫博客是長(zhǎng)期堅(jiān)持的過(guò)程,心血來(lái)潮寫個(gè)一兩篇并沒(méi)有什么意義,很多人寫著寫著就放棄了,二是寫博客需要自己用心去寫,一方面需要自己對(duì)分享的內(nèi)容很熟悉,鉆研得深,另一方面需要一些文筆和技巧,能把自己會(huì)的東西通俗得展示出來(lái)。

對(duì)于上面兩個(gè)問(wèn)題,第一個(gè)本文就不探討了,我主要探討第二個(gè)問(wèn)題,如何寫出好一篇文章,我將通過(guò)兩方面來(lái)探討:

  • 不斷學(xué)習(xí),培養(yǎng)鉆研精神,讓自己有東西可分享
  • 如何將會(huì)的東西,通俗得展示出來(lái)

我本身是一名Android程序員,所以我將以Android技術(shù)博客為例子,來(lái)講解如何寫好博客,其他行業(yè)的讀者也可以對(duì)照著寫。

一、不斷學(xué)習(xí),培養(yǎng)鉆研精神

為什么我會(huì)講鉆研精神,因?yàn)槟銓懖┛褪紫鹊糜袞|西可寫,那不然就是紙上談兵了,再好的寫作技巧也沒(méi)有用。而要想有好的東西分享出來(lái),自己就得多鉆研,對(duì)自己熟悉的領(lǐng)域砥礪深耕,讓自己成為行業(yè)佼佼者,而這一切都是很不容易的。

他人勵(lì)志的故事特別多,我就講一個(gè)自己的吧,讓大家見(jiàn)笑了。

我現(xiàn)在是個(gè)Android程序員,但是大學(xué)的專業(yè)是法學(xué),可能很多人都覺(jué)得這跨度也太大了吧,一個(gè)法學(xué)的文科生居然跑去寫代碼,其實(shí)我高中的時(shí)候理科就比文科好,當(dāng)初選法學(xué)只是覺(jué)得文理要雙修,只會(huì)理科的加減乘除會(huì)讓自己變得死板,即便現(xiàn)在我已經(jīng)從事程序開(kāi)發(fā)了,還是后悔當(dāng)初英語(yǔ)為什么沒(méi)好好學(xué),因?yàn)楹玫奈臋n都是英文的,語(yǔ)文為什么沒(méi)好好學(xué),因?yàn)閷懖┛投紱](méi)有條理,陳詞濫調(diào),所以多學(xué)點(diǎn)東西總是好的。

大學(xué)畢業(yè)后,同學(xué)都去考研,考公務(wù)員,然后去當(dāng)法官,檢察官,律師法務(wù)什么的,但是我本身還是對(duì)理科的東西感興趣點(diǎn),正好13年的時(shí)候移動(dòng)互聯(lián)網(wǎng)很火,于是我就去報(bào)了個(gè)培訓(xùn)班,開(kāi)始了自己的Hello world!

那時(shí)自己內(nèi)心是彷徨的,因?yàn)樽约阂稽c(diǎn)基礎(chǔ)都沒(méi)有,培訓(xùn)期間又沒(méi)有收入,之間兼職就剩3000塊錢,要管6個(gè)月,房租,吃飯,日用,每個(gè)月都過(guò)得很拮據(jù),租的房子10平米不到,吃飯全是自己做,因?yàn)檫@樣一天只需要8塊。家里的人也不支持,好端端一個(gè)法學(xué)生,干嘛去學(xué)程序,為此還跟家里人吵了一架。。。哎,現(xiàn)在回想那真是一生中最艱苦的半年。

在培訓(xùn)班里,就我一個(gè)外行,其他都是科班出身,我從第一行System.out.println開(kāi)始惡補(bǔ),經(jīng)常為寫好一個(gè)功能熬夜到兩三點(diǎn),我就記得那時(shí)候老師讓我們寫一個(gè)五子棋的項(xiàng)目,用Swing來(lái)寫的,一直寫到凌晨五點(diǎn),終于第二天交給老師看,全班就我寫出來(lái)了,而且老師把源碼展示給大家看,說(shuō)注釋寫得不錯(cuò),那是我進(jìn)班以來(lái)第一次受到表?yè)P(yáng),后來(lái)就一發(fā)不可收拾,經(jīng)常受到老師關(guān)注,學(xué)校也破例讓我直接跳到就業(yè)班,提前結(jié)束了培訓(xùn)。

現(xiàn)在回想起來(lái),應(yīng)該歸功于自己對(duì)程序的熱愛(ài)吧,讓自己有無(wú)限的動(dòng)力去鉆研,不把一個(gè)東西弄出來(lái)就不甘心,每次成功之后又讓自己信心大增,然后更有動(dòng)力去學(xué)習(xí),形成了良性循環(huán)。

后來(lái)到了第一家公司,接觸的是跨平臺(tái)開(kāi)發(fā)工具Xamarin,用C#寫,用Mac開(kāi)發(fā),用Git管理代碼,靠!又是一堆搞不懂的東西,畢竟學(xué)校用的Eclipse+Java+Windows開(kāi)發(fā)的,代碼管理?壓根沒(méi)聽(tīng)說(shuō)過(guò),于是學(xué)C#,學(xué)Mac命令,學(xué)Xcode,學(xué)Git,經(jīng)過(guò)瘋狂補(bǔ)腦,不到一周時(shí)間,已經(jīng)能順利開(kāi)發(fā)了。這其中關(guān)于Git的學(xué)習(xí)真是刻苦,對(duì)我而言,第一次接觸命令行,一臉懵逼,當(dāng)時(shí)老板強(qiáng)制用命令行操作,說(shuō)這樣快,給了我一本500頁(yè)的書,不過(guò)也還是自己去寫命令行 + 百度學(xué)會(huì)了,那本書基本沒(méi)看。后來(lái)還為此寫了篇博客,Git使用,實(shí)戰(zhàn)版

之后到了現(xiàn)在的公司,15年進(jìn)的,進(jìn)公司又是接觸新的開(kāi)發(fā)工具Android Studio,那時(shí)候Android Studio還是1.3.0版本,又是重新學(xué)Android Studio,學(xué)Gradle。不過(guò)還好我會(huì)Git,公司還在用svn,領(lǐng)導(dǎo)覺(jué)得Git好,于是就安排我做了次分享,將公司代碼全部用Git管理了。說(shuō)白了,之前用Xamarin開(kāi)發(fā)都是半調(diào)子的Android開(kāi)發(fā),因?yàn)檫€要開(kāi)發(fā)ios,用Android Studio開(kāi)發(fā)后才真正完全開(kāi)發(fā)Android,于是我開(kāi)始認(rèn)真去研究Android,學(xué)著用ButterKnife、EventBus、Volley、Glide、Lottie等三方庫(kù),學(xué)習(xí)MVP框架,學(xué)習(xí)NDK、C++、編譯so,學(xué)習(xí)Aes,Des加密算法,學(xué)習(xí)groovy,寫腳本打多渠道包,皮膚包,資源混淆。

后來(lái)又學(xué)習(xí)代碼組件化,Tinker熱修復(fù),MVVM,Retrofit+RxJava,Robolectric單元測(cè)試,我想說(shuō)新的東西導(dǎo)出不窮,程序員不學(xué)習(xí),不去鉆研,很快就落伍了,下面是我這些年收集的Android資料,項(xiàng)目地址 AndroidDoc

如今我打算回歸源碼,會(huì)用的東西永遠(yuǎn)是別人的,自己卻寫不出來(lái),原因就是源碼讀得少,所以我打算系統(tǒng)地看一下AOSP的源碼,之前看了些Android系統(tǒng)啟動(dòng)流程,Application啟動(dòng)流程以及Binder的東西,還不夠多,理解得也不深,現(xiàn)在從頭再來(lái),歡迎大家關(guān)注 AOSP

分享了自己的經(jīng)歷,也是想告訴大家,不管我們過(guò)去什么樣,從事過(guò)什么工作,只要你現(xiàn)在想去改變點(diǎn)什么,你就去做,只要自己夠努力,有刻苦鉆研的精神,遲早一天也會(huì)發(fā)光發(fā)亮,誰(shuí)說(shuō)文科生不能寫代碼呢?

哈哈,說(shuō)這么多讓大家見(jiàn)笑了,接下來(lái),我講講怎么寫博客吧

二、如何寫出通俗易懂的博客

肚子里有了好東西,我們也需要技巧把它展示出來(lái),俗話說(shuō)酒好也怕巷子深嘛,沒(méi)有好的吆喝功夫,再好的酒也賣不好。接下來(lái)我將展示一些我寫博客的技巧:

  • 列好提綱,做到條理清晰
  • 用好畫圖工具,制作流程圖、思維導(dǎo)圖等
  • 用好錄像工具,制作Gif圖
  • 好好學(xué)習(xí)Markdown

2.1 列好提綱,條理清晰

我們寫文章之前,對(duì)自己要講的內(nèi)容必須清楚明白,不然到時(shí)候亂寫一通,只會(huì)讓讀者看得云里霧里的。我們可以列個(gè)提綱,幫助自己整理思路,先講什么,后講什么,文中要注意些什么細(xì)節(jié)的探討等等。

我們列好提綱后,可以在文章的開(kāi)頭寫個(gè)前言,主要講述寫這篇文章的目的,然后羅列一下這篇文章要講哪些內(nèi)容,這樣讀者一看開(kāi)頭就大概知道你要講些什么了,然后就會(huì)順著你的思路去看。

接下來(lái)我們可以把前言中提到的幾個(gè)方面作為大標(biāo)題,然后開(kāi)始寫具體內(nèi)容,如果該內(nèi)容太多,可以把內(nèi)容再拆分下,列出幾個(gè)小標(biāo)題。如果小標(biāo)題內(nèi)容也還是多,那可以再拆分,介最好不要超過(guò)三層,因?yàn)閷蛹?jí)太多反而看得眼花繚亂。

對(duì)于字號(hào),前言,大標(biāo)題我一般用##,小標(biāo)題我一般用###,小標(biāo)題以下,我會(huì)用####,對(duì)于序號(hào),大標(biāo)題前用中文的一,二,三,小標(biāo)題用數(shù)字的1.1,1.2,如果小標(biāo)題以下,就是1.1.1,1.1.2。

在文章結(jié)尾寫一個(gè)小結(jié),總結(jié)一下本文講的內(nèi)容,也可以提出一些問(wèn)題給讀者思考。

對(duì)于內(nèi)容要適當(dāng)?shù)胤侄温?,不要把所有?nèi)容都寫在一個(gè)段落里,盡量一個(gè)段落寫一個(gè)方面的東西。段落里也不要一逗到底,說(shuō)完一個(gè)事情就句號(hào)結(jié)束,啊。。。突然想到以前我們語(yǔ)文老師教我們寫作文也是這么說(shuō)的。

上張圖吧,一篇文章大概是這樣子的

2.2 畫圖工具使用

光是寫文字有時(shí)候并不能很好地展示內(nèi)容,比如我們要分享一個(gè)工具的使用,要點(diǎn)哪些按鈕,光是文字說(shuō)明并不直觀,截圖卻能一目了然


又比如講一個(gè)代碼執(zhí)行流程,如果我們畫一個(gè)圖出來(lái)會(huì)更加容易理解


對(duì)于上面第一種情況,截個(gè)圖就可以了,截圖工具我就直接用的QQ的,感覺(jué)還是很方便

對(duì)于第二種情況,就要用畫圖工具了,畫圖工具有很多,目前我只用過(guò)下面這些,當(dāng)然還有其他的,大家可以在評(píng)論里推薦下。

畫圖工具大概分兩種,一種在線版的,一種PC版的,在線版的有:

PC版的有:

2.2.1 processon 使用

我平常用的最多的是processon,它有許多優(yōu)勢(shì):

  • 在線版,免安裝,跨平臺(tái),可以在任何時(shí)候,任何電腦上使用
  • 有云端儲(chǔ)存,只要登錄賬號(hào)就可以云同步
  • 操作簡(jiǎn)單,容易上手
  • 國(guó)內(nèi)網(wǎng)站,不需要翻墻,速度快

首先,這個(gè)工具需要注冊(cè),這個(gè)簡(jiǎn)單,直接訪問(wèn) processon ,點(diǎn)擊注冊(cè)即可


注冊(cè)后登錄,然后點(diǎn)擊新建,選擇一個(gè)你想要的模版類型,系統(tǒng)已經(jīng)提供了許多常用的模版,我們可以選擇一個(gè)自己最需要的進(jìn)行克隆。

當(dāng)然你也可以不用模版,直接點(diǎn)擊新建后,選擇一個(gè)你想繪制的類型即可

這里要注意一點(diǎn),這個(gè)工具文件個(gè)數(shù)有限制,新建的文件不要?jiǎng)h除掉了,畫完一個(gè)可以清空內(nèi)容重新畫,這樣就相當(dāng)于無(wú)限使用了


下面講講如何畫圖吧,這個(gè)工具簡(jiǎn)單在無(wú)腦操作,直接拖控件就可以了

如果你覺(jué)得圖形不夠,你可以選擇更多圖形

如果你還是覺(jué)得不夠,可以插入你本地的圖片,網(wǎng)絡(luò)圖片

圖形風(fēng)格可以任意切換

插入文字在圖形上直接雙擊就可以了,也可以去拖拽,或者點(diǎn)擊插入菜單,文字可以調(diào)整字體大小,顏色

線條可以點(diǎn)擊插入菜單,也可以直接從圖形上拖出來(lái),調(diào)整粗細(xì),樣式,顏色


這個(gè)工具還有許多快捷鍵,可以方便操作

我平常畫時(shí)序圖比較多,我演示下如何畫時(shí)序圖


畫完之后我們就可以取個(gè)名字,然后保存為png,pdf,svg等格式然后下載

如果還想了解更多功能使用,官方還有 幫助文檔

2.2.2 websequencediagrams 使用

websequencediagrams 這個(gè)工具很有意思,它畫圖是直接用代碼來(lái)畫的,當(dāng)然這個(gè)代碼只是一種類似于markdown的語(yǔ)法,寫起來(lái)非常的方便。

它還可以用Java,PHP等語(yǔ)言來(lái)編寫,直接轉(zhuǎn)為圖片, 官方文檔

但是它功能比較局限,只能畫時(shí)序圖,而且必須付費(fèi)才能有高清的圖片下載,否則只是低清的圖

2.2.3 Google Drawings 使用

這是Google的一個(gè)插件,也是非常方便的一個(gè)工具,但是前提要翻墻,插件安裝

功能跟processon基本一致,操作也十分類似,比如畫圖形

插入文字,改變字體大小,顏色,樣式

插入線條,改變線條粗線,顏色,樣式等

畫完后保存為png,pdf,svg等下載

Google Drawings 與 processon 各有優(yōu)缺,下面我對(duì)比下,讀者可根據(jù)自己喜好選擇

功能 processon Google Drawings
在線版
支持圖形、文字、線條
支持png,pdf,svg等高清圖
翻墻 不需要 需要
可操作性 簡(jiǎn)單流暢 相對(duì)復(fù)雜,有時(shí)會(huì)有些bug,比如畫線的時(shí)候要雙擊才能結(jié)束,有時(shí)會(huì)到處跳
支持畫圖類型 全面,包括UML,思維導(dǎo)圖等,有現(xiàn)成的模版可以用 只是個(gè)畫圖工具,提供的圖形不夠全面,并且沒(méi)有模版可用,全部需要手動(dòng)畫
是否收費(fèi) 有文件個(gè)數(shù)限制,初始9個(gè),要無(wú)限使用需要付費(fèi) 完全免費(fèi),無(wú)限制

2.2.4 edraw max(億圖圖示) 使用

這個(gè)軟件也是非常強(qiáng)大的,功能比processon還豐富,畢竟是PC版!整體界面跟word很像,如果你喜歡使用word,那么你上手會(huì)覺(jué)得很熟悉,來(lái)張界面圖


一進(jìn)入軟件,會(huì)讓我們先選擇我們要畫哪種類型的圖,種類是相當(dāng)?shù)亩?,并且每種都有模版可以使用,我們可以選擇一個(gè)合適的,比如UML,點(diǎn)擊創(chuàng)建

老規(guī)矩,我們先試下畫圖形,這也是非常方便,直接拖拽就是

如果覺(jué)得不夠,可以添加其他類型的圖

當(dāng)然你也可以直接選擇本地圖片插入

文字方面,直接在圖形或線條上雙擊即可,支持修改字體大小等也不在話下,而且支持插入各種特殊字符,只要word能做的,它都能做

畫線方面,可以畫折線,貝塞爾曲線,可以改變線條粗細(xì),樣式,顏色

它支持整體切換主題,字體,顏色,線條風(fēng)格,加水印等

保存文件除了支持png,pdf,svg等外,還支持保存為word,ppt,ps,visio等,可以進(jìn)行二次繪制,可謂是非常全面而強(qiáng)大

如果你想了解更多的功能,這里有 官方視頻教程

總之,Edraw max的功能是非常強(qiáng)大的,整理如下:

  • 提供全面而實(shí)用的模版
  • 各種畫圖方式的支持相當(dāng)完美
  • 整體界面類似word,操作容易上手
  • 風(fēng)格切換多樣,可以自由定制
  • 保存格式種類全面,可以導(dǎo)入PS,PPT等進(jìn)行二次繪圖
  • Windows,Linux,Mac全平臺(tái)支持

官方英文版下載地址 https://www.edrawsoft.com/download-edrawmax.php
官方中文版下載地址 http://www.edrawsoft.cn/download-edrawmax.php
百度網(wǎng)盤下載(8.7 Windows中文版) http://pan.baidu.com/s/1kVN2mGJ
這個(gè)軟件是需要注冊(cè)的,不過(guò)我們可以免費(fèi)用30天,如果大家要中文破解版,可以私信找我。

2.3 錄像工具使用

大家在閱讀本文的時(shí)候也可以看到,Gif圖可以方便地展示工具的操作,不僅如此,要展示一些App的效果也是很直觀的,這是我朋友的一個(gè)項(xiàng)目,趣聞


Gif圖可以直接當(dāng)作圖片在Markdown中使用,所以如果錄像工具可以直接把視頻轉(zhuǎn)換成Gif圖,那將是很方便的,這種工具也比較多,今天我介紹下LICEcap

它的使用很簡(jiǎn)單:

  • 調(diào)整錄像位置和大小
  • 點(diǎn)擊錄制,然后選擇一個(gè)儲(chǔ)存目錄保存
  • 顯示鼠標(biāo)指針選項(xiàng)勾選,錄像會(huì)顯示鼠標(biāo)點(diǎn)擊事件,展示一個(gè)圈
  • 錄像過(guò)程中可以暫停
  • 點(diǎn)擊停止結(jié)束錄制,然后打開(kāi)之前選擇的目錄,找到對(duì)應(yīng)gif文件,就可以點(diǎn)擊查看了

下載地址

2.4 好好學(xué)習(xí)Markdown

我寫博客都是用的Markdown,主要是因?yàn)楦鱾€(gè)平臺(tái)都支持,而且本身寫起來(lái)也比較方便,我推薦幾個(gè)學(xué)習(xí)的網(wǎng)址:

我再推薦幾個(gè)寫Markdown的工具

  • 簡(jiǎn)書 可能有人會(huì)笑,但是我覺(jué)得這是目前最好的工具,跨平臺(tái),云同步,支持上傳圖片,關(guān)鍵是寫博客順便就發(fā)這上面啊!
  • 掘金 同理,但是需要開(kāi)通專欄作家
  • github github也是很好的Markdown工具,我們是可以直接在網(wǎng)頁(yè)上修改md文件的,并且支持上傳圖片
  • gfm插件 這個(gè)插件可以直接在Android Studio或IntelliJ里查看和編輯md文件,對(duì)于我們平常開(kāi)發(fā)來(lái)說(shuō)非常方便,但是官網(wǎng)下載太慢,我這兒有百度云的下載地址

作為Android程序員,平常寫技術(shù)博客比較多,里面會(huì)有比較多代碼展示,在代碼展示時(shí),最好在```后面加上代碼類別,比如Java,xml,C++等,這樣代碼會(huì)有高亮顯示,另外,寫Markdown時(shí),有時(shí)我們展示代碼的時(shí)候需要在代碼前加行號(hào),方便補(bǔ)充說(shuō)明的時(shí)候指定某行,類似

  1 int main(int argc, char** argv) {
  2     if (!strcmp(basename(argv[0]), "ueventd")) {
  3         return ueventd_main(argc, argv);
  4     }
  5 
  6     if (!strcmp(basename(argv[0]), "watchdogd")) {
  7         return watchdogd_main(argc, argv);
  8     }
  9 
 10     if (REBOOT_BOOTLOADER_ON_PANIC) {
 11         install_reboot_signal_handlers();
 12     }
 13 }
 
 第11行主要作用將各種信號(hào)量,如SIGABRT,SIGABRT等的行為設(shè)置為SA_RESTART

如果每次都要去手動(dòng)寫行號(hào)是特別麻煩的,我這里有個(gè)工具可以直接生成行號(hào) 下載地址

小結(jié)

要想寫出高質(zhì)量的博客,技術(shù)沉淀和寫作技巧是兩個(gè)不可或缺的東。一方面我們要有一顆不斷學(xué)習(xí),積極向上的心,通過(guò)自己一點(diǎn)一滴的積累,用博客去記錄自己的成長(zhǎng);另一方面,多學(xué)習(xí)一些寫作技巧,學(xué)會(huì)畫圖工具,錄像工具的使用,可以更清晰地把內(nèi)容展示出來(lái)。

關(guān)于我

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容