C++的虚析构函数

C++是门神奇的语言,总是有一些不能以我们“程序员”编写它的角度去理解的问题,究其根本,大多都是C++编译器在“适当”的时候,会自动为我们的程序增加或删除一些东西,如果其编译器所做的改动,与我们预期的结果并不相关,自然我们也能得到较好理解的运行结果,然而,深入学习C++之后,就会发现,其中很多特性,必须要掌握,必须要知道编译器做了哪些东西,才能保证程序的正确执行。

C++类的构造,析构函数是C++编译器在编译的过程中,所作“适当”修改的主要场所

Read More

尝试hadoop的单机环境搭建

近来关注大数据,云计算等相关技术,把Google的三大论文看了一遍,作为非计算机科班的同学,看得有点云里雾里,看了不少书才略微理清楚现在这些流行的大数据框架之间的关系。

Hadoop便是其中一个非常吸引我的框架,打算对其环境进行配置,其中走了不少弯路,想写点记录一下。

Read More

Vim 与 系统剪贴板clipboard

在fedora 17下,刚开始不太习惯vim的时候,也没发现默认装的vim不能使用系统剪贴板这个问题,后来用多了,发现居然不能从vim复制到系统剪贴板,刚开始我还以为我快捷键使用的不对,但试过多次,均不成功。于是乎,在vim中想复制就必须用gedit打开,然后用鼠标类似windows的操作来完成复制操作,对于常用文件夹可能还不觉得有多么烦,但有些路径深的,那就实在是非常不爽!!

命令那么简单,怎么会搞错呢?后来我才发现,原来系统自带的(我的要么是一安装就有,要么就是我用yum安装的)是不具备这个功能的,即"+y不适应。怎样查看自己的vim版本是否支持系统剪贴板呢?通过以下命令,如果clipboard前面是个减号,则说明系统编译时候未加入clipboard这个选项

Read More

刷完leetcode的一点感想

两年前,在实习生笔试的时候,笔试百度,对试卷上很多问题感到不知所云,毫无悬念的挂了

读研两年,今年代笔百度,发现算法题都见过,或者有思路,但一时之间居然都想不到很好的解法,而且很少手写思路,手写代码,有点仓皇失措;概念题却是很难答好,大多我都知道,但却难以描述清楚;最后一题大题,是设计分布式缓存系统,需要考虑负载均衡以及增删设备,我知识面比较窄,居然不知有一致性哈希,于是又跪了

痛定思痛,虽然我明年找工作,若以这样的状态和水平去笔试,面试,难以有什么好结果。

Read More

使用moderncv打造个人简历

本科的时候,简历是word做的,当时觉得做得还不错,也不习惯转为pdf,后面在投递简历的时候居然有时就以word的形式发过去,那时自认好像还不错,居然无知到pdf才是国际的统一标准,word存在各种版本间的问题。

word转pdf自然不失为一种提供pdf简历的方法,但word有很多“自动调整”功能,虽然有时候极大的方便了非技术用户使用,但却非常不方便自己DIY。

恰好近来在写paper,在琢磨了一阵latex,这玩意跟vim差不多,你不用的话,看了再多遍manual都没用,但经常用则很容易理解。

Read More

在Octopress中添加MathJax

有些时候写博客需要用到数学公式,需要对Octopress的设置进行更改,才能较好的完成公式的显示

步骤如下:

  1. 安装Kramdown解析器(因为其对MathJax的支持较好),在GemFile文件中添加gem 'kramdown', '~>0.13.8',保存,执行bundle install 即可;当然也可以用一步命令gem install kramdown;

  2. _config.yml中修改markdown解析器,将markdown: rdiscount 换为 markdown: kramdown,保存,之所以这么做是因为前者对于MathJax的解析不如后者好;

  3. source/_includes/custom/head.html中,加入以下脚本,从而使得MathJax能够被使用:

    Read More

ACER-4738ZG 拆机改散热

前言

武汉真是个很热的地方,我的笔记本于2011年3月份左右购买的,到现在已经两年多了,第一个暑假,我是在苏州的空调房使用,第二个暑假,我是在实验室的空调房使用,没有直接感受到夏天对笔记本的杀伤力,今年在寝室使用,在Linux发现无线网不稳定,然后我感觉到手底下的笔记本有些烫,我只是猜测跟发热有关。于是我切回到windows,开了鲁大师监控温度(话说我不知道在linux下如何进行温度监控),发现很快主板就到了报警温度(75度),我尝试打了一盘dota,发现显卡笔记本都超过了报警温度了,我觉得该给笔记本改善下散热了。

Read More

TP-link WR703N, OpenWrt, Mentohust

最近笔记本电脑的有线网卡坏了,具体怎么坏的,我也不清楚,很可能是老化了(但我的才两年,并且我很少听人说网卡这么快老化),也有可能下雨打雷天我没有拔网线。不过很久以前,我的笔记本网口灯无论有没有接网线,开机之后它都一直亮着,不知道什么原因,电脑型号是宏基4738ZG。

Read More

Git及GitHub的基本应用

使用Octopress + GitHub来搭建自己的博客,首先得对Octopress的博客环境进行配置,还要对Git版本管理及markdown语法有一定了解。对这两个都进行学习了一下,觉得markdown语法比较简单,多练习一段时间,就可以很自然的掌握了。而Git的版本管理及GitHub的远程仓库管理,让我觉得比较难以理解,所以进行了一些测试学习。学习Git可以去Pro Git的官方网站,或者这本书的GitHub,也可以去新浪共享上面去下载


推荐安装tig,有有助于对git的理解,对于fedora 17,直接

$ yum intall tig

Read More

Octopress 的搭建与配置

关于Octopress的配置教程已经有很多了,我也参考了不少,实际上,最好的Documentation就是官方的Octopress Documentation是最靠谱的,但作者是假设你已经安装好Git及Ruby环境的前提下。我习惯性先搜了一下中文的配置教程,由于不同人的理解及系统环境不一样,还是有些弯路,现在总结一下从零开始配置Octopress的方法。

什么是从零开始?我的系统是Fedora 17,从零开始即从装好系统的那一刻起。

Read More