如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛
如何写出高质量的技术博客?答案是:如果你想,就一定能写出高质量的技术博客。看起来很唯心,但这就是事实。有足够愿力去做一件目标明确,有良好反馈系统的事情往往很简单。就是不停地训练,慢慢地,你自己就能找出规律和技巧。所以,要写出高质量的技术博客,首先要解决为什么要写的问题。
为什么要写
我一直很喜欢的一个学习方法是
Learning by teaching
一个课题,如果你能给不懂的人解释清楚,说明你对这个课题的理解足够深入。把一个课题展开来写,你可能会发现某些方面你还写不清楚,这往往说明你对这个课题的某些方面理解还不够透彻,这样从侧面会给我们一个机会去把这部分补上。所以,写出来实际上是帮助我们发现我们对知识理解的偏差,纠正我们以为自己真的已经掌握了的假象。写的目的不是为了教,而是帮助自己学习。本质上讲,写只是学习的一种手段,本质上是利己的,顺便利他而已。
写带来的另外一个好处是可以让我们有意识地减慢学习速度。减慢学习速度是为了长远意义上的快,即真正地掌握一个课题。我们在看一本书,或研究某个技术的时候,很容易有个错觉:原来是这样,我懂了。但实际上,在遇到一个类似甚至相同的问题,需要用我们学过的一个方案来解决的时候,你就会发现原来这里有一些细节没搞懂,原来只有在某个前提下,这个解决方案才是有效的。这个时候我们不得不倒回去重新研究一遍问题,然而由于上次没有研究透,所以这次研究本质上省不了多少时间。这无形中让学习的效率降低了。所以,有时候慢是为了提高效率。就象不是所有的文章都需要精读一样,不是所有的问题都需要研究透,策略选择的问题是另外一个话题了。
刚学 C 语言的时候,看到书上的 hello world 程序感觉好简单。可真上机在 Turbo C 上写的时候,感觉脑袋一片空白,最典型的就是连 include 怎么写都忘记了。第一次学一门编程语言的人一定对这样的体验印象深刻。
写还有一个好处就是打开了一扇与外界连接的窗户。很多人喜欢程序员这个职业的一个重要原因是人际关系简单。但这带来的一个弊端是社交关系链太少。价值往往都在一些弱连接上碰撞产生的。而写是广泛产生弱连接的一个有效的途径。很多人通过高质量的技术博客,通过 GitHub 上的写出来的一些高质量的开源代码,与更大的世界,更好的平台建立了连接。
怎么写
战略问题想清楚之后,战术问题相对就比较简单了:就是不停地练,不停地写。写得多了,自然就写得好了。
假想读者群
每篇文章都应该有个假想的读者群体。假想一个读者群体有两个好处,一是让你写的时候有的放矢,可以很容易决定哪些详细写,哪些一笔带过。另外一个好处是,增加成就感。因为你内心认可,总会有一群人认为这篇文章有价值,这会带来长期激励。
不少人写的博客,看得云里雾里,象流水帐一样,只有他自己看得懂。为什么会这样?一个简单的原因是没有假想读者群,人家就根本不想写高质量的技术博客,而只是在记技术流水账和技术备忘录而已。假想读者群要求写作者清晰地定义哪些是看懂这篇技术博客所需要的基础知识。虽然这个前置条件不一定写出来,但在写作过程中一定是牢记在心里的。
还有不少人不想写,觉得这个东西写出来没人看。这个想法的错误在于,写的目的不是给人看,而是让自己更有效地学习。换个角度来看,你分享的任何一个知识点,几乎都有读者。因为这个世界上总有人还不懂,需要阅读这样的东西。而总会有另外一群人已经懂了这个东西,所以他们只是不是你的假想读者群而已。还有一些人不敢写,觉得自己文笔太差。我想这就是技术博客的好处,你不需要华丽的词藻依然可以写出高质量的技术博客。
选题
理论上讲,技术博客不需要选题,只要你认为对你的学习有帮助就可以写。但并不是每一个课题都适合写一篇高质量的技术博客。高质量是个外在属性,意味着高价值。什么样的课题价值高呢?有一个很简单的判断标准:你花的时间精力越多,说明价值越高,越值得写一篇博客。这也容易理解,因为别人如果也来学习这个课题,也要花很多时间精力,如果你的博客能帮助假想读者群节省学习时间,就创造了价值。
当你研究了大量的资料才搞懂的一个课题,做一个高质量的参考资料索引就是一篇有价值的博客。但这个方式不利于自己学习。如果把资料消化后,通过自己的语言描述出来。再在适当的地方引用原资料。这就不但有资料索引价值,还帮助自己学习。在哪些地方重点着墨呢?把你学习过程中最难理解的点解释清楚,解释透了,价值自然就出来了。
模仿
另一个技巧是模仿。找到高质量的技术博客,分析它的结构,基础知识铺垫,重点着墨点,然后模仿它写出一篇相同课题的博客,回过头再对比,看哪些方面没模仿到位。怎么判断一个技术博客的质量?一个简单的原则是,你在研究某个课题,搜索后发现某一篇博客把这个课题的所有内容都解释得很清楚。这就是一篇高质量的技术博客,因为它包含足够多的资料,足够合理的解释,让研究这一课题的你看懂了。
结论
有一个结论,说的是在网络上,只有 1% 的用户贡献了内容,10% 的用户比较活跃,会评论和点赞,剩下的都是网络透明人,他们只是默默地在看,即不贡献内容,也不点赞。我无法对这一比例数据进行求证,但从我的简书文章的阅读/评论/点赞数据的统计来看,大致符合这一结论。
这篇文章希望能让你成为网络上贡献内容的 TOP 1%。如果暂时做不到,那就先点个赞吧,成为活跃的 10%。
如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛的更多相关文章
- 100个高质量Java开发者博客
ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢迎你也参与推荐优质的Java开发博客.(声明一下:我们的数学不是体育老师教的!:) ...
- 转:100个高质量Java开发者博客
原文来自于:http://www.importnew.com/7469.html ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博客,然后不段补充到这个列表.欢 ...
- 【伯乐在线】100个高质量Java开发者博客
本文由 ImportNew - 夏千林 翻译自 programcreek.欢迎加入翻译小组.转载请见文末要求. ImportNew注:原文中还没有100个.作者希望大家一起来推荐高质量的Java开发博 ...
- 如何写一篇好的技术博客or技术文档(转链接)
如何写一篇好的技术文档http://yunli.blog.51cto.com/831344/168352 程序员怎样才能写出一篇好的博客或者技术文章?http://www.zhihu.com/ques ...
- 学习:100个高质量Java开发者博客
谷歌关键字搜索:100个高质量Java开发者博客. Java开发牛人十大必备网站.
- 如何写出高质量的JavaScript代码
优秀的Stoyan Stefanov在他的新书中(<Javascript Patterns>)介绍了很多编写高质量代码的技巧,比如避免使用全局变量,使用单一的var关键字,循环式预存长度等 ...
- Mysql写出高质量的sql语句的几点建议
CleverCode在实际的工作也写过一些低效率的sql语句.这些语句会给数据库带来非常大的压力.最基本的表现就是sql语句执行慢,后来逐渐的去优化和尝试. 总结了一些高质量的sql语句的写法.这里C ...
- 如何写出高质量的Python代码--做好优化--改进算法点滴做起
小伙伴你的程序还是停留在糊墙吗?优化代码可以显示程序员的素质欧! 普及一下基础了欧: 一层for简写:y = [1,2,3,4,5,6],[(i*2) for i in y ] 会输出 ...
- 如何组织css,写出高质量的css代码
!如何组织css一:css的API 属于基础部分,这部分的能力用“对”和“错”来评判. 比如说把文字设置为红色,只能用color:red:这种写法是对的,其他任何写法都是错的. 二:css框架 不能用 ...
随机推荐
- ASP.NET MVC Model元数据(三)
ASP.NET MVC Model元数据(三) 前言 在上篇中我们大概的讲解了Model元数据的生成过程,并没有对Model元数据本身和详细的生成过程有所描述,本篇将会对详细的生成过程进行讲解,并且会 ...
- 安装keil MDK5
昨天买的stm32板子今天就到了,顺丰速度确实很快. 我这是刚开始整STM32,首先需要下载keil MDK,直接杀去keil官网下载,其实对于学习者,我建议大家下载软件能去官网就去官网,尽量少用二道 ...
- linux NFS 配置步骤
转载 http://woxihuanpes.blog.163.com/blog/static/12423219820097139145238/ NFS server可以看作是一个FILE SERVER ...
- Win10 字体模糊解决(DPI缩放禁用),设置默认输入法英文
电脑坏了 , 换了新电脑, 但是新电脑,死活不能装win7, 装都不能装!!!郁闷了 好多地方字体模糊了,百般设置都不好看, 后来远程桌面到win2008server, 发现,在远程桌面里面居然很清晰 ...
- webpack入门教程之初识loader(二)
上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...
- HTTP权威指南-基础知识
1.URL,URI 统一资源标识符?统一标识定位符? 2.http,https,ftp http://<host>:<port>/<path>/?<que ...
- Event事件
妙味课堂-Event事件 1.焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点) 给元素设置焦点的方式: 1.点击 2.tab 3.js 2.(例子:输入框提示文字) ...
- IDDD 实现领域驱动设计-上下文映射图及其相关概念
上一篇:<IDDD 实现领域驱动设计-理解限界上下文> 距离上一篇有几天时间了,<实现领域驱动设计>第三章的内容都是围绕一个词-上下文映射图,我大概断断续续看了几天,总共看了两 ...
- c 进程间的通信
在上篇讲解了如何创建和调用进程 c 进程和系统调用 这篇文章就专门讲讲进程通信的问题 先来看一段下边的代码,这段代码的作用是根据关键字调用一个Python程序来检索RSS源,然后打开那个URL #in ...
- Linux下的磁盘分割和文件系统
一.各硬件装置在Linux下的文件名 1.IDE硬盘机 在Linux内的文件名: /dev/hd[a-d] (a-d 刚好是四个这个是有原因的具体如下) 解释:以 IDE 接口来说,由于一个 IDE ...