前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法

手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法

作者头像
蜻蜓队长
发布2018-08-03 15:06:47
1.1K0
发布2018-08-03 15:06:47
举报
文章被收录于专栏:Android机动车

前言

作为程序员,写博客是一件很有意义的事情,可以加深自己对技术的理解,可以结交更多的朋友,记录自己的技术轨迹,而且分享可以让更多的人从中受益,独乐乐不如众乐乐嘛。

但是要写好博客也不是件容易的事,一是写博客是长期坚持的过程,心血来潮写个一两篇并没有什么意义,很多人写着写着就放弃了,二是写博客需要自己用心去写,一方面需要自己对分享的内容很熟悉,钻研得深,另一方面需要一些文笔和技巧,能把自己会的东西通俗得展示出来。

对于上面两个问题,第一个本文就不探讨了,我主要探讨第二个问题,如何写出好一篇文章,我将通过两方面来探讨:

  • 不断学习,培养钻研精神,让自己有东西可分享
  • 如何将会的东西,通俗得展示出来

01

不断学习、培养专研精神

为什么我会讲钻研精神,因为你写博客首先得有东西可写,那不然就是纸上谈兵了,再好的写作技巧也没有用。而要想有好的东西分享出来,自己就得多钻研,对自己熟悉的领域砥砺深耕,让自己成为行业佼佼者,而这一切都是很不容易的。

他人励志的故事特别多,我就讲一个自己的吧,让大家见笑了。

我现在是个Android程序员,但是大学的专业是法学,可能很多人都觉得这跨度也太大了吧,一个法学的文科生居然跑去写代码,其实我高中的时候理科就比文科好,当初选法学只是觉得文理要双修,只会理科的加减乘除会让自己变得死板,即便现在我已经从事程序开发了,还是后悔当初英语为什么没好好学,因为好的文档都是英文的,语文为什么没好好学,因为写博客都没有条理,陈词滥调,所以多学点东西总是好的。

大学毕业后,同学都去考研,考公务员,然后去当法官,检察官,律师法务什么的,但是我本身还是对理科的东西感兴趣点,正好13年的时候移动互联网很火,于是我就去报了个培训班,开始了自己的Hello world!

那时自己内心是彷徨的,因为自己一点基础都没有,培训期间又没有收入,之间兼职就剩3000块钱,要管6个月,房租,吃饭,日用,每个月都过得很拮据,租的房子10平米不到,吃饭全是自己做,因为这样一天只需要8块。家里的人也不支持,好端端一个法学生,干嘛去学程序,为此还跟家里人吵了一架。。。哎,现在回想那真是一生中最艰苦的半年。

在培训班里,就我一个外行,其他都是科班出身,我从第一行System.out.println开始恶补,经常为写好一个功能熬夜到两三点,我就记得那时候老师让我们写一个五子棋的项目,用Swing来写的,一直写到凌晨五点,终于第二天交给老师看,全班就我写出来了,而且老师把源码展示给大家看,说注释写得不错,那是我进班以来第一次受到表扬,后来就一发不可收拾,经常受到老师关注,学校也破例让我直接跳到就业班,提前结束了培训。

现在回想起来,应该归功于自己对程序的热爱吧,让自己有无限的动力去钻研,不把一个东西弄出来就不甘心,每次成功之后又让自己信心大增,然后更有动力去学习,形成了良性循环。

后来到了第一家公司,接触的是跨平台开发工具Xamarin,用C#写,用Mac开发,用Git管理代码,靠!又是一堆搞不懂的东西,毕竟学校用的Eclipse+Java+Windows开发的,代码管理?压根没听说过,于是学C#,学Mac命令,学Xcode,学Git,经过疯狂补脑,不到一周时间,已经能顺利开发了。这其中关于Git的学习真是刻苦,对我而言,第一次接触命令行,一脸懵逼,当时老板强制用命令行操作,说这样快,给了我一本500页的书,不过也还是自己去写命令行 + 百度学会了,那本书基本没看。

之后到了现在的公司,15年进的,进公司又是接触新的开发工具Android Studio,那时候Android Studio还是1.3.0版本,又是重新学Android Studio,学Gradle。不过还好我会Git,公司还在用svn,领导觉得Git好,于是就安排我做了次分享,将公司代码全部用Git管理了。说白了,之前用Xamarin开发都是半调子的Android开发,因为还要开发ios,用Android Studio开发后才真正完全开发Android,于是我开始认真去研究Android,学着用ButterKnife、EventBus、Volley、Glide、Lottie等三方库,学习MVP框架,学习NDK、C++、编译so,学习Aes,Des加密算法,学习groovy,写脚本打多渠道包,皮肤包,资源混淆。

后来又学习代码组件化,Tinker热修复,MVVM,Retrofit+RxJava,Robolectric单元测试,我想说新的东西导出不穷,程序员不学习,不去钻研,很快就落伍了。

如今我打算回归源码,会用的东西永远是别人的,自己却写不出来,原因就是源码读得少,所以我打算系统地看一下AOSP的源码,之前看了些Android系统启动流程,Application启动流程以及Binder的东西,还不够多,理解得也不深,现在从头再来。

分享了自己的经历,也是想告诉大家,不管我们过去什么样,从事过什么工作,只要你现在想去改变点什么,你就去做,只要自己够努力,有刻苦钻研的精神,迟早一天也会发光发亮,谁说文科生不能写代码呢?

哈哈,说这么多让大家见笑了,接下来,我讲讲怎么写博客吧。

02

如何写出通俗易懂得博客

肚子里有了好东西,我们也需要技巧把它展示出来,俗话说酒好也怕巷子深嘛,没有好的吆喝功夫,再好的酒也卖不好。接下来我将展示一些我写博客的技巧:

  • 列好提纲,做到条理清晰
  • 用好画图工具,制作流程图、思维导图等
  • 用好录像工具,制作Gif图
  • 好好学习Markdown

2.1 列好提纲,条理清晰

我们写文章之前,对自己要讲的内容必须清楚明白,不然到时候乱写一通,只会让读者看得云里雾里的。我们可以列个提纲,帮助自己整理思路,先讲什么,后讲什么,文中要注意些什么细节的探讨等等。

我们列好提纲后,可以在文章的开头写个前言,主要讲述写这篇文章的目的,然后罗列一下这篇文章要讲哪些内容,这样读者一看开头就大概知道你要讲些什么了,然后就会顺着你的思路去看。

接下来我们可以把前言中提到的几个方面作为大标题,然后开始写具体内容,如果该内容太多,可以把内容再拆分下,列出几个小标题。如果小标题内容也还是多,那可以再拆分,介最好不要超过三层,因为层级太多反而看得眼花缭乱。

对于字号,前言,大标题我一般用##,小标题我一般用###,小标题以下,我会用####,对于序号,大标题前用中文的一,二,三,小标题用数字的1.1,1.2,如果小标题以下,就是1.1.1,1.1.2。

在文章结尾写一个小结,总结一下本文讲的内容,也可以提出一些问题给读者思考。

对于内容要适当地分段落,不要把所有内容都写在一个段落里,尽量一个段落写一个方面的东西。段落里也不要一逗到底,说完一个事情就句号结束,啊。。。突然想到以前我们语文老师教我们写作文也是这么说的。

上张图吧,一篇文章大概是这样子的

2.2 画图工具使用

光是写文字有时候并不能很好地展示内容,比如我们要分享一个工具的使用,要点哪些按钮,光是文字说明并不直观,截图却能一目了然

又比如讲一个代码执行流程,如果我们画一个图出来会更加容易理解

对于上面第一种情况,截个图就可以了,截图工具我就直接用的QQ的,感觉还是很方便

对于第二种情况,就要用画图工具了,画图工具有很多,目前我只用过下面这些,当然还有其他的,大家可以在评论里推荐下。

2.2.1 processon 使用

我平常用的最多的是processon,它有许多优势:

  • 在线版,免安装,跨平台,可以在任何时候,任何电脑上使用
  • 有云端储存,只要登录账号就可以云同步
  • 操作简单,容易上手
  • 国内网站,不需要访问外国网站,速度快

首先,这个工具需要注册,这个简单,直接访问 processon ,点击注册即可

注册后登录,然后点击新建,选择一个你想要的模版类型,系统已经提供了许多常用的模版,我们可以选择一个自己最需要的进行克隆。

当然你也可以不用模版,直接点击新建后,选择一个你想绘制的类型即可

这里要注意一点,这个工具文件个数有限制,新建的文件不要删除掉了,画完一个可以清空内容重新画,这样就相当于无限使用了

下面讲讲如何画图吧,这个工具简单在无脑操作,直接拖控件就可以了

如果你觉得图形不够,你可以选择更多图形

如果你还是觉得不够,可以插入你本地的图片,网络图片

图形风格可以任意切换

插入文字在图形上直接双击就可以了,也可以去拖拽,或者点击插入菜单,文字可以调整字体大小,颜色

线条可以点击插入菜单,也可以直接从图形上拖出来,调整粗细,样式,颜色

这个工具还有许多快捷键,可以方便操作

画完之后我们就可以取个名字,然后保存为png,pdf,svg等格式然后下载

2.2.2 websequencediagrams 使用

websequencediagrams 这个工具很有意思,它画图是直接用代码来画的,当然这个代码只是一种类似于markdown的语法,写起来非常的方便。

它还可以用Java,PHP等语言来编写,直接转为图片。

但是它功能比较局限,只能画时序图,而且必须付费才能有高清的图片下载,否则只是低清的图

2.2.3 Google Drawings 使用

这是Google的一个插件,也是非常方便的一个工具,但是前提要访问外国网站。

功能跟processon基本一致,操作也十分类似,比如画图形

插入文字,改变字体大小,颜色,样式

插入线条,改变线条粗线,颜色,样式等

Google Drawings 与 processon 各有优缺,下面我对比下,读者可根据自己喜好选择

2.2.4 edraw max(亿图图示) 使用

这个软件也是非常强大的,功能比processon还丰富,毕竟是PC版!整体界面跟word很像,如果你喜欢使用word,那么你上手会觉得很熟悉,来张界面图

一进入软件,会让我们先选择我们要画哪种类型的图,种类是相当的多,并且每种都有模版可以使用,我们可以选择一个合适的,比如UML,点击创建

老规矩,我们先试下画图形,这也是非常方便,直接拖拽就是

如果觉得不够,可以添加其他类型的图

当然你也可以直接选择本地图片插入

文字方面,直接在图形或线条上双击即可,支持修改字体大小等也不在话下,而且支持插入各种特殊字符,只要word能做的,它都能做

画线方面,可以画折线,贝塞尔曲线,可以改变线条粗细,样式,颜色

保存文件除了支持png,pdf,svg等外,还支持保存为word,ppt,ps,visio等,可以进行二次绘制,可谓是非常全面而强大

总之,Edraw max的功能是非常强大的,整理如下:

  • 提供全面而实用的模版
  • 各种画图方式的支持相当完美
  • 整体界面类似word,操作容易上手
  • 风格切换多样,可以自由定制
  • 保存格式种类全面,可以导入PS,PPT等进行二次绘图
  • Windows,Linux,Mac全平台支持

这个软件是需要注册的,不过我们可以免费用30天,如果大家要中文破解版,可以私信找我。

2.3 录像工具使用

大家在阅读本文的时候也可以看到,Gif图可以方便地展示工具的操作,不仅如此,要展示一些App的效果也是很直观的。

Gif图可以直接当作图片在Markdown中使用,所以如果录像工具可以直接把视频转换成Gif图,那将是很方便的,这种工具也比较多,今天我介绍下LICEcap

它的使用很简单:

  • 调整录像位置和大小
  • 点击录制,然后选择一个储存目录保存
  • 显示鼠标指针选项勾选,录像会显示鼠标点击事件,展示一个圈
  • 录像过程中可以暂停
  • 点击停止结束录制,然后打开之前选择的目录,找到对应gif文件,就可以点击查看了

作为Android程序员,平常写技术博客比较多,里面会有比较多代码展示,在代码展示时,最好在```后面加上代码类别,比如Java,xml,C++等,这样代码会有高亮显示,另外,写Markdown时,有时我们展示代码的时候需要在代码前加行号,方便补充说明的时候指定某行,类似

代码语言:javascript
复制
  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行主要作用将各种信号量,如SIGABRT,SIGABRT等的行为设置为SA_RESTART

03

小结

要想写出高质量的博客,技术沉淀和写作技巧是两个不可或缺的东。一方面我们要有一颗不断学习,积极向上的心,通过自己一点一滴的积累,用博客去记录自己的成长;另一方面,多学习一些写作技巧,学会画图工具,录像工具的使用,可以更清晰地把内容展示出来。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android机动车 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 列好提纲,条理清晰
  • 2.2 画图工具使用
    • 2.2.1 processon 使用
      • 2.2.2 websequencediagrams 使用
        • 2.2.3 Google Drawings 使用
          • 2.2.4 edraw max(亿图图示) 使用
          • 2.3 录像工具使用
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档