zoukankan      html  css  js  c++  java
  • 敏捷的写博客

    为什么写博客

    写技术博客对于程序员的提升是不可估量的。只要你坚持一段时间,你就会发现它给你带来的各种积极的变化。思考问题更加深入了,更容易关注细节了,表达能力也增强了……

    1. 不断的总结自己。程序员面对的世界是非常复杂的,未知领域也很多,在解决问题时第一次的方式并不一定是最完美的,只有通过不断的总结,不断的反思,才更容易抓住事物的本质。随着程序员的水平提高,需要思考的问题就开始变的更深度,更抽象、更复杂。这个时候就会遇到瓶颈,而通过写博客的方式能将自己的经验整理成型,形成一个完善的体系。

    2. 能够认识到自己的进步。编程是枯燥乏味的,持续学习更难坚持。而写博客能激励自己,让自己看到自己的进步,并逐步建立信心。

    3. 加强记忆,方便回顾。对自己在平时的实践中的收获以博客的方式发表出来,本来就是一种记忆的强化。失败本身不能让人进步,而对失败的反思才能让人进步。使用博客记录下这些反思,才能保证不会在同一个地方跌倒两次。

    4. 强化发散思维,跳出局部看问题。其实各种技术都有相似或想通的理论作支撑。这些如果只看别人博客,只从google上搜素一些得到一些只言片语是很难领悟出来的。而自己写作的过程中随着对自己思路的梳理,更容易提升看问题的高度,以观全貌。

    5. 扩大个人影响力,获取更多机会。程序员从业有些年头以后,如果是喜欢技术的人,总会想与别人做些更深入、更高层次的交流,但毕竟水平越高,能进行这种交流的人就会越少、越分散。写作、演讲、著书立说,这都是让自己进入一个更高水平的交流圈的方式。进入了这个对话环境,你才发现:原来还有那么多可学、可发展的方向。很多人到了三十岁上下就开始惰怠、看不到发展方向,在我看来一个重要的原因就是眼界不开,没有进入一个更高水平的交流生态。(这一点感谢@JeffXiong的总结)

    写博客要端正心态

    很多人之所有不写博客,有各种各样的原因。有的说时间不够,有的说自己的积累不够,有的说没有文采…..

    其实写博客就像一项业余爱好一样,看似不是工作中的分内事,但却更有助于自己的工作。

    一个极端是怕写的幼稚,不敢下笔,不敢面对别人的评价。博客其实首先是写给自己看的,如果自己能有所收获,那就是值得的。

    另一个极端是总想着不写则已,一写惊人。老想着自己的每篇博客都能博来大家的大量关注。其实再牛逼的作家总有几篇作品不尽如人意。但是没经历这些作品的历练,是无法揣摩出更深的意境。更何况我们是普通人,只要写出自己所感所想,虚心接收别人的意见、建议,就是巨大的进步。

    敏捷的写博客

    每个程序员都喜欢编码,但不是每个程序员都喜欢写博客。如果我们将写博客的过程与敏捷流程一一对应起来,使用编程的技法来写博客,那么能提起你的兴趣吗?

    本人在写博客的过程中与敏捷手法结合起来,受益良多。

    在一个敏捷团队中,一个典型的用户故事的声明周期是这样的。

    story lifecycle

    其实我们可以将一篇博客看做一个用户故事。你既是IM(迭代经理),又是BA(业务分析师),DEV(开发者),QA(质量保证),而阅读你博客的人就是你的产品的最终用户。你的目标是让你的产品大卖(有越来越多的人关注你的博客)。

    1. 扩充你的Backlog。 创建backlog的要点就是随时随地的记录你的idea。这有个一个很有趣的理论,大脑有两个工作模式,线型模式(L型)和富模式(R型)。L型在工作的时候经常被用到,其按部就班,抑制了发散思维。而工作之余大脑得到充分休息,更容易进入R型工作状态,更容易得到好的idea,这时候要赶快的记录下来。所以这就是我喜欢evernote原因之一:随时随地记录idea。比如我的backlog里面现在有很多打算完成的博客,其中有《重构手法解析》一篇。《重构手法解析》这篇是我在上班骑自行车的路上想到的idea,并在到办公室的第一件事就是把这个想法记下来,放到backlog中去。

    2. Analysis。 要点:先写大纲,再进行补充完善。对于某个idea,大概确定要写什么,想表达什么样的意思。无论是技术文章还是平时的一些反思总结文章,都要有一定的骨架。我们可以先将这些骨架确定,然后再填充内容,这就像软件的设计一样。比如《敏捷的写博客》这篇,我确定一个骨架就是:1,写博客的好处。 2,敏捷流程。 3,如何让写博客变得敏捷。有了这个大纲作为支撑,写的时候就不会漫无目的。

    3. Development。 要点:采用自由写技术。何为自由写?即针对当前的博客主题及大纲想到什么就写什么,而不用太纠结于用词造句。这就像你要修建一面墙壁,事先不需要计划收集特别的材料,只需要到处走走看看,捡一些好看的时候备用。直到准备造墙时,就从石头堆里面挑出匹配的石头安放。写一篇2000字的文章容易还是将4000字的草稿整理成为2000字的文章容易?相信大多数人会选择后者。

    4. Testing。 要点:斟酌语句,最后的检查,将草稿转化为定稿。

    5. Done。发表。

    是不是发表了以后就完了? NO。我们缺少了敏捷实践中最重要的一环,那就是retro(回顾会议)。我们需要吸收读者的评论,修正自己的观点,再对博客进行加工。

    我的同事@IM_ZhangYve使用evernote来管理自己的文章。他将category建成了这个样子。

    evernote category

    这样evernote就成了一个故事墙,每个用户故事就是一篇博客,当前那些处于backlog,那些处于WIP,一目了然。你所需要做的就是尽量把用户故事往done里面挪。

    使用敏捷的博客工具

    以上只是用敏捷的方法来管理博客,那有没有相应的工具来支持像敲代码一样的写博客? 有,那就是octopress。使用octopress博客框架写博客与写代码没什么两样。 具体如何使用octopress,请自行google或者直接去其官网。 下面简单讲下如何使用octopress发表一篇博客。

    • 创建一篇博客。
    1
    2
    3
    
    :~/sourcecode/octopress$ rake new_post['敏捷的写博客']
    mkdir -p source/_posts
    Creating new post: source/_posts/2013-04-01-min-jie-de-xie-bo-ke.markdown
    
    • 编辑博客。

      使用任何你喜欢的编辑器打开2013-04-01-min-jie-de-xie-bo-ke.markdown文件,比如vim、emacs、sublime等。甚至编代码的ide都行。然后使用markdown的语法来编辑你的博客。设置标题、设置列表、加粗、加下划线、代码高亮…一切根本无需借助html编辑器就可以轻松实现。

    • 发布博客。

    1
    2
    
    :~/sourcecode/octopress$ rake generate
    :~/sourcecode/octopress$ rake deploy
    

    不过毕竟将博客host在githubheroku人气没有博客园这么旺。我们可以通过同步的方式将博客同步到博客园中。只要将screen.css文件引入到博客园中,就可以共用生成的html元素。我最喜欢的是github显示代码的效果。

    最后再推荐我们公司部分大牛的博客。

    作者:黄博文@无敌北瓜
    出处:http://www.cnblogs.com/huang0925
    黄博文的地盘
    本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    部署至Oracle数据库的注意事项
    当在centos上面部署项目时,mysql的一些驱动安装不上,
    drf利用redis做缓存是发生一点错误提示
    python字符串前面加个u代表什么
    在学习数据分析时,安装anaconda时遇到一点问题
    在使用scrapy框架爬取sina时,常见保存
    在linux上scrapyd部署scrapy项目时出现service_identity,并且不能识别其中的一个opentype模块
    如何在mysql增加一个和root权限一样的用户,安排
    mysq的root密码忘记,原来还有更优雅的解法
    mysql远程连接阿里云的Ubuntu服务器
  • 原文地址:https://www.cnblogs.com/huang0925/p/2993366.html
Copyright © 2011-2022 走看看