常见面试题之一:50亿个整数,内存限制为1G,找出中位数。50亿个整数用bitmap来存储的话,大约150M的空间就足够了。下面是具体的算法,用PHP实现。define("MASK", 0x1f);$source = array(1, 74, 4, 256, 1024, 110, 111, 112, 123, 112, 100);$array = array();$count = 0;foreach($source as $num) { set($num); // add to bit map}$count = intval($count >> 1) + 1; Read More
posted @ 2010-05-07 15:34 javawebsoa Views(286) Comments(0) Diggs(0)
堆和栈的区别(转过无数次的文章)收藏一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。 - 程序结束后由系 Read More
posted @ 2010-05-07 13:35 javawebsoa Views(144) Comments(0) Diggs(0)
1、Chinaunix 网址:http://www.chinaunix.net/ 简介:中国最大的linux/unix技术社区。 2、ITPub 网址:http://www.itpub.net/ 简介:有名气的IT技术论坛,看看它的alexa排名就知道有多火了,尤其以数据库技术讨论热烈而闻名。ITPUB论坛的前身是建立在smiling的oracle小组。3、51cto网址:http://www.51cto.com/简介:由国内知名IT门户网站管理团队,获近千万风险投资,于2005年8月正式创立,是国内首家定位于网络技术人员的综合性服务平台,是中国最大的网络技术网站。4、CSDN 网址:http Read More
posted @ 2010-05-07 13:21 javawebsoa Views(180) Comments(0) Diggs(0)
MaxMind公司的GeoIP数据库可以根据用户IP精确的获得用户地理位置信息,火狐就是使用它来统计下载用户所在区域的。主要包括两个以键值方式存储的数据文件,Geo Country和Geo IP,如果只关注国家信息,可以使用小得多的Geo Country库。这两个库都分为商业的和免费的两个版本,精确率都在99.5%以上,对于大多数的应用,免费的版本已经足够了。GEOIP的客户端包括各种语言:C Library Perl Module PHP Module Apache Module (mod_geoip) Java Class Python Class C# Class Ruby Module Read More
posted @ 2010-05-04 12:46 javawebsoa Views(565) Comments(0) Diggs(0)
采用HTTP basic认证,如下所示:########################## function: twitter auth# return value: twitter user status json# author: Yujie # date: 2009.06.15#########################my $browser = LWP::UserAgent->new();$browser->credentials( 'twitter.com:80', 'Twitter API', ARGS{email}, $ARGS Read More
posted @ 2010-04-30 14:49 javawebsoa Views(278) Comments(0) Diggs(0)
英文原版见http://www.masonbook.com/。简介Mason是一个强大的,可以将Perl嵌入文本的模板引擎。它提供了许多特性,帮助你使用可重用的组件创建动态Web站点。除此之外,它还提供了很多的其他特性: 可以创建标准的、可重用的,像header、footer,或者菜单这样的组件。你只需要在一个地方进行改变。 完整的Web请求的参数处理。 内置缓存,用户可采用cache接口访问。 整合mod_perl以提供更快的速度和更好的弹性。 从一个组件的小段到整个站点,都支持内容过滤。《使用Mason在HTML中嵌入Perl》一书详细记录了HTML::Mason框架,包括如下章节:组件格 Read More
posted @ 2010-04-27 13:01 javawebsoa Views(356) Comments(0) Diggs(0)
我曾经为我的朋友田逸写过一个Perl脚本,主要用于Nagios服务器故障的报警。非常简单,主要使用了LWP::Simple这个模块对短信服务Api进行请求。#!/usr/bin/perl -wuse strict;use LWP::Simple;use URI::Escape;use Digest::MD5;my ($mobile, $content) = @ARGV; # get params from command linemy $log_control = 1; # a switch of logmy $username = 'sery'; # your sms ser Read More
posted @ 2010-04-23 20:46 javawebsoa Views(224) Comments(0) Diggs(0)
如果您尚未打算用 OO 原则创建应用程序,则使用 PHP 的面向对象(OO)的语言特性,这 7 个习惯将帮助您开始在过程编程与 OO 编程之间进行转换。在 PHP 编程早期,PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过程之间的调用提供某种程度的重用。但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中。这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言)。使用 PHP 代码中的 OO 构造 — 例如能够定义和使用类、能够构建使用继承的类之间的关系以及能够定义接口 — 可以更轻松地构建 Read More
posted @ 2010-04-23 20:32 javawebsoa Views(171) Comments(0) Diggs(0)
人际关系平台,必然有邀请好友的功能,也会出现SNS里获取IM、邮箱好友的功能,这个功能的技术实现有很多,有Perl、PHP、Java的实现方式。下面分别介绍一下。本文只介绍解决方案,而不对具体的技术实现和方式优劣进行分析和比较。PerlPerl的MSN模块不太好用,connect后就没有响应了,我分析可能是由于MSN认证协议发生变化,而模块没有相应的更新造成。而另外一个Net::MSN安装时编译会出现问题,即使安装了Crypt::SSLeay模块也是如此。我在google code上找到了一个其他人写的模块IM::MSN,还有一个基类IM::Base;经过了一些修改和补充,并加了一个类IM:: Read More
posted @ 2010-04-23 19:36 javawebsoa Views(225) Comments(0) Diggs(0)
Gearman的介绍主页在http://gearman.org/index.php, 它的主要优点有:1. 实现了异步计算。可以将比较耗时的计算分配到分布式计算集群来减少站点服务器的压力和用户的等待。例如passport里的邮件发送/头像上传裁减/国内外数据分离请求等等。2. 跨语言,有利于多语言多系统之间的集成。PHP/Perl/Java/C++可以融合在一起,用Perl实现的邮件发送功能PHP也能自由调用,也可以使用Perl调用另一台服务器上用C++编写的程序的一个函数。3. 便于扩展和实现负载均衡。可以通过增加worker的数量来提供更好的性能,在其中一台出现问题的时候能够由其他的wor Read More
posted @ 2010-04-23 13:32 javawebsoa Views(1132) Comments(0) Diggs(0)