回首2013,展望2014
回首过去这一年,无论从技术还是思维上,都有很大的提升,但要我数萝卜下窖似的列举出来,我还真的列不出。只清楚地记得以下几件大事:
- 将博客从CSDN迁移到Octopress上。之所以迁移到Octopress上,是因为Octopress基于Jekyll,而Jekyll采用Ruby语言实现,恰巧我又迷上了Ruby。另一个原因是Octopress采用Markdown语法实现,排版更方便,简单的几个符号便能搞定,而且更美观。自从用了Markdown语法排版后,腰不酸了,腿不疼了。剩余的时间则可投入写作,何乐而不为呢?最大的好处是易迁移,只不过现在暂时还没有切身的体会,想想罢了,毕竟托管到GitHub上对于目前阶段已经够用,不必花钱买VPS,但不排除以后有钱了弄个VPS折腾下。那时候迁移也方便,所有的博客都是通过Jekyll引擎将markdown格式的文本转换为静态的Html文档,简单的拷贝下便可以了,而且还可以很方便的进行备份。其实与他人协作共同管理博客也是轻而易举的事了,只不过目前没这必要。
Tmux常用操作总结
Read more ⟶
拆机过程中的一些收获
昨天吃完午饭后来到教研室,突然师妹说有个远程(其实只是充分利用教研室的旧机器,在上面发布一些教研室的web项目,还有做为版本控制器的服务器)机器现在不能远程了,尝试关机不得所以强关,然后重启便无法启动,而她的数据在上面。所以我便开始了肢解之路。
由于几乎没有拆台式机的经验,所以拆机过程花费时间比较长,尤其是机箱外盖的拆卸。毕竟是旧机器,没有什么拆机教程可供参考,所以只能摸索着前进了,最后还是使用了点暴力手段才卸下的。拆开后,首先看了下是不是由于接口松动导致无法开机(其实连我自己都不相信是接口松动导致,因为强关不可能导致接口松动吧,可能是为了自我安慰才想到是接口松动的缘故),查看了一番,便很快排除这个原因。突然想强关的后果很可能就是导致硬盘坏掉,但是起码也应该进入BIOS吧。便猜想是不是电源坏掉导致的原因,老师刚好这时候也出来了,看到我在拆着机,便问我什么情况,我便跟老师一五一十地把情况汇报了一番。然后老师便去隔壁(其实是老师所在部门的办公室)找了一台不能用的机器,我拿过来之后卸下电源重新换上去,当然其中还有不少接线的问题还摸索了一阵,最后才发现电源存在的作用:
…放慢脚步回首过去一个月
自上篇文章到现在差不多快一个月了,也因各种琐碎的事情没有闲下来构思一篇博文,顿时有一丝的罪恶感。吃完晚饭洗完澡坐在电脑前突然有种茫然的感觉,上了会儿高端大气的知乎浏览了几个帖子,本想着改下代码,结果发现也打不起精神,便趁此机会来码字来寻求心灵片刻的安宁吧。
首先,说说最近的劳动吧,虽然没啥成果。最近教研室事不多,刚好师姐有个同学需要找人帮忙改个项目,便答应帮忙(当然是有酬劳的,不然也不会闲到改.net的代码,虽然目前还没有谈具体的数字)。其实也不在乎都多少,答应干此活也只是为了积累经验而已,方便日后找工作,同时也算是练手。拿到代码后,我顿时有种欲哭无泪的感觉,代码逻辑及结构之混乱超乎我想象,可以总结为以下几点:
…Welcome to Jekyll!
Vim寄存器
谈Vim寄存器前先对昨天做个总结吧。Rails Girls昨天在西安的ThoughtWorks成功举办,目的是帮女性程序员了解Ruby & Rails,报名参加的学员大概有30多人,教练大致有10来个,由于活动是ThoughtWorks和西安的Rubyists一起合作举办,所以我作为西安Rubyists的一员报名当了教练(由于教练奇缺,而我们Rubyist成员大多都去北京参加RubyConf了,所以我作为Rubyists里面的菜鸟报名当教练了,去了发现除我外,其他教练都是TW员工,顿时汗颜)。
…Hadoop集群
最近开始研究起Hadoop,《Hadoop in Action》大概看了3章,然后开始着手搭建环境。
由于设备的受限,让老师给分了两台虚拟机(4G内存,20G硬盘,CentOS6.4),在上面开始搭建Hadoop集群,其中一台作为master,另一台作为slave。环境的搭建大概花了一天多的时间,主要有JDK的配置和SSH的配置,这两项已经是轻车熟路,所以很快便配置好。但是Hadoop才刚接触,所以配置起来速度慢点,没有一个绝对的参考资料,网上资料虽颇丰,但甄别对与错却需要一定时间,并且还要弄懂配置参数的意义。前后大致花了有半天时间。配置好后启动服务时却出错,google搜索了好久,也试过很多方法,但一直没解决。
…Putty SSH中文乱码
由于Fedora安装在教研室的台式机上,小组的活动在科协,每次去又免不了使用Linux环境,所以Putty便派上用场了。Putty作为Windows下的SSH工具,确实很方便,解决了很多不必要的麻烦,但是发现在使用的时候,中文显示乱码。求救Google的时候到了,网上一搜,真的是一大堆,随便查看了一篇博客,照着试了一下便解决。方法如下:
windows->Appearance->Translation,在其中将字体改为UTF-8便没问题。
问题确实能解决,但是发现不能保存设置,每次打开Putty时都需要重新设置,这点有待改进,不知道是我安装的putty版本过低还是其他的缘故。在分享中成长,在成长中分享,大胆的分享吧,Don’t be shy!
…一些感想
如果要评价自己的话,那么我会将自己归为乐于分享的一类,不管是技术还是工具,亦或代码。平时也都关注一些科技新闻和博客,每当发现不错的信息时,都会想着第一时间将其分享给身边的朋友。
分享过的工具中记忆比较深的当属Git,GitHub,Evernote和Vim了,系统方面则有Linux,编程方面则有Ruby。虽然可能最终用的人不是很多,但起码他们脑海中已经有了这个词,我觉得这也就够了,毕竟大部分人还是守旧派,不愿接触新鲜事物。但自己这颗乐于分享的心却从未动摇过,只要有好东西,绝对第一时间分享。但总会有那么一些人会对我的举措有误解,认为我是一个喜欢炫耀的人,推荐给大家一些他们闻所未闻的新鲜事物是为了证明我的牛,我只能一笑置之,也不想多做辩解。因为解释过多,可能又会有人说“解释是为了更好的掩饰”,所以沉默是最好的回应。
…Linux硬链接与软链接
链接的概念其实不仅限在Linux中,在类Unix和Windows中也存在,只是网上资料大多都讨论的是类Unix的链接。下面主要对所了解的类Unix下的链接谈谈自己的认识。
###链接存在的目的
链接的出现主要是为了解决系统中文件的共享,同时有其他附加的好处:隐藏真实文件路径、增加权限安全及节省存储。简单的举例说明:
Linux中有7种run level(0-6),其中0代表关机,1代表单用户模式(用于系统维护,禁止远程登陆),2代表多用户状态(不支持NFS),3代表完全的多用户模式,4系统保留(未使用),5代表X11模式(GUI模式),6则代表重启。
这7种模式分别对应/etc/rc.d/rcN.d目录(N指0-6之间的数字),存储的是每种启动模式下要启动的程序,但实际的程序其实存储在/etc/rc.d/init.d目录中,/etc/rc.d/rcN.d中都是链接而已,链接到/etc/rc.d/init.d目录中对应的程序(这样做的目的是为了管理上的方便,试想一下,如果有多个runlevel包含同一个程序,需要对这个程序的启动脚本进行修改时,只需更改/etc/rc.d/init.d中的实际文件,而不需要改动/etc/rc.d/rcN.d)。
###链接的分类
链接分为两种:硬链接(hard link)与阮链接(soft link)。谈链接就不得不谈inode,所以先简单地介绍下inode。
…