By cfddream on 2010/03/22
之前下了很多包,解压后,没及时删除;越积越多。现在想一并删除,具体如下:
#找出目录
$ ls -d */
#删除目录
$ rm -rf */
Posted in linux | Tagged terminator
By cfddream on 2010/03/21
如果向您的服务器发出了某项请求要求显示您网站上的某个网页(例如,当用户通过浏览器访问您的网页或在 Googlebot 抓取该网页时),那么,您的服务器会返回 HTTP 状态代码以响应该请求。
此状态代码提供了有关请求状态的信息,且为 Googlebot 提供了有关您网站和请求的网页的信息。
一些常见的状态代码为:
200 – 服务器成功返回网页
404 – 请求的网页不存在
503 – 服务器暂时不可用
以下提供了 HTTP 状态代码的完整列表。点击链接可了解详细信息。您也可以访问有关 HTTP 状态代码的 W3C 页来了解详细信息。
1xx(临时响应)
用于表示临时响应并需要请求者执行操作才能继续的状态代码。
代码
说明
100(继续)
请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。
101(切换协议)
请求者已要求服务器切换协议,服务器已确认并准备进行切换。
2xx(成功)
用于表示服务器已成功处理了请求的状态代码。
代码
说明
200(成功)
服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。如果您的 robots.txt 文件显示为此状态,那么,这表示 Googlebot 已成功检索到该文件。
201(已创建)
请求成功且服务器已创建了新的资源。
202(已接受)
服务器已接受了请求,但尚未对其进行处理。
203(非授权信息)
服务器已成功处理了请求,但返回了可能来自另一来源的信息。
204(无内容)
服务器成功处理了请求,但未返回任何内容。
205(重置内容)
服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。
206(部分内容)
服务器成功处理了部分 GET 请求。
3xx(已重定向)
要完成请求,您需要进一步进行操作。通常,这些状态代码是永远重定向的。Google 建议您在每次请求时使用的重定向要少于 5 个。您可以使用网站管理员工具来查看 Googlebot 在抓取您已重定向的网页时是否会遇到问题。诊断下的抓取错误页中列出了 Googlebot 由于重定向错误而无法抓取的网址。
代码
说明
300(多种选择)
服务器根据请求可执行多种操作。服务器可根据请求者 (User agent) 来选择一项操作,或提供操作列表供请求者选择。
301(永久移动)
请求的网页已被永久移动到新位置。服务器返回此响应(作为对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码通知 Googlebot 某个网页或网站已被永久移动到新位置。
302(临时移动)
服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。
303(查看其他位置)
当请求者应对不同的位置进行单独的 GET 请求以检索响应时,服务器会返回此代码。对于除 [...]
Posted in 未分类 | Tagged http
By cfddream on 2010/03/21
codeigniter 安装目录 /home/cfddream/www/phproot/codeigniter
url: http://phproot.me/codeingniter
# codeigniter {{
location /codeigniter/ {
if (!-e $request_filename) {
rewrite ^/codeigniter/(.*)$ /codeigniter/index.php/$1 last;
}
}
location /codeigniter/index.php {
fastcgi_pass 127.0.0.1:9000;
include fcgi.conf;
fastcgi_param [...]
Posted in nginx | Tagged rewrite
By cfddream on 2010/03/09
首先非常感谢“Nginx + PHP(FastCGI)”Web服务器的第6篇文章的作者。大部分配置都是参考他的。
第一步:安装/升级所依赖的程序库
$ sudo apt-get install autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
#如果找不到相应的库,使用 aptitude search *** 进行搜索 例如搜索 freetype
$ aptitude search freetype
p freetype2-demos [...]
Posted in lnmp | Tagged fastcgi, linux mint8, mysql, nginx, php
By cfddream on 2010/03/04
今天在逛 firebug.lite时,发现有python的文件;下来看下,原来是压缩js的,去掉多余的空格跟注释,但没有去掉换行符,统一改成一行。
使用方法:
python minifier.py firebug-lite.js firebug-lite-compressed.js
Posted in JavaScript, python, 未分类 | Tagged compressed
By cfddream on 2010/03/03
网页制作Webjx文章简介:全局变量是魔鬼,这句话在JavaScript存在的地方应该就是成立的,当然Firefox扩展也不例外.
全局变量是魔鬼,这句话在JavaScript存在的地方应该就是成立的,当然Firefox扩展也不例外,如果大家把多于一个的对象置于全局命名空间下,和其他扩展的冲突是很容易发生的,而且发现这种冲突引起的错误是很困难的,因为每个人的扩展列表都不一样啊。避免全局名字污染已经成了一个基本原则,本文从这点引申,介绍了一个应用在Firebug中的扩展架构模式,非常值得推荐。
【原文】Firefox Extensions: Global Namespace Pollution
【作者】Jan Odvarko
【译文】http://cuimingda.com/2009/01/
【译者】明达
以下是对原文的翻译:
最近有几个开发者向我咨询如何设计Firefox扩展的架构,第一个显现在我脑海中的答案就是要合理定义那些在ChromeWindow作用域下的全局变量。
不合理的定义全局变量,可以轻易的引发不同扩展之间的冲突,而这些完全是应该避免的(这也是AMO审阅的步骤之一),因为冲突所引发的问题是很难被发现的。就目前的开发环境来说,全局变量就是魔鬼,尤其是采用OOP开发模式的时候。
我不想重复介绍如何从头开始开发一个Firefox扩展,对于这方面已经有很多非常详细的文章。本文的重点放在如何设计一个更加易于维护的Firefox扩展架构。
如果你对前面的介绍感兴趣,那就接着看吧。。。
命名空间架构
扩展之间发生冲突的重要原因就是因为定义了不合理的全局变量。我认为对每个扩展来说,只有一个全局变量已经很足够了(可以根据扩展的信息来定义这个唯一的全局变量的名字,比如可以是扩展的名字、域名、地址等),不仅可以满足我们的开发,而且可以避免那些令人讨厌的冲突。
Firebug使用的命名空间架构,基本建立在著名的Module Pattern基础上(这种模式最早由Douglas Crockfod定义)下的。这种模式简单而清晰,但其实我在很长时间里都不是很明确这种模式究竟是如何工作的(I hadn’t understand how it actually works for a long time)。我相信每个开发者都可以充分利用这个方法。
基本的思路是将每个JavaScript脚本文件放进自己的作用域,这是通过一个函数来实现的,没有定义任何全局变量,比如下面这段代码:
function() {
// TODO: 脚本文件中的全部代码
}
我管这个函数就叫做命名空间。摆在眼前的第一个问题是,如何确定这个函数的内容会在正确的时间被调用。第二个问题是,如何在多个脚本文件中共享对象(这个会在后面的章节解答)。 Firebug通过将所有的命名空间进行注册,并在Firefox chrome UI加载的时候调用来解决第一个问题,也就是下面这段代码:
myExtension.ns(function()
{
// TODO: 脚本文件中的全部代码
});
命名空间(就是原来定义的那个函数)为当作myExtension.ns函数的一个参数,而myExtension对象是这个扩展中定义的唯一全局变量。这个对象代表着整个扩展。不用担心这个名字太长,我们可以为他建立个快捷方式(在实际开发中,这个名字可能会类似 comSoftwareIsHardMyExtension这个样子)。
ns函数比较简单,就是把所有的方法都添加到一个数组中。
var namespaces = [];
this.ns = function(fn)
{
var ns = {};
namespaces.push(fn, ns);
return ns;
};
执行已注册命名空间的函数,不可以命名为apply,别的什么名字都可以。
this.initialize = function() {
for (var i = [...]
Posted in Firebug, JavaScript | Tagged framework, pattern
By cfddream on 2010/03/02
gvim 在 linux mint8环境下
前提安装有mozilla js 解析器 rhino
没有则如下安装
sudo apt-get install rhino
jslint 下载地址 :http://www.jslint.com/rhino/index.html
~.vimrc 配置如下
function! g:JSlint(b)
let s = bufname(”%”)
let es = ‘:!rhino /home/cfddream/WebDev/tools/jslint/jslint_rhino.js ‘.s
if a:b == 0
exec es
else
exec es.’ [...]
Posted in JavaScript, vim | Tagged jslint