随笔-204  评论-90  文章-8  trackbacks-0
 
  • 200 - 请求已成功,请求所希望的响应头或数据体将随此响应返回。
  • 206 - 服务器已经成功处理了部分 GET 请求
  • 301 - 被请求的资源已永久移动到新位置
  • 302 - 请求的资源现在临时从不同的 URI 响应请求
  • 400 - 错误的请求。当前请求无法被服务器理解
  • 401 - 请求未授权,当前请求需要用户验证。
  • 403 - 禁止访问。服务器已经理解请求,但是拒绝执行它。
  • 404 - 文件不存在,资源在服务器上未被发现。
  • 500 - 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。
  • 503 - 由于临时的服务器维护或者过载,服务器当前无法处理请求。

HTTP 协议状态码定义可以参阅:Hypertext Transfer Protocol -- HTTP/1.1

posted @ 2013-01-05 12:11 一凡 阅读(224) | 评论 (0)编辑 收藏
Shell 调用系统时间变量 

获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d) 
获取昨天时期:`date -d yesterday +%Y%m%d` 
获取前天日期:`date -d -2day +%Y%m%d` 
依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d` 
或n天前的 `date -d "n days ago" +%y%m%d` 
明天:`date -d tomorrow +%y%m%d` 
注意以上中间有空格 

时间域 
% H 小时(00..23) 
% I 小时(01..12) 
% k 小时(0..23) 
% l 小时(1..12) 
% M 分(00..59) 
% p 显示出AM或PM 
% r 时间(hh:mm:ss AM或PM),12小时 
% s 从1970年1月1日00:00:00到目前经历的秒数 
% S 秒(00..59) 
% T 时间(24小时制)(hh:mm:ss) 
% X 显示时间的格式(%H:%M:%S) 
% Z 时区 日期域 
% a 星期几的简称( Sun..Sat) 
% A 星期几的全称( Sunday..Saturday) 
% b 月的简称(Jan..Dec) 
% B 月的全称(January..December) 
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999) 
% d 一个月的第几天(01..31) 
% D 日期(mm/dd/yy) 
% h 和%b选项相同 
% j 一年的第几天(001..366) 
% m 月(01..12) 
% w 一个星期的第几天(0代表星期天) 
% W 一年的第几个星期(00..53,星期一为第一天) 
% x 显示日期的格式(mm/dd/yy) 
% y 年的最后两个数字( 1999则是99) 
% Y 年(例如:1970,1996等) 
注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。
posted @ 2012-11-05 15:32 一凡 阅读(4959) | 评论 (0)编辑 收藏
#/bin/bash

del_user() {
    echo "请输入用户名:" 
    read user
    echo "请确认是否删除(y/n)?"
    read isDel
    if [ $isDel = 'y' ]; then
        userdel -r  $user
        echo -e "\t\t\t\t|------------------------------|"
        echo -e "\t\t\t\t|------- 用户 '$user' 已删除 ------|"
        echo -e "\t\t\t\t|------------------------------|"
    fi
}

add_user() {
    echo "请输入用户名:" 
    read user
    useradd $user -d /work/$user
    passwd $user
    echo -e "\t\t\t\t|------------------------------|"
    echo -e "\t\t\t\t|------- 用户 "$user" 已创建 ------|"
    echo -e "\t\t\t\t|------------------------------|"
}

menu() {
    while :
    do
        echo "1.添加用户"
        echo "2.删除用户"
        echo "0.退出"
        echo -e "\n请选择:"
        read choice
        case $choice in
            1) add_user;;
            2) del_user;;
            0exit;;
            *) menu;;
        esac
    done
}

menu
posted @ 2012-10-17 11:25 一凡 阅读(248) | 评论 (0)编辑 收藏
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

打开vim,执行如下命令:
:BundleInstall
:BundleSearch
:BundleClean

.vimrc

" For vundle
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
" vim-scripts repos
Bundle 
'bash-support.vim'
Bundle 
'perl-support.vim'
filetype plugin indent on

"let g:winManagerWindowLayout = "FileExplorer" 
let g:winManagerWindowLayout = 
"FileExplorer|TagList"
map <c-w><c-f> :FirstExplorerWindow<cr>
map <c-w><c-b> :BottomExplorerWindow<cr>
map <c-w><c-t> : WMToggle<cr>
let g:persistentBehaviour=0
let g:winManagerWidth=30
nmap <silent><F8> :WMToggle<cr>
posted @ 2012-08-24 18:23 一凡 阅读(1438) | 评论 (0)编辑 收藏
sed -"s/zhangsan/lisi/g" `grep -l zhangsan zzzzz_*`
posted @ 2012-08-10 17:40 一凡 阅读(208) | 评论 (0)编辑 收藏
1、修改机器名
$sudo vi /etc/hostname
2、修改时区
$rm /etc/localetime
$ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localetime
posted @ 2012-07-12 11:33 一凡 阅读(772) | 评论 (1)编辑 收藏

引自:http://blog.csdn.net/lyuan13141234/article/details/5667570

在linux下,编译链接的时候,经常会遇到这样一个问题,undefined reference to.....,引起这个问题的原因在于在链接的时候缺少选项。下面举几个例子,并给出解决办法。

1、undefined reference to `dlerror'
     undefined reference to `dlopen'
     undefined reference to `dlerror'

    解决办法:在makefile的LDFLAGS后面把选项 -ldl 添加上即可。

2、undefined reference to `main'

    解决办法:在makefile的LDFLAGS后面添加 -nostartfiles 选项。

3、undefined reference to `pthread_setspecific'
     undefined reference to `pthread_key_delete'
     undefined reference to `pthread_key_create'

    解决办法:在makefile的LDFLAGS后面添加 -lpthread 选项。

4、undefined reference to `clock_gettime'

    解决办法:在makefile的LDFLAGS后面添加 -lrt 选项。

 

不过要注意的是,如果undefined reference to后面的内容是在自己的文件中声明或定义的东西,就不能用这种方法来解决了。这时就需要检查一下自己的makefile涉及到源文件、头文件的地方是否出错了,也有可能是其他的原因。

posted @ 2012-07-04 17:29 一凡 阅读(5283) | 评论 (1)编辑 收藏
注意:如果找不到google.protobuf,在protobuf目录下执行
$ find . -name *.egg
./python/setuptools-0.6c11-py2.7.egg
./python/dist/protobuf-2.4.1-py2.7.egg
将这两个文件加用户环境
export PYTHONPATH=$SRC_DIR/protobuf-2.3.0-py2.5.egg:$SRC_DIR/setuptools-0.6c9-py2.5.egg

protocol buffer的安装
$ wget "http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2"
$ tar jxvf protobuf-2.4.1.tar.bz2
$ cd protobuf-2.4.1
$ ./configure
$ make
$ make check
$ make install

protocol buffer对python的支持

$ cd python/
$ python setup.py test
$ python setup.py install
python需2.5以上版本
1、下载最新版:http://www.python.org/download/
2、安装
$./configure
$make
$make install

与google Ad Exchange 代表处索取requester.tar.gz
$tar zxvf requester.tar.gz
$cd requester
$make
$python2.7 requester.py  --url=http://127.0.0.1:8000 --max_qps=1 --requests=1
posted @ 2012-07-03 15:27 一凡 阅读(1374) | 评论 (0)编辑 收藏
代码如下:(说明:在车东代码的基础上加了ie和firefox兼容部分及html)
测了几款手机:
小米:: 自带浏览器:支持  
iphone4s:: safari:不支持  QQ浏览器:不支持 UC8.3.1:不支持
NOKIA5238::自带浏览器:支持 UC8.3:不支持

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script defer language="javascript" type="text/javascript">
document.onclick 
= clickStat;
function clickStat() {
    
// 创建空html标签
    e=arguments[0]||window.event;
    
var image=document.createElement("img");
    
//image.alt="abc";
    image.height=0;
    image.width
=0;
    x
=e.clientX;
    y
=e.clientY;
    
//记录点击坐标
    image.src="http://localhost:8080/r?width=" + screen.width + "&x=" + x + "&y=" + y;
    
//向服务器发送数据
    document.body.insertBefore(image);
    
return true;
}
</script>
</head>
<body>
测试abc
</body>
</html>
posted @ 2012-04-26 17:01 一凡 阅读(3812) | 评论 (1)编辑 收藏
本文实现二叉树的递归创建、遍历及深度计算。即输入:abd##e##cf###(按二叉树结构输入)
二叉树:
返回结果如下:


完整代码如下:
 #include <stdio.h>
//树结构
 typedef struct tree {
     
char data;
    
struct tree *lchild, *rchild;
 } tree;

 
//创建树
 struct tree* create_tree() {
     
char node_data;
    scanf(
"%c"&node_data);
    
if(node_data == '#') {
        
return NULL;
    } 
else {
        
struct tree *= NULL;
        T 
= (struct tree*)malloc(sizeof(struct tree));
        T
->data = node_data;
        T
->lchild = create_tree();
        T
->rchild = create_tree();
        
return T;
    }
 }

 
//先序遍历
 void pre_traverse(struct tree *T) {
     
if(T == NULL) {
        
return;
    } 
else {
        printf(
"%c\t", T->data);
        pre_traverse(T
->lchild);
        pre_traverse(T
->rchild);
    }
 }
 
//中序遍历
 void mid_traverse(struct tree *T) {
     
if(T == NULL) {
        
return;
    } 
else {
        mid_traverse(T
->lchild);
        printf(
"%c\t", T->data);
        mid_traverse(T
->rchild);
        
    }
 }
 
//后序遍历
 void aft_traverse(struct tree *T) {
     
if(T == NULL) {
        
return;
    } 
else {
        aft_traverse(T
->lchild);
        aft_traverse(T
->rchild);
        printf(
"%c\t", T->data);
    }
 }
//深度
int tree_deepth(struct tree *T) {
    
int i,j;
    
if(!T) {
        
return 0;
    } 
else {
        
if(T->lchild)
            i 
= tree_deepth(T->lchild);
        
else 
            i 
= 0;

        
if(T->rchild)
            j 
= tree_deepth(T->rchild);
        
else
            j 
= 0;
    
return i > j ? (i + 1) : (j + 1);
    }
}

 
int main(int argc, char **argv) {
     
struct tree *= create_tree();
    
if(T) {
        printf(
"%s\n""先序:");
        pre_traverse(T);
        printf(
"\n%s\n""中序:");
        mid_traverse(T);
        printf(
"\n%s\n""后序:");
        aft_traverse(T);
        printf(
"\n%s\n""深度:");
        
int deepth = tree_deepth(T);
        printf(
"%d\n", deepth);
        printf(
"\n");
    }
     
return 0;
 }

posted @ 2012-04-09 17:19 一凡 阅读(296) | 评论 (0)编辑 收藏
仅列出标题
共21页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last