<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>吾忆吧-今日记一事 明日悟一理 积久而成学-吴榆华的个人博客</title>
	<atom:link href="http://www.5e8.org/feed" rel="self" type="application/rss+xml" />
	<link>http://www.5e8.org</link>
	<description>宠辱不惊，看庭前花开花落；去留无意，望天空云卷云舒-Alpha&#039;s Blog</description>
	<lastBuildDate>Fri, 16 Apr 2010 08:25:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://www.5e8.org/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>Linux和Mysql常用命令</title>
		<link>http://www.5e8.org/archives/143</link>
		<comments>http://www.5e8.org/archives/143#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:19:21 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[常用命令]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=143</guid>
		<description><![CDATA[本人经常用到的命令，在这里做下记录。
 
.tar.bz2
解压：tar jxvf FileName.tar.bz2 压缩：tar jcvf FileName.tar.bz2 DirName
.gz
解压1：gunzip FileName.gz   解压2：gzip -d FileName.gz 压缩：gzip FileName
.tar.gz 和 .tgz
解压：tar zxvf FileName.tar.gz 压缩：tar zcvf FileName.tar.gz DirName
.rpm
解包：rpm2cpio FileName.rpm &#124; cpio -div
.deb
解包：ar p FileName.deb data.tar.gz &#124; tar zxf -
从远程scp到本地：
scp root@192.168.2.100:/opt/test/* /opt/test ，输入远程机器密码后完成
scp -P 3588  root@192.168.2.100:/opt/test/* /opt/test 走特殊端口号

从本地scp到远程：
scp /opt/test/*  root@192.168.2.100:/opt/test ，输入远程机器密码后完成
使用方式 : chmod [-cfvR] [--help] [--version] mode file&#8230;
使用方式 :chown jessie:users file1.txt 
Mysql 初始化：chkconfig –add mysqld
正在使用的端口：netstat -ant
挂载USB： mount  /dev/sdc /mnt/usb
Rpm 安装： rpm –ivh filename
www服务配置：/etc/httpd/conf/httpd.conf
网络测试：curl -I http://www.job5156.com
改IP地址：ifconfig eth0 192.168.2.29 netmask 255.255.255.0
改网关：route add default gw 192.168.2.254   查看：route [...]]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/143/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache tomcat 日志分析</title>
		<link>http://www.5e8.org/archives/141</link>
		<comments>http://www.5e8.org/archives/141#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:18:25 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[系统管理]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[日志]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=141</guid>
		<description><![CDATA[最近在寻找这方面的资料:
1,查看apache进程:
ps aux &#124; grep httpd &#124; grep -v grep &#124; wc -l
2,查看80端口的tcp连接:
netstat -tan &#124; grep &#8220;ESTABLISHED&#8221; &#124; grep &#8220;:80&#8243; &#124; wc -l
3,通过日志查看当天ip连接数，过滤重复:
cat access_log &#124; grep &#8220;24/Jul/2007&#8243; &#124; awk &#8216;{print $2}&#8217; &#124; sort &#124; uniq -c &#124; sort -nr
4,当天ip连接数最高的ip都在干些什么(原来是蜘蛛):
cat access_log &#124; grep &#8220;24/Jul/2007:00&#8243; &#124; grep &#8220;61.135.166.230&#8243; &#124; awk &#8216;{print $8}&#8217; &#124; sort &#124; uniq -c &#124; [...]]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/141/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EA与Rose UML建模工具比较</title>
		<link>http://www.5e8.org/archives/133</link>
		<comments>http://www.5e8.org/archives/133#comments</comments>
		<pubDate>Thu, 04 Mar 2010 03:16:26 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[UML]]></category>
		<category><![CDATA[EA]]></category>
		<category><![CDATA[Rose]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=133</guid>
		<description><![CDATA[          EA与Rose UML建模工具比较 　自从1997年正式发布UML以后，大量商用UML建模CASE工具粉墨登场。这样为我们提供了许多的选择，同时也要求我们在选择正确的UML建模工具以更好地适应我们业务和软件应用程序开发需求，达到最好的投资回报率（ROI）方面做大量的调查。在这篇文章中，我们将比较两款CASE工具的UML建模能力、双向工程特性和项目生命周期支持：Sparx Systems的Enterprise Architect(EA)专业版V.3.51和IBM Rational的Rational Rose企业版V.2002。
　　为什么我们需要UML建模CASE工具
　　今天，系统的构建变得越来越复杂，UML建模CASE工具为项目相关人员(如，项目经理，分析员，设计者，构架师，开发者等)提供了许多的好处。UML建模CASE工具允许我们应用规范的面向对象分析和设计的方法与理论，远离纠缠不清的源代码，达到构建和设计变得更直观，更容易地理解与修改的层次。在大型项目中，使用CASE工具更重要。通过使用CASE工具：
　　* 通过用例模型，业务/系统分析可以捕获到业务/系统需求。
　　* 设计者/构架师所作的设计模型能在不同层次的同一层内清晰表达对象或子系统之间的交互（典型的UML图如类图和交互图）。
　　* 开发者能快速地将模型转变为一个可运行的应用程序，寻找类和方法的子集，以及理解它们如何交互。
　　模型被看作是蓝图和构建系统的最终手册。同样，建模也就是一种从高层并以适当的形式来考虑一个设计的表述和理解它怎样运行的能力。
　　出于这些动机，UML CASE工具以及对应的方法论为我们提供了一种因系统太复杂而不能理解下层源代码的描述系统的方法，同时允许我们更快更便宜地开发正确的软件解决方案。
　　当然，要考虑CASE工具在UML建模能力，项目生命周期支持，双向工程，数据建模，性能，价格，可支持性，易使用性等方面的不同。这篇文章将探索Rose与EA在UML建模，项目生命周期支持以及双向工程领域的相同点和不同点，希望能帮助你在你的项目中选择正确的工具。
　　UML建模特性
　　UML标准由三部分组成，即：构造块（如对象，类，消息），构造块间的关系（如关联，泛化）和图（如，活动图）。UML profile使用UML可扩展性机制扩展标准UML符号，即，构造型，标注值和约束。EA专业版V.3.51和Rational Rose V.2002.05都支持UML 1.4　九种图中的八种标准UML图 &#8211; 用例图，类图，序列图，协作图，活动图，状态图，实现图（组件）图，部署图，和几种UML Profiles. 如果需要，对象图可以使用协作图来创建。不同点仅仅存在于创建UML图（表1）和扩展UML profiles时所支持的一些特性。



UML图
功能
EA
Rose


用例图
建立描述领域的边界
Yes
No.但是，一些工作使用文本或包。


序列 协作
序列图与协作图之间的相互转化
No
Yes


序列
更改消息的范围
Yes
No


序列
显示消息层次号码
Yes
No


序列协作
在浏览器中创建对象
Yes
No


序列
管理控件的焦点
容易
困难


所有
图的属性
Yes
No



　　　　　　　　　　　　　　　　　　表1. EA和Rose的UML图建模比较
　　Enterprise Architect 有一个通用的UML profile机制用来加载和运行不同的Profiles。Enterprise Architect为UML profiles指定一个特定格式的XML文件。而在Rational Rose中却需要生成一个附加项。
　　表2展示了在EA和Rose中UML profiles的可用性。



UML Profiles
EA
Rose


业务流程建模
支持Eriksson-Penker业务流程建模扩展
使用UML活动图


业务建模
No
Yes


数据建模
Yes
Yes


用户体验建模
Yes
No


Web建模
Yes
Yes


Yes
No
Yes


XML DTD
No



　　　　　　　　　　　　　　　　　　　表2. EA和Rose的UML Profile比较  
EA与Rose UML建模工具比较 　自从1997年正式发布UML以后，大量商用UML建模CASE工具粉墨登场。这样为我们提供了许多的选择，同时也要求我们在选择正确的UML建模工具以更好地适应我们业务和软件应用程序开发需求，达到最好的投资回报率（ROI）方面做大量的调查。在这篇文章中，我们将比较两款CASE工具的UML建模能力、双向工程特性和项目生命周期支持：Sparx Systems的Enterprise Architect(EA)专业版V.3.51和IBM Rational的Rational Rose企业版V.2002。
　　为什么我们需要UML建模CASE工具
　　今天，系统的构建变得越来越复杂，UML建模CASE工具为项目相关人员(如，项目经理，分析员，设计者，构架师，开发者等)提供了许多的好处。UML建模CASE工具允许我们应用规范的面向对象分析和设计的方法与理论，远离纠缠不清的源代码，达到构建和设计变得更直观，更容易地理解与修改的层次。在大型项目中，使用CASE工具更重要。通过使用CASE工具：
　　* 通过用例模型，业务/系统分析可以捕获到业务/系统需求。
　　* 设计者/构架师所作的设计模型能在不同层次的同一层内清晰表达对象或子系统之间的交互（典型的UML图如类图和交互图）。
　　* 开发者能快速地将模型转变为一个可运行的应用程序，寻找类和方法的子集，以及理解它们如何交互。
　　模型被看作是蓝图和构建系统的最终手册。同样，建模也就是一种从高层并以适当的形式来考虑一个设计的表述和理解它怎样运行的能力。
　　出于这些动机，UML CASE工具以及对应的方法论为我们提供了一种因系统太复杂而不能理解下层源代码的描述系统的方法，同时允许我们更快更便宜地开发正确的软件解决方案。
　　当然，要考虑CASE工具在UML建模能力，项目生命周期支持，双向工程，数据建模，性能，价格，可支持性，易使用性等方面的不同。这篇文章将探索Rose与EA在UML建模，项目生命周期支持以及双向工程领域的相同点和不同点，希望能帮助你在你的项目中选择正确的工具。
　　UML建模特性
　　UML标准由三部分组成，即：构造块（如对象，类，消息），构造块间的关系（如关联，泛化）和图（如，活动图）。UML profile使用UML可扩展性机制扩展标准UML符号，即，构造型，标注值和约束。EA专业版V.3.51和Rational Rose V.2002.05都支持UML 1.4　九种图中的八种标准UML图 &#8211; 用例图，类图，序列图，协作图，活动图，状态图，实现图（组件）图，部署图，和几种UML Profiles. 如果需要，对象图可以使用协作图来创建。不同点仅仅存在于创建UML图（表1）和扩展UML profiles时所支持的一些特性。



UML图
功能
EA
Rose


用例图
建立描述领域的边界
Yes
No.但是，一些工作使用文本或包。


序列 协作
序列图与协作图之间的相互转化
No
Yes


序列
更改消息的范围
Yes
No


序列
显示消息层次号码
Yes
No


序列协作
在浏览器中创建对象
Yes
No


序列
管理控件的焦点
容易
困难


所有
图的属性
Yes
No



　　　　　　　　　　　　　　　　　　表1. EA和Rose的UML图建模比较
　　Enterprise [...]]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/133/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>运用JS将搜索的关键字高亮显示</title>
		<link>http://www.5e8.org/archives/130</link>
		<comments>http://www.5e8.org/archives/130#comments</comments>
		<pubDate>Wed, 03 Mar 2010 06:11:46 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[关键字]]></category>
		<category><![CDATA[高亮]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=130</guid>
		<description><![CDATA[当在文章里头出现这些关键字,就把它加亮显示..
文章是生成静态页面的,而这些关键字是能随时更新的,所以我想用JS来实现&#8230;

function highlight(key) {
var key = key.split('&#124;');
for (var i=0; i var rng = document.body.createTextRange();
while (rng.findText(key[i]))
//rng.pasteHTML(rng.text.fontcolor('red'));
rng.pasteHTML(' 
&#8216; + rng.text + &#8216;
&#8216;);
}
}
highlight(&#8216;文章&#124;关键&#124;功能&#8217;)
]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/130/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>54点提高PHP编程效率</title>
		<link>http://www.5e8.org/archives/127</link>
		<comments>http://www.5e8.org/archives/127#comments</comments>
		<pubDate>Wed, 03 Mar 2010 05:56:32 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[编程效率]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=127</guid>
		<description><![CDATA[0、用单引号代替双引号来包含字符串，这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量，单引号则不会，注意：只有echo能这么做，它是一种可以把多个字符串当作参数的“函数”（译注：PHP手册中说echo是语言结构，不是真正的函数，故把函数加上了双引号）。
1、如果能将类的方法定义成static，就尽量定义成static，它的速度会提升将近4倍。
2、$row[’id’] 的速度是$row[id]的7倍。
3、echo 比 print 快，并且使用echo的多重参数（译注：指用逗号而不是句点）代替字符串连接，比如echo $str1,$str2。
4、在执行for循环之前确定最大循环数，不要每循环一次都计算最大值，最好运用foreach代替。
5、注销那些不用的变量尤其是大数组，以便释放内存。
6、尽量避免使用__get，__set，__autoload。
7、require_once()代价昂贵。
8、include文件时尽量使用绝对路径，因为它避免了PHP去include_path里查找文件的速度，解析操作系统路径所需的时间会更少。
9、如果你想知道脚本开始执行（译注：即服务器端收到客户端请求）的时刻，使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10、函数代替正则表达式完成相同功能。
11、str_replace函数比preg_replace函数快，但strtr函数的效率是str_replace函数的四倍。
12、如果一个字符串替换函数，可接受数组或字符作为参数，并且参数长度不太长，那么可以考虑额外写一段替换代码，使得每次传递参数是一个字符，而不是只写一行代码接受数组作为查询和替换的参数。
13、使用选择分支语句（译注：即switch case）好于使用多个if，else if语句。
14、用@屏蔽错误消息的做法非常低效，极其低效。
15、打开apache的mod_deflate模块，可以提高网页的浏览速度。
16、数据库连接当使用完毕时应关掉，不要用长连接。
17、错误消息代价昂贵。
18、在方法中递增局部变量，速度是最快的。几乎与在函数中调用局部变量的速度相当。
19、递增一个全局变量要比递增一个局部变量慢2倍。
20、递增一个对象属性（如：$this-&#62;prop++）要比递增一个局部变量慢3倍。
21、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
22、仅定义一个局部变量而没在函数中调用它，同样会减慢速度（其程度相当于递增一个局部变量）。PHP大概会检查看是否存在全局变量。
23、方法调用看来与类中定义的方法的数量无关，因为我（在测试方法之前和之后都）添加了10个方法，但性能上没有变化。
24、派生类中的方法运行起来要快于在基类中定义的同样的方法。
25、调用带有一个参数的空函数，其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
26、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面，少用脚本。
27、除非脚本可以缓存，否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能，以免除编译开销。
28、尽量做缓存，可使用memcached。memcached是一款高性能的内存对象缓存系统，可用来加速动态Web应用程序，减轻数据库负载。对运算码 (OP code)的缓存很有用，使得脚本不必为每个请求做重新编译。
29、当操作字符串并需要检验其长度是否满足某种要求时，你想当然地会使用strlen()函数。此函数执行起来相当快，因为它不做任何计算，只返回在zval 结构（C的内置数据结构，用于存储PHP变量）中存储的已知字符串长度。但是，由于strlen()是函数，多多少少会有些慢，因为函数调用会经过诸多步骤，如字母小写化（译注：指函数名小写化，PHP不区分函数名大小写）、哈希查找，会跟随被调用的函数一起执行。在某些情况下，你可以使用isset() 技巧加速执行你的代码。
（举例如下）
if (strlen($foo) &#60; 5) { echo “Foo is too short”$$ }
（与下面的技巧做比较）
if (!isset($foo{5})) { echo “Foo is too short”$$ }
调用isset()恰巧比strlen()快，因为与后者不同的是，isset()作为一种语言结构，意味着它的执行不需要函数查找和字母小写化。也就是说，实际上在检验字符串长度的顶层代码中你没有花太多开销。
34、当执行变量$i的递增或递减时，$i++会比++$i慢一些。这种差异是PHP特有的，并不适用于其他语言，所以请不要修改你的C或Java代码并指望它们能立即变快，没用的。++$i更快是因为它只需要3条指令(opcodes)，$i++则需要4条指令。后置递增实际上会产生一个临时变量，这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种，正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意，因为并不是所有的指令优化器都会做同样的优化处理，并且存在大量没有装配指令优化器的互联网服务提供商（ISPs）和服务器。
35、并不是事必面向对象(OOP)，面向对象往往开销很大，每个方法和对象调用都会消耗很多内存。
36、并非要用类实现所有的数据结构，数组也很有用。
37、不要把方法细分得过多，仔细想想你真正打算重用的是哪些代码？
38、当你需要时，你总能把代码分解成方法。
39、尽量采用大量的PHP内置函数。
40、如果在代码中存在大量耗时的函数，你可以考虑用C扩展的方式实现它们。
41、评估检验(profile)你的代码。检验器会告诉你，代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序，评估检验总体上可以显示出代码的瓶颈。
42、mod_zip可作为Apache模块，用来即时压缩你的数据，并可让数据传输量降低80%。
43、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下，尽量用 file_get_contents，因为他的效率高得多！但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题；
44、尽量的少进行文件操作，虽然PHP的文件操作效率也不低的；
45、优化Select SQL语句，在可能的情况下尽量少的进行Insert、Update操作(在update上，我被恶批过)；
46、尽可能的使用PHP内部函数（但是我却为了找个PHP里面不存在的函数，浪费了本可以写出一个自定义函数的时间，经验问题啊！）；
47、循环内部不要声明变量，尤其是大变量：对象(这好像不只是PHP里面要注意的问题吧？)；
48、多维数组尽量不要循环嵌套赋值；
49、在可以用PHP内部字符串操作函数的情况下，不要用正则表达式；
50、foreach效率更高，尽量用foreach代替while和for循环；
51、用单引号替代双引号引用字符串；
52、“用i+=1代替i=i+1。符合c/c++的习惯，效率还高”；
53、对global变量，应该用完就unset()掉；
]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/127/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Search Lucene实现全文搜索</title>
		<link>http://www.5e8.org/archives/108</link>
		<comments>http://www.5e8.org/archives/108#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:11:52 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Lucene]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=108</guid>
		<description><![CDATA[简介：Zend_Search_Lucene 是一个完全由 PHP 5 编写的通用文本搜索引擎。由于其将索引保存在文件系统中而不需要数据库支持，因此它几乎可以为任何由 PHP 驱动的网站增加搜索能力。Zend_Search_Lucene 支持下列特性：
具有排名功能的搜索——最符合要求的结果出现在最前面
许多强大的查询类型：短语查询、通配符查询、近似查询、范围查询等
搜索特定的字段，如标题、作者、内容，等等
Zend_Search_Lucene 来源于 Apache Lucene project。要了解关于 Lucene 的更多详情，请访问 http://lucene.apache.org/java/docs/。
看了N久，查了许多的文章和例子之后，终于成功运行了，特记录下来，与大家共享。
首先需下载Zend Framework,下载地址:http://framework.zend.com
我这里用的是Preview 0.1.5版.
具体的使用方法请看官方文档，中文文档在这里：http://www.phpeye.com/zf/zend.search.html#zend.search.overview
好，下面请看我的例子。
1、建立索引
你可以对静态页面文件（如新闻网站等）进行索引，也可以对数据库的内容进行索引，总之，一切的数据都
索引。我这里以mysql数据库为例。
createindex.php
require_once ‘../includes/application_top.php’;
require_once DIR_FS_CATALOG . ‘includes/Zend/Search/Lucene.php’;
if (function_exists(”set_time_limit”) &#38;&#38; ! get_cfg_var(’safe_mode’)) {
set_time_limit(0);
}
$index = new Zend_Search_Lucene(’index’, true);//建立索引对象，TRUE表示一个新的索引
$sql = “SELECT c.categories_name, m.models_id, m.models_name, m.models_series, ” .
”m.models_brand, p.products_id, p.products_title…”; //查询数据库产品资料
$result = $class_db-&#62;query($sql);
while($row = $result-&#62;fetchRow()) {
$url = ‘http://www.sellcamera.net/detail.php/’ . $row[’products_id’]; //产品链接
$title = $row[’products_title’];//产品标题
$description = $models_brand [...]]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/108/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP MSN Class 最新版，支持MSN</title>
		<link>http://www.5e8.org/archives/106</link>
		<comments>http://www.5e8.org/archives/106#comments</comments>
		<pubDate>Tue, 26 Jan 2010 06:00:57 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[MSN]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=106</guid>
		<description><![CDATA[PHP MSN Class，支持MSNP9 (MSN 6.2)和最新的MSNP15 (WLM 8.1)协议（MSNP15协议支持离线消息），可以作为MSN机器人使用，或者给MSN、雅虎通发消息。
示例代码：

注意：使用MSNP15协议，PHP需要支持mhash；使用msnbot机器人功能，PHP需要支持pcntl。
开发语言： PHP
操作系统： 跨平台
软件主页：http://code.google.com/p/phpmsnclass/
下载地址：http://code.google.com/p/phpmsnclass/downloads/list  
]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/106/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>putty：Linux远程管理的最佳利器</title>
		<link>http://www.5e8.org/archives/104</link>
		<comments>http://www.5e8.org/archives/104#comments</comments>
		<pubDate>Tue, 26 Jan 2010 05:58:07 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[SecureCRT]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=104</guid>
		<description><![CDATA[对linux进行远程管理，我个人喜欢用putty。因为它是个短小精悍的工具，完全可以满足你的使用需求。SecureCRT不止一次听说过， 也不止一次试用过：发现它有标签功能的时候用过;发现它不用借助其它工具可以直接上传下载文件的时候用过;发现别人用它来管理cisco的时候也再次用过。不知道是不是先入为主的原因，就是一直没有喜欢上它，相反却觉得特别不顺手，还特别生气这么难使的东东还要收费!直到两个月前使用多台虚拟机进行实验的时候，终于忍受不了putty要开N个窗口，再次下载了SecureCRT。不经意间竟发现原来她是这么可爱!下面就让我带大家一起，看看怎么样把这看似“难用”的SecureCRT，变成一把所向披靡的屠龙刀。
　　先说一下SecureCRT的版本，用的是6.2.2(build 263)，一个汉化版。
　　linux风格:
　　其实吧，我觉得一直打心里排斥SecureCRT的原因，我也知道，就是它的默认显示风格。这绝对是先入为主的原因。不知道现在玩linux的高手以及刚入门的新手，有没有对着黑黑的屏幕(尤其是CRT显示器)做练习一做就是一天的经历。真得，其实那个界面很养眼的。我有那么大概一个月的时间，就面对黑黑的屏幕，做练习，看帮助。现在想想都挺怀念那段时光的，那是我技术最原始的积累。OK，主归正传，SecureCRT说，不喜欢这个风格你可以换吧， 俺支持的风格可多了。先看看默认风格：
　　再看一下修改以后的风格：
　　key:会话选项->终端->仿真->仿真
　　终端选择linux，记着把那个ANSI颜色勾选上。
　　字体:
　　经过上面一改，好像变成了熟悉的黑底白字，但是还是感觉有啥不对劲，哪不对劲呢?字体!哈哈，知道哪不对劲就好办，看了一下putty用的字体是Courier New那咱也改成这个：
　　是不是感觉很熟悉了，经过这两步，putty的钢丝可以给自己一个更顺手的工具的理由了。但是我已经不满足这些了。因为我喜欢了上等宽字体Fixedsys，嘿嘿：
　　key:会话选项->终端->外观->字体
　　既然说到字体了，咱就顺路说下怎样正确显示中文吧。首先保证你服务器的字体环境是utf-8:
　　LANG无论是en_US.UTF-8还是zh_CN.utf-8，只要带utf8就行。然后就该设置SecureCRT了
　　key:会话选项->终端->外观->字符编码:
　　再看下是不是正常显示中文了?
　　啥你那不行?可能你那字体环境变的慢，我也遇到过改后不立马生效的情况，过一会儿就好了或者直接新开一个窗口:)
　　标签：
　　说到标签咱得好好念道念道.这是俺最喜欢的功能!!!如果要管理的机器特别多，光在窗口中来回切换都会累死人.而SecureCRT的标签功能恰恰解决了这个问题，不要走开，接下来你将会看到更多的惊喜!
　　1.自动断开连接
　　这个功能就是当你退出当前终端的时候，就自动关闭当前的标签.这样的一个好处就当你退出最后一个标签的时候，整个程序就退出了.再有这里强调一点：希望大家一定要用命令exit正常退出终端而不要直接暴力关闭.因为不正常退的终端服务器会一直保留，如果这是个很多人登陆的机器，那么&#8230;&#8230;所以，良好的习惯从现在做起.偷偷告诉大家一个事儿，其实我退出的时候也不爱输exit还得敲四个字母外加一个回车，我从来都是直接ctrl+d  
　　key:全局选项->终端->断开时关闭
　　2.克隆会话
　　知道我为啥喜欢用SecureCRT的标签不?因为它能克隆!虽然putty也是复制会话的功能，但是它只能复制一个ip和端口，用户名和密码还得要再输入一遍，一台两台还可以接受，如果&#8230;..不说这个了，看下SecureCRT是咋实现的：
　　1)鼠标右键
　　这个没啥好说的，直接在想克隆的会话上点右键：
　　2)鼠标双击
　　如果你喜欢了浏览器的双击标签的操作，在SecureCRT你也可以用嘛.但是需要设置一下:
　　key:全局选项->终端->标签->选项->双击动作
　　看到那个关闭标签了没?就算你不会这个功能也不要选那个关闭标签，你知道我在说什么:)
　　3)快捷键
　　如果你觉得的为了打开一个新会话还要手移开键盘区去摸鼠标效率低的话，SecureCRT给你更多的选择，你可以自定义一些快捷键，来实现一些东西。
　　key:会话选项->终端->仿真->映射键 点击&#8221;映射键&#8221;会提示你输入键，比如我说按下ctrl+shift+n，会提示：
　　选择&#8221;ssh功能&#8221;：
　　默认会选中&#8221;ssh_new_session&#8221;，直接确定就可以了.然后再确定。
　　现在在激活SecureCRT窗口的情况下，直接按ctrl+shift+n，是不是直接克隆了新会话呢?
　　再悄悄的说句，这个自定义快捷键的功能，实在太强大了，发挥你的想像，你知道我在说什么。
　　3.快速切换
　　标签多了，切换也是个事儿，当然了，你可以直接用鼠标去点，但是对一些要求高效快捷的键盘狂人来说，去动鼠标和浪费时间几乎是一个概念.我想对这类人说一句：SecureCRT，你，值得拥有!
　　1)alt+1,2,3,4
　　这个没啥好说的了，在打开多个标签的情况下，从左到右的依次排号就是1，2，3&#8230;.所以想切换到哪个标签直接alt+编号就可以了.试一下就知道.
　　2)ctrl+tab
　　虽然知道了编号，但是有时候我们要快捷切换到上一个使用的标签，在标签很多的时候，可能会不大方便，这时候SecureCRT提供了一个&#8221;切换到最近使用的标签页&#8221;但是需要设置一下：
　　key:全局选项->终端->标签->选项->ctrl+tab
　　在使用这个功能的时候，你可能会说，我如果ctrl+tab切换，不小心多按一下，错过了想跳到的标签咋办?嘿嘿，没关系，你可以再多按一个shift，这样ctrl+shift+tab就是按照相反的顺序跳转了：)
　　篇幅原因，关于SecureCRT的介绍到这里就先告一段落了，不要犹豫，赶快行动起来实践一下，相信这些东西也会成为你高效管理linux的基石. 在接下来的章节中，我们将讨论，文件传输以及几个小甜点类的技巧，你值得拥有!
]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/104/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL的分支MariaDB进入最后冲刺阶段</title>
		<link>http://www.5e8.org/archives/102</link>
		<comments>http://www.5e8.org/archives/102#comments</comments>
		<pubDate>Tue, 26 Jan 2010 05:50:08 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[互联网事]]></category>
		<category><![CDATA[MariaDB]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=102</guid>
		<description><![CDATA[     MySQL联合创始人Monty Widenius提供了MySQL的分支MariaDB候选版本。据报道MariaDB 5.1完全兼容MySQL 5.1，这个版本早在2008年11月就发布了，增加了很多新的功能和若干个新的补丁程序。开发者称这个候选版本非常稳定，将在不久的将来发布。
　　MariaDB基于事务的Maria存储引擎，替换了MySQL的MyISAM存储引擎，它使用了Percona的 XtraDB，InnoDB的变体，分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。
　　这个项目的更多的代码都改编于 MySQL 6.0，例如  “pool of threads”功能提供解决多数据连接问题。MariaDB 5.1.41 RC可以到这里下载，32位和64位已编译Linux版本，还包括源代码包。MariaDB基于GPL 2.0发布。
]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/102/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery有了组织，依托自由软件组织Software Freedom</title>
		<link>http://www.5e8.org/archives/100</link>
		<comments>http://www.5e8.org/archives/100#comments</comments>
		<pubDate>Tue, 26 Jan 2010 05:48:24 +0000</pubDate>
		<dc:creator>Alpha</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[互联网事]]></category>

		<guid isPermaLink="false">http://www.5e8.org/?p=100</guid>
		<description><![CDATA[jQuery之父John Resig昨天宣布，依托著名的自由软件组织Software Freedom Conservency（旗下还有Samba、ArgoUML、Inkscape、Mercurial等著名开源项目），jQuery核心库以及相关的几个项目jQuery UI、QUit（JavaScript测试套件）、Sizzle（纯JavaScript CSS选择器引擎）联合组成jQuery Project，正式成为一个有组织的开源项目。
该组织目前由开发组（包括John Resig和Yehuda Katz等）、开发者关系组、jQuery UI组、插件组、基础设施和设计组（负责网站）、活动组组成。
]]></description>
		<wfw:commentRss>http://www.5e8.org/archives/100/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
