为什么写博客

最近在读刘未鹏的《暗时间》,书中有一章说到为什么要写博客,看了很有感触。借用《暗时间》中关于这个问题讨论的思路,我也结合自己的体验,记录下自己的观点。 我的博客史 第一个博客是在初中三年级申请的,上计算机课时老师介绍了博客这么一个东西,于是跟风申请了一个免费博客,把自己拍的几张照片传了上去。除了刚申请时候传了几张照片,就再也没更新过,时间一长,地址都忘了。 后来断断续续申请过几个博客,都是一时突发奇想要说点什么,等申请好了,也就忘了要说什么了,于是也就不了了之。大学之后有一阵做 acm 的题,申请了一个新浪博客,把解题的答案放到上面去,没几天,也断了更新。 现在的这个博客,是大四实习时申请的,当时在工作中碰到了一个棘手的问题,查了很多零零碎碎的资料才得以解决,很有成就感,想把解决问题的思路记下来,于是在 sae 上架了一个 wordpress,就是今天的博客。直到这时候,我才算正式开始写博客。 博客的价值 1.博客是经验的记录和分享 这个博客搭建的初衷就是为了记录自己在工作中解决问题的思路,所以最初的几篇文章都是记录一些问题的解决方法的,自己也一直把博客定位成技术博客,一方面记录下这些东西,将来自己遇到相同问题可以返回来看,另一方面,也能分享给有需要的人,当然,还能满足自己的一点点虚荣心 : ) 2.博客是一份自己的简历 找工作的时候觉得很委屈,自己在大学里做过很多技术方面的实践工作,而写到简历里,一两句话就要说一两年的工作,对于技术类职位,单独一两句话很难让人信服,面试官也不知道你到底具体做了些什么。那时候刚搭博客,文章少的可怜,一下子意识到自己没有将之前的经历记录下来是多么的遗憾。如果当时有一个经营了几年的博客,很多事情也就不那么麻烦了。 3.给别人讲明白是最有效的学习方式 去年在 sae 官方微博发了一个叫《是否真的了解 Javascript?》的小测试,看到以后也自测了一下,觉得理解算是比较完全,于是决定写篇博客记录下来,在写的时候才发现,有一些原理自己想当然了,虽然结果正确,可是想法却错的离谱。有些东西只有在自己想给别人讲清楚时,才会把自己的思路完整的审视一遍。 我想很多人和我一样,不写博客不是因为不知道这样做的好处,而是总想着写博客可能带来的问题。 写博客会遇到的问题 1.觉得没有价值 应该说这一点是我之前很长一段时间不写博客的重要原因,说到底,做什么事情都需要有一个目的去支撑,如果写一个博客,自己不看,别人不看,还要花钱买空间买域名,是在是一件反人类的事情。后来开始写博客,并不是我的生活开始有意义,而是很多有价值被记录的事情之前被忽略了。 2.担心被笑话 我很少写博客,写也是写技术类的文章,最多再记录下不疼不痒的事情,不写个人观点明显的东西。之前读到好书时候想写书评,最后也不了了之了,除了怕写出的东西没价值,还有一个担心就是怕被笑话。应该说,在网络上发表自己的观点,有一部分目的就是为了获得认同感,如果发的东西被大家各种喷,会一下子兴致全无,尤其是现在很多人喜欢当公知、喜欢喷人,所以很难放心的在互联网上说话。就算没有人喷,如果不小心说了误导性的东西,对别人产生了不好的影响,自己心里也会不好受。 现在觉得这事情得辩证的想,写出没水平的东西是容易被笑话,但是如果不写不交流,水平也没法提高,总不能把自己藏在暗处一辈子。现在的东西被笑话,坚持个一两年,也许自己写的东西就没那么幼稚,坚持个十年八年,恐怕也成了半个大师。关键在于,要敢于迈出这一步。 3.写不出来 写作这件事,我也有点体会,越写越能写。有的人读书很多,但是不喜欢动笔,时间一长,脑子里惊涛骇浪,就是表达不到纸上,非常捉急。所以有些时候要拿出小学生写日记的劲头,强迫自己写,笔头子是能练出来的。 我说过,我基本不写除技术类文章之外的博客,之所以这次破例,很大程度上受了《暗时间》中关于这部分内容的启发。我甚至没有想到一写写了这么一大堆,所以在这里要感谢作者刘未鹏,如果不是拜读了这本大作,现在还把自己禁锢在牢笼中。

六月 2, 2013 · 1 分钟 · Zhiya

iOS6屏幕旋转问题

使用 iOS6 SDK 创建 xib 文件时,会默认启用 AutoLayout 功能,AutoLayout 是 iOS6 中新推出的自动布局功能,通过相对定位来实现适应多种屏幕分辩率的自动布局(iOS 设备分辨率会朝着多样化的方向发展?)。 当使用 AutoLayout 的项目在 iOS6 以下的系统中运行时,程序执行会报错,于是,关闭所有 xib 的 AutoLayout 选项,再次运行,发现原本设置为横屏显示的项目变成了竖屏,所有横屏设置失效。 解决办法是,在需要横屏的 Controller 中添加如下代码,最好在将 self.window 设定成一个 RootViewController,然后在 RootViewController 中添加如下代码: // ios5下的旋屏 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return UIInterfaceOrientationIsLandscape(interfaceOrientation); } // ios6下的旋屏 -(BOOL)shouldAutorotate { return YES; }

五月 21, 2013 · 1 分钟 · Zhiya

AS3下载管理器

工作中需要一个应用内的全局下载管理器,于是使用 AS3 实现了一个。 使用一个数组来存储下载列表,当向列表中添加一个新的下载项时,会检查列表,如果有未下载项,则下载该项,下载完成后再次检查列表,当目前有进行中的下载时,不添加新的下载进程,以保证同时只有一个下载进程。 github: https://github.com/simpleapples/AS3DownloadManager

四月 24, 2013 · 1 分钟 · Zhiya

为vim打造javascript运行环境

平时测试 javascript 代码都是写一个 html 页面,放到 body 里面,再在浏览器中执行网页,然后看 javascript 控制台。突然想到可以使用 javascript 引擎直接执行 js。ok,说干就干。 google 了一下,有 Mozilla 的引擎 SpiderMonkey 和 google 的 v8 引擎,嗯,既然公认 v8 引擎比较快,那就用 v8 吧。不过看了一下网上的文章,安装 v8 引擎好麻烦 = .= 忽然想起来 nodeJS 使用的好像是 v8 引擎,那么直接用 nodeJS 执行 js 就好了。 上nodeJS 官网下载最新版,有针对 mac 的 pkg 安装包,安装完成后就要让 vim 使用 nodeJS 执行 js 文件了。接下来修改.vimrc 文件。 在.vimrc 中为 javascript 文件添加编译命令:node filename.js,如图。 完成这些步骤,就可以在 vim 中直接运行 javascript 了。

三月 7, 2013 · 1 分钟 · Zhiya

iOS6文字居中问题

升级 Xcode 之后一直没有用过,今天给一个 label 写居中属性,发现以前的文字居中属性 UITextAlignment 已经不推荐使用。如图。 查看文档,原来在 iOS6 中已经有了新的属性 NSTextAlignment。 新属性增加了 Justified 和 Natural,于是好奇在 label 中尝试了一下 Natural 属性。报错。 提示 textAlignment 中不能使用 NSTextAlignmentNatural,当然,Justified 也不能用(= .=),也就是说,对于 label 标签中的文字,只能使用 center、left、right 三种属性,和 UITextAlignment 一样。ok,那么,什么情况下可以使用 Justified 和 Natural 呢? 搜了一下,没有发现问题的解答,不过从苹果的文档来看,Justified 和 Natural 可能是针对大段文字的,没有尝试,只是推测。(⊙o⊙)…

三月 5, 2013 · 1 分钟 · Zhiya