自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

__七把刀__

新的文章请移步简书查看 http://www.jianshu.com/u/4d4a2f26740b

  • 博客(155)
  • 收藏
  • 关注

转载 隐藏在手机中的第二个操作系统

隐藏在手机中的第二个操作系统原文链接: Thom Holwerda   翻译: 伯乐在线 - NULL_文龙译文链接: http://blog.jobbole.com/51708/每一部智能手机或其它拥有3G、LTE通迅能力的设备实际上都运行着两个操作系统,这是个众所周知但又很少被提起的话题。除了那个我们能看的见的系统(Android、iOs、PalmOS),设备上还运行着

2013-11-20 14:28:42 1584

原创 twitter面试题之装水问题

据说这是twitter的一个面试题,不过,去年找工作的时候我的一个同学在面试微软的时候也有问到这个问题。很有意思的一个题目,当时我也没有去深究到底怎么实现比较好,前几天在伯乐在线上面看到了这篇文章面试题分析:我的Twitter技术面试失败了, 才知道这个解法原来很简单,只是刚开始没怎么看懂,比较绕。好吧,废话少说,我还是根据自己的理解来说下这个问题,不对之处,还请大家指正。题目描述:

2013-11-09 20:28:17 3465 3

转载 数学常数e的含义

在网上看到阮一峰的《数学常数e的含义》,非常有意思的文章。话说阮一峰老师的博客文章质量都很高,推荐。网址如下:http://www.ruanyifeng.com/blog/2011/07/mathematical_constant_e.html

2013-11-06 13:15:47 1658

原创 Redis源码学习4-基本数据结构之字典

Redis基本数据结构-字典 1、字典概念 Redis是一个键值对数据库,在很多地方用到字典。Redis字典的实现采用的是比较经典的哈希表方式实现的。貌似跟memcached的方法有点像,很久之前看过部分memcached,现在忘得差不多了。Redis的字典定义如下:/* * 字典 * * 每个字典使用两个哈希表,用于实现渐进式 rehash */typedef

2013-10-26 22:17:34 1680

原创 Redis源码学习3-基本数据结构之双向链表

1楔子双向链表为redis列表类型的实现方法之一,列表类型实现除了用到双向链表,还有压缩列表。因为双向链表占用内存较多,所以redis优先采用压缩列表来实现自己的列表类型。压缩列表后续分析,先看看双向链表的代码。 双向链表作为一个基本的数据结构,在很多书上都会有描述了,下面就一个个函数看看redis的双向链表的实现方法。文件参见src/adlist.c和src/adlist.h。关于这

2013-10-14 12:49:48 1883

转载 Redis源码学习2-内存管理

开始还想着分析一下redis内存管理函数的,在网上找到一篇很不错的分析文章,干脆直接拿来用好了。原文地址:http://blog.ddup.us/?p=136Redis中到处都会进行内存分配操作。为了屏蔽不同平台之间的差异,以及统计内存占用量等,Redis对内存分配函数进行了一层封装,程序中统一使用zmalloc,zfree一系列函数,位于zmalloc.h,zmalloc

2013-10-12 17:37:46 1891

原创 git学习资料

平时用git比较少,上次在用的时候学习了一下,发现了一个不错的站点,介绍git很详细,整个系列看完收获很多。网址如下:http://blog.jobbole.com/25775/

2013-10-12 11:07:12 1954 2

原创 Redis源码学习1——基本数据结构sds

最近好几次用到redis,但是一直没有时间来好好学习下redis的原理,打算最近花一个月的空余时间来整理学习下redis的源码。redis本身非常简洁,下载源码直接make就ok了,而且似乎没有依赖第三方库什么的。先从基本的数据结构开始把,主要参考了http://www.redisbook.com/en/latest/index.html#, 非常赞的关于redis 的站点,作者对redis的

2013-10-09 22:22:16 1578

原创 30个实用的find命令

伯乐在线是个不错的编程相关网站,里面的文章翻译质量都很高。30个使用的find命令分两篇,地址分别如下:一、妈咪,我找到了!15个实用的Linux find命令示例二、爹地,我找到了!15个极好的Linux find命令示例

2013-09-29 14:40:27 1514

转载 深入浅出JSONP--解决ajax跨域问题

深入浅出JSONP--解决ajax跨域问题  原文地址:http://www.cnblogs.com/chopper/archive/2012/03/24/2403945.html取不到数据!  上周客户新买了服务器,原本在旧的服务器上放着客户的Web主页信息和一个后台程序(asp.net),在客户的主页中有一个动态显示最新消息的处理,这个处理就是通过ajax异步从

2013-09-26 17:33:03 1156

原创 HADOOP伪分布式安装

一、环境搭建1)安装JDKhadoop是java编写的,首先自然是要安装jdk了,在ubuntu和debian上可以直接用apt-get install sun-java6-jdk安装即可。2)安装SSH可以安装open-ssh-server。3)在namenode上面实现无密码登录ssh-keygen -t dsa -P '' -f ~/.ssh/id_d

2013-09-03 21:52:52 1257

转载 怎样写一个拼写检查器

怎样写一个拼写检查器 Peter Norvig翻译: Eric You XU原文地址:http://blog.youxu.info/spell-correct.html上个星期, 我的两个朋友 Dean 和 Bill 分别告诉我说他们对 Google 的快速高质量的拼写检查工具感到惊奇. 比如说在搜索的时候键入 [speling], 在不到 0.1 秒的时间内, Goo

2013-06-14 17:50:30 1915

转载 为什么计数从零开始

在网上搜到一篇有意思的文章,贴过来了。原文地址:http://wangcong.org/blog/archives/2230众所周知,C语言数组下标是从0开始,其它很多语言皆如此。而 FORTRAN 则是数组下标从1开始的典范。所以就有数组下标是从1开始好还是从0开始好之争。连《C专家编程》中都如此调侃:数组的下标应该是从0还是从1开始?我提议的妥协方案是0.5,可惜他们未予认

2013-06-03 09:57:50 1887

转载 在Python中如何使用Linux的epoll

原文地址:http://zoomq.qiniudn.com/ZQScrapBook/ZqFLOSS/data/20100927213110/英文地址:http://scotdoyle.com/python-epoll-howto.html在Python中如何使用Linux的epoll序言从2.6开始,Python包含了访问Linux epoll库的API。这

2013-05-29 17:41:17 1753

转载 python 线程,GIL 和 ctypes

原文地址:http://zhuoqiang.me/python-thread-gil-and-ctypes.htmlGIL 与 Python 线程的纠葛GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题。运行下面这段 python 程序,CPU 占用率是多少?# 请勿在工作中模仿,危险:)def dead_loop(): wh

2013-05-28 10:13:17 1454

原创 网络协议-经典博文

在博客园网站上看到的讲解网络特别清晰易懂的文章,分享一下。作者很厉害,深入浅出,神乎其技啊。http://www.cnblogs.com/vamei/tag/%E7%BD%91%E7%BB%9C/

2013-05-24 21:36:07 1535

转载 浏览器幕后揭密

原文地址:http://ux.sohu.com/topics/50972d9ae7de3e752e0081ff序言这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络浏览器的源代码。她写道:在 IE 占据 90%

2013-05-22 20:24:51 1381

原创 nginx和uwsgi安装配置

一、安装nginx下载nginx源码包,官网是http://wiki.nginx.org/Main ,为了支持gzip以及正则表达式,还需要下载pcre和zlib源码包。pcre网址http://www.pcre.org/,zlib网址http://www.zlib.net/。我下载的nginx版本为1.4.1, pcre版本为8.32,zlib版本为1.2.8。下载完成后,对

2013-05-20 10:00:23 3954

原创 apache2.4配置cgi和fastcgi

一、源码安装apache之前为了测试系统,自己下载源码编译安装了一个apache2.4,安装apache2.4过程比较简单,注意在configure时加上参数。配置:./configure --prefix=$APACHE_HOME --enable-mods-shared=most --enable-ssl=shared --with-ssl=$SSL_HOME(--with-s

2013-05-14 19:41:30 16429

转载 标签数据库的设计

Tags: Database schemasRecently, on del.icio.us mailinglist, I asked the question “Does anyone know the database schema of del.icio.us?”. I got a few private responses so I wanted to share the kn

2013-05-13 10:40:01 3919

转载 WSGI分析

mod_wsgi 流程简单分析: 一个嵌入python的例子WSGI: 一个协议,描述通用服务器与python app之间的接口规范wsgi app:遵守wsgi规范的python appmod_wsgi: apache服务器的一个扩展模块, wsgi协议在apache服务器上的一个实现,有了它, 你就可以在apache上运行wsgi app总的来说,WSGIScr

2013-05-13 10:36:49 5356

原创 MYSQL几个小点

1. 输入命令mysql即登录,不用输入用户名和密码。配置方法如下,在用户当前目录下新建文件.my.cnf(我的系统是ubuntu12.10,注意文件前面有个点),然后输入下面的内容 保存即可。然后打开终端,只需要输入mysql就自动登录了。[client]host = localhostport = 3306user = ssj(这是mysql用户名)password =

2013-05-02 00:01:16 1512

原创 Subversion版本控制(3)—基本概念续

一、Subversion Repositories    subversion版本控制仓库(Repository)与其他版本控制系统并无区别。与工作副本不同之处在于,subversion repository是个抽象的实体,能够被subversion自己的工具和库几乎专有的操作。许多用户与subversion的交互都是基于工作副本,因此后续会着重介绍subversion中工作副本的操作。

2013-02-27 20:33:15 1550

原创 Subversion版本控制(2)—基础概念

版本控制基础概念本文主要从理论上说明版本控制的原理,关于Subversion的具体操作命令将在下一篇文章中提及。个人觉得,对这些基本概念的了解有助于对subversion版本控制有更好的了解。Subversion适用于任何类型的文件管理,并不局限于编程人员。一、版本库(The Repository)        版本库(The Repository)是版本控制系统的核心,它负

2012-12-14 22:17:54 2255

原创 Subversion版本控制(1)—简介

一、Subversion简介Subversion是一个开源的版本控制系统,即version control system (VCS)。其用于管理文件和目录,以及对文件和目录的修改,适用于团队开发项目时对项目版本的管理,所以也被称为时间机器(time machine)。Subversion开发人员秉承了CollabNet公司的版本控制工具CVS的控制方法学,本意只是想去修复CVS中的缺陷,最

2012-12-12 16:48:05 1473

原创 Debian6安装笔记

安装debian真是费劲周折,从网上下载的是debian6.04的CD版本,只下载了CD1,里面包含的软件非常少,所以很多软件都需要自己动手安装了。一、下载镜像可以到Debian的官网http://cdimage.debian.org/debian-cd/6.0.6/i386/iso-cd/去下载最新的6.06版本,因为官网下载太慢,所以我到六维空间上面下了个6.04版本的CD1。CD1只

2012-11-26 23:45:44 5147 3

原创 远程连接mysql的“Communications link failure”错误解决方案

最近忙着做毕设的东西,用到了mysql存储一些系统元数据,在使用系统ip地址连接的时候出现错误,但是使用localhost连接mysql却没有问题。错误信息:Communications link failure,Last packet sent to the server was 0 ms ago.最初想到的是授权问题,即授权制定的数据库有远程访问权限。有两种方法:1)采用改

2012-10-26 10:18:40 4594

原创 判定两棵二叉树是否同构

题目描述给定两棵二叉树,根结点为t1和t2,判定这两棵二叉树是否同构。所谓二叉树同构就是指它们的结构相同。 分析为了判定是否同构,可以考虑递归来解决。代码比较简单,如下所示bool isomorphism(Node* t1, Node* t2){ if(NULL == t1 || NULL == t2) return (NULL == t1) &&

2012-10-13 21:03:15 5284 1

原创 完全二叉树的判定

问题描述判定一棵二叉树是否是完全二叉树。二叉树定义如下:struct node { int data; struct node* left; struct node* right; }; typedef struct node BinaryTree;完全二叉树的定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的

2012-10-05 23:08:41 2326

原创 找出二叉树中最大的子树,且子树为二叉搜索树

题目找出二叉树中最大的子树,该子树为二叉搜索树。所谓最大的子树就是指结点数目最多的子树。分析该题目是要找出二叉树中最大的子树,该子树必须是二叉搜索树(BST)。子树的概念需要重点关注一下,以下面一棵二叉树为例         ____10____ / \ __5_ 15_ / \

2012-10-05 22:16:09 4011

转载 二叉树中节点的最大距离

《编程之美: 求二叉树中节点的最大距离》的另一个解法原文地址:http://www.cnblogs.com/miloyip/archive/2010/02/25/1673114.html昨天花了一个晚上为《编程之美》,在豆瓣写了一篇书评《迟来的书评和感想──给喜爱编程的朋友》。书评就不转载到这里了,取而代之,在这里介绍书里其中一条问题的另一个解法。这个解法比较简短易读及降低了空间复

2012-10-05 20:03:37 2059

原创 出栈数目

题目描述已知一个入栈序列,试求出所有可能的出栈序列数目。例如入栈序列为1,2,3,则可能的出栈序列有5种:1 2 3,1 3 2 ,2 1 3,2 3 1,3 2 1。 分析要求解出栈序列的数目,还算比较容易的。已经有很多文章分析过这个问题,最终答案就是卡特兰数,也就是说n个元素的出栈序列的总数目=C(2n, n) - C(2n, n-1) = C(2n, n) / (n+1)

2012-10-05 12:42:49 2497 2

原创 给定一个字符数组,存储有R、G、B字符,将所有字符按照RGB顺序排序

这个题目隐约是在某个博客上看到过,后来书签掉了,一直找不到原文,所以只好自己写了一个解法,但愿没有出错。题目描述已知一个字符数组,其中存储有R、G、B字符,要求将所有的字符按照RGB的顺序进行排序。比如给定一个数组为char s[] = "RGBBRGGBGB",则排序后应该为RRGGGGBBBB。 分析解法1)这个题目有点类似于快速排序中用到的划分数组的方法,但是这里有三个字

2012-10-04 21:46:18 4609 2

原创 比特位操作算法题汇总

涉及比特位操作的算法题有很多,本文对其中常见的一些进行汇总,所有资源来自网络。一、判断一个正整数是否是2的整数次幂判断一个整数N是否是2的整数次幂,这是个很常见的问题。比如4、8等都是2的整数次幂,而6不是。解法1)一个基本的解法是设定i=1开始,循环乘以2直到i>=n,然后判断i是否等于n即可。解法2)当然还有一个更好的方法,那就是观察一个数字的二进制表示,如n=101000,则

2012-10-04 17:14:36 6097 7

原创 1的数目

题目描述给定一个十进制正整数N,求出从1到N的所有整数中包含1的个数。比如给定N=23,则包含1的个数为13。其中个位出现1的数字有1,11,21,共3个,十位出现1的数字有10,11...19共10个,所以总共包含1的个数为3+10 = 13个。 自然的解法最自然的想法莫过于直接遍历1到N,求出每个数中包含的1的个数,然后将这些个数相加就是总的1的个数。需要遍历N个数,每次计

2012-10-03 23:01:04 1417

原创 不要被阶乘吓倒

题目描述给定一个整数N,那么N的阶乘N!末尾有多少个0呢?(该题取自《编程之美》)分析求解如果N!= K*10^M,且K不能被10整除,则N!末尾有M个0。考虑N!可以进行质因数分解,N!= (2^X) * (3^Y) * (5^Z)..., 则由于10 = 2*5,所以0的个数只与X和Z相关,每一对2和5相乘得到一个10,所以0的个数M=min(X, Z),显然2出现的数目比

2012-10-03 19:19:05 1603

转载 最大的二阶子矩阵

转载自http://blog.csdn.net/zhanxinhang,作者:花心龟的扮演者ZhanHang题:求一个矩阵中最大的二维子矩阵(元素和最大).如:          1 2 0 3 4          2 3 4 5 1          1 1 5 3 0          中最大的是:            4 5          5

2012-10-03 15:30:20 2150

原创 最大连续子序列乘积

问题描述给定一个整数序列(可能有正数,0和负数),求它的一个最大连续子序列乘积。比如给定数组a={3, -4, -5, 6, -2},则最大连续子序列乘积为720,即3*(-4)*(-5)*6=720。分析求最大连续子序列乘积与最大连续子序列和问题有所不同,因为其中有正有负还有可能有0。假设数组为a[],直接利用动归来求解,考虑到可能存在负数的情况,我们用Max[i]来

2012-10-01 22:27:12 7642 9

原创 最大连续子序列和

最大连续子序列和问题是个很老的面试题了,最佳的解法是O(N)复杂度,当然其中的一些小的地方还是有些值得注意的地方的。这里还是总结三种常见的解法,重点关注最后一种O(N)的解法即可。需要注意的是有些题目中的最大连续子序列和如果为负,则返回0;而本题目中的最大连续子序列和并不返回0,如果是全为负数,则返回最大的负数即可。问题描述求取数组中最大连续子序列和,例如给定数组为A={1, 3, -2,

2012-10-01 18:05:44 60239 23

原创 中缀表达式转换为后缀表达式

一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6  5  2  3  + 8 * + 3  +  *,则其求值过程如下:1)遍历表达式,遇到的数字首先放入栈中,此时栈如下所示:2)接着读到“+”,则弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。3)读到8,将其直接放入栈中。4)读到“*”,弹出8和

2012-09-20 21:34:02 174298 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除