日志分类

项目规划

前提规划书
明确项目要做什么,怎么做。
预测项目耗费工时及成本。
计划项目开发进度及里程碑,以及每个里程碑的产出物。

这一步主要是让自己和客户清楚,你们打算弄个什么东西出来,什么时候完成,要花多少时间多少钱。

shell脚本条件判断

UNIX Shell 编程中条件判断是极为重要的,以下是常用的条件判断:

-b file 若文件存在且是一个块特殊文件,则为真
-c file 若文件存在且是一个字符特殊文件,则为真
-d file 若文件存在且是一个目录,则为真
-e file 若文件存在,则为真
-f [...]

php模拟post提交

1.通过curl函数

?Download curl_post.php1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$post_data = array();
$post_data[’clientname’] = "test08";
$post_data[’clientpasswd’] = "test08";
$post_data[’submit’] = "submit";
$url=’http://xxx.xxx.xxx.xx/xx/xxx/top.php’;
$o="";
foreach ($post_data as $k=&gt;$v)
{
$o.= "$k=".urlencode($v)."&amp;";
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
//为了支持cookie
curl_setopt($ch, CURLOPT_COOKIEJAR, ‘cookie.txt’);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
?>

2.通过fsockopen.

?Download fsockopen_post.php1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
$URL=‘http://xxx.xxx.xxx.xx/xx/xxx/top.php’;
$post_data[’clientname’] = "test08";
 
$post_data[’clientpasswd’] = "test08";
 
$post_data[’submit’] = "提交";
 
$referrer="";
 
// parsing the given URL
 
$URL_Info=parse_url($URL);
 
// Building referrer
 
if($referrer=="") // if not given use this script as referrer
 
$referrer=$_SERVER["SCRIPT_URI"];
// making string [...]

高级Bash脚本编程指南

这是学习Bash的一本很不错的书

毫无疑问,UNIX/Linux最重要的软件之一就是shell,目前最流行的shell被称为Bash(Bourne Again Shell),几乎所有的Linux和绝大部分的UNIX都可以使用Bash。作为系统与用户之间的交互接口,shell几乎是你在UNIX工作平台上最 亲密的朋友,因此,学好shell,是学习Linux/UNIX的的开始,并且它会始终伴随你的工作学习。

shell是如此地重要,但令人惊奇的是,介绍shell的书没有真正令人满意的。所幸的是,我看到了这本被人称为abs的书,这本书介 绍了bash大量的细节和广阔的范围,我遇到的绝大部分的技术问题–无论是我忘记的或是以前没有发现的–都可以在这本书里找到答案。这本使用大量的例 子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得 到更深入的知识。无论你是新手还是老手,或是使用其他语言的程序员,我能肯定你能在此书用受益。而本书除了介绍BASH的知识之外,也有许多有用的关于 Linux/UNIX的知识和其他shell的介绍。

关于学习Perl

Perl是一门很有用的语言,可以用它来做很多事。然而,它也仅是一门语言,掌握了Perl,你只是掌握了Computer领域的一小块知识。在学习Perl前,请明确你的学习目的,并采用正确的学习方法和资源。

(一)学习目的

你学Perl的目的是什么?要实现你的目的,光有Perl够吗?让偶帮你分析看看。

1. 我想当一名System Administrator,并将Perl用于SA工作。

想法很好,优秀的SA,Perl能力必备。Perl自身的灵活语法,强大的正则表达式,良好的shell结合能力,以及CPAN的众多模块,会使你的SA 工作如鱼得水,工作量倍减。然而,SA工作的本质还在于System,也许值得你花更多时间的,是System自身稳定和安全的维护。你要学习 Unix,Linux等OS的操作,学习Apache,Sendmail,Bind,Squid,Mysql等应用配置,还要学习awk,sed等 shell script。这些中的每一样要搞熟,都值得你付出很多努力呀。

Perl多维数组问题

Perl语言应该记住的最重要的一点是:Perl中的数组和哈希表始终是一维的。因此,数组和哈希表只保存标量值,不直接存贮数组或其它的复杂数据结构。数组的成员要么是数(或字符串)要么是引用。

中括号可以创建匿名数组的引用,所以创建多维数组可以这样来创建:如

$line = ['solid' , 'black' , ['1','2','3'] , ['4','5','6']];

$line->[0] = solid
$line->[1] = black
$line->[2][0] = 1
$line->[3][1] = 5

大括号可以创建匿名 hash表的引用,所以创建多维数组还可以这样来创建多维数组

$map = {”1″ =>
{
”1-0″ => “1-0″,
”1-1″ => “1-1″
},
”2″ =>
{
”2-0″ => “2-0″,
”2-1″ => “2-1″
}
};

该hash表可以这样来使用

vim-tips

1 背景
VIM被人追捧为“无所不能”的文本编辑器,是很多Unix和Linux程序员的最爱。VIM最大的特点是扩展性极强,功能定制异常灵活。灵活性和复杂性之间通常是矛盾关系,VIM复杂的定制参数和大量的命令也使得很多新手望而却步(我曾经也是其中之一)。本文不打算介绍详细介绍VIM的定制和扩展方法,而是试图在最短的时间内、通过最简单的手段将VIM定制为一个适合程序开发的IDE。

本文介绍的定制是通过修改.vimrc文件完成,该文件位于用户的home目录下,如果不存在,创建一个。

2 语法高亮
Ubuntu7.10中VIM默认没有启用语法高亮,如果想在当前编辑窗口中使用,可以在命令模式下输入”syntax on”。但这样每次打开新文件都要重新设置,十分麻烦,所以,可以在.vimrc文件的末尾加上syntax on来默认启用语法高亮。

常用正则表达式(转)

正则表达式用于字符串处理、表单验证等场合,实用高效。

现将一些常用的表达式收集于此,以备不时之需。

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^\s*|\s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
评注:表单验证时很实用

WordPress2.8 时区显示问题

昨天和今天安装了一些新的WordPress插件安装以后发现settings里面的General页显示不正常,看了源码以后发现居然时区的下拉列表(options)出不来导致的问题

初步怀疑是因为数据库修改所致..因为我把blog从http://www.andystar.net/blog/迁移到了http://andystar.net/ 呵生命在于折腾嘛(我会再写一篇记录完整的过程的)~所以就查了下数据库发现该修改的都修改了..怪了,那没办法了就一点点找原因吧..

首先拿 http://andystar.net/wp-admin/options-general.php 他开刀了,在里面出问题的地方下断点 可以用 print “testing”; 然后看源码的方式,最后找出来是wp_timezone_choice() 这个函数这里执行有问题后面的程序都不执行了, 我也查了error_log 可是没有错误..郁闷但肯定是他的问题,那就找吧在大约3190行有wp_timezone_choice()  的定义调试了一下数据库的数据也确实没问题,后来发现个神奇的东西:

//      usort($zonen, create_function(
//              ‘$a, $b’, ‘
//              $t = create_function(\’$s\’, \’return translate(str_replace(“_”, ” “, $s), “continents-cities”);\’);
//              $a_continent = $t($a["continent"]);
//              $b_continent = $t($b["continent"]);
//              $a_city = $t($a["city"]);
//              $b_city = $t($b["city"]);
//              $a_subcity = $t($a["subcity"]);
//              $b_subcity = $t($b["subcity"]);
//              if ( $a_continent == $b_continent && $a_city == $b_city )
//                      return [...]

从sablog转换到wordpress完毕

经过一天多的修改,已经将blog从sablog转换为WordPress了

过程比较顺利,在这里记录一下,也方便后来的兄弟姐妹们,呵~

1.备份数据库,这个不用说了,你可以用主机面板备份(这个大家应该都知道吧),如果有ssh权限的可以

mysqldump -u mysql用户名 -p密码  你的数据库名字 > 备份sql文件.sql

2.写个程序把数据导过去.

一开始觉得很复杂,看看数据表以后发现其实直接写个脚本转就ok了,主要思想就是把sablog 的相关字段读到数组里,然后再插入到WordPress的数据表中就好了

附件:   sablogtowordpress

Page 1 of 212