之乎者也2011

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年9月5日

摘要: 在业界有篇很经典的文章,来源于yahoo的开发者社区,它讲述的是如果优化自己的网站的速度,包括从服务器端到客户端。这篇文章影响了很多人,原文可以参照这里:Best Practices for Speeding Up Your Web Site而本文只是用一种比较通俗的语言来阐述那几种方式,以及如何来优化自己的博客或网站。1:减少自己网站的http请求次数在现在的网站已经不是简单的文字,这其中还包括更多更为丰富的元素。这样理所当然的增加了服务端与客户端之间的请求数,现在要做的就是尽可能的减少这些响应时间,这是网站优化的第一步,在原文提到:Tenni Theurer在他的博客中所说,HTTP请求在 阅读全文
posted @ 2011-09-05 06:04 之乎者也2011 阅读(370) 评论(0) 推荐(0)

摘要: wordpress 并不是那么智能,我们都知道插件太多的情况下,网站打开速度会越来越慢,而php绝对不会是性能的瓶颈,因此,一个原因可能是因为过多的mysql查询,增加了系统负载。这个问题,插件 super cache (全静态化缓存)可以轻松解决掉,那第二个原因呢,也许就出在网站的前端上了。比如,插件会有自己的JS/CSS/img文件读取方式,从而产生出了过多的HTTP请求。这些多余的请求以及加载方式,同样也有办法被轻易的解决掉。这里我以我的网站为例,加以说明。令人欣慰的是,优化后,我的网站速度有了明显提升(打开速度应该快30%以上),Yslow评级从 C 上升到 A。优化前1.这是Fire 阅读全文
posted @ 2011-09-05 06:03 之乎者也2011 阅读(395) 评论(0) 推荐(0)

摘要: 上周参加了socialbeta@puting主持的一个关于电子商务和社会化营销的线下讨论会,与会者有从事电商的、媒体的、网站运营的等互联网各职业的人,参加完讨论会后颇有感触,于是将自己的观点和一些心得忍不住写了出来,以下是全文什么是社会化媒体?按照我们的理解,社会化媒体其实是一个自媒体,现实中的社会化媒体包括两方面,第一就是以UGC内容为主 第二就是用户之间存在社交关系,这种关系可能是陌生的社交也可能是熟人之间的社交。最好的社会化媒体就是这两者都很强,即用户创造的内容质量和频次非常高,用户之间的互动非常强。所以社会化媒体时代可以被称为自媒体时代。举例来说;传统的社区以天涯为代表,内容以UGC为 阅读全文
posted @ 2011-09-05 06:00 之乎者也2011 阅读(443) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:57 之乎者也2011 阅读(165) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:57 之乎者也2011 阅读(305) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:55 之乎者也2011 阅读(316) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:55 之乎者也2011 阅读(260) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:54 之乎者也2011 阅读(403) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:52 之乎者也2011 阅读(978) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:51 之乎者也2011 阅读(292) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:50 之乎者也2011 阅读(333) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:49 之乎者也2011 阅读(315) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 05:48 之乎者也2011 阅读(413) 评论(0) 推荐(0)

摘要: 还是老话,不要直接在html中写js代码修改input,onclick事件,点击后,submit变灰<form action="http://www.baidu.com" method="POST"><input name="T1" size="20" type="text" /><input onclick="javascript:{this.disabled=true;document.form1.submit();}" type=" 阅读全文
posted @ 2011-09-05 05:41 之乎者也2011 阅读(441) 评论(0) 推荐(0)

摘要: Linux下的彩色监控工具dstat在微博上发现一个很好的监控工具dstat,而且是彩色显示的,各种情况一目了然,很方便。wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpmrpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm安装完成后,执行 dstat 命令,默认情况它会收集 cpu、disk、net、paging、system 数据,一秒钟收集一次唯一缺点是dstat只能显示磁盘的吞吐量而不能显示负载情况,只能对整个系统进行监控而不能对某一个进程或某一个程序进行 阅读全文
posted @ 2011-09-05 05:39 之乎者也2011 阅读(551) 评论(0) 推荐(0)

摘要: 1.为什么要监控系统的平均负载?有时我们会感觉到系统响应很慢,但是又找不到具体原因,这时要查平均负载,检查是否有大量的进程在排队等待2.平均负载是什么?特定时间间隔内运行队列中的平均进程数,好象还不够明白:就是进程队列的长度,有多少个进程在排队等待运行3.什么是”进程队列”?一个进程满足以下条件就会位于进程队列中A>它没有在等待I/O操作的结果B>它没有主动进入等待状态(即没有调用wait)C>它没有被停止4.如何查看平均负载?最简单的命令是 uptimebash# uptime00:44:22 up 1:17, 3 users, load average: 8.13, 5. 阅读全文
posted @ 2011-09-05 05:37 之乎者也2011 阅读(430) 评论(0) 推荐(0)

摘要: 进程:Cpu能够处理多个请求,在于操作系统通过多执行流体系设计使得多个任务可以轮流使用资源.多执行流的一般实现是进程,多进程的好处首先在于Cpu时间的轮流使用,另外对于Cpu计算和I/O(磁盘和网路I/O)操作进行了重叠大多数进程的时间消耗在I/O操作上.DMA技术可以让Cpu不参与I/O操作的全过程,比如进程通过系统调用,使得Cpu向网卡等设备发出指令,然后进程挂起,Cpu资源释放,等待I/O完成操作后通过中断告之进程重新就绪.进程有自己的地址空间和生命周期.进程维护着庞大的地址空间和上下文信息,无法共享数据,所以类似于Apache这样的服务器在处理大量请求的时候,内存大量消耗造成性能瓶颈。 阅读全文
posted @ 2011-09-05 05:37 之乎者也2011 阅读(275) 评论(0) 推荐(0)

摘要: Linux下apache添加rewrite模块已经安装好 apache ,但是忘了安装 rewirte ,郁闷,于是重新编译安装太麻烦,于是想到重新编译单独的源文件,进行安装,上网搜了下,还真可以。下面以 rewrite 模块为例:Apache 安装 rewrite 模块的时候需要DBM支持,否则无法编译。#rpm -qa gdbm (查询rpm,如果没有,需先下载并安装 gdbm )下载地址:ftp://ftp.gnu.org/gnu/gdbm/安装DBM步骤:#./configure#make#make install#make install-compat (如果不执行此步,无法编译出n 阅读全文
posted @ 2011-09-05 05:36 之乎者也2011 阅读(758) 评论(0) 推荐(0)

摘要: 文本页面(htm/css/js)启用gzip压缩后,一般可以压缩70%左右。即50K的文件,实际只需传输15K到客户端,由客户端解压显示,这样可有效提高前端性能。另外,实践证明,启用Gzip压缩后,不会对搜索引擎收录有影响。要开启gzip压缩,在 apache2.x 版本以上,需开启 Deflate 模块和 headers 模块。事实上,Apache2.x系列已经内置了这两个模块,因此,只需要安装时打开即可:--enable-deflate --enable-headers很显然,我这里问题是安装时又未打开,so..我们选择单独编译模块,mod_deflate.c 在源文件目录的modules 阅读全文
posted @ 2011-09-05 05:35 之乎者也2011 阅读(878) 评论(0) 推荐(0)

摘要: 下载apache,通过这个官方网站,我们可以下到最新的版本。现在版本都是以这样的方式表达的:httpd-*.*.*.tar.gz安装:.tar –zxvf httpd-2.2.9.tar.gz .mkdir –p /usr/local/web/apache/.cd httpd-2.2.9./configure --prefix=/usr/local/web/apache --enable-so #让apache核心装载DSO,但是实际不编译任何动态模块 --enable-module=most #将一些不常用的,不在缺省中的模块静态编译进来 ... 阅读全文
posted @ 2011-09-05 05:34 之乎者也2011 阅读(355) 评论(0) 推荐(0)

摘要: 一开始编译php的时候,忘了,现在用phpize安装扩展库进行添加找到当前运行的php版本的源代码目录,如 php-5.2.12。进入curl扩展库目录#cd /home/changyou/php-5.2.12/ext/curl(调用phpize程序生成编译配置文件)#/usr/local/web/php/bin/phpize(编译扩展库,分别执行下面的configure和make命令)#./configure –with-php-config=/usr/local/web/php/bin/php-config(configure这一步执行通过后,再执行make命令,如果configure执行 阅读全文
posted @ 2011-09-05 05:32 之乎者也2011 阅读(648) 评论(0) 推荐(0)

摘要: 首先,优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。Apache中如使用mod_php方式运行PHP,请求、响应执行流程:1、Apache接收请求2、Apache传递请求给mod_php3、mod_php定位磁盘文件,并加载到内存中4、mod_php编译源代码成为opcode树5、mod_php执行opcode树因为PHP是解释型的语言,所以每个PHP文件在运行的时候都需要编译后再执行,不同的线程访问同一个文件,每次都需要重新编译然后运行,这样就耗费了大量时间。所以,通过把编译后文件缓存起来,就减少了许多时间消耗。所以我们要做的就是在第4个步骤进行优化。安装配置eAcceler 阅读全文
posted @ 2011-09-05 05:31 之乎者也2011 阅读(382) 评论(0) 推荐(0)

摘要: 最近研究微博,想取自己的微薄RSS订阅Feed,但在国内(包括sina微博),都不提供个人微博的RSS。要取得自己的微博内容便于站外展示,只有通过官方发布的挂件 (sina , QQ)sina取个人RSS的方案可以参考:月光博客。原理是抓取sina的挂件,然后解析HTML 获得。腾讯微薄就比较麻烦了,虽然他也有挂件,蛋,如果直接抓iframe的地址发现不行。查看挂件HTTP请求,发现最后会请求一个地址,如下:http://v.t.qq.com/cgi-bin/weiboshow?f=p&tweetflag=1&fansflag=0&fansnum=0&name= 阅读全文
posted @ 2011-09-05 05:30 之乎者也2011 阅读(1814) 评论(0) 推荐(0)

摘要: 由于要用到查找MSN联系人,于是google到了PHP MSN Class 这是一个msn协议的实现类,支持MSNP9 (MSN 6.2)和最新的MSNP15 (WLM 8.1)协议(MSNP15协议支持离线消息),可以作为MSN机器人使用。注意:必须确保发送人、接收人的MSN互相加为好友。在 msn.class.php中封装了getMembershipList方法,就是用他来查找联系人的。然后还有检查是否在线,发消息的方法,很不错。最新版也对64位机器算法做了补丁。而我的问题是,我在win下面的本机测试环境下没有问题,也不用选择msn版本,但是到了服务器上,就不行了,弄了半天,选择msn协. 阅读全文
posted @ 2011-09-05 05:30 之乎者也2011 阅读(399) 评论(0) 推荐(0)

摘要: 调试PHP时,XDebug一直很好选择,搭配上Webgrind,可以获得不错的效果,但是很耗资源,CPU一会就到100%了。最近看别人的文章,发现了XHProf,于是体验了一下。感觉很酷,与 XDebug 相比,运行更轻便,表现更易懂。这个软件本是 Facebook 内部的一个应用工具,2009年3月份开源,为PHP的性能监测提供了很好的工具。安装#wget http://pecl.php.net/get/xhprof-0.9.2.tgz一开始wget用不了,报错:Resolving dada… failed: Temporary failure in name resolution.查明是D 阅读全文
posted @ 2011-09-05 05:26 之乎者也2011 阅读(673) 评论(0) 推荐(1)

摘要: PHP是一种脚本语言,好处是编程效率高,支持产品的快速迭代。但是与传统的编译语言相比,CPU和内存使用效率不好。现在Ajax技术的广泛采用,加上SNS对动态要求较高,这些缺点更显得突出。常见的办法是直接用C/C++编写一个PHP扩展,重写应用中比较复杂的部分。这样,PHP就转变为一种胶水语言,连接起PHP和C/C++应用。开发时,用PHP来实现业务逻辑,是不需要考虑资源管理和内存的,Zend会替你完成。但,如果用C来编写PHP的扩展,那么就要自己考虑这些事情,必须自己管理资源的分配,使用,释放,开发和维护的成本均会上升。因为更新扩展,需要修改源码,重新编译,然后重新load扩展进PHP,然后重 阅读全文
posted @ 2011-09-05 05:25 之乎者也2011 阅读(373) 评论(0) 推荐(0)

摘要: 参数优化:其实是MYSQL官方留给我们适用于我们服务器具体情况的一种解决方式 .两个命令:show status #列出MySQL服务器运行各种状态值Show variables #列出MYSQL服务器配置信息1: 慢查询log_slow_queries=slow_queries #这个与以前作用基本相同,并且还是需要重启才能生效(ON:为打开off:为关闭)Slow_launch_time #执行时间超过2秒则被记录。slow_query_log #这是一个可以在运行时改变的全局变量,表示是否打开慢查询日志,在... 阅读全文
posted @ 2011-09-05 05:24 之乎者也2011 阅读(243) 评论(0) 推荐(0)

摘要: 版本:mysql-5.0.56很简单,遇到错误,去查日志就行了:MYSQLPATH/var/localhost.localdomain.erruseradd mysqltar zxvf mysql-5.0.56.tar.gzcd /home/changyou/mysql-5.0.56./configure --prefix=/Apps/mysql--without-debug #去除debug模式--with-extra-charsets=gb2312 #添加gb2312中文字符支持--enable-assembler #使用一些字符函数的汇编版本... 阅读全文
posted @ 2011-09-05 05:23 之乎者也2011 阅读(489) 评论(0) 推荐(0)

摘要: 主从库同步失效的原因各种各样,一般都是在从库上不小心执行了写操作,也有可能从库服务器意外重启等等。进入从库执行show slave status\G看到下面两行:Slave_IO_Running: YesSlave_SQL_Running: Yes任意一个不为yes就说明同步出了问题。基本上解决的办法无外乎这么几种:1. 如果是事务回滚造成的那么可以尝试:mysql > slave stop;mysql > set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;mysql > slave start;2. 如果上面的方法没有作用,那么基本上下面的方法一定奏效 阅读全文
posted @ 2011-09-05 05:23 之乎者也2011 阅读(421) 评论(0) 推荐(0)

摘要: 我们知道MySQL的MyISAM引擎每个表都会生成三个文件,*.frm、*.MYD、*.MYI 三个文件,分表用来保存表结构、表数据和表索引。Linux下面每个目录下的文件数量最好不要超过1000个,不然检索数据将更慢,那么每个表都会生成三 个文件,相应的如果分表超过300个表,那么将检索非常慢,所以这时候就必须再进行分,比如在进行数据库的分离。使用基础表,我们可以新增加一个字段,用来保存这个表保存在什么数据。使用Hash的方式,我们必须截取hash值中第几位来作为数据库的名字。这样,完好的解决这个问题。function calc_hash_db($u, $s = 4){ $h = sp... 阅读全文
posted @ 2011-09-05 05:22 之乎者也2011 阅读(2238) 评论(0) 推荐(0)

摘要: 可以帮助选择更好的索引和写出更优化的查询语句,可以帮助选择更好的索引和写出更优化的查询语句。对某个query优化中,需要不断的explain来验证各种调优是否有效。EXPLAIN各列的含义:idMysql Query Optimizer选定的执行计划中的序列号(查询序列号)select_typeselect查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。table所引用的表。type显示的是访问类型,结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > rang 阅读全文
posted @ 2011-09-05 05:22 之乎者也2011 阅读(545) 评论(0) 推荐(1)

摘要: 1.权限查看mysql> show grants for ‘root’@'localhost’ ;+——————————————————————————-+| Grants for root@localhost |+——————————————————————————-+| GRANT ALL PRIVILEGES ON *.* TO ‘root’@'localhost’ WITH GRANT OPTION |+——————... 阅读全文
posted @ 2011-09-05 05:21 之乎者也2011 阅读(1341) 评论(0) 推荐(0)

摘要: Replication 是什么?Mysql的Replication是一个 “异步” 的复制过程,也就是从Master复制到一个Slave上。Mysql 5.1 多线程实现主从复制重要的是,从Mysql5.1起,Master与Slave之间的复制过程修改为三个线程来完成。其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端,使用并行的处理方式。而老版本的主从复制是用一个线程来处理。这样的话,就解决了从库延迟的问题;以及,从库处理Bin_log时,主库又新增数据,从而带来的数据丢失问题。主从复制基本过程主从库的整个复制过程实际上就是:Slave从Ma 阅读全文
posted @ 2011-09-05 05:20 之乎者也2011 阅读(1213) 评论(0) 推荐(0)

摘要: 众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的。下面总结一些使用过或者研究过的经验,从配置以及调节索引的方面入手,对mysql进行一些优化。第一步应该做的就是排查问题,找出瓶颈,所以,先从日志入手开启慢查询日志mysql>show variables like “%slow%”; 查看慢查询配置,没有则在my.cnf中添加,如下log-slow-queries = /data/mysqldata/slowquery.log #日志目录long_query_time = 1 ... 阅读全文
posted @ 2011-09-05 05:19 之乎者也2011 阅读(25954) 评论(0) 推荐(0)

摘要: 1. mysql 的一些参数# -e 这个参数是告诉mysql执行"-e" 后面的某个命令,而不连接到server# 此参数在写一些基本的mysql检查和监控的脚本中非常有用mysql -uroot -proot -e'show databases'# --tee 将mysql输入和输出内容记录到文件里。便于大数据量的查询mysql -uroot -proot --tee = /tmp/query.log# --prompt 在mysql提示符中显示登录的主机,用户名,当前的数据库,很有用mysql -uroot -proot --prompt = &quo 阅读全文
posted @ 2011-09-05 05:18 之乎者也2011 阅读(288) 评论(0) 推荐(0)

摘要: Profiling 分析具体的sql语句消耗MySQL5.0.37版本以上支持了Profiling – 官方手册。此工具可用来查询 SQL 会执行多少时间,System lock和Table lock 花多少时间等等,对定位一条语句的 I/O消耗和CPU消耗 非常重要。从启动profile之后的所有查询包括错误的语句都会记录。关闭会话或者set profiling=0 就关闭了。# 开启 profilingmysql&gt; set profiling=1;mysql&gt; select * from user limit 1;mysql&gt; select cou 阅读全文
posted @ 2011-09-05 05:17 之乎者也2011 阅读(657) 评论(0) 推荐(0)

摘要: mysqlslapMysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。常用参数--concurrency #代表并发数量,多个可以用逗号隔开。例如:--concurrency=50,200,500--engines #代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb,memory--iterations #代表要在不同并发环境下,各自运行测试多少次。--auto-generate-sql #代表用mysql.. 阅读全文
posted @ 2011-09-05 05:16 之乎者也2011 阅读(521) 评论(0) 推荐(0)

摘要: http://www.auu.name/777/index.htmlmysql 热备在运维中需定期备份mysql,为崩溃后的恢复数据做准备。一般分为冷备和热备,冷备就是停掉mysql服务,直接cp文件,但是在生产环境中,很少有机会这样,一般都是在mysql提供服务的时候就进行备份,因此这牵扯到数据一致性的问题。所以,在MyISAM存储引擎下,我们的思路就是:锁表–>备份–>解锁# 进入mysql环境 锁表root@mysql : test > flush tables with read lock;# 在系统环境下 备份cp -R test /tmp/backup/test_ 阅读全文
posted @ 2011-09-05 05:15 之乎者也2011 阅读(1477) 评论(0) 推荐(1)

摘要: 关于URL编码/javascript/js url 编码一、问题的由来URL就是网址,只要上网,就一定会用到。一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址“http://www.abc.com”,但是没有希腊字母的网址“http://www.aβγ.com”(读作阿尔法-贝塔-伽玛.com)。这是因为网络标准RFC 1738做了硬性规定:"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not 阅读全文
posted @ 2011-09-05 05:13 之乎者也2011 阅读(3798) 评论(0) 推荐(1)

摘要: Firebug控制台详解作者:阮一峰控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息。一、显示信息的命令Firebug内置一个console对象,提供5种方法,用来显示信息。最简单的方法是console.log(),可以用来取代alert()或document.write()。比如,在网页脚本中使用console.log("Hello World"),加载时控制台就会自动显示如下内容。另外,根据信息的不同性质,console对象还有4种显示信息的方法,分别是一般信息console.info()、除错信息cons 阅读全文
posted @ 2011-09-05 05:12 之乎者也2011 阅读(184) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/c9c08618508c5aa14bedbc81.html2011年03月27日 星期日 16:17报错信息:“Allowed memory size of 20971520 bytes exhausted (tried to allocate 2048 bytes)”网上很多的解决方案是: 修改php.ini 文件 把memory_limit的值改大,然后重启服务器,还有的说是在页面加上ini_set(memory_limit, '20M');我把上面的方法都测试过了,都无效,最终解决方法是下面的这代 阅读全文
posted @ 2011-09-05 05:09 之乎者也2011 阅读(502) 评论(0) 推荐(0)

摘要: 当前页面是1.php页面,utf-8编码(在zend studio点右键,更改文件本身为utf-8编码),要去拿一个网站的3.php页面,对方是gb2312的编码(注意是文件本身,而不是里面的charset),我拿到后怎么转换?<?php $content = file_get_contents("http://www.XXX.com/3.php");$content = iconv('gbk','utf-8//ignore',$content) ;echo $content;?>如果上面没有iconv库,需要用一个编码对照表。程 阅读全文
posted @ 2011-09-05 05:08 之乎者也2011 阅读(346) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/4a509e51cf19f03543a75bf1.htmlphp获取操作系统语言:相关函数: $_SERVER['HTTP_ACCEPT_LANGUAGE'];<?php header("content-type:text/html;charset=utf-8"); echo'<br/>'.$_SERVER['HTTP_ACCEPT_LANGUAGE'].'<br/>'; if(strrpos(strtol 阅读全文
posted @ 2011-09-05 05:07 之乎者也2011 阅读(1790) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/56d0c93d5f7e52d69e3d62ff.html<?php$xlsname = date('YmdHis'); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=$xlsname.xls"); //$xlsname 为随机文件名?><table><tr> <th>序号</th> 阅读全文
posted @ 2011-09-05 05:06 之乎者也2011 阅读(186) 评论(0) 推荐(0)

摘要: var getElementsByName = function(tag, name){ var returns = document.getElementsByName(name); if(returns.length > 0) return returns; returns = new Array(); var e = document.getElementsByTagName(tag); for(var i = 0; i < e.length; i++){ if(e[i].getAttribute("name") == name){ returns[ret 阅读全文
posted @ 2011-09-05 05:05 之乎者也2011 阅读(289) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/c6efafc3bf7b0658b219a855.html1、概述FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多WEB项目和大型网站均采用了FCKeditor(如百度,阿里巴巴)。本文将通过与 PHP相结合,从基本安装到高级的配置循序渐进介绍给广大PHPer。FCKeditor官方网站:http://www.fckeditor.net/FCKeditor Wik 阅读全文
posted @ 2011-09-05 05:04 之乎者也2011 阅读(222) 评论(0) 推荐(0)

摘要: 2010年02月01日 星期一 22:57今天遇到一个非常纳闷的问题,就是做在php分页的时候,点击下一页的时候,原本post过来的值确丢失了,我是做的模糊查询,这样一来点了下一页就把所有的信息都给查询出来了,为了这个问题我把自己的代码研究了好几个小时,始终想不明白为什么会这样,最后用了投机取巧的办法给解决了最终解决的方法就是在$_POST['searchValue'];到值之后把值放到SESSION里面,然后再另外一个页面利用session取值就可以成功解决了, 阅读全文
posted @ 2011-09-05 05:00 之乎者也2011 阅读(282) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/b4ece5dd50ca3be077c638a0.htmlJavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即 阅读全文
posted @ 2011-09-05 04:57 之乎者也2011 阅读(730) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/1c2ce0fe285e7d2b5d60080b.htmlhtaccess是Apache服务器的一个配置文件,具有强大的功能,本文介绍如何编辑该文件,让网站实现封锁某国家IP网段、防止图片、文件盗链、保护主机下的目录与文件、创建自定义的出错页面、把某些特殊的IP地址的请求重定向到别的站点、把老的域名转像新的域名,这些功能。htAccess 文件(Hypertext Access file)是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能。使用.h 阅读全文
posted @ 2011-09-05 04:51 之乎者也2011 阅读(618) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/43524710089538e6c2ce791f.html// 向浏览器发送404 状态码header(“HTTP/1.1 404 Not Found”);或者header(“HTTP/1.1 404″);// 永久重定向header(“Location: http://hi.baidu.com/3800_hk”);//默认是301 跳转// 临时重定向header(“HTTP/1.1 302 Found”);header(“Location: http://hi.baidu.com/3800_hk”);// 下载文件 阅读全文
posted @ 2011-09-05 04:49 之乎者也2011 阅读(580) 评论(0) 推荐(0)

摘要: http://xok.la/2010/11/apache_nginx_cache_last-modified%E3%80%81expires_etag.html正确使用Etag和Expires标识处理,可以使得页面更加有效被Cache。在客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse Header),服务器端的返回状态会是200,格式类似如下:HTTP/1.1 200 OKDate: Tue, 03 Mar 2009 04:58:40 GMT 阅读全文
posted @ 2011-09-05 04:47 之乎者也2011 阅读(479) 评论(0) 推荐(0)

摘要: http://hi.baidu.com/3800_hk/blog/item/b3ffcffcc7d98b99b801a0a7.html本文主要讲解web缓存的应用.Expires / Cache-Control / Last-Modified / If-Modified-Since / ETag / If-None-Match 的区别以及使用详解为了演示体现缓存的作用,先删除所有的浏览器缓存,然后以如下四种方式访问baidu网站,期间使用Pagetest作为测试软件,这是一个搭配IE使用的软件,功能上类似HttpWatch,不过它是免费的,有关Pagetest的用法可以参考官方文章提供的教程: 阅读全文
posted @ 2011-09-05 04:41 之乎者也2011 阅读(757) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 04:35 之乎者也2011 阅读(184) 评论(0) 推荐(0)

摘要: 首先说,什么类型文件应该GZIP压缩:1:CSS,Javascript、html 静态文件2:asp,aspx 动态文件下面内容的2点说明1、图片不要使用GZIP,压缩了反而大2、if(document.images){new Image().src='/images/nav_logo3.png'if后面永远是真的,哪怕没有图片。但是有些浏览器是没有document.images的,当不支持的时候就是undefined了,就是假了。这里的意义就在于预加载一个图片。一般用作鼠标经过后之类的显示某某图片这样鼠标经过的时候不用再取服务端读图片,马上就显示 阅读全文
posted @ 2011-09-05 04:25 之乎者也2011 阅读(262) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2011-09-05 03:30 之乎者也2011 阅读(207) 评论(0) 推荐(0)

摘要: 如果不用session带的,自己做的思路如下:1、把sessionId存放在cookie中,并设定一个有效期;(某个人的gprs定位信息被来回折腾邮递人员揣在身上)2、把经过Serializable序列化的对象存放在memcached中,同时设置一个失效时间,比如1小时;(某个人放到仓库里,一小时后走人)3、每次取会话信息时,先从cookie中取sessionId,如果cookie不存在,则说明会话已过期;如果会话存在,则从memcached中读取会话信息,如果会话信息不存在,则从数据库中读取相关信息,然后放在memcached中,同时设置失效时间;(邮递人员死了,自然某人信息自然也没了,邮递 阅读全文
posted @ 2011-09-05 02:12 之乎者也2011 阅读(531) 评论(0) 推荐(0)

摘要: 1、跨子域和跨服务器解决方式Session主要分两部分: 一个是Session数据,该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在 另一个是标志着Session数据的Session Id,Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 session ID。如果客户端没有禁用 Cookie,则 Cookie 在启动 Ses. 阅读全文
posted @ 2011-09-05 01:56 之乎者也2011 阅读(4154) 评论(0) 推荐(0)

摘要: 1、命令行telent localhost 11211stats items2、php文件代码实现 1. <?php2. $host='192.168.15.225';3. $port=11211;4. $mem=new Memcache();5. $mem->connect($host,$port);6. $items=$mem->getExtendedStats (‘items’);7. $items=$items["$host:$port"]['items'];8. for($i=0,$len=count($items 阅读全文
posted @ 2011-09-05 01:31 之乎者也2011 阅读(284) 评论(0) 推荐(0)

摘要: 本文章不设计跨域或跨子域或跨服务器保存,其他文章写了。保存在1、文件没啥好说的,默认就是文件,保存目录在php.ini里配置,2、数据库(此处可配置域名,只是限制于二级域名)做法步骤:1)session的handler原来是 files,现在改为user,表示设置为用户级别的handler了。自定义了。但是session_set_save_handler这个函数的几个参数分别是bool session_set_save_handler ( callback $open , callback $close , callback $read , callback $write , callback 阅读全文
posted @ 2011-09-05 01:05 之乎者也2011 阅读(529) 评论(0) 推荐(0)

摘要: Windows下的Memcache安装:1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。4.下载与版本对应的php_memcache.dll,我的是php5.3.1,在这里下载的http://shikii.net/ 阅读全文
posted @ 2011-09-05 00:44 之乎者也2011 阅读(404) 评论(0) 推荐(0)