存档在 2013年2月

LibCurl编程转

2013年2月26日

1核心提示:Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。并且易于使用。
2 LibCurl编程
2.1 LibCurl编程流程
在基于LibCurl的程序里,主要采用callback function (回调函数)的形式完成传输任务,用户在启动传输前设置好各类参数和回调函数,当满足条件时libcurl将调用用户的回调函数实现特定功能。下面是利用libcurl完成传输任务的流程:
1. 调用curl_global_init()初始化libcurl
2. 调用 curl_easy_init()函数得到 easy interface型指针
3. 调用curl_easy_setopt设置传输选项
4. 根据curl_easy_setopt设置的传输选项,实现回调函数以完成用户特定任务
5. 调用curl_easy_perform()函数完成传输任务
6. 调用curl_easy_cleanup()释放内存
在整过过程中设置curl_easy_setopt()参数是最关键的,几乎所有的libcurl程序都要使用它。
» 阅读更多: LibCurl编程转

$! ,$?, $$,$@在shell中意义

2013年2月10日

$n $1 the first parameter,$2 the second… //第n个参数参数
$# The number of command-line parameters. //命令行参数的数目
$0 The name of current program. //当年前程序名字
$? Last command or function’s return value. //上次命令的返回值
$$ The program’s PID. //当前程序的pid
$! Last program’s PID. //最后一个程序的pid
$@ Save all the parameters. //保存所有参数

chrome://flags

2013年2月10日

chrome://flags是chrome的一个实验室,专门用来调教那些尚未成熟、幼嫩的的功能,一旦成功很有可能是一项重大创举。等到她们都服服帖帖了,就立马将它们上架,包装“出售”。
像chrome 9.0的即搜即得功能(点击查看具体的介绍),就是经过长期的炼化,才最终放到了正式版上。

下面是以最新的chrome 11.0 dev 来说明
比如开启平滑滚动
开启方法,在地址栏输入chrome://flags/;向下翻找到“平滑滚动” 点击开启,重启浏览器。

Linux下批量转换文件内容编码

2013年2月10日

1.使用enca,例如要把当前目录下的所有文件都转成utf-8

$enca -x utf-8 *

2,使用iconv 转换
iconv的命令格式如下:

iconv -f encoding -t encoding inputfile

比如将一个UTF-8 编码的文件转换成GBK编码

iconv -f GBK -t UTF-8 file1 -o file2

lGBK->UTF-8文件编码批量转换脚本

find default -type d -exec mkdir -p utf/{} ;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} ;

这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。