免费web api接口大全   

下面的接口来自互联网,部分功能需要付费

查询手机

http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码

查询IP

http://www.yodao.com/smartresult-xml/search.s?type=ip&q=IP地址

查询身份证

http://www.yodao.com/smartresult-xml/search.s?type=id&q=身份证号码

快递查询接口

http://webservice.36wu.com/ExpressService.asmx

ip查询接口

http://webservice.36wu.com/ipService.asmx

天气预报接口

http://webservice.36wu.com/weatherService.asmx

身份证查询接口

http://webservice.36wu.com/IdCardService.asmx

手机归属地接口

http://webservice.36wu.com[......]

Read more

memcache A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE:33   

时不时的收到错误信息,memcache报错A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE:33,最终无法容忍去看下应用场景的业务逻辑,经过几遭折腾发现在set的时候key最终变成了false…..当key中带有空格;key为null同样会出现该错误

php使用memcache中increment方法报错-CLIENT ERROR   

使用memcache做原子递增的过程中遇到了问题,累加一直失败。请看实例代码

$objMem = new Memcached();
$objMem->addServer('localhost', 11211);
$indb = true;
$key = 'foo12';
$res = $objMem->get($key);
if( ( $objMem->getResultCode() === Memcached::RES_NOTFOUND) && $indb){
        //从db获取
        $res = '';
        $objMem->set($key,$res);
}
var_dump($objMem->increment($key),$objMem->getResultCode());
exit;

在业务中体现就是memcache中不存在某个key,则从数据库中取key对应的value。但是对从数据库中的返回值没有做处理直接直接有将返回值写入memcache,悲剧的事情发生了,使用increment做处理的时候一直自增失>败(CLI[......]

Read more

web前端项目优化建议[转]   

雅虎给出了优化网站加载速度的34条法则:

1.Minimize HTTP Requests 减少HTTP请求
图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。

2.Use a Content Delivery Network 利用CDN技术
CDN 确实是好东西,缓存网站的静态内容,加快访问速度。

3.Add an Expires or a Cache-Control Header 设置头文件过期或者静态缓存
浏览器会用缓存来减少http请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果页面里的东西变动的话就要改名字了,否则用户端不会主动刷新,看自己衡量了~ 这项可以通过修改.htaccess文件来实现。

4.Gzip Components Gzip压缩
Gzip格式是一种[......]

Read more

类比详解进程与线程的区别与联系   

进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程(Process)是最初定义在Unix等多用户、多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。以Unix操作系统为例,进程是Unix操作系统环境中的基本成分、是系统资源分配的基本单位。Unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。

进程和线程的区别在于:
1、线程的划分尺度小于进程,使得多线程程序的并发性高。
2、进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
3、每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。

最近,读到一篇材料,发现有一个很好的类比,可以把它们的区别与联系讲解的[......]

Read more

无觅相关文章插件,快速提升流量