51CTO博客开发
下列值被认为是假:false nullundefined空字符串“”数字0数字NaN其它所有值被当做真,包括:true和字符串“false”,以及所有对象
redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的。项目中需要用集中式可横向扩展的缓存框架,做了一点调研,即便redis、memcached存在效率上的差异(具体比较参考http://timyang.net/data/mcdb-tt-redis/),但其实都能满足目前项目的需求;但是redis还是比较风骚的,支持链表和集合操作,支持正则表达式查找key,目前项目缓存的结果大
6. PHP变量PHP是一门弱类型语言,本身不严格区分变量的类型。PHP在变量申明的时候不需要指定类型。PHP在程序运行期间可能进行变量类型的隐示转换。 和其他强类型语言一样,程序中也可以进行显示的类型转换。PHP变量可以分为简单类型(int、string、bool)、集合类型(array resource object)和常量(const)。以上所有的变量在底层都是同一种结构 zval。Zval
PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们程序的性能。1. PHP的设计理念
负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。什么是web负载均衡服务器集群(Cluster)使得多个服务器节点能够协同工作,根据
编辑NERD_tree.vim,找到这句 call s:initVariable("g:NERDTreeDirArrows", !s:running_windows) 把那个"!"去掉
下载地址:http://ctags.sourceforge.net/ (1). 帮助手册查看 :help usr_29 (2). 功能 ctags的功能, 只要在unix/linux环境编程过的人都知道它的历害!
1、安装NERDTree插件先下载,官网:http://www.vim.org/scripts/script.php?script_id=1658解压缩之后,把 plugin/NERD_tree.vim 和doc/NERD_tree.txt分别拷贝到~/.vim/plugin 和 ~/.vim/doc 目录。2、使用1、在linux命令行界面,输入vim2、输入 :
下载地址 http://www.vim.org/scripts/script.php?script_id=1643 版本 0.43 把supertab.vim 文件丢到 ~/.vim/plugin 文件夹就好了 &nb
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机
搭建负载均衡高可用环境相对简单,主要是要理解其中原理。此文描述了三种负载均衡器的优缺点,以便在实际的生产应用中,按需求取舍。目前,在线上环境中应用较多的负载均衡器硬件有F5 BIG-IP,软件有LVS,Nginx及HAProxy,高可用软件有Heartbeat、Keepalived,成熟的架构有LVS+Keepalived、Nginx+Keepalived、HAProxy+keepalived及D
背景: http访问一切正常,可以connect到数据库存取数据。但是当CLI模式时会出现Call to undefined function mysql_connect() 原因:CLI模式下 没有配置php.ini文件,或者配置了php.ini,但是php.ini里没有php_mysql.dll或mysql.so模块解决:1 首先执行 p
HTTP模块Location相关指令基本语法语法:location [= | ~ | ~* | ^~] </uri/> {...} 缺省:N/A作用域:server匹配规则1. 四种匹配方式 = 精确匹配 ~ 大小写敏感正则匹配 ~* 大小写不敏感正则匹配 ^~ 前缀匹配2. location匹配指令的执行顺序 首
首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解
Google Analytics需要在广告的目标页面URL后面加上一些标记,才容易辨别广告信息。比如,在新浪搜狐上投一个图片广告,链接到http://www.A.com/1.html。就需要在这个网址后面加几个参数,来到页面后,GA会把URL后面带的参数的值都记录下来。Google Analytics常用的5个参数,分别是utm_source, utm_medium, utm_campaign,
在定义了mysql中int数据类型后,后面填写的长度有什么用呢?下文将对mysql中int数据类型长度进行详细的介绍,希望对您能有所帮助。mysql中int数据类型长度最大为11位,最少为4位,不够在前面补空格。这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位数。
在Web开发中,投票模块会经常出现。这样就使得防止刷票,成了至关重要的技术。以下是试验过或者网上找到的防止刷票方法:1. IP限制这是使用的最多,也是最广泛,不可少的刷票限制。而且由于专题都没有用户模块,使得这个方法,几乎成了唯一可行的手段。该方式,通过获取访问游客的IP地址,来限制其在一段时间内所能使用的票数。当然,正常访问页面投票的游客,肯定都能很好的被这个手段所限制,但是,各种投票的活动和专
yum是CentOS系统自带的用于方便地添加/删除/更新RPM包的工具,它能自动解决包的倚赖性问题。 用yum更新PHP,只需用一条命令就可以搞定: #yum update php 但问题来了,使用此命令后,系统告诉我,没有发现可更新的包。而当前的PHP版本只是5.2.1,PHP官方已经更新到5.2.6了。 经过一番询问,才知道原来CentOS系统的源里PHP仍旧是5.2.1,
大致是升级不完全导致不兼容造成的,可按如下步骤操作 1 更新yum yum --enablerepo=remi list mysql 2 升级到 mysql yum --enablerepo=remi update mysql 4 將原有的/etc/my.cnf備份,將/etc/my.cnf.rpmnew改 為my.cn
Nginx 出現 500 Error, 錯誤訊息只能從 Log 查到, 有遇到下述兩種狀況: socket() failed (24: Too many open files) while connecting to upstream 512 worker_connections are not enough while connecting to upstre
配置文件 http://wiki.codemongers.com/NginxFullExample #运行用户 1user nobody nobody; 2#启动进程 3worker_processes 5; 4#全局错误日志及PID文件 5error
1 源文件安装 为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。您可以到ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCR
区别不同浏览器的CSS hack写法: 区别IE6与FF: backgroundrange;*blue; < /span> 区别IE6与IE7: background:gr
_width: expression((documentElement.clientWidth > 875) ? "105px" : "auto" );
使用“new”关键字来构造任何东西 如果你自写构造函数并且忘记了new关键字,那么悲剧就发生了: var Car = function(colour) { this.colour = colour; }; var aCar = new Car("blue"); console.log(aCar.colour
作用域 没有块作用域 因为你可能已经注意到上一个观点,javascript中没有块作用域的概念,只有函数作用域。可以试试下面的代码: for(var i=0; i<10; i++) { console.log(i); } var i; console.log(i); // 10 当i被定义在for循环中,退出循环后它人被保留在这个作用域内
函数和操作符 双等号 ==操作符比较时会进行类型的强制转换,这意味着它可以比较两个不同类型的对象,在执行比较之前它将会尝试把这两个对象转换成同一个类型,举一个例子: "1" == 1 //true 然而,这样往往会误导我们,而且我们也不需要这样子来比较。在上面的例子中,我们完全可以先将字符串转换成数字型,然后利用对类型敏感的三重等号(===)来
在今天的这篇文章中,我们将推荐给大家精挑细选的web开发设计必备的在线工具应用,包括HTML5、CSS3开发工具以及让大家异常头痛的性能优代工具。相信会在web开发和设计的过程中给你带来方便和快捷! 一、前端开发相关 1. jsfiddle jsfiddle是老牌的在线调试和分享代码的网站,它可以帮助你在线调试
1.不要使用相对路径 常常会看到: 1 require_once('../../lib/some_class.php'); 该方法有很多缺点: 它
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号