兔子繁殖(Fibonacci数列)问题的理解

Fibonacci在《算盘书》中提出了一个有趣的兔子繁殖问题:

一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?

一提到这个经典的问题,大家立刻知道它的答案就是著名的Fibonacci数列,而针对这个问题大家更多地是手工地计算出前几个月的兔子数量,然后从中找规律,发现f(n)=f(n-1)+f(n-2)

对同步/异步的理解

同步/异步执行可以用在的地方为 该部分任务的完成主体和该线程的完成主体不一样 ,什么意思呢,我举两个经常用异步的例子:

  1. 读取文件:读取文件的实质是将在硬盘上的数据复制到内存里,而这一操作的执行者并不是cpu,而是磁盘控制器。
  2. 发送http请求:当线程执行发送请求之后,就是网络里的传输问题了,并不需要cpu的操作。

所以存在异步/同步调用的地方,本身该任务的完成就不是该线程来做的
所谓的同步,不过就是 不做事在这里等该任务处理完成

Error loading syntax file: Unable to open Packages/Markdown/Markdown.tmLanguage

在sublime text 3的插件MarkdownEditing后,每次打开都会提示错误Error loading syntax file “Packages/Markdown/Markdown.tmLanguage”: Unable to open Packages/Markdown/Markdown.tmLanguage

原因: 在sublime text3中,安装了插件MarkdownEditing后,会自动把原始的Markdown给disable掉,而原先的.md文件的语法设置都为原始的Markdown,所以每次打开都会提示该语法文件已经不在了。
解决方案: 把安装该插件之前打开的设置为原始的Markdown语法的文件都Ctrl+w关闭掉,并且设置.md文件的语法为新安装的MarkdownEditing里的语法。

error: gtk/gtk.h: No such file or directory

sublime text不支持中文,在按照百度经验里执行操作2gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC的时候报错:error: gtk/gtk.h: No such file or directory

原因: 没有安装libgtk支持库。
解决方案: 用命令sudo apt-get install libgtk2.0-dev安装libgtk支持库之后再进行编译就ok了。

ubuntu终端显示相关修改

和ubuntu终端显示有关的文件为~/.bashrc里的PS1,因此如果要修改相关的内容和颜色,则需要进行该文件的修改,所以首先用vim打开该文件,查看PS1原本的内容

1
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

hadoop2.6.0单机伪分布式安装和配置

其实在一年前我就安装过hadoop,不过那时候就是照着教程安装的单机版,这次的安装过程虽然遇到了很多问题,并且很多问题的发生其实都是由于自己对linux系统下shell命令的不熟悉造成的,而且由于之前的电脑是中文版,想了想可以锻炼自己的英文水平就硬着头皮重装了纯英文版,之后又配了一次。
虽然在这次配的过程还是遇到了一些问题,不过也更了解了细节上的操作,而且悟出了一个道理:

如果你做的一件事情是一帆风顺的,那它便可有可无。

ubuntu关闭访客模式

关闭访客模式

1
sudo vim /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

在最后面加上

1
allow-guest=false

保存后重启,就无法访客模式登录了

使用Goagent+firefox+autoproxy快速实现翻墙

翻墙应该算是日常不可少的一部分,不管是down外国论文还是下一些外国软件,当然也可以使用主流的一些社交网站如facebook、twitter等,这个翻墙的方法主要是基于最下面的第一篇文章进行实现,但是由于其教程是基于window平台,因此在一步上有一些差异。