摘要:ubuntu版本:Ubuntu 10.04 LTS1、首先使用apt-get下载Nginx,php,mysql,phpmyadmin,spawn-fcgi。sudo apt-get install nginx php5-cgi php5-cli mysql-server-5.1 phpmyadmin spawn-fcgi期间可能要输入mysql的密码,按照提示一步一步安装就是了。OK后,你在Firefox中访问http://127.0.0.1/或者http://localhost/应该就能看见Nginx的欢迎界面了。2、此时Nginx并不能跑PHP程序。需要修改一些配置文件。$ cd /etc 阅读全文
posted @ 2011-05-27 15:01 winxp_520 阅读 (2253) 评论 (0) 编辑
摘要:memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视 频、文件以及数据库检索的结果等。要开发使用memcache ,我们必须安装memcache服务端和PHP的memcache扩展1、首先安装memcache服务端:$ sudo apt-get install memcached然后可以使用命令开启memcache:$ memcached -l 127.0.0.1 -p 11211 -d -u nobody -P /var/run/memcached.pid -m 64M -c 1024 -vv解释一下几 阅读全文
posted @ 2011-05-27 14:57 winxp_520 阅读 (2230) 评论 (0) 编辑
摘要:Javascript 从名字上听起来跟JAVA有着联系,但其实却是两门根本不同的语言。在Java中定义类是轻而易举的事情,但是要在JavaScript中定义一个好的对象却是要花点心思。本文介绍几种方法,并比较他们的优劣。1、 工厂方式 这种方式可能是我们最容易想到的了,见代码:var employee = new Object; employee.name = "Tim"; employee.age = 24; employee.getName = function(){ alert(this.name); }这段代码创建了一个employee 对象,并设置了他的几个属性: 阅读全文
posted @ 2011-05-27 14:53 winxp_520 阅读 (165) 评论 (0) 编辑
摘要:最近遇到一个问题,要将一篇日志中的所有img中的src的取出来,然后根据src的内容重新生成src,做PHP中使用函数preg_replace(),利用了正则表达式的反向引用:$content = '文字文字<img src="http://www.baidu.com/img/baidu_logo_jr_1008_qx.gif>;其他文字&lt;img src="http://list.image.baidu.com/t/image_category/res/Gangtai/Ye_Xuan.jpg" alt="" w 阅读全文
posted @ 2011-05-27 14:48 winxp_520 阅读 (748) 评论 (0) 编辑
摘要:1.请从ID选择器开始如果你要找的dom对象已经有ID了,你直接使用ID选择器找到它吧,因为你可以想象的到,jQuery使用的是JavaScript的getElementById()方法,原生态的方法总是最快的。如果你要找的dom对象没有ID或者你要选择多个dom对象,请从最近的有ID的对象开始继承吧。如$(“#nearid input”)。这样做可以减少DOM遍历和循环的次数。2.在class前使用标签名jQuery中第二快的选择器是标签选择器,因为它来自原生的getElementsByTagName()方法。你要查找一个class名为“myclass”的div,请使用$(“div.mycl 阅读全文
posted @ 2011-05-27 14:46 winxp_520 阅读 (401) 评论 (0) 编辑
摘要:昨天在家里本本准备装个Ubuntu 10.10。解压ISO文件后,运行里面的wubi.exe,提示:Cannot download the metalink and therefore the ISO。解决办法如下:1.单独解压wubi.exe到非系统盘文件夹。2.不要解压整个ISO文件。3.将ISO文件和wubi.exe放在同一个文件夹下。4.拔掉网线。5.运行wubi.exe。 阅读全文
posted @ 2011-05-27 14:45 winxp_520 阅读 (1003) 评论 (0) 编辑
摘要:1 .减少 HTTP 请求减少HTTP 请求可能是大家都能理解的,可以有效的减少服务器的压力。尽量合并 JS 文件、 CSS 文件,和图片文件。这可能不太合符软件工程所推荐的模块化开化,增加维护成本,但适量的合并文件是必须的。图片则可以使用 CSSSprites ,将多幅图片合并为一幅单独的图片,这样就可以将多次图片请求减少到一次,具体 CSS Sprites 的实现可以自己搜索。有人可能会认为合并图片会使图片总体积变大,其实合并后的图片比原来分离的图片的总和还要小,因为它减少了图片自身的颜色表、格式信息的开销。相信你在各大门户网站经常会看到使用这种手法写的 CSS。2.使用 HTTPCach 阅读全文
posted @ 2011-05-27 14:44 winxp_520 阅读 (392) 评论 (1) 编辑
摘要:要获取当前页面URL的参数,可能大家第一个想到是使用 window.location.href 或者是document.location.href ,获取结果诸如http://www.xxx.com/?aa=xx&bb=xx ;但是其实我们需要的只是:?aa=xx&bb=xx。这种形式可以使用 document.location.search 这个属性获取。如果我想要获取该URL后面参数aa的值该怎么弄呢?常见的方式可能是这样: function( param ){ var url = window . location . toString (); url = url . s 阅读全文
posted @ 2011-05-27 14:42 winxp_520 阅读 (2647) 评论 (0) 编辑
摘要:最近在虚拟机下面安装了个CentOS 5.5,使用yum更新时发现下载速度异常慢。可以修改yum的配置文件,把其镜像指向国内的服务器即可。方案一:# cd /etc/yum.repos.d/# mv CentOS-Base.repo CentOS-Base.repo.bak# wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo方案二:手段修改CentOS-Base.repo文件,将baseurl设置成baseurl=http://ftp.sjtu.edu.cn/centos/5/addons/$basearch/详细配置如下:[b 阅读全文
posted @ 2011-05-27 14:41 winxp_520 阅读 (2375) 评论 (0) 编辑
摘要:要求是将“i am student”,反转之后变成“student am i”.思路是这样的:可以先将整个字符串反转,变成”tneduts ma i”;然后根据空格将字符串分成几段处理,分别把这几小段再反转过来就行了。完整C代码如下:#include <stdio.h>#include <string.h>//该函数用于将str完整的反转void reverse(char str[]){ int len = strlen(str); for(int i=0;i<len/2;i++){ char temp = str[i]; str[i]= str[len-i-1] 阅读全文
posted @ 2011-05-27 14:37 winxp_520 阅读 (148) 评论 (0) 编辑
摘要:给定一个单链表,检测该链表是否含有环形结构。这个题目主要是根据环的特性,使用两个指针,不同的步长,向一个方向前进,如果有环,他们两个指针必定相遇。#include <stdio.h>#include <malloc.h>typedef struct LNode{ int data; struct LNode *next;}LNode;int isLoop(LNode *head){ LNode *p=head,*q=head; while( q && q->next ){ p=p->next; q=q->next->next; i 阅读全文
posted @ 2011-05-27 14:35 winxp_520 阅读 (475) 评论 (2) 编辑
摘要:php用引用计算和写时复制(copy-on-write)来管理内存。写时复制确保在变量之间复制值时不浪费内存,引用计算确保在引用不再需要时将内存返回给操作系统。要理解PHP中的内存管理,必须首先理解符号表(symbol table)的思想,变量有两部分–变量名(如$name)和变量值(如”Fred”)。符号表是一个数组,此数组将变量名映射到其值在内存中的位置。当从一个变量复制值到另一个变量是,PHP没有因为复制值而得到更多的内存,而是更新符号表,以表明“这两个变量是同一块内存的名字”。所以下面的代码实际上并没有创建一个新数组:$worker = array(“Fred”,35,”Wilma”) 阅读全文
posted @ 2011-05-27 14:34 winxp_520 阅读 (857) 评论 (0) 编辑
摘要:学习一门语言前,肯定是先学习这门语言的变量。要想深入了解这门语言,变量在内存中的管理尤其重要。 Python中变量的定义和声明是很随意的,你可以在任何你想要开始使用变量的时候去定义吧,这和C有区别。而且声明变量的时候无需指定变量类型,它的类型会在变量赋值的时候由Python内部的解释器确定。注意,Python变量也需要遵循先创建赋值之后才可以使用的原则。 作为一个优秀的程序,相信我们一定会仔细研究一门语言的变量在内存中是如何管理的,是否需要我们手动释放内存?很幸运的是,Python解释器已经帮我们解决了这个复杂的问题。那它是怎么做的什么时候回收那些对象呢? Python引入了一个机制:引用计数 阅读全文
posted @ 2011-05-27 14:29 winxp_520 阅读 (1844) 评论 (1) 编辑
摘要:写本文的目的是为了解决一下问题:Python是什么?Python能干什么?有什么优势?我为什么要学习Python?对我工作有什么好处?第一次知道Python是去年的五月份,当时我正来北京找工作,住在同学波波那里。面试成功之后就是等通知,一个人呆在宿舍很无聊。无意间发现同学的床头有一本《Python 核心编程 第二版》,拿起来看了看目录,发现跟大多数介绍语言的书籍一样,先讲变量类型,运算符,循环语句,然后是具体数据类型的操作及相关模块API的介绍,字符串处理,socket编程什么的。最让我感到惊讶的是,python居然的语句块居然不是用{}来标示的。同学回来时问了问他,怎么要学python。他告 阅读全文
posted @ 2011-05-27 14:27 winxp_520 阅读 (754) 评论 (0) 编辑
摘要:C中的数据在内存的存储可以用存储时期、作用域和链接来体现。 存储时期 存储时期分为静态的、自动的和分配的。静态的变量一般用关键字static来标示(全局变量不用static也是静态的),它在程序开始执行的时候就为变量分配内存空间,在整个程序中一直存在。自动的用auto来标示(默认省略auto),变量的内存空间要在程序执行到该变量的代码块的时候才开始分配,在退出该代码块时就自动释放了。如果是手段分配的,需要调用malloc()或者calloc()函数来开辟内存空间,同时也需要手动调用free()来释放该内存空间,如果超出改变量的作用域还没有手动释放内存,则该块内存由于无法利用而变成垃圾空间了,可 阅读全文
posted @ 2011-05-27 14:20 winxp_520 阅读 (449) 评论 (0) 编辑
摘要:在OOD时,我们通常要搞清楚,我们的类与类之间的关系。通常有以下几种:1.继承继承可能是我们最容易理解的类关系了,它可以用“isa”来描述。通常表现是类和类(抽象类)的继承、接口和接口的继承、以及类对接口的实现。比如我们现在有个抽象类DB,MysqlDB和SqlliteDB分别使用extends关键字继承DB类,这样不仅MysqlDB和SqlliteDB要实现DB类定义好的抽象方法,而且还能继承DB中的已存在的方法。我们可以说MysqlDB是一种DB。这种关系即父子关系,有其父必有其子,但是子可以“青出于蓝而胜于蓝”。注意,其实这包含两种关系,即泛化关系及实现关系,类和类、接口和接口之间是泛化 阅读全文
posted @ 2011-05-27 14:15 winxp_520 阅读 (427) 评论 (0) 编辑