如何写好⼀篇博客济南有什么好玩的地方景点推荐
在⼯作过程中,发现对很多东西都⼀知半解,不是很透澈,到头来很容易模糊,如果有⼀篇好的技术博客予以总结,⼀来即使忘记了,回国头来再看,仍然能 够从⾃⼰的思路中恢复;⼆来总结⼀下,还会发现⼀些潜在问题;三来,有利于⼤家交流技术。很多⼤公司都有⾃⼰的内部技术博客平台,写好⾃⼰的技术博客,对 ⼀个技术⼈员来说,也有⼀定的成就感。
在⽹上查阅资料,经常可以看到⼀些技术博客,要么废话连篇、排版紊乱,要么代码占了篇幅的60%,有些甚⾄是错的,会让⼈产⽣误解。因此,在这总结 ⼀下⼀篇好的技术博客应该是怎样的,同时也规整⾃⼰的不良习惯。本篇博客纯属个⼈的⼀点想法,是个原则性的东西,切忌逐条对号⼊座啊。
本篇博客耗时2⼩时。
⼀、带着明确的⽬的写博客
经常看到这种博客,为了写博客⽽写博客。⽐如⼀篇介绍socket接⼝的使⽤⽅法的博客,罗列了⼀堆代码,凑上⼏句话:“⾸先…,其次….,最 后…”,就算OK。如果你的⽬的是“练习如何使⽤写博客的软件”,或者“罗列接⼝”,甚⾄“练习写作的⽅法”,那么可能达到了⽬的。但是我想,写⼀篇技术 博客,⾸先是要明确该博客的⽬的,通常是学习⼀项技术、解决⼀个技术问题什么的,⽐如“学习Linux 内存管理机制”,“解决kernel pannic的问题”,“打发时间”等。
不是所有的的事情都要写⼀篇博客来记录,要有⾃⼰的判断什么东西值的写,什么东西不值的写。
⼆、写⾃⼰的博客
⽹上相互转载的帖⼦很多,⼀篇写的不错的博客经常会被转载,建议不要轻易转载别⼈的帖⼦,要写⾃⼰的博客。同样⼀个知识点,或者同样⼀个问题,你的 理解和别⼈的理解的程度很可能是不⼀样的,如果轻易的看过以后转载了别⼈的博客,可能意味着⼀次⾃我学习或体会的机会的放弃。可能有⼈会说:”同样⼀个 GFS的架构图,我画也是这样,他画也是这样,因为GFS就是这样设计的“,这⾥并不是要求任何⼀个细节都⾃⼰去做,⽽是要有⾃⼰的想法、⾃⼰的理解,⽐ 如GFS分层的原则是什么?为什么这样分层,分层的好出?如果我要是去做的话,我会怎么搞?
写⾃⼰的博客可不是意味着不转载别⼈的,⽐如说我看了⼀篇博客,并且经过实验,却是与博客⾥⾯写的完全⼀致,不多也不少,如果要是⾃⼰的写的话,也 会写的基本⼀样,那就没必要再花费时间⾃⼰写了。另外,以及纯粹记录性的博客,可以转载,⽐如“C语⾔运算符的优先级”,当然转载还是原创都不重要了。
另外,把别⼈的好的博客作为⾃⼰的原创,不但没品,⽽且⾃欺欺⼈。
如果在博客中参考了别⼈的博客,可以在参考资料⾥⾯提及,如果是完全转载,也应注明转载出处。
三、博客是总结,不是过程
写博客有的时候是⼀个解决问题的过程。为了解决⼀个问题,今天采⽤了a⽅法,发现不⾏,明天采⽤了b⽅法,发现也不⾏,后天采⽤c⽅法,发现⾏了, 那么最终的博客应该是在c⽅法解决问题后,开始写的。当然,前⾯的a,b⽅法,是需要做记录的,但只是博客的原始材料,⽽不是博客本⾝。
在刚开始写博客时,我经常出现这种情况:对⼀个技术不清楚,想了解⼀下,就开⼀篇技术博客,边查资料边填写博客,结果基本上就是读、复制、粘贴、 读、复制、粘贴…的过程。最后落到⾃⼰⼿⾥也是空空如也,想起⼀句谚语:“狗熊掰梆⼦——掰⼀个丢⼀个”,在懊恼⾃⼰的缓存为什么这么少的同时,我也想是 否是⽅法不对?后来我想过,要想掌握⼀项技术、知识,⼤概需要这样⼀个过程:实践遇到问题——理论学习问题——实践解决问题——理论总结问题。我想很多情 况我是缺少了其中的三个部分,只有“理论学习问题”的过程。
后来,我就改成按下列步骤写博客了:
碰到了问题,如果解决不了,⽽⼜⽐较有价值的话,就先记录下来,作为⼀篇博客的开篇。
⾸先,先⾃⼰分析问题,基于已有的现象,思考,在笔记本上记录问题与可能的思路。
尼坤图片韩国和朝鲜的关系其次,从外界获取经验或者知识,⽐如请教别⼈,google等,学习他们,在笔记本上记录关键点。
然后,在实际中⽤学来的⽅法去解决问题,笔记本做好记录,要像⽔流过⽔渠⼀样流淌前⾯记录的思路。
最后,拿过笔记本,将以上过程再总结成⼀篇博客。
当然,并不是所有博客都能够先从”实践遇到问题”开始,因为很多情况下都是先从书本理论开始学习的(这也就产⽣了⼀定的局限性,有时候你学的很好, 反⽽陷⼊了固有的框架;有时你学的不好,显得⾃⼰更加⽆知)。这种情况,问题是需要⾃⼰总结出来的,⽐如ULK上会介绍中断和异常的处理机制,这包括中断 的过程、CPU的⼯作、内核的⼯作、软中断的处理、tasklet等等,我们学习中断,不仅仅是⼀旦发⽣中断,Linux内核是按照什么流程去处理,⽽是 要到这么处理的原因,也就是解决了什么问题。有时,实践验证的成本过⾼,在有条件的前提下做吧。
知识开始学习的时候,经常是只见树⽊,不见森林。俗话说:”孤⽊不成林“,弄上三五棵树,才会有”森林“的感觉。
四、尽量拒绝三⼿技术
在实际学习或者⼯作中,⼀个问题不明⽩,那么就需要请教别⼈。如果能够从周围的⾼⼿、⽜⼈那得到简单、直接的答复,那是最好的。如果不能,就需要⾃ ⼰在⽹上查资料,可能⼀个问题,林林总
总的在⽹上能搜出很多,选择看哪些就是个问题。尽量去选择原发性的材料,如果你在查gcc的⼀个编译选项是什么意 思,可以使⽤man⼿册,如果还不清楚,就去gnu的官⽅站点去查,最好不要随便从某个转载的技术博客上获取。如果你要x86平台CPU访问内存的⽅ 式,应该从Intel的官⽅站点去CPU的资料,最好不要随便在⽹上篇博客看了拉到(起码应该先看官⽅材料)。
别⼈的博客⾃然带有别⼈的理解,⽽这种理解可能带有⼀定的主观性,有时甚⾄是错误的,应该养成从原产地采购的习惯。如果哪天能够发明⼀项技术,那么 这算⼀⼿技术;如果你在学习⼀项成熟的技术,那么该技术就属于⼆⼿技术了,如果你再从⼀个⾮源发性的地⽅去学习,那么很可能就是“三⼿技术”。当然,需要 考虑实践成本,有时实在不到源发性的材料,也不要太勉强⾃⼰了。另外,英⽂⽂章的⽔平整体⾼于国⼈的⽂章⽔平,应该尽量看英⽂⽂章。
五、分清主次、落脚关键点
世界万事万物都有联系,凡是和本篇博客的主题有联系的问题,都在本篇博客中描述,是不现实的,也是没必要的。个⼈认为,⼀篇技术博客应该不超过两个 主题,如果超过了,就应该拆分。但是次要问题可能会有不少,这些次要问题不⼀定都要解决掉,但⼀定要分清除优先级,和主题关系⽐较⼤的,应⾸先解决,关系 ⼩的,应其次解决,甚⾄并不在本篇博客中解决。对于没有解决的问题,可以列在”遗留问题“中,对于在其他博客中讨论的问题,给予链接。
根据⾃⼰的能⼒,耕耘到合适的层次。我将掌握⼀项技术划分为如下层次,在博客中通常应该达到第三个层次:作文我的初中生活
听说过该技术,了解该技术解决什么问题;
使⽤过该技术,熟悉该技术的使⽤⽅法;
解构过该技术,熟悉该技术的架构、原理;
贯通过该技术,将该技术与⾃⼰的以有知识完全融合,可以利⽤该技术架构或解决其他问题。
六、技术博客的风格珍惜拥有
技术博客不是论⽂,技术博客由其实⽤性。当然,也有将论⽂发在博客上的,⽐如技术博客的作者⼤部分应该是⼯程师,⽽不是学院派。⼀篇技术博客可以 是⼩到的⼀个编程技巧,可以写该技巧的原理、实现⽅法、好处,但不要写前500后300年的历史介绍和展望未来。技术博客通常关⼼技术的实⽤性,⽽⾮技术 背后理论的复杂性。技术博客也不应该过分求全责备,把⽂章写的⼤⽽全,⽽应该追求⼩⽽精。
技术博客应以陈述语⽓,个⼈感情⾊彩应该过滤掉,技术不是⽣活的全部。有⼈写技术博客,常喜欢
加⼊⾃⼰的⼼情,“xxx让我好烦啊”、“xxx很难,我⼀直持续搞了两天没睡觉”,我个⼈拒绝这种“呻吟”的风格。
忌罗列代码。代码是实现的过程,⽽不是原理,列代码是为了看清流程,⽽⾮为了列代码⽽列代码。我个⼈的习惯是尽量少列代码,如果能够使⽤校⼩的篇幅就能说明原理,绝不使⽤⼤篇幅的代码。但是如果简单的罗列代码能够⼀⽬了然,也绝不浪费过多的笔墨去描述过程。 图⽚胜过⽂字。图⽚配⽂字⽐单纯的⽂字更加⽅便理解,甚⾄⼀张图就可以省略⽂字了,多画图,少写字是个原则。
考虑时间成本。博客基本上是以时间换知识,因此需要越来越快,记录时间也很必要。
列出时间遗留问题,以备以后解决。
郑爽 原⽂出处:rock3 的博客