博客源自知乎上的一个问题。
作为一个长期写博客(博客上现在已经有526篇博客)的程序员,我觉得你并没有从写博客中受益。因此,我相信你还是没有真正开始去写博客。因为:
输出是最好的输入。
说说一些优点:
- 对于我们所要学习的东西,我们可以掌握得更深入,因为我们需要去给别人解释。
- 我们在不断地对自己知识总结,对自己知识进行强化。
- 我们在以另外一种方式思问题。
按我写过的文章,我觉得技术博客可以分为几种不同类型的文章:
- 技术、阅读笔记——学习
- 理论、技术实现过程——创造
- 思想、感受、总结——分享
这三类大概是一个递进的过程,最开始的时候我们只会去写一些技术笔记或者阅读笔记(不仅仅限于书,也可以是代码)等等。接着,我们掌握了一定的基础之后,我们就有能力去做过多的事情,我们就开始享受创造的过程。最后,我们就会去总结一些学习过程中遇到的问题,并分享一些自己的想法。
技术笔记
通常我们看到的都是技术笔记以及某个东西的实现过程,当开始写一篇文章的时候,就意味着你可能需要分享某个东西。
直接贴上代码的是gist,不是博客,一开始你需要一个简介。以之前写的《 Mac OS Oculus DK 2 node-hmd 安装及Hello,World 》为例。
一开始需要简单地介绍一下node-hmd:
This module serves to act as a common interface for communicating with a variety of head mounted displays (HMDs).
接着,就是安装的过程。 最后只能用Clang,export这些编译器,然后再编译:
export CC=/usr/bin/clang export CXX=/usr/bin/clang++ npm install node-hdm --save
反正都会报错。。
object file (Release/obj.target/hmd/src/platform/mac/LibOVR/Src/Util/Util_ImageWindow.o) was built for newer OSX version (10.7) than being linked (10.5)ld: warning: ld: warning: object file (Release/obj.target/hmd/src/platform/mac/LibOVR/Src/Util/Util_Interface.o) was built for newer OSX version (10.7) than being linked (10.5)object file (Release/obj.target/hmd/src/platform/mac/LibOVR/Src/Util/Util_LatencyTest2Reader.o) was built for newer OSX version (10.7) than being linked (10.5) ld: warning: object file (Release/obj.target/hmd/src/platform/mac/LibOVR/Src/Util/Util_Render_Stereo.o) was built for newer OSX version (10.7) than being linked (10.5) node-hmd@0.2.1 node_modules/node-hmd
然后,就是实现的过程,也就是代码。
在贴上这些代码之前,你需要再运行这些代码,要不很多人就会骂你。
理论、技术实现过程
通常我们也会去想一些特定的技术在一些新的领域中的应用,算是一种微创新吧。
诸如《 基于Virtual DOM与Diff DOM的测试代码生成 》,像这样的理论类型的文章就需要详细地介绍一下它是怎么工作的,如何工作的,最好有示例代码。
- 思想和感受
如前天写的《回顾2015年:从翻译到浮现式设计》、《信息流的思考》
上面就是自己对于一些技术的看法,以及一些想法。在你形成这些想法的时候,你就可以记录这些想法。因为想法也是在不断的也演进的,过了几个月后,你会发现你的想法发生了一些变化。这时,我们就可以明显地察觉到自己的进步。这时,我们可以做进一步的记录。
其他
末了,说说我写博客的经历大概是这样的:
- 开始只是纯粹的写作(从哲理到其他,虽然没在这里写)
- 而后为了研究所谓的SEO(似乎已经没有什么好玩的)
- 接着想鼓励下女友天天写点东西(她还是漫不经心地写)
- 现在呢?大概是为了分享