梦想


你要搞清楚自己人生的剧本——不是你父母的续集,不是你子女的前传,更不是你朋友的外篇,对待生命你不妨大胆冒险一点,因为好歹你要失去它。如果这世界上真有奇迹,那只是努力的另一个名字,生命中最难的阶段不是没有人懂你,而是你不懂你自己。——尼采

当读到这段话时,我陷入了沉思,不禁想:人生短短几十年,生命的1/3差不多已悄然而逝,在这1/3的年华中自己收获了什么,失去了什么。我想得到的可能就是人们眼中所谓的专业知识,比一般人士更了解计算机而已,同时可能收获的是思考问题和解决问题的能力。而失去的确是童年该有的肆无忌惮的玩耍,天马行空的想法,取而代之的是那铜墙铁壁似的教室的囚禁,被教导做个父母、老师眼中的乖孩子,死记硬背那些该死的口诀表和公式。

Read more ⟶

Dead Code


今天在网上看到腾讯的一个实习生招聘题,里面提到了dead code,便上wikipedia查了下,解释如下:

在计算机编程中,dead code是指那些被执行但执行结果在其他地方没有用到的代码。dead code的执行耗费cpu时间但是结果无用。

dead code的执行结果没用也就罢了,但它还可能同时导致异常或影响某些全局状态,所以移除这些dead code可能会改变程序的输出,并且排除那些意想不到的bugs。

参考文档:

http://en.wikipedia.org/wiki/Dead_code

Read more ⟶

ASP.NET MVC Json()处理大数据异常解决方法


近几天一直忙于windows下的项目,rails的学习暂时搁置了,所以也有好几天没有用fedora了,博客大致也有一周没有更新。此博客本想只记录一些Linux平台下的相关操作,但这两天碰到的问题很棘手,虽最终得以解决,但不忍就此翻篇,想将解决之法记录下来,以避免今后再次碰到此类问题又得重头再寻求解决方案,同时也分享出来,避免其他人碰到此问题时多走弯路。所以便予以记录。下面切入正题:

先对项目做个简单介绍:

Read more ⟶

计算机启动过程


计算机启动过程的详细介绍请参考阮一峰老师的两篇博文:

  1. http://www.ruanyifeng.com/blog/2013/02/booting.html
  2. http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html

写的非常通俗易懂,真的很佩服阮老师的文笔,有时候自己写的博客自己都有点目不忍视,更何况别人呢。要达到这样的水平真的还有好长的路要走。加油吧

Read more ⟶

Ruby语言独特点


有时候真佩服别人的博文可以写的那么长,而且很有料,读起来也非常顺畅,而自己每次却不太善于总结,可能是平时积累的片段还不够,不足以总结,亦或是自己缺少这么一个总结性的思维,导致如今为止也没有产出一篇广为阅读的文章。不过即使如此,也没有打消我持续写博客的念头,不管好坏,不管是否有读者,我将会一如既往的写下去。正如哥哥的《我》:我就是我,是颜色不一样的烟火。每个人都有他存在的价值,无论高低贵贱,无论贫穷富贵,都有其独一无二不可替代的特性。所以无论自己的博文是否能带给大家一丝感触、一点帮助,我都会坚持,因为这也是对我自己学习的一个总结,同时也想尽力贡献一份自己的力量来帮助他人,但我想更多的还是能帮助自己,以便为未来某一天突然需要回味从前的知识提供便捷。我想这便是写博客的初衷。下面进入正题吧:

Read more ⟶

Vim常用快捷键总结


Vim的学习之路真的很长,永远有记不完的命令,永远会突然冒出一个新插件。不过我总算从Vim的荆棘中一路走过来了,现在真的是苦尽甘来,时刻体会它带给我的喜悦和惊奇。下面对我所学习所了解到的常用命令做一个基本总结:

###Normal mode:

>> indent current line

n>> indent the next n line

. repeat last command

m,n>> indent from m to n line

== autoindent current line

n== autoindent the next n line

gg=G autoindent the whole file

Read more ⟶

instance_eval vs class_eval


Ruby中类其实也是Class的实例。而且instance_eval必须由实例来调用,class_eval必须由类来调用。具体参考下面的实例:

	class A
	end

	a = new A
	a.instance_eval do
		self #=>a
		
		def test
			puts "this is a singleton method of instance a"
		end
	end

	a.test   #=>this is a singleton method of instance a

	b = A.new
	b.test   #=>NoMethodError
Read more ⟶

搭建Git服务器


从开始用Git到现在也已经有一年时间了,但一直都在本地开发,用于管理本地的代码,没有进行多人协作开发,所以也没有必要搭建一个Git服务器。

但就在昨晚,我在教研室给大家介绍Git工具时,感觉大家对这个工具貌似没有太大的热情,猜其原因,可能是因为大家对这个工具过于陌生,而我又讲的太过细节,所以他们可能听得有点烦。但是只有试过之后才能感觉其方便之处,我也希望教研室的同学都能掌握它,所以便决定在教研室搭建一个Git服务器,供大家使用,也思索着今后的项目都用git来进行管理。毕竟现在教研室只有我一人使用git,其他同学都用svn,甚至不用(其实用svn的同学不超过3个),开发项目也难以统一,而我个人在使用过git后又不想转向svn,同时也非常希望身边的同学也能去使用git这么一个优秀工具,所以只能忽悠他们转向git了。不过经昨晚一役,证明了我忽悠人的本领完全不到家,看来今后得好好练练了。前奏有点过于冗长,下面进入正题吧。

Read more ⟶

更新Octopress


现在已记不清接触Octopress多长时间了,只依稀记得当时配置Octopress配了好久,然后依然失败,后又忙于其他的事情,所以搭建工作便搁置一旁,七月中旬时间比较充足,所以又开始再次折腾,后来终于搭建成功,所以7.18便发表了第一篇博客。后来一个月之后又开始了我的换肤工作,一切都好,唯一的缺陷是Gravatar的图像没有显示出来,所以便向theme的作者发问,后来也忘了这茬事。就这样又过了一月,直到今天,突然发现我的unread消息里面有几条关于我的message,便打开浏览,才发现作者给的回复,说图像没显示是个bug,现已修复。具体见:

https://github.com/shashankmehta/greyshade/issues/42

我便立马更新了我的Octopress。更新方法如下:

# Get the latest Octopress
git pull octopress master    
# Keep gems updated
bundle install               
# update the template's source
rake update_source            

具体参考:

http://octopress.org/docs/updating/

参考时请务必注意:如果您的octopress主题不是octopress默认主题,请不要执行rake update_style,否则会被还原成默认主题。

本博客采用的主题为:

https://github.com/shashankmehta/greyshade

Read more ⟶

VirtualBox安装ArchLinux系统


都说ArchLinux很适合折腾,趁今天有时间,就试着安装了一把,不过看ArchLinux的Beginners’s Guide,照着其步骤来,结果还是看的云里雾里,看的人头大。便直接上Youtube上找了一个视频,顿时豁然开朗。安装概览如下:

##ArchLinux Install

  1. 分区
  2. 格式化分区
  3. 挂载分区
  4. 更改安装镜像
  5. 安装基本系统
  6. 生成fstab
  7. Chroot到新系统
  8. 配置系统
  9. 开启网络服务
  10. 创建初始化ramdisk环境
  11. 设置root密码
  12. 安装配置bootloader
  13. 卸载分区并重启系统
  14. 安装图形用户界面

详细步骤如下:

###1. 分区

虚拟机挂在iso镜像后,然后启动系统,进入后默认进入root提示符,然后输入:

root#cfdisk

进行分区,一般分三个即可。最后分区结果如下:

dev/sda1 / 8G
dev/sda2 /swap 1G(在空间最后)
dev/sda3 /home 4G

每个人的分区情况都可能不同,具体依照自己的分区来决定,以下操作都是根据我的分区来进行。

Read more ⟶