博客即代码 | TW洞见

今日洞见

文章作者来自ThoughtWorks:黄博文,图片来自网络。

本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。

之前我写过一篇博客,敏捷的写博客,借鉴了敏捷看板的思想来管理博客。

而在DevOps领域有一个很火的技术实践叫做基础设施即代码。Kief对基础设施即代码的解释是这样子的:

基础设施即代码是一种使用新的技术来构建和管理动态基础设施的方式。它把基础设施、工具和服务以及对基础设施的管理本身作为一个软件系统,采纳软件工程实践以结构化的安全的方式来管理对系统的变更。

里面的关键一点是以软件工程实践的方式来管理基础设施。那么对于我们的博客可不可以也采纳软件工程实践的方式来管理那?答案是可行的。

  1. 选取合适的语法 既然想写代码一样写博客,那么首先要选择一种语法了,这种语法就是Markdown)。Markdown)非常容易上手,包含的tag刚刚够用,尤其展示代码非常方便,自从用了它再也不用和烦人的CSS打交道了。人们不仅用Markdown)在stackoverflow上发问题、解答问题,还在GITHUB上track issue,甚至现在写邮件也用Markdown)了。拿它来写技术文章简直不用太爽。
  2. 选取合适的框架 实现基础设施代码需要选择一款基础设施自动化工具,这些工具的特点是全命令行操作,很容易实现自动化。那么建立自己的技术博客站点也需要选择一个博客框架,支持全命令行操作的博客框架有Jekyll、Octopress、Hexo等。它们各自的特点不在本文的讨论范围。但我多说一句,我现在使用的是Octopress,我也用过Hexo,我更喜欢Hexo,原因有二,一是速度快,二是环境简单。
  3. 选取顺手的编辑器 这些博客框架的特点是可以Offline写作,然后一键发布。所以你可以选用任何你喜欢的编辑器来写文章,不用使用在线编辑器和各种样式问题、网络问题抗争了。Atom、Sublime或者专业编辑工具MacDown、Mou等都行。
  4. 一切纳入版本管理 这些博客框架创建博客、生成博客、发布博客全部可以命令行操作。而且所有的配置(包括对站点的基本配置、插件的配置、主题的配置)都可以直接修改配置文本,博客也是以MarkDown的格式存储,所以整个站点都可以存放在GIT之类的版本控制库中。比如我的整站博客源码都放置在GitHub上,从此再也不用更担心博客内容丢失了。
  5. 灵活的发布策略 它们通过命令可以生成纯静态的博客,所以无需任何web服务器都可以运行。你可以将其放置到GitHub Pages上,或者Heroku上都行,或者自己随便找台免费的云主机装个nignx即可。当然也有更高大上的做法,我把整个博客放置在AWS的S3上。S3是亚马逊推出的对象存储服务,并且我还是用了亚马逊提供的全球CDN加速功能CloudFront,对我的博客进行了全球CDN加速。无论是澳洲海边还是中国内陆,访问速度都是杠杠的。
  6. 定制开发的能力 漂亮的主题风格也是选取一个博客框架需要考虑的一个因素。想要更换皮肤就太简单了,也是全命令行操作。拿Octopress举例,网上有很多热心用户制作的皮肤,都托管在github上,相中以后直接通过命令行操作就可以给你的博客换上最In的皮肤。 另外还有对博客的定制化也是我们关心的。每款博客框架都有丰富的插件,这些插件的代码都放置在GitHub上,完全开源,安装配置插件也非常简单,命令行全部搞定。我自己也写了一些定制化的插件,比如当我发布一个新博客的时候,只需rake deploy一条命令就可以把我的博客推送到我的weibo和linkedin上,也可以把整个博客内容同步到我在博客园的博客站点上。这些插件也开源在GitHub上,分别是octopress-linkedin和octopress-syncPost。

这样子,写博客变成了一种享受。进入咨询团队以后,坚持写博客也带来了其它一些好处。比如和客户讨论一个问题时,直接把我文章链接发给他说,说这个东西我之前专门写过博客,你看了就懂了。这样瞬间在客户面前树立了专业的形象。更有甚者,客户当着我的面搜索某个技术名词,第一页第一条赫然就是我写的博客。所以可以少费些口舌,把精力用到其它地方去。

本文分享自微信公众号 - 思特沃克(ThoughtWorks)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-01-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏喔家ArchiSelf

程序员眼中的测试

码农的产品和服务大都是以软件形式存在的,我们存在的价值之一就是快速提供高质量的软件产品或服务。如何保障软件的高质量呢?这与软件测试分不开的,测试是保证软件质量的...

23440
来自专栏杨建荣的学习笔记

11g rac安装过程感悟 (r7笔记第32天)

问题的背景是这样,以前学习oracle 10g rac的时候在rhel 5上安装,真是快使出吃奶的劲了,前前后后忙活了一个多星期,配网络,配共享存储,修改vm...

32330
来自专栏FreeBuf

开源软件创建SOC的一份清单

现在各个公司都有自己的SOC安全日志中心,有的是自己搭建的,有的是买厂商的,更多的情况是,各种复合类的的组织结构。这些日志来自不同的服务器,不同的部门五花八门。...

28420
来自专栏花叔的专栏

解读一下小程序拉起APP的功能

那天花叔在电影院看电影,突然看到小程序官方发了一条更新信息“小程序支持打开移动应用”,What!?这么牛逼么?于是就去研究了一下....然后...我就没那么鸡血...

96080
来自专栏SEO

SEOer必学网站分析神器(第三节课)

408130
来自专栏罗超频道

Chrome支持Android应用,浏览器正在成为操作系统?

Google 日前已决定将ARC开放给所有开发者,并且ARC在Chrome OS和Chrome浏览器中均可以运行。ARC全称是App Runtime for C...

34840
来自专栏小怪聊职场

架构|当你在浏览器访问www.taobao.com之后...

40650
来自专栏北京马哥教育

Linux运维工程师必学必备的8项IT技能

成长一名Linux工程师之后,才知道一路走来,背后的心酸。非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足。 如果你在学习Linux,那么强...

37240
来自专栏JAVA高级架构

深入浅出 RPC - 浅出篇

近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,...

17530
来自专栏EAWorld

服务都微了,编排怎么整?

目录: 1. 编制、编排傻傻分不清楚 2. “编排”的关键在于流程+适配 3. “编排”中的分布式事务应满足最终一致性 4. “编排”需要更友好的运维工具支撑...

1K60

扫码关注云+社区

领取腾讯云代金券