<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_我菜固我在</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/916/rss</id><updated>2012-05-24T11:33:31Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/916/rss"/><entry><id>http://www.cnblogs.com/cerxp/archive/2012/03/11/2389911.html</id><title type="text">windows中架设基于Apache的svn服务器</title><summary type="text">1.安装apache及svn的windows版我安装的版本是:httpd-2.2.22-win32-x86-openssl-0.9.8t.msi和svn-win32-1.5.0.zipsvn是解压就可以了2. 解svn安装目录下\bin下的mod_authz_svn.so、mod_dav_svn.so拷贝到apache/modules下3.将svn安装目录下\bin下的libdb44.dll拷贝到apache/bin下4.修改apache安装目录下conf/httpd.confa.将LoadModule dav_module modules/mod_dav.soLoadModule dav_f</summary><published>2012-03-11T03:24:00Z</published><updated>2012-03-11T03:24:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2012/03/11/2389911.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2012/03/11/2389911.html"/><content type="html">&lt;p&gt;1.安装apache及svn的windows版&lt;/p&gt;&lt;p&gt;我安装的版本是:httpd-2.2.22-win32-x86-openssl-0.9.8t.msi&amp;nbsp;和svn-win32-1.5.0.zip&lt;/p&gt;&lt;p&gt;svn是解压就可以了&lt;/p&gt;&lt;p&gt;2. 解svn安装目录下&lt;span style="text-indent: 0.85cm; "&gt;\bin下的mod_authz_svn.so、mod_dav_svn.so拷贝到apache/modules下&lt;/span&gt;&lt;/p&gt;&lt;p&gt;3.将&amp;nbsp;svn安装目录下&lt;span style="text-indent: 0.85cm; "&gt;\bin下的&lt;/span&gt;&lt;span style="font-size: medium; font-family: 宋体, SimSun; text-indent: 0.85cm; "&gt;libdb44.dll&lt;/span&gt;&lt;span style="text-indent: 32px; "&gt;拷贝到apache/bin下&lt;/span&gt;&lt;/p&gt;&lt;p&gt;4.修改apache安装目录下conf/httpd.conf&lt;/p&gt;&lt;p&gt;&amp;nbsp;a.将&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="text-indent: 0.85cm; "&gt;LoadModule dav_module modules/mod_dav.so&lt;br /&gt;&lt;/span&gt;&lt;span style="text-indent: 0.85cm; "&gt;LoadModule dav_fs_module modules/mod_dav_fs.so&lt;/span&gt;&lt;/p&gt;&lt;p&gt;前面的#号去掉&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;b.增加:&lt;/div&gt;&lt;div&gt;LoadModule dav_svn_module modules/mod_dav_svn.so&lt;/div&gt;&lt;div&gt;LoadModule authz_svn_module modules/mod_authz_svn.so&amp;nbsp;&lt;/div&gt;&lt;div&gt;c.增加:&lt;/div&gt;&lt;div&gt;&amp;nbsp;Include conf/svn-repos.conf&lt;/div&gt;&lt;div&gt;5.在apache安装目录下conf下增加svn-repos.conf内容如下:&lt;/div&gt;&lt;div&gt;&amp;lt;Location /abc&amp;gt;&lt;/div&gt;&lt;div&gt;#svn访问的根目录是abc&lt;/div&gt;&lt;div&gt;DAV svn&lt;/div&gt;&lt;div&gt;SVNPath G:\storage\repos\abc&lt;/div&gt;&lt;div&gt;#svn内容就放在G:\storage\repos\abc&lt;/div&gt;&lt;div&gt;AuthName "abc repository"&lt;/div&gt;&lt;div&gt;AuthUserFile G:\storage\ACLrepos\user&lt;/div&gt;&lt;div&gt;#用户名和加密过后的密码文件存放的在G:\storage\ACLrepos\user下&lt;/div&gt;&lt;div&gt;AuthzSVNAccessFile G:\storage\ACLrepos\Access.txt&lt;/div&gt;&lt;div&gt;#权限控制放在Access.txt里&lt;/div&gt;&lt;div&gt;Require valid-user&lt;/div&gt;&lt;div&gt;AuthType Basic&lt;/div&gt;&lt;div&gt;&amp;lt;/Location&amp;gt;&lt;/div&gt;&lt;div&gt;6.用命今创建一个abc库:svnadmin create G:\storage\repos\abc&lt;/div&gt;&lt;div&gt;7.创建G:\storage\ACLrepos\Access.txt内容如下:&lt;/div&gt;&lt;div&gt;[groups]&lt;/div&gt;&lt;div&gt;admins = a&lt;/div&gt;&lt;div&gt;server_devs = b&lt;/div&gt;&lt;div&gt;###读写/server&lt;/div&gt;&lt;div&gt;client_devs = d&lt;/div&gt;&lt;div&gt;###读写/client&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;[/]&lt;/div&gt;&lt;div&gt;@admins = rw&lt;/div&gt;&lt;div&gt;@server_devs = r&lt;/div&gt;&lt;div&gt;@client_devs = r&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;[/server]&lt;/div&gt;&lt;div&gt;@server_devs = rw&lt;/div&gt;&lt;div&gt;@client_devs =&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;[/client]&lt;/div&gt;&lt;div&gt;@client_devs = rw&lt;/div&gt;&lt;div&gt;@server_devs =&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;8.建一个script的目录&lt;/div&gt;&lt;div&gt;9.在script内建一个create_user.bat内容如下:&amp;nbsp;&lt;/div&gt;&lt;div&gt;for /f %%i in (svn.user.list) do (D:\install\Apache2.2\bin\htpasswd.exe -b G:\storage\ACLrepos\user %%i 1234)&lt;/div&gt;&lt;div&gt;10.在script内建一个svn.user.list文件,如果要增加新用户请在svn.user.list增加他的用户名,同时运行create_user.bat这个用户就创建好了,他的初始密码是1234&lt;/div&gt;&lt;div&gt;11.下载 Apache22Passwd.rar 地址:http://bbs.iusesvn.com/attachment.php?aid=464&amp;amp;k=d85e631ee95745240ec41740ebcd1dc9&amp;amp;t=1331524742&amp;amp;sid=5DdrRA&lt;/div&gt;&lt;div&gt;12.将Apache22Passwd.rar里面的Apache2xPasswd.cgi改名为svnpass.cgi,Apache2xPasswd.cgi.ini要相应地改为svnpass.ini&lt;/div&gt;&lt;div&gt;13.修改svnpass.ini中的auth_user_file=G:\storage\ACLrepos\user&lt;/div&gt;&lt;div&gt;14.如果是for apache2.2版本，复制apache的bin目录下libapr-1.dll、libapriconv-1.dll、libaprutil-1.dll，svnpass.ini，svnpass.cgi到Apache/cgi-bin目录&lt;/div&gt;&lt;div&gt;15.正在可以使用http://127.0.0.1/svnpass 来修改用户的密码了&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2389911.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2012/03/11/2389911.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2012/02/15/2352597.html</id><title type="text">amoeba学习</title><summary type="text">一.amoeba的安装1.安装好java2.将amoeba的包解压到一个目录就可以了,我是解压到/usr/local/amoeba-mysql-binary-2.1.0/ 目录3.进入bin目录,运行:./amoeba如果看到:amoeba start|stop就代表成功了二.amoeba的配制1.单机器代理实现a.修改conf/dbServers.xml ,修改schema及password为真实的情况b.修改conf/amoeba.xml,修改里的port及password为代理的情况c.nohup ./amoeba start &amp;启动d.mysql -uroot -p代理的密码 </summary><published>2012-02-15T06:35:00Z</published><updated>2012-02-15T06:35:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2012/02/15/2352597.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2012/02/15/2352597.html"/><content type="html">&lt;p&gt;一.amoeba的安装&lt;/p&gt;&lt;p&gt;1.安装好java&lt;/p&gt;&lt;p&gt;2.将amoeba的包解压到一个目录就可以了,我是解压到/usr/local/amoeba-mysql-binary-2.1.0/ 目录&lt;/p&gt;&lt;p&gt;3.进入bin目录,运行:./amoeba&amp;nbsp;&lt;/p&gt;&lt;p&gt;如果看到:amoeba start|stop&amp;nbsp;就代表成功了&lt;/p&gt;&lt;p&gt;二.amoeba的配制&amp;nbsp;&lt;/p&gt;&lt;p&gt;1.单机器代理实现&lt;/p&gt;&lt;p&gt;a.修改conf/dbServers.xml ,修改schema及password为真实的情况&lt;/p&gt;&lt;p&gt;b.修改conf/amoeba.xml,修改里的port及password为代理的情况&lt;/p&gt;&lt;p&gt;c.nohup ./amoeba start &amp;amp;&amp;nbsp;启动&lt;/p&gt;&lt;p&gt;d.&amp;nbsp;mysql -uroot -p代理的密码 -h127.0.0.1 -P8066 如果登录成功则单机器代理成功了&lt;/p&gt;&lt;p&gt;&amp;nbsp;2.主从代理实现&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;三.使用mysql jdbc提供的负载均衡配置再解决amoeba服务器的单点问题&lt;/p&gt;&lt;p&gt;1. jdbc连接字附串中的loadbalance说明&lt;/p&gt;&lt;p&gt;&amp;nbsp;load balance方式有两种负载均衡算法,一种是随机式的轮询算法,另一种是最短响应时间算法&lt;/p&gt;&lt;p&gt;例句:&amp;nbsp;&amp;lt;driver-url&amp;gt;jdbc:mysql:loadbalance://127.0.0.1:8066,10.20.238.164:8066/test&amp;lt;/driver-url&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;如果两台amoeba都正常时,会将访问的压力分载到 127.0.0.1,10.20.238.164两个机器上，还可以加上roundRobinLoadBalance=true参数，使用roundRobin轮询算法，若是其中一台机器down掉以后，将会自动将不能访问的数据库服务器 踢除，如果还原后将继续进行压力分载。&lt;/p&gt;&lt;p&gt;2.&amp;nbsp;jdbc连接字附串中的replication说明&lt;/p&gt;&lt;p&gt;当后端MYSQL服务器群是master-slave单向一主N从的同步复制机制时，再使用loadbalance方式就会有问题了，因为如果有insert、update等写操作改变了从机的数据就麻烦了，从机不会将变化复制到主机，因此这种情况下需要实现&amp;#8220;主读写、从只读&amp;#8221;的模式，为了达到这个目的可以使用replication方式，&amp;nbsp;&lt;/p&gt;&lt;p&gt;如下所示：&amp;lt;driver-url&amp;gt;jdbc:mysql:replication://master,slave1,slave2,slave3/test&amp;lt;/driver-url&amp;gt;&lt;/p&gt;&lt;p&gt;replication方式可以很安全的实现写操作只发送到主机执行，而从机只会接收到读操作。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2352597.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2012/02/15/2352597.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2012/02/10/2345535.html</id><title type="text">CentOS安装thrift</title><summary type="text">1.安装jdk2.安装ant3.安装ivya、下载apache ivy:http://labs.renren.com/apache-mirror//ant/ivy/2.2.0/apache-ivy-2.2.0-bin.tar.gzb、tar xzvf apache-ivy-2.2.0-bin.tar.gzc、cp ivy-2.2.0.jar to ANT_HOME/libd、goto apache-ivy-2.2.0/src/example/hello-ivy, and run ant,也就是在目录apache-ivy-2.2.0/src/example/hello-ivy,运行ant如果看到</summary><published>2012-02-10T07:44:00Z</published><updated>2012-02-10T07:44:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2012/02/10/2345535.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2012/02/10/2345535.html"/><content type="html">&lt;p&gt;1.安装jdk&lt;/p&gt;&lt;p&gt;2.安装ant&lt;/p&gt;&lt;p&gt;3.安装&amp;nbsp;&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;&amp;nbsp;ivy&lt;/span&gt;&lt;/p&gt;&lt;br style="color: #333333; line-height: 26px; text-align: left; " /&gt;&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;a、下载apache ivy:&lt;/span&gt;http://labs.renren.com/apache-mirror//ant/ivy/2.2.0/apache-ivy-2.2.0-bin.tar.gz&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;b、tar xzvf apache-ivy-2.2.0-bin.tar.gz&lt;/span&gt;&lt;br style="color: #333333; line-height: 26px; text-align: left; " /&gt;&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;c、cp ivy-2.2.0.jar to ANT_HOME/lib&lt;/span&gt;&lt;br style="color: #333333; line-height: 26px; text-align: left; " /&gt;&lt;p&gt;&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;d、goto apache-ivy-2.2.0/src/example/hello-ivy, and run ant,也就是在目录&lt;/span&gt;&lt;span style="color: #333333; line-height: 26px; text-align: left; "&gt;apache-ivy-2.2.0/src/example/hello-ivy,运行ant&lt;/span&gt;&lt;/p&gt;&lt;p&gt;如果看到:&amp;nbsp;&lt;/p&gt;&lt;p&gt;BUILD SUCCESSFUL&lt;/p&gt;&lt;div&gt;Total time: 29 seconds&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;就代表成了&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;在centos里再执行这一句应没问题:&lt;span style="background-color: #ffffff; font-family: courier, monospace; font-size: 16px; line-height: normal; white-space: pre-wrap; "&gt;sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;哈哈&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;4. 安装thrift&lt;/p&gt;&lt;p&gt;a&amp;gt;下载thrift:http://mirror.bjtu.edu.cn/apache//thrift/0.8.0/thrift-0.8.0.tar.gz&lt;/p&gt;&lt;p&gt;b&amp;gt;&lt;span style="color: #333333; line-height: 19px; background-color: #efefef; "&gt;tar -zxvf &lt;/span&gt;thrift-0.8.0.tar.gz&lt;/p&gt;&lt;p&gt;c&amp;gt;cd &amp;nbsp;thrift-0.8.0&lt;/p&gt;&lt;p&gt;d&amp;gt;&amp;nbsp;&lt;span style="background-color: #ffffff; font-family: courier, monospace; font-size: 16px; line-height: normal; white-space: pre-wrap; "&gt;./configure --with-boost=/usr/local&lt;/span&gt;&lt;/p&gt;&lt;p&gt;e&amp;gt;&lt;span style="background-color: #ffffff; font-family: courier, monospace; font-size: 16px; line-height: normal; white-space: pre-wrap; "&gt;make&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;f&amp;gt;&lt;span style="background-color: #ffffff; font-family: courier, monospace; font-size: 16px; line-height: normal; white-space: pre-wrap; "&gt;make install&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;g&amp;gt;在命今行内输入&amp;nbsp;thrift,如果有提示,应就可以了&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;如果遇到"Error: libcrypto required" 错误,请安装&lt;span style="background-color: #ffffff; line-height: 18px; text-align: left; "&gt;libssl-dev&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5.构建thrift java 服务器端和客户端&lt;/p&gt;&lt;p&gt;&amp;nbsp;a&amp;gt;新建testJava.thrift文件:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;namespace&amp;nbsp;java&amp;nbsp;Test&lt;br /&gt;service&amp;nbsp;Something{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i32&amp;nbsp;ping()&lt;/div&gt;&lt;p&gt;}&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;b&amp;gt;testJava.thrift目录执行如下命令:thrift &amp;#8211;gen java testJava.thrift&amp;nbsp;,生成的源文件在./gen-java/目录下&lt;/p&gt;&lt;p&gt;c&amp;gt;进入gen-java目录&lt;/p&gt;&lt;p&gt;d&amp;gt;编写SomethingImpl.java&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000FF;"&gt;package&lt;/span&gt;&amp;nbsp;Test;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.TException;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&amp;nbsp;SomethingImpl&amp;nbsp;&lt;span style="color: #0000FF;"&gt;implements&lt;/span&gt;&amp;nbsp;Something.Iface&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;SomethingImpl()&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&amp;nbsp;ping()&amp;nbsp;&lt;span style="color: #0000FF;"&gt;throws&lt;/span&gt;&amp;nbsp;TException&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Recieve&amp;nbsp;ping&amp;nbsp;from&amp;nbsp;client...");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&amp;nbsp;0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;p&gt;}&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;e&amp;gt; Server.java&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000FF;"&gt;package&lt;/span&gt;&amp;nbsp;Test;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;java.io.IOException;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.protocol.TBinaryProtocol;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.protocol.TBinaryProtocol.Factory;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.server.TServer;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.server.TSimpleServer;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.server.TThreadPoolServer;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.transport.TServerSocket;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.transport.TTransportException;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&amp;nbsp;Server&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;start()&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;try&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TServerSocket&amp;nbsp;serverTransport&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;TServerSocket(7911);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Something.Processor&amp;nbsp;processor&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;Something.Processor(&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;SomethingImpl());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Factory&amp;nbsp;protFactory&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;TBinaryProtocol.Factory(&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;TServer&amp;nbsp;server&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TThreadPoolServer(processor,&amp;nbsp;serverTransport,protFactory);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;TServer&amp;nbsp;server&amp;nbsp;=&amp;nbsp;new&amp;nbsp;TSimpleServer(new&amp;nbsp;Args(serverTransport).processor(processor));&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TServer&amp;nbsp;server&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;TThreadPoolServer(&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;TThreadPoolServer.Args(serverTransport).processor(processor));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Starting&amp;nbsp;server&amp;nbsp;on&amp;nbsp;port&amp;nbsp;7911&amp;nbsp;...");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server.serve();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #0000FF;"&gt;catch&lt;/span&gt;&amp;nbsp;(TTransportException&amp;nbsp;e)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #0000FF;"&gt;catch&lt;/span&gt;&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;main(String&amp;nbsp;args[])&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Server&amp;nbsp;srv&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;Server();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;srv.start();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;p&gt;}&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;f&amp;gt; Client.java&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000FF;"&gt;package&lt;/span&gt;&amp;nbsp;Test;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;java.io.IOException;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.*;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.protocol.*;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt;&amp;nbsp;org.apache.thrift.transport.*;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&amp;nbsp;Client&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&amp;nbsp;main(String&amp;nbsp;[]&amp;nbsp;args)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;try&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TTransport&amp;nbsp;transport&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;TSocket("localhost",&amp;nbsp;7911);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TProtocol&amp;nbsp;protocol&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;TBinaryProtocol(transport);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Something.Client&amp;nbsp;client&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&amp;nbsp;Something.Client(protocol);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transport.open();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Client&amp;nbsp;calls&amp;nbsp;ping()");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.ping();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transport.close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style="color: #0000FF;"&gt;catch&lt;/span&gt;&amp;nbsp;(TException&amp;nbsp;x)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x.printStackTrace();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;p&gt;}&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;g&amp;gt;要求如下几个包支持libthrift-0.8.0.jar &amp;nbsp;log4j-1.2.14.jar &amp;nbsp;slf4j-api-1.5.8.jar &amp;nbsp;slf4j-log4j12-1.5.8.jar,所以可以如下命令编译:&lt;/p&gt;&lt;p&gt;&amp;nbsp;javac -classpath ./:../lib/libthrift-0.8.0.jar:../lib/log4j-1.2.14.jar:../lib/slf4j-api-1.5.8.jar:../lib/slf4j-log4j12-1.5.8.jar *.java&lt;/p&gt;&lt;p&gt;h&amp;gt;&amp;nbsp;启动服务器。退到gen-java目录，输入java&amp;nbsp;&amp;nbsp;-classpath ./:../lib/libthrift-0.8.0.jar:../lib/log4j-1.2.14.jar:../lib/slf4j-api-1.5.8.jar:../lib/slf4j-log4j12-1.5.8.jar&amp;nbsp;Test/Server，屏幕显示如下：&lt;/p&gt; &lt;p&gt; Starting server on port 7911 ...&lt;/p&gt;&lt;p&gt;i&amp;gt;&amp;nbsp;启动客户端。在同一目录下输入java&amp;nbsp;&amp;nbsp;-classpath ./:../lib/libthrift-0.8.0.jar:../lib/log4j-1.2.14.jar:../lib/slf4j-api-1.5.8.jar:../lib/slf4j-log4j12-1.5.8.jar&amp;nbsp;&amp;nbsp;Test/Client，屏幕显示如下：&lt;/p&gt; &lt;p&gt; Client calls ping()&lt;/p&gt; &lt;p&gt; 这时服务器端的输出多了一行：&lt;/p&gt; &lt;p&gt; Recieve ping from client...&lt;/p&gt;&lt;p&gt;成功了!!!!!!!!!!!!!!!!!!!!!!!!&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;问题:&lt;/p&gt;&lt;p&gt;1.&lt;table id="src_table_0" style="border-collapse: collapse; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; font-size: 12px; white-space: pre; background-color: #ffffff; "&gt;&lt;tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;tr id="sl_svn17_106" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; vertical-align: top; "&gt;error: command 'gcc' failed with exit status 1&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr id="sl_svn17_107" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; vertical-align: top; "&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr id="sl_svn17_108" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 4px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; vertical-align: top; "&gt;install python-dev&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2345535.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2012/02/10/2345535.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/12/13/2285852.html</id><title type="text">准备将redis引入项目做消息队列使用</title><summary type="text">先看一下效果</summary><published>2011-12-13T03:51:00Z</published><updated>2011-12-13T03:51:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/12/13/2285852.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/12/13/2285852.html"/><content type="html">先看一下效果&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2285852.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/12/13/2285852.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/11/24/2262076.html</id><title type="text">试用ubuntu里画流程图,架构图工具</title><summary type="text">共试用了yEd,XMind,FreeMind,umbrello,最后用得最爽的是yEd,别的都不顺手</summary><published>2011-11-24T09:35:00Z</published><updated>2011-11-24T09:35:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/11/24/2262076.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/11/24/2262076.html"/><content type="html">共试用了yEd,XMind,FreeMind,umbrello,最后用得最爽的是yEd,别的都不顺手&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2262076.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/11/24/2262076.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/10/17/2214595.html</id><title type="text">ubufntu 11.10启动不了nautilus的问题解决</title><summary type="text">如题你在启动时报如下错误:(nautilus:9353): Gtk-CRITICAL **: gtk_action_set_visible: assertion `GTK_IS_ACTION (action)' failed段错误那么请 删除nautilus-open-terminal，然后nautilus -q即可</summary><published>2011-10-17T01:31:00Z</published><updated>2011-10-17T01:31:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/10/17/2214595.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/10/17/2214595.html"/><content type="html">&lt;p&gt;如题你在启动时报如下错误:&lt;/p&gt;&lt;div&gt;&lt;div&gt;(nautilus:9353): Gtk-CRITICAL **: gtk_action_set_visible: assertion `GTK_IS_ACTION (action)' failed&lt;/div&gt;&lt;/div&gt;&lt;p&gt;段错误&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;那么请 删除&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px; background-color: #f7f4ef; "&gt;nautilus-open-terminal，然后nautilus -q即可&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2214595.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/10/17/2214595.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/10/14/2212306.html</id><title type="text">wunderlist会提示找不到libffi.so.5</title><summary type="text">在ubuntu11.10里使用wunderlist会提示找不到libffi.so.5执行如下操作就可以$ sudo ln -s /usr/lib/i386-linux-gnu/libffi.so.6 /usr/lib/i386-linux-gnu/libffi.so.5$ sudo ln -s /usr/lib/i386-linux-gnu/libnotify.so.4 /usr/lib/i386-linux-gnu/libnotify.so.1</summary><published>2011-10-14T07:51:00Z</published><updated>2011-10-14T07:51:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/10/14/2212306.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/10/14/2212306.html"/><content type="html">&lt;p&gt;在ubuntu11.10里使用wunderlist会提示找不到&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 18px; "&gt;libffi.so.5&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;执行如下操作就可以&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 18px; "&gt;$ sudo ln -s /usr/lib/i386-linux-gnu/libffi.so.6 /usr/lib/i386-linux-gnu/libffi.so.5&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 12px;"&gt;&lt;div&gt;$ sudo ln -s /usr/lib/i386-linux-gnu/libnotify.so.4 /usr/lib/i386-linux-gnu/libnotify.so.1&lt;/div&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2212306.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/10/14/2212306.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/09/13/2174499.html</id><title type="text">内嵌在客户端的网页出现刷新问题</title><summary type="text">请不要加这两句CSSa{ text-decoration: none; blr: expression(this.onFocus=this.close()); }a{ blr: expression(this.onFocus=this.blur()); }会出现下面的问题</summary><published>2011-09-13T02:44:00Z</published><updated>2011-09-13T02:44:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/09/13/2174499.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/09/13/2174499.html"/><content type="html">&lt;div&gt;&lt;div&gt;请不要加这两句CSS&lt;/div&gt;&lt;div&gt;a{ &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;text-decoration: none;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; blr: expression(this.onFocus=this.close()); &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;}&amp;nbsp;&lt;/div&gt;&lt;div&gt;a{ &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; blr: expression(this.onFocus=this.blur()); &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;}&amp;nbsp;&lt;/div&gt;&lt;p&gt;会出现下面的问题&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/cerxp/Sent.jpg" border="0" alt="" width="730" height="630" /&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2174499.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/09/13/2174499.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/06/19/2084631.html</id><title type="text">lenovo e23在ubuntu下打开无线网卡的办法</title><summary type="text">1.fn+f52.sudo ifconfig wlan0 up3.sudo rmmod acer-wmi</summary><published>2011-06-19T05:22:00Z</published><updated>2011-06-19T05:22:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/06/19/2084631.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/06/19/2084631.html"/><content type="html">&lt;p&gt;1.fn+f5&lt;/p&gt;&lt;p&gt;2.&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 18px; "&gt;sudo ifconfig wlan0 up&lt;/span&gt;&lt;/p&gt;&lt;p&gt;3.&amp;nbsp;sudo rmmod acer-wmi&lt;/p&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/2084631.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/06/19/2084631.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/cerxp/archive/2011/02/22/1961132.html</id><title type="text">决定得新格式化再装ubuntu,下面是我所有安装的软件,记录之</title><summary type="text">evernotewineAdobe Reader 9(acroread)FBReaderkeepnoterednotebookxmindbluefishesvnjd-guikikimeldmysqlmysql-navigatornavicat for mysqlrapidsvnscitescribesZendStudiochmseegnome-dognome-commanderparcellitetuxcmdstardictcatfishleafpadshutteramuleemeseneevafilezillafirefoxgoogle chromeGoogle Earthkflickrth</summary><published>2011-02-22T03:48:00Z</published><updated>2011-02-22T03:48:00Z</updated><author><name>大侠(cer)</name><uri>http://www.cnblogs.com/cerxp/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cerxp/archive/2011/02/22/1961132.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cerxp/archive/2011/02/22/1961132.html"/><content type="html">&lt;div&gt;&lt;div&gt;evernote&lt;/div&gt;&lt;div&gt;wine&lt;/div&gt;&lt;div&gt;Adobe Reader 9(acroread)&lt;/div&gt;&lt;div&gt;FBReader&lt;/div&gt;&lt;div&gt;keepnote&lt;/div&gt;&lt;div&gt;rednotebook&lt;/div&gt;&lt;div&gt;xmind&lt;/div&gt;&lt;div&gt;bluefish&lt;/div&gt;&lt;div&gt;esvn&lt;/div&gt;&lt;div&gt;jd-gui&lt;/div&gt;&lt;div&gt;kiki&lt;/div&gt;&lt;div&gt;meld&lt;/div&gt;&lt;div&gt;mysql&lt;/div&gt;&lt;div&gt;mysql-navigator&lt;/div&gt;&lt;div&gt;navicat for mysql&lt;/div&gt;&lt;div&gt;rapidsvn&lt;/div&gt;&lt;div&gt;scite&lt;/div&gt;&lt;div&gt;scribes&lt;/div&gt;&lt;div&gt;ZendStudio&lt;/div&gt;&lt;div&gt;chmsee&lt;/div&gt;&lt;div&gt;gnome-do&lt;/div&gt;&lt;div&gt;gnome-commander&lt;/div&gt;&lt;div&gt;parcellite&lt;/div&gt;&lt;div&gt;tuxcmd&lt;/div&gt;&lt;div&gt;stardict&lt;/div&gt;&lt;div&gt;catfish&lt;/div&gt;&lt;div&gt;leafpad&lt;/div&gt;&lt;div&gt;shutter&lt;/div&gt;&lt;div&gt;amule&lt;/div&gt;&lt;div&gt;emesene&lt;/div&gt;&lt;div&gt;eva&lt;/div&gt;&lt;div&gt;filezilla&lt;/div&gt;&lt;div&gt;firefox&lt;/div&gt;&lt;div&gt;google chrome&lt;/div&gt;&lt;div&gt;Google Earth&lt;/div&gt;&lt;div&gt;kflickr&lt;/div&gt;&lt;div&gt;thunderbird&lt;/div&gt;&lt;div&gt;opera&lt;/div&gt;&lt;div&gt;pidgin&lt;/div&gt;&lt;div&gt;Thunder&lt;/div&gt;&lt;div&gt;transmission&lt;/div&gt;&lt;div&gt;flashget&lt;/div&gt;&lt;div&gt;iptux&lt;/div&gt;&lt;div&gt;comix&lt;/div&gt;&lt;div&gt;kruler&lt;/div&gt;&lt;div&gt;evince&lt;/div&gt;&lt;div&gt;ubuntu-tweak&lt;/div&gt;&lt;div&gt;vmware-server-console&lt;/div&gt;&lt;div&gt;ailurus&lt;/div&gt;&lt;div&gt;virtualbox&lt;/div&gt;&lt;div&gt;audacious2&lt;/div&gt;&lt;div&gt;RealPlayer&lt;/div&gt;&lt;div&gt;rhythmbox&lt;/div&gt;&lt;div&gt;smplayer&lt;/div&gt;&lt;div&gt;totem&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/cerxp/aggbug/1961132.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/cerxp/archive/2011/02/22/1961132.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
