1. "折腾vim"

    现在用vim仅仅是比用记事本高效,很多功能还没搞明白...

    配置vim是个很折腾的过程,我用的是spf13,只可惜用这个配置,一样有很多地方要改动。我的.vimrc.local。我的使用习惯是:

    • 在它的.vimrc中把所有'nowrap'改为'wrap'。写代码的时候不自动折行还好,但写日志等文本内容,不折行就没法用了。

    • spf13中每次保存的时候都会自动帮你编译一下,并报出所有的语法错误。只是这种做法带来很多问题:语法检查过于严格,声明完变量不使用都会报错;报错时会新建一个分栏,每次报错后我都要自己关掉它;最不能忍的是,有时候保存一下,然后vim就会自动退出。解决:echo let\ g:pymode_lint\ =\ 0 >> ~/.vimrc.local

    • Close the Code Checking \ syntastic in spf13: echo let\ g:pymode_lint\ =\ 0 >> ~/.vimrc.local

    • 我习惯在Insert中把绑定为向左 …

    read more
  2. "MongoDB路线图"

    MongoDB是非常有名的No SQL数据库,话说还真是适应不了No SQL的思维,每次都想着先建表...。以下是我学习MongoDB的路线图:

    2013-10-31 一定要小心使用collection.update()!!!这个命令并不是说,把新的属性加上,而是把档案直接update为你要更新的值!!在程序跑到一半的时候,我查看了下,结果发现数据全丢了!!!心脏都要停止跳动了!!!

    路线图

    1. 首先肯定是看看官网的资料了。这里面有最初级的教程,以及最详细权威的文档。走一遍它的教程后,相信你会对MongoDB有最初步的了解,学习深入后,再来这里查询文档。只是,这里没有难度适中的教程。要么有太多的细节,要么太过简略了。

    2. 一篇很好的中文简易教程,看一遍就知道MongoDB有哪些神奇的功能了~

    3. python使用Mongo的教程

    关于Mongod和Mongo命令

    听pili讲了好一会,才有了一点概念:Mongod比Mongo高一层,Mongod可以指定路径(--dbpath),Mongo则是指定端口。同一个Mongod可以有好几个Mongo。总体感觉Mongod相当于SQL中的connection,如果两个Mongod指向不同的路径,那么它俩就没有交互,可以独立的读写,而不用担心读和写同时进行,而让数据乱掉。

    我现在对它俩的关系的理解就是,Mongod相当于C …

    read more
  3. "HackerRank K-mismatch题解"

    其实算不上题解,只是讲讲自己的解题的思路吧。最后也没做出来,50分拿了25分。

    题目地址

    给定一个字符串,对它的任意两个长度相同的子串,若这两个子串的同一位置处的不同的字符的个数少于一个阈值k,就将这两个子串统计下来。问,一共有多少个满足要求的子串对。

    同一个字符串,有很多子串,子串对就更多了。因此这道题目对算法的效率的要求就比较高了。最朴素的办法,是,先枚举子串的长度,再枚举第一个和第二个子串的起始位置,之后再比较两个子串的不同字符的个数。这样的话,是O(N^4)的复杂度。

    分析下上面的思路,有哪里做了重复工作呢?是最后比较的那里,因为对于长度相同而位置只差一位的两个子串来说,它两只是错了一位而已,没必要全部重新比较下。我们可以用扩展的办法,来进行子串的比较。

    具体就是:先枚举第一个和第二个子串起点的差值(即这两个子串的距离),再枚举第一,二个子串的起点。刚开始的时候,把两个子串所有位置都比较一次,把不同的字符的个数记录下来。之后,这两二个子串分别向后移动了一位,这时,只用比较移出去的那位字符,和移进来的新字符是否相同就好了 …

    read more
  4. "给octopress添加3D标签云"

    3D标签云的效果看右栏。很炫很神奇~

    具体做法是:

    1. 从我的github库中下载源代码

    2. 把相应的文件粘到自己octopress,另外在边栏那里把它显示出来就好。具体参考我的github上的README

    Octopress 3D categories/tags-cloud configuration for non-English tags

    You can see my 3D categories-tag at the right sidebar. It's awesome! However, the origin version doesn't support non-English tags, so I revised the codes and put them in my github. It now …

    read more
  5. "我的git路线图"

    Git是广大人民群众喜闻乐见的版本控制器。以前写代码的时候经常碰到这种情况:想尝试着加点新功能,结果发现出了很严重的bug,想回滚代码,却没有办法,只能根据回忆一点点删改新加入的代码。后来,每当要进行大的变动时,就把原来的代码打个包,备份下。这样做非常的笨。Git就解决了这种问题。

    可是,虽然所有人都说git简单易用,但我入门时还是费了很多力气的。以下是我使用git的路线图:

    • 入门教材:看日记学git,这是我见过的最好的git学习资料了。看了前十几天的内容就好。

    • git rmrm的同步问题:在git下使用rm命令的时候,会将工作区的文件删掉,但是,git仓库中的文件并不会被删掉。也就是说,现在看来,文件确实是没了,但在commit之后再回滚回来,那些文件,又会出来了。解决办法是,用git rm命令,这样,仓库中的文件也被删掉。不过,我经常忘记用git rm,怎么办呢 …

    read more
  6. "Blog的新主题"

    一直觉得Octopress的旧主题不够欢乐,生活已经够凄凉的了,就不要再看到了黑色风格的默认主题吧。

    这个主题是在这个网站上挑出来的,来源于这个github项目。我还是很喜欢这个格调的。

    不过,对于这个主题,我还想做以下的变动:

    • ~~在最上方加一个导航栏,就像默认主题中的那样,因为还是很必要将文章分类的。另外,就算是将页面拉下来以后,导航栏还是保留在浏览器的上方,这样想看其它类别的文章就会很方便。~~现在觉得在右侧边栏加就好,在上方加太影响美观。~~不过现在还没开始研究标签功能。~~努力加入3D标签云中...另外,应该把标签放到文章的最上面,而不是最下面,此外尝试下在文章的展示目录中就显示出来标签。

    • 像原主题一样,在右上方加入email等按钮。

    • 在右侧导航栏中加入诸如Github项目之类的条目。

    少花点时间水人人,多花点时间写博客,写代码...感觉自己好荒费人生...

    最近对blog进行了一些加工,都写在这里吧。

    如何添加3D标签云

    具体的效果就是右边边栏上的那个了。要做两件事情:

    1. 安生成标签云的插件。具体的做法我已经写在我的github里了。

    2. 改标签的编码方式。~~因为3D标签云点击以后,是跳转到用汉字编码的路径,而octopress默认的路径是用汉语拼音标注的(别问我为什么这么神奇 …

    read more
  7. "Happiness and sorrow"

    今天犯了点小错误:因为着急用台式机布署爬虫,草草的备份了home目录下的内容,同时把之前备份的两块没能mount成功的硬盘镜像给删掉了。这给相关的负责的同学带来了很大的麻烦。也使我很内疚,心情非常不好。

    折腾了一下午的爬虫,照例爬到山上去喝红豆冰。最喜欢香港的下午苶时间了,休息一下,爬爬山,到山顶上买整个中大最赞最便宜的红豆冰,多么开心。出了楼才发现,外面是多么阳光明媚。因为香港的地皮太紧张,整个学校都是盖在山上(中大已经是香港占地最大的大学了),而我所在的实验室,只有很小的窗户,整个屋子类似于写字间,白天都要开着灯。这样,我就不知道外面到底是昼是夜。

    不管数据恢复如何困难,也不管现在做的工作多么纠结,原来,屋外一样是阳光,一样是成片成片的森林,一样是波光粼粼的大海。很喜欢中大这种依山傍海,周围环绕着树林的感觉。真有种深山老林的感觉。

    一直以来,为了前程,都觉得好闹心,但希望还是那么迷茫。只是,休息一下,出去看看山,看看海,世界还是一样运转。我们还有很多好玩的地方没有去,中大的每个角落都让我觉得神奇;我们还有好多好玩的事情没有做,从摄影,到游泳,再到MongoDB,有太多的东西值得我们去尝试 …

    read more
  8. "我的Ubuntu/Linux的正确打开方式"

    没钱买Mac...所以说,一直在用Linux。又实在折腾不动Arch,于是就很开心的使用Ubuntu了。

    说实话,感觉Linux的社区并不友好,就算是很亲近的朋友,我说到我用Linux有什么问题时,他们就一定会说“是你不会用,Balabala...”。每次出问题时我也很不好意思求助,同学帮忙的时候总会有些不耐烦,而网上找资料很耗时,而且很多东西很难找到...Linux只是一套操作系统,并不是一种宗教,相对于Windows,更稳定,但也不是说它不会死机。此外要想用好Linux,就要花出很多的时间去了解,去学习。此外,很多资料还是要用英文来查,汉语的很少。

    现在用的是Ubuntu 13.04 + XFCE 4.10 + FCITX。

    Linux下双屏的设置

    先输入xrandr命令来看看自己的两个显示器的名称,然后输入类似以下的命令就好。

    xrandr --output VGA-0 --auto --left-of LVDS
    

    FCITX安装

    官网上说的安装方法不够完整,还是会碰到各种问题。比如说,和ibus的冲突什么的 …

    read more
  9. "再次回到octopress"

    一直有搭blog的念头,只可惜,总是反反复复,加上自己太懒。这次,我又回到了Octopress~

    和上次一样,搭建Linux下的Octopress总会有各种各样的问题。又折腾了一个晚上,才搞定最基本的环境。

    细数下我碰到的问题,也许对以后的各位有帮助吧。

    \curl -L https://get.rvm.io | bash
    

    的时候报错:

    ouldn't get RVM from https://github.com/wayneeseguin/rvm/archive/stable.tar.gz
    Curl returned error 22
    

    后来发现是下载时跳转到codeload.github上了,而这个域名下面的东西经常不能访问。不仅仅是在我这里(香港),而且其它地方也经常不能访问 …

    read more

« Page 13 / 13

links

social