April 5, 2011
Memcache基础教程
"Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解 .\n为什么会有Memcache和memcached两种名称? 其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。\nMemcache的安装 分为两个过程:memcache服务器端的安装和memcached客户端的安装。 所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储 所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错 …"
April 5, 2011
Linux环境下PCRE库的使用
"今天下载了PCRE的正则表达式库,应用在Linux环境下的C语言编程中。\n调用方法:\n1.下载PCRE库:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/,版本是7.8;\n2.解压后执行configure,而后make,make install,可配置后动态链接库;\n3.写了个测试的例子:\n#include\n#include\nint main()\n{\npcre *re;\nconst char *error;\nint erroffset;\nint rc;\nint ovector[30];\nre = pcre_compile(“some”, 0, \u0026amp;error, \u0026amp;erroffset, NULL);\nrc = pcre_exec(re, NULL, “some string”, 11, 0, 0, ovector, 30);\nprintf(“%d\\n”, rc);\nreturn 0;\n}\n4.gcc -o test test.c -lpcre\n5../test\n6.参考文档:\n上述有很多细节要搞清楚,还需要仔细研 …"
April 2, 2011
高性能WEB开发系列
"准备写一系列关于高性能WEB开发的日记,主要是跟前端技术相关的(html,http,js,css等),将自己了解的一些知识做1个总结和记录并分享,希\n望大家能喜欢,也喜欢自己能坚持写下去。当然因个人技术水平有限,写作能力更是非常差,所以如果有什么地方写得不好的,请大家都指点指点。\n1、 HTTP服务器.\n2、性能测试工具推荐\n3、 图片篇.\n4、 如何加载JS,JS应该放在什么位置.\n5、 为什么要减少请求数,如何减少请求数.\n6、 减少请求,响应的数据量.\n7、 JS、CSS的合并、压缩、缓存管理\n8、 页面呈现、重绘、回流。\n9、 该如何加载google-analytics(或其他第三方)的JS.\n10、 疯狂的HTML压缩\n11、 flush让页面分块,逐步呈现\n12、 了解CSS的查找匹配原理,让CSS更简洁、高效\n[作者]:BearRui(AK-47)"
April 2, 2011
DynaTrace Ajax Edition:IE浏览器性能分析工具
"DynaTrace AJAX是一个运行在IE浏览器下的免费页面性能分析工具,它可以支持主流的IE6、IE7、IE8浏览器。这款工具正是DynaTrace为进入前端性能分析领域而发布的。您可以利用它来分析页面渲染时间、DOM方法执行时间,甚至可以看到JS代码的解析时间。连JQuery的创始者 John Resig 也鼎力推荐了一把。\n从John Resig的 Deep Tracing of Internet Explorer 了解到了这款刚发布的免费的前端性能分析工具,John Resig对其评价甚高,John Resig对其评价到:“我一般不随便写关于性能分析工具的东西,坦率地说,我感觉它们绝大部分都比较烂,根本不能提供任何有价值的信息和分析结果。不过 dynaTrac提供了一些我以前在任何其他工具上都没见过的东西。”\nAjax的本事真不是盖的!那么,它到底有啥特别之处呢?“这个工具可以跟踪JavaScript从执行开始,经过本地的XMLHttpRequest、发送网络请求,再到请求返回的全过程。”\n更多的我这里就不多说了,权威人士们都说过了,这东西我也刚上手没多久,还谈不上有多深入的 …"
April 1, 2011
深入理解ob_flush和flush的区别
"ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑…\n其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情..\nob_*系列函数, 是操作PHP本身的输出缓冲区.所以, ob_flush是刷新PHP自身的缓冲区.\n而flush, 严格来讲, 这个只有在PHP做为apache的Module(handler或者filter)安装的时候, 才有实际作用. 它是刷新WebServer(可以认为特指apache)的缓冲区.\n在apache module的sapi下, flush会通过调用sapi_module的flush成员函数指针, 间接的调用apache的api: ap_rflush刷新apache的输出缓冲区, 当然手册中也说了, 有一些apache的其他模块, 可能会改变这个动作的结果..\n有些Apache的模块,比如mod_gzip,可能自己进行输出缓存,这将导致flush()函数产生的结果不会立即被发送到客户端浏览器。\n甚至浏览器也会在显示之前,缓存接收到的内容。例如 Netscape浏览器会在接受到换行 …"
April 1, 2011
php中ob_start函数 积累
"确实自己写不出来,只能看看别人的经验总结。\nPHP的ob_start();用法\n用PHP的ob_start();控制您的浏览器cache\nOutput Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让大家对Output Control有一个大致的印象:\nExample 1.\n程序代码:\nob_start(); //打开缓冲区 echo “Hellon”; //输出 header(“location:”); //把浏览器重定向到 ob_end_flush();//输出全部内容到浏览器 ?\u0026gt;\n所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得 …"
April 1, 2011
web高性能开发系列随笔
"在BlogJava里写了一些关于高性能WEB开发的随笔,因为都是跟前端技术相关(html,http,js,css等),所以也贴到博客园来,吸收下人气。\n1、 HTTP服务器.\n2、 性能测试工具推荐\n3、 图片篇.\n4、 如何加载JS,JS应该放在什么位置.\n5、 为什么要减少请求数,如何减少请求数.\n6、 减少请求,响应的数据量.\n7、 JS、CSS的合并、压缩、缓存管理\n8、 页面呈现、重绘、回流。\n9、 该如何加载google-analytics(或其他第三方)的JS.\n10、 疯狂的HTML压缩.\n11、 flush让页面分块,逐步呈现\n12、 了解CSS的查找匹配原理,让CSS更简洁、高效\n[作者]:BearRui(AK-47)"
April 1, 2011
windows下chrome器安装Speed Tracer
"在上一篇文章( 15个对Web设计和开发有用的Chrome插件)我们提到一个Speed Tracer 速度追踪 插件,现在我们就来安装一下,我这里用的是windows的操作系统,chrome的版本为10.0.648.204.目前为最新的版本了.\n1.安装”Speed Tracer 速度追踪器”插件\n2.配置chrome浏览器\n安装完插件以后,将chorme浏览器关闭,记得要全部关闭.下面直接将官方的安装过程贴出来了,虽然是英文的,不过有图片很容易懂的.\nStart Google Chrome with a flag that enables Speed Tracer to work, as described next. The process is different for Windows and Macintosh.– Windows Start Google Chrome with the following flag, either from the command line or by modifying your desktop shortcut for Google …"
April 1, 2011
15个对Web设计和开发有用的Chrome插件
"在Web设计和开发中我们一定会用到不同的浏览器,如Firefox浏览器,IE浏览器,谷歌浏览器等。最近我一直在用谷歌浏览器,发现了一些非常有用的Chrome插件。跟大家分享一下,下面我按字母顺序列出。\n1. Aviary Screen Capture 屏幕截图\nAviary Screen Capture让你能够截取网页的屏幕快照。获得屏幕快照后,用Aviary.com的应用程序在浏览器内编辑那幅快照。基本的图像编辑装置让你能够标记(通过画箭头和长方形)、编辑(裁剪、旋转和调整大小)和获得精确的像素色彩。\n2. Chrome SEO 搜索引擎优化\nChrome SEO为搜索引擎优化工具提供了方便的路径。这些工具帮助你做每日搜索引擎优化工作,比如竞争分析、关键词分析、反向链接检查及网页排名检查等。\n3. Chrome Sniffer 嗅探器\nChrome Sniffer使Web开发人员能够在网站上运行的检查web框架∕CMS和JavaScript库。这个插件通过一个图标,显示已检测到的框架。目前,这个插件最多可检测70个流行的CMS和JavaScript库。\n4. Eye Dropper …"
March 31, 2011
php Safe_mode影响参数
"safe_mode是唯一PHP_INI_SYSTEM属性,必须通过php.ini或httpd.conf来设置。要启用safe_mode,只需修改php.ini: safe_mode = On 或者修改httpd.conf,定义目录:\nOptions FollowSymLinks php_admin_value safe_mode 1重启apache后safe_mode就生效了。启动safe_mode,会对许多PHP函数进行限制,特别是和系统相关的文件打开、命令执行等函数。\n所有操作文件的函数将只能操作与脚本UID相同的文件\n虽然safe_mode不是万能的(低版本的PHP可以绕过),但还是强烈建议打开安全模式,在一定程度上能够避免一些未知的攻击。不过启用 safe_mode会有很多限制,可能对应用带来影响,所以还需要调整代码和配置才能和谐。被安全模式限制或屏蔽的函数可以参考PHP手册。\n函数名\n限制\ndbmopen()\n检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。\ndbase_open()\n检查被操作的文件或目录是否与正在执行的脚本有相同的 UID(所有者)。 …"