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(所有者)。 …"
March 31, 2011
Linux提交命令至后台运行
"我经常在putty里工作,有时候如果一个命令执行太长,不得已,我得开两个窗口,如果事情再多,可能开四个五个,不过有的ssh登陆工具可以开多个窗口,但难免会出点乱子.那么我们可以把命令隐藏再后台执行,使用linux下命令 “\u0026amp;” 这个倒霉的符号.\n比如我们要执行一个命令,(暂时没想到执行时间N长的命令,假设一个shell) test.sh , 现在提交并隐藏在后台\n$./test.sh \u0026raquo; test.log \u0026amp;\n意思是,执行test.sh 反馈的结构输送至 test.log , \u0026amp;表示这个命令提交至后台执行.\n执行后,返回一个进程号,可以用ps来查看.\n这样,我们可以连续在同一个终端窗口上运行多个持续的命令.\n然后,问题又来.我们运行这些命令至后台后,如果想退出终端窗口,那么后台的命令也随之中断.我们得想办法让进程持续运行.这里得使用此命令 nohup\n重新执行上边的操作,那么我们应该这样执行\n$nohup ./test.sh \u0026raquo; test.log\n然后敲logout,放心,再登陆试试ps,进程依然存在!\n对于nohup命令的介绍见: …"
March 31, 2011
iftop来查看linux的即时流量
"关于 Iftop\niftop 是类似于top的实时流量监控工具。主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小,非常适合于代理服务器和iptables服务器使用\n官方网站:\n安装iftop **安装方法1、编译安装 ** 如果采用编译安装可以到iftop官网下载最新的源码包。\n安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。\nCentOS上安装所需依赖包:\nyum install flex byacc libpcap ncurses ncurses-devel libpcap-devel\nDebian上安装所需依赖包:\napt-get install flex byacc libpcap0.8 libncurses5\n下载iftop\nwget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz tar zxvf iftop-0.17.tar.gz cd iftop-0.17 …"