<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-7509904</id><updated>2010-03-10T01:53:20.971+08:00</updated><title type='text'>鱼常游而忘飞</title><subtitle type='html'>+++++仿佛轻云应笑我--相携水岸弄朝霞--此生只为听天籁--坐拥书城看落花+++++</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.fairybean.com/com/atom.xml'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>696</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7509904.post-6564737629353287186</id><published>2009-05-15T09:51:00.001+08:00</published><updated>2009-05-15T09:51:59.954+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>soapUI; the Web Services Testing tool</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;&lt;p style="font-size: small; margin-top: 7px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;soapUI is a free and open source desktop application for&lt;/p&gt;&lt;ul style="margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-left: 10px; "&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/features.html#Web_Service_Inspection_and_Invocation" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;inspecting Web Services&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/features.html#Web_Service_Inspection_and_Invocation" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;invoking Web Services&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/features.html#Web_Service_Development_and_Validation" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;developing Web Services&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/features.html#Web_Service_Simulation" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;Web Services Simulation and Mocking&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/features.html#Web_Service_Functional_Testing" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;Functional, Load and Compliance testing of Web Services&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-size: small; margin-top: 7px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;It is mainly aimed at developers and testers providing or consuming WSDL or REST based Web Services (Java, .net, etc). Functional and Load Testing can be done both interactively in soapUI or within an automated build or integration process using the soapUI &lt;a href="http://www.soapui.org/userguide/commandline/index.html" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;command line tools&lt;/a&gt;.&lt;/p&gt;&lt;p style="font-size: small; margin-top: 7px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Mock Web Services can easily be created for any WSDL and hosted from within soapUI or using the command-line MockService runner. IDE-plugins are available for&lt;/p&gt;&lt;p style="font-size: small; margin-top: 7px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;ul style="margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px; padding-left: 10px; "&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/eclipse/index.html" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;eclipse plug in&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/intellij/index.html" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;IntelliJ IDEA plug in&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; "&gt;&lt;a href="http://www.soapui.org/netbeans/index.html" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;NetBeans plug in&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-size: small; margin-top: 7px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="font-size: small; margin-top: 7px; margin-right: 0px; margin-bottom: 7px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;soapUI requires Java 1.5 and is licensed under the &lt;a href="http://www.soapui.org/license.html" style="text-decoration: none; color: rgb(51, 102, 153); "&gt;LGPL license&lt;/a&gt;.&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://www.soapui.org/"&gt;http://www.soapui.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-6564737629353287186?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/6564737629353287186/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=6564737629353287186' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6564737629353287186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6564737629353287186'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/05/soapui-web-services-testing-tool.html' title='soapUI; the Web Services Testing tool'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-6301226535833670679</id><published>2009-05-15T09:31:00.000+08:00</published><updated>2009-05-15T09:32:21.515+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Framework'/><title type='text'>Project Darkstar</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 14px; line-height: 21px; "&gt;Project Darkstar aims to help developers and operators avoid a range of serious, yet typical, problems associated with &lt;strong style="font-family: Verdana, sans-serif; font-size: small; "&gt;online games, virtual worlds, and social networking applications today&lt;/strong&gt;, including zone overloading, data corruption, and server under-utilization. It will also enable developers to support new dimensions of play such as evolving virtual worlds and very large scale battlefields.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 14px; line-height: 21px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 14px; line-height: 21px;"&gt;&lt;a href="http://projectdarkstar.com/"&gt;http://projectdarkstar.com/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-6301226535833670679?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/6301226535833670679/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=6301226535833670679' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6301226535833670679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6301226535833670679'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/05/project-darkstar.html' title='Project Darkstar'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-2855293397733278819</id><published>2009-05-14T21:19:00.002+08:00</published><updated>2009-05-14T21:23:24.656+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='黑莓'/><category scheme='http://www.blogger.com/atom/ns#' term='BlackBerry'/><title type='text'>如何为BlackBerry黑莓手机开发应用软件</title><content type='html'>&lt;div&gt;BlackBerry Personal Information Manager (PIM)是一种能够及时提供24x7路商业重要信息的便携式设备，这种设备是通过无线网络将用户与全体的E-MAIL用户和其它系统连接起来的。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;在澳大利亚，BlackBerry（黑莓）的驱动程序暂时只能够通过Telstra（澳洲电信）获得。随着BlackBerry（黑莓）设备的引进和像Vodafone移动运营商一样的其它无线供应商的到来这一切将改变。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;首先，你需要有最新的Java 2 Platform SDK (currently 1.4.2.04)。这个最新的版本你能从Sun’s Web site下载到。SDK的安装将花费一些时间，并且需要大约120M的硬盘空间，但是它提供了你所需要编译的BlackBerry（黑莓）应用软件的所有工具。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;然后，你需要安装BlackBerry（黑莓） Java Development Environment (currently version 3.7)，这个你可以到BlackBerry Developer Web site网站上下载。这个安装也很简单，需要77M的硬盘空间。使用“完整”这个安装选项可以安装整个文档、代码样例和程序文件，同时也安装了客户端和服务器的模拟器。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;当你将应用程序下载到BlackBerry（黑莓）设备后，你就能用客户端模拟器进行测试了，如图A所示：&lt;/div&gt;&lt;div&gt;&lt;img src="http://img.zdnet.com.cn/0/217/li2L71GEC7s4c.gif" /&gt;图 A&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BlackBerry（黑莓） 客户端模拟器&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;在程序组被命名为“Research in Motion”后，这个工具将被安装在“开始”菜单中，同时它的子菜单中将包含BlackBerry（黑莓）的所有工具。从子菜单中，选择“打开JDE”，将打开如图B所示的窗口，在这个窗口中你将看到工作空间和大量的应用程序样例。&lt;/div&gt;&lt;div&gt;&lt;img src="http://img.zdnet.com.cn/0/218/liLKB37AcKHWQ.jpg" /&gt;图 B&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;JDE 窗口&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;新建应用程序&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;建立你自己的工作空间，选择“文件”&gt;“新建工作空间”后给出你的工作空间的名字和位置。这样工作空间就被创建在你指定的位置了，它的后缀名为.JDW。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;详细内容：&lt;a href="http://www.builder.com.cn/2007/0112/351481.shtml"&gt;http://www.builder.com.cn/2007/0112/351481.shtml&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-2855293397733278819?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/2855293397733278819/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=2855293397733278819' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/2855293397733278819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/2855293397733278819'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/05/blackberry.html' title='如何为BlackBerry黑莓手机开发应用软件'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-6202605871803053941</id><published>2009-05-14T20:37:00.000+08:00</published><updated>2009-05-14T21:12:18.922+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Azure'/><title type='text'>微软为Azure准备PHP开发包</title><content type='html'>微软刚刚为Azure Cloud项目添加了一个重要的PHP SDK,这可以允许测试者们建立PHP应用到云计算平台.&lt;br /&gt;&lt;br /&gt;在TechEd印度站,微软公布了这款SDK,它是一个开源项目,源码可以在Microsoft CodePlex上找到,可以提供与Azure一致的编程模型(块,表＆队列).包括Silverlight控制,Virtual Earth地图,IE Webslices and Accelerators均可被调用,预计该SDK正式版将在8月发布.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://phpazure.codeplex.com/" target="_blank"&gt;http://phpazure.codeplex.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;　在TechEd印度站,微软公布了这款SDK,它是一个开源项目,源码可以在MicrosoftCodePlex上找到,可以提供与Azure一致的编 程模型(块,表＆队列).包括Silverlight控制,VirtualEarth地图,IEWebslices and Accelerators均可被调用,预计该SDK正式版将在8月发布。&lt;br /&gt;&lt;br /&gt;　　相关阅读&lt;br /&gt;&lt;br /&gt;　　 Windows Azure是微软基于云计算的操作系统，和AzureServicesPlatform一样，是微软“软件和服务”技术的名称。WindowsAzure 的主要目标是为开发者提供一个平台，帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序。云计算的开发者能使用微软全球数据中心的储存、计算 能力和网络基础服务。Azure服务平台包括了以下主要组件：WindowsAzure；MicrosoftSQL数据库服 务，Microsoft.Net服务；用于分享、储存和同步文件的Live服务；针对商业的MicrosoftSharePoint和 MicrosoftDynamics CRM服务。&lt;br /&gt;&lt;br /&gt;　　Windows Azure能运行什么？&lt;br /&gt;&lt;br /&gt;　　目前微软公布的版本属于社区技术预览版，它缺乏一些微软即将加入的元素。只有使用托管代码编写的程序，必须包括.NET，才能在这个系统上运行。要能 运行本机代码，必须等到明年发布的版本。Azure目前只能运行在微软的单一数据中心上，明年微软将把范围扩大到美国的其他数据中心，甚至海外。微软高管 BobMuglia称，实际上微软在一年内不会部署太多的程序在上面，因为还有很多东西需要去学习。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;来源：http://linux.chinaunix.net/news/2009/05/14/1111354.shtml&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-6202605871803053941?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/6202605871803053941/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=6202605871803053941' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6202605871803053941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6202605871803053941'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/05/azurephp.html' title='微软为Azure准备PHP开发包'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-5978705469109143630</id><published>2009-05-14T20:32:00.001+08:00</published><updated>2009-05-14T20:37:49.565+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='Prism'/><category scheme='http://www.blogger.com/atom/ns#' term='XUL'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Web应用本地化 Mozilla发布Prism正式版[转]</title><content type='html'>&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="F14"&gt;Mozilla“Web应用程序本地化”服务Prism终于发布了1.0正式版，周五，公司在Prism独立网站提供了Prism 1.0的下载以及升级后的API。&lt;br /&gt;&lt;br /&gt;Prism 1.0拥有任务栏图标、程序设置、自动升级等功能，和Firefox一样，你也可以清楚诸如用户名、密码、浏览历史之类的隐私数据。Prism有可能作为插件出现在下一代Firefox中，因为Chrome中已经有类似的功能了。&lt;br /&gt;&lt;br /&gt;Prism基于Firefox核心，并支持目前大多数的互联网技术。Prism并没有企图代替Web应用程序而建立一个全新的Web-桌面平台，它仅提供 了一个自适应映射服务，将Web服务映射到桌面形成一个应用程序。任何可以在浏览器中运行的Web应用服务都可以在Prism中执行。&lt;br /&gt;&lt;br /&gt;如果你需要一个类似桌面Gmail客户端的程序，你仅需要通过Prism把Gmail映射成应用程序，而实际上的运行结果是通过访问Web来实现的。 Prism通过自适应调节Gmail的窗体大小，把一个类似应用程序的桌面快捷方式放置在你的桌面上，你每次仅需点击桌面的快捷方式即可访问 Gmail了。&lt;br /&gt;&lt;br /&gt;Prism 1.0官方下载：&lt;a href="http://prism.mozilla.com/" target="_blank"&gt;http://prism.mozilla.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mozilla Lab的离线Web程序项目Prism正式发布了1.0 Beta。Prism模糊了桌面和Web的界线，允许你和普通桌面程序一样离线使用Web网站，它支持Linux、Mac OS X和Windows。beta版增加了一些新特性：&lt;br /&gt;&lt;br /&gt;新API；设置字体和设置代理服务器，和其它特定的应用程序设置；能按要求清除隐私数据；自动更新Prism；系统托盘图标支持，以及系统托盘子菜单；完整支持OS X 10.4；支持SLL例外。  &lt;br /&gt;&lt;br /&gt;注：这个关注了很久。因为特别喜欢XUL。songbird虽不成熟，但是可以使人看到成果。&lt;br /&gt;来源：&lt;a href="http://linux.chinaunix.net/news/2009/05/13/1111013.shtml"&gt;http://linux.chinaunix.net/news/2009/05/13/1111013.shtml&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-5978705469109143630?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/5978705469109143630/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=5978705469109143630' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/5978705469109143630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/5978705469109143630'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/05/web-mozillaprism.html' title='Web应用本地化 Mozilla发布Prism正式版[转]'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-3371875966504083290</id><published>2009-05-10T18:46:00.000+08:00</published><updated>2009-05-10T18:47:23.656+08:00</updated><title type='text'>:(</title><content type='html'>即便我的思想跳脱如来自火星，我也不能原谅自己。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-3371875966504083290?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/3371875966504083290/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=3371875966504083290' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/3371875966504083290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/3371875966504083290'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/05/blog-post.html' title=':('/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-437178311817590457</id><published>2009-04-28T12:40:00.002+08:00</published><updated>2009-04-28T12:43:46.678+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='Cookie'/><title type='text'>Firefox使用Google Analytics后页面出现层遮挡问题的解决办法</title><content type='html'>清除你的登录Cookie。这个问题是由于你用自己的管理用户查看了访问google analytics的问题。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;经过测试：IE,Chrome,Opera不会产生此问题。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(84, 131, 17); font-size: 30px; "&gt;参见：&lt;a href="http://www.ramymostafa.com/?p=92"&gt;Solving ga_shade problem from Google Analytics&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(84, 131, 17); font-size: 30px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-437178311817590457?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/437178311817590457/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=437178311817590457' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/437178311817590457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/437178311817590457'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/firefoxgoogle-analytics.html' title='Firefox使用Google Analytics后页面出现层遮挡问题的解决办法'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-7348832459696261427</id><published>2009-04-27T10:47:00.000+08:00</published><updated>2009-04-27T10:48:01.230+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Moblin'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>使用Moblin进行应用程序开发——Clutter之Event[转]</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;上次的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;Demo&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;太简单了，仅仅在窗口中铺了一堆图片，用户只能看，却不能动。这次我们要给之前的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;Demo&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;增加一个功能：支持鼠标拖动。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;这次我们会接触到&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;clutter&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;的事件机制。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;Actor&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;可以接受输入的事件，比如键盘按键、鼠标移动等事件，并且可以通过回调函数对事件进行处理。由于这一套机制是通过&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;glib&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;signal&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;来实现的，因此熟悉&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;glib&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;和&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;gtk&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;编程的用户对此肯定是相当的熟悉。但是与&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;gtk&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;相比，&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;clutter&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;还是有一点不太相同的地方，就是除了&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;Stage&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;之外，所有的&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;Actor&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;默认不接受事件。如果需要让某个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style=""&gt;Actor&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;接受事件，程序员需要通过&lt;/span&gt;&lt;span style="" lang="EN"&gt;&lt;a title="clutter_actor_set_reactive ()" href="http://www.clutter-project.org/docs/clutter/0.8/ClutterActor.html#clutter-actor-set-reactive"&gt;&lt;code&gt;&lt;span style=""&gt;&lt;span style=""&gt;clutter_actor_set_reactive()&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt;函数手动的将&lt;/span&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;Actor&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;设为&lt;/span&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;reactive&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;，也就是说能够接受事件。我猜想这样的设计是为了减少事件处理时寻找事件源所花费的时间。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;下图是从&lt;/span&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;clutter&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;参考手册中截下来的，每一个有“？”标记的地方用户都可以插入有关的事件处理的代码。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;span style=""&gt;http://software.intel.com/zh-cn/blogs/2009/04/20/moblinclutterevent/?cid=sw:prccsdn652&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-7348832459696261427?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/7348832459696261427/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=7348832459696261427' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/7348832459696261427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/7348832459696261427'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/moblinclutterevent.html' title='使用Moblin进行应用程序开发——Clutter之Event[转]'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-5947874381188339353</id><published>2009-04-26T21:22:00.003+08:00</published><updated>2009-04-26T21:25:38.281+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>无题</title><content type='html'>滨城雨霁飞灰云&lt;div&gt;阶前新杨卓不群&lt;/div&gt;&lt;div&gt;丁香新发两三枝&lt;/div&gt;&lt;div&gt;一片清幽似出尘&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/_xTIo1r4tSZA/SfRf4okP_LI/AAAAAAAAB-A/Cuws1iH6ATI/s576/IMG_5042.JPG" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-5947874381188339353?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/5947874381188339353/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=5947874381188339353' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/5947874381188339353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/5947874381188339353'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_26.html' title='无题'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_xTIo1r4tSZA/SfRf4okP_LI/AAAAAAAAB-A/Cuws1iH6ATI/s72-c/IMG_5042.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-946200823462645807</id><published>2009-04-21T14:18:00.000+08:00</published><updated>2009-04-21T14:19:45.512+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='学习'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>用rsync对网站进行镜像备份(转)</title><content type='html'>用rsync对网站进行镜像备份&lt;br /&gt;&lt;br /&gt;by inburst&lt;inburst@263.net&gt;&lt;br /&gt;&lt;a href="http://xfocus.org/" target="_blank"&gt;http://xfocus.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;对系统管理员来说，平时的工作重心应该集中在维护系统正常运转，能够正常提供服务上，这里往往牵涉到一个数据备份的问题，在我所了解&lt;br /&gt;&lt;br /&gt;的情况中，有80%的系统管理员不是太关心自己服务器的安全性，但往往对备分镜像的技术相当感兴趣，但由于商业产品的软硬件价格都相当高&lt;br /&gt;&lt;br /&gt;昂，因此往往会选择自由软件。这里准备介绍的rsync就是这样的软件，它可以满足绝大多数要求不是特别高的备份需求。&lt;div&gt;http://www.xfocus.net/articles/200107/214.html&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-946200823462645807?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/946200823462645807/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=946200823462645807' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/946200823462645807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/946200823462645807'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/rsync.html' title='用rsync对网站进行镜像备份(转)'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-1026958005076870671</id><published>2009-04-21T09:30:00.000+08:00</published><updated>2009-04-21T09:31:17.578+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UTF-8'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP'/><category scheme='http://www.blogger.com/atom/ns#' term='AdoDb.Stream'/><category scheme='http://www.blogger.com/atom/ns#' term='UTF8'/><title type='text'>Adodb.Stream读取和写入UTF-8编码的文件</title><content type='html'>最近在为网站添加一个内容，涉及到在线读取和写入UTF-8编码的文件，才发现FSO对象只能读写ANSI编码的文件，无法读写UTF-8编码的文件，琢磨了半天，终于在网上找到一个很实用的函数，完整的代码如下：&lt;br /&gt;&lt;%'函数名称：ReadTextFile&lt;br /&gt;'作用：利用Adodb.Stream对象来读取UTF-8编码的文件&lt;br /&gt;'示例：ReadFromTextFile("File/FileName.htm",UTF-8)&lt;br /&gt;Function ReadFromTextFile(FileUrl,CharSet)&lt;br /&gt; dim str&lt;br /&gt; set stm=server.CreateObject("adodb.stream")&lt;br /&gt; stm.Type=2'以本模式读取&lt;br /&gt; stm.mode=3 &lt;br /&gt; stm.charset=CharSet&lt;br /&gt; stm.open&lt;br /&gt; stm.loadfromfile server.MapPath(FileUrl)&lt;br /&gt; str=stm.readtext&lt;br /&gt; stm.Close&lt;br /&gt; set stm=nothing&lt;br /&gt; ReadFromTextFile=str&lt;br /&gt;End Function&lt;br /&gt;'函数名称：WriteToTextFile&lt;br /&gt;'作用：利用Adodb.Stream对象来写入UTF-8编码的文件&lt;br /&gt;'示例：WriteToTextFile("File/FileName.htm",Content,UTF-8)&lt;br /&gt;Sub WriteToTextFile(FileUrl,byval Str,CharSet)&lt;br /&gt; set stm=server.CreateObject("adodb.stream")&lt;br /&gt; stm.Type=2'以本模式读取&lt;br /&gt; stm.mode=3&lt;br /&gt; stm.charset=CharSet&lt;br /&gt; stm.open&lt;br /&gt; stm.WriteText str&lt;br /&gt; stm.SaveToFile server.MapPath(FileUrl),2 &lt;br /&gt; stm.flush&lt;br /&gt; stm.Close&lt;br /&gt; set stm=nothing&lt;br /&gt;End Sub%&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;http://www.zzsky.cn/build/content/1233.htm&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-1026958005076870671?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/1026958005076870671/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=1026958005076870671' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/1026958005076870671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/1026958005076870671'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/adodbstreamutf-8.html' title='Adodb.Stream读取和写入UTF-8编码的文件'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-9188787500170095473</id><published>2009-04-20T12:55:00.001+08:00</published><updated>2009-04-20T12:55:14.786+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>无题</title><content type='html'>12。神说，要爱。于是，在每一个日子，无论刮风、下雨、风和、日丽，都是值得记忆和热爱的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-9188787500170095473?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/9188787500170095473/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=9188787500170095473' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/9188787500170095473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/9188787500170095473'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_20.html' title='无题'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-8325713534248081162</id><published>2009-04-20T11:39:00.001+08:00</published><updated>2009-04-20T11:39:50.606+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='路由'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><title type='text'>pf-限速限链接数[转]</title><content type='html'>&lt;p&gt;&lt;code&gt;&lt;br /&gt;工作站不多倒好说，太多的话pf.conf里要写很多行！占CPU很高的&lt;br /&gt;我现用定每台工作站的IP并发数和用RED来控制流量 &lt;/code&gt;&lt;/p&gt; &lt;p&gt;（随机早期检测 (RED)是一种避免网络拥塞的算法，它通过确认队列没有超长来避免网络拥塞。实现方法是不停的计算队列的平均大小并与两个阈值比较，如果计算出的平均值 低于小阈值将不会丢弃任何包；如果在两个阈值之间将通过计算概率丢掉一些包；换言之，如果计算的平均值越接近大阈直则被丢弃的包越多。当丢掉一些包时， RED随机选择从哪些连接丢包，占用大带宽的连接被丢包的几率高。 &lt;/p&gt; &lt;p&gt;RED的用处非常大，因为它可以避免一种被称为全体同步的状态，也可以调整突发流量。全体同步指多个连接的数据包在同一时间被丢弃导致的吞吐量全部消失的 情况。例如，如果承载10个FTP连接流量的一台路由器出现拥塞，大部分包被丢&lt;br /&gt;弃，总的流量将迅速下降，这并不是最好的处理方法，因为所有的FTP连接都 降低了流量，换句话说，这个网络将不会再次发挥最大潜能。RED通过只在随机挑选的连接上丢包来避免上述情况。占用大带宽的连接被丢包的几率高，这样，占 用大带宽的连接将受到节制，避免了拥塞，同时总流量迅速降低的&lt;br /&gt;现象也不会出现。另外，RED可以处理突发流量，因为它在队列装满之前就开始丢弃数据包，当突发流量到来时，队列中有足够的空间保存新发来的数据包。&lt;br /&gt;） &lt;/p&gt; &lt;p&gt;我的光纤是20M&lt;br /&gt;pf.conf&lt;br /&gt;altq on $int_if cbq bandwidth 800Mb queue {allin,ok}&lt;br /&gt;queue allin bandwidth 20Mb cbq(default)&lt;br /&gt;queue ok bandwidth 19Mb cbq(red) &lt;/p&gt; &lt;p&gt;pass in quick on $int_if proto tcp from 192.168.2.0/22 to any keep state queue ok &lt;/p&gt; &lt;p&gt;pass in on $int_if inet from &lt;workip&gt; to any flags S/SA keep state (max 50000, source-track rule, max-src-nodes 30000,max-src-states 180,tcp.established 60,tcp.closing 5) &lt;/workip&gt;&lt;/p&gt; &lt;p&gt;每台工作站的IP并发数只有180，那用BT下东东快不了那去的。&lt;br /&gt;我测试发现当ok的流量满时，用pftop -s 1看到ok的DROP_P和DROP_B有数据，这说明red起作用了。 &lt;/p&gt;&lt;p&gt;http://www.dugoo.net/wordpress/?p=141&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-8325713534248081162?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/8325713534248081162/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=8325713534248081162' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/8325713534248081162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/8325713534248081162'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/pf.html' title='pf-限速限链接数[转]'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-5894891980794128077</id><published>2009-04-10T09:19:00.003+08:00</published><updated>2009-04-10T09:28:38.046+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>健忘症</title><content type='html'>我们都从小的时候走过，小的时候我们不懂事，等有了自己的孩子，我们就忘了他们现在不懂事&lt;br /&gt;&lt;br /&gt;小的时候感到爸爸妈妈真啰嗦，等我们长大了，我们就忘了，我们对孩子等量输出&lt;br /&gt;&lt;br /&gt;我们上学的时候经常听高年级的同学说我们当时的习惯不好，我们不听，等我们也到了高年级，我们就忘了，我们转过头来对低年级的说&lt;br /&gt;&lt;br /&gt;我对我儿子说，儿子，你是爸爸的心肝宝贝&lt;br /&gt;他一调皮，我就忘了&lt;br /&gt;我对我儿子说，儿子，你是爸爸的最疼爱的人&lt;br /&gt;他一不理我，我就忘了&lt;br /&gt;&lt;br /&gt;心情不好的时候，忘记了自己本来就是非常幸福的人。&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/_xTIo1r4tSZA/SdC4Fdte1WI/AAAAAAAAB5s/ftQlVyOmVkQ/s512/IMG_4815.JPG" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-5894891980794128077?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/5894891980794128077/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=5894891980794128077' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/5894891980794128077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/5894891980794128077'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_10.html' title='健忘症'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_xTIo1r4tSZA/SdC4Fdte1WI/AAAAAAAAB5s/ftQlVyOmVkQ/s72-c/IMG_4815.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-777608501145238054</id><published>2009-04-09T13:49:00.000+08:00</published><updated>2009-04-09T13:49:16.028+08:00</updated><title type='text'>Google 黑板报 -- Google 中国的博客网志: 谷歌浏览器（Google Chrome）, Chromium 以及竞争</title><content type='html'>&lt;a href="http://www.googlechinablog.com/2008/09/chromium.html"&gt;Google 黑板报 -- Google 中国的博客网志: 谷歌浏览器（Google Chrome）, Chromium 以及竞争&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;此浏览器不错，准备下载源码看看Thread实现。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-777608501145238054?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.googlechinablog.com/2008/09/chromium.html' title='Google 黑板报 -- Google 中国的博客网志: 谷歌浏览器（Google Chrome）, Chromium 以及竞争'/><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/777608501145238054/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=777608501145238054' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/777608501145238054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/777608501145238054'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/google-google-google-chrome-chromium.html' title='Google 黑板报 -- Google 中国的博客网志: 谷歌浏览器（Google Chrome）, Chromium 以及竞争'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-4112357048225555366</id><published>2009-04-08T14:06:00.001+08:00</published><updated>2009-04-08T14:06:27.200+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>无题</title><content type='html'>一次伤，一次血，爱得太狂野。&lt;br /&gt;一杯茶，一束花，爱他且由他。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-4112357048225555366?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/4112357048225555366/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=4112357048225555366' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/4112357048225555366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/4112357048225555366'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_2247.html' title='无题'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-4075976445173395141</id><published>2009-04-08T11:37:00.001+08:00</published><updated>2009-04-08T11:37:38.145+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>无题</title><content type='html'>若无惆怅妆自昏，且携郎手对花阴。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-4075976445173395141?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/4075976445173395141/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=4075976445173395141' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/4075976445173395141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/4075976445173395141'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_08.html' title='无题'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-3513988379445234922</id><published>2009-04-07T14:46:00.001+08:00</published><updated>2009-04-07T14:46:51.514+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>捕捉一个对象的属性</title><content type='html'>python , __getattr__&lt;br /&gt;&lt;br /&gt;捕捉一个对象的属性&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; class F:&lt;br /&gt;...     def __getattr__(self,attr):&lt;br /&gt;...             if attr=='abc':&lt;br /&gt;...                     return "got it !"&lt;br /&gt;... &lt;br /&gt;&gt;&gt;&gt; f= F()&lt;br /&gt;&gt;&gt;&gt; f.abc&lt;br /&gt;'got it !'&lt;br /&gt;&lt;br /&gt;http://www.okpython.com/bbs/thread-696-1-1.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-3513988379445234922?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/3513988379445234922/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=3513988379445234922' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/3513988379445234922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/3513988379445234922'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_07.html' title='捕捉一个对象的属性'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-6681423767132872612</id><published>2009-04-07T13:09:00.002+08:00</published><updated>2009-04-07T13:10:50.688+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='WebService'/><title type='text'>Python XMLRPC with GBK encoding</title><content type='html'>一句话，简直是噩梦，如果实在是没有什么理由非要用GBK编码不可，我的建议，还是改用utf-8这样更国际化的标准吧。说实在的，Python下面折腾GBK编码的XMLRPC实在是没有什么意思，没有任何乐趣，只有浪费时间。&lt;br /&gt;&lt;br /&gt;　　言归正传，当你没有办法非要使用GBK编码的xmlrpc服务，体会一下恶梦，那我们就开始吧。首先明确一下革命形势:标准的Python xmlrpclib库，就是不支持GBK编码的。换而言之，指望通过给ServerProxy指定encoding参数的做法，是解决不了什么问题的。问题的关键在于，Python XML模块的底层，依赖的expat这个东东，对GBK支持是有问题的(我是想说更本就不支持，不过不能确定，就暂且定义为有问题)，所以只要是依赖这个东西的XML模块，都是不能很好的处理GBK编码下的XML数据的。解决问题的大体方向就出来了，一个是绕过expat，干脆不用这个东西，其二就是认命妥协了，把数据转换成utf-8编码再塞给expat吧。前面一个方案，可联想到的就是libxml2-python。我是采用第二种方案了，这里也有两种可参考的做法，一种是自己定义一个Parser，然后覆盖ServerProxy那个getParser，生成支持转码功能的XMLParser给xmlrpc proxy使用。另外一个办法，就是干脆跳过ServerProxy，自己做一个。考虑到我的实际使用情况，不会有太大的数据传输，没有必要做一个支持流接口的XMLParser，所以就干脆自己重新做了一个代替ServerProxy的东西。下面是简单的代码示例。&lt;br /&gt;&lt;br /&gt;　　PYTHON:&lt;br /&gt;&lt;br /&gt;　　importxmlrpclib&lt;br /&gt;&lt;br /&gt;　　importhttplib&lt;br /&gt;&lt;br /&gt;　　&lt;br /&gt;&lt;br /&gt;　　defXMLRPCCall0(URI, methodname, param):&lt;br /&gt;&lt;br /&gt;　　body = xmlrpclib.dumps(&lt;br /&gt;&lt;br /&gt;　　param, methodname, False, 'GBK')&lt;br /&gt;&lt;br /&gt;　　&lt;br /&gt;&lt;br /&gt;　　(protocl, host, path,&lt;br /&gt;&lt;br /&gt;　　query, fragment)= httplib.urlsplit(URI)&lt;br /&gt;&lt;br /&gt;　　h = httplib.HTTPConnection(host)&lt;br /&gt;&lt;br /&gt;　　headers = {&lt;br /&gt;&lt;br /&gt;　　'Content-Type': 'text/xml'&lt;br /&gt;&lt;br /&gt;　　}&lt;br /&gt;&lt;br /&gt;　　h.request('POST', URI, body, headers)&lt;br /&gt;&lt;br /&gt;　　res = h.getresponse()&lt;br /&gt;&lt;br /&gt;　　resbody = res.read()&lt;br /&gt;&lt;br /&gt;　　h.close()&lt;br /&gt;&lt;br /&gt;　　resbody = resbody.replace(' encoding="GBK"', '')&lt;br /&gt;&lt;br /&gt;　　returnxmlrpclib.loads(&lt;br /&gt;&lt;br /&gt;　　resbody.decode('GBK').encode('utf-8'))[0][0]&lt;br /&gt;&lt;br /&gt;http://www.cnscn.org/htm_data/369/0810/17233.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-6681423767132872612?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/6681423767132872612/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=6681423767132872612' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6681423767132872612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6681423767132872612'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/python-xmlrpc-with-gbk-encoding.html' title='Python XMLRPC with GBK encoding'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-21307212901088564</id><published>2009-04-07T13:09:00.001+08:00</published><updated>2009-04-07T13:09:49.928+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='WebService'/><title type='text'>xmlrpc for python</title><content type='html'>使用python处理xmlrpc太简单了，又一次感受到了python的力量！&lt;br /&gt;下面以使用python调用wordpress提供的xmlrpc方法为例简单介绍一下：&lt;br /&gt;&lt;br /&gt;1） how to call xmlrpc method in python&lt;br /&gt;&gt;&gt;&gt; import xmlrpclib&lt;br /&gt;&gt;&gt;&gt; from pprint import pprint&lt;br /&gt;&gt;&gt;&gt; server = xmlrpclib.ServerProxy("http://localhost/wordpress/xmlrpc.php")&lt;br /&gt;&gt;&gt;&gt; pprint(server.system.listMethods() )&lt;br /&gt;&lt;br /&gt;['system.multicall',&lt;br /&gt; 'system.listMethods',&lt;br /&gt; 'system.getCapabilities',&lt;br /&gt; 'demo.addTwoNumbers',&lt;br /&gt; 'demo.sayHello',&lt;br /&gt; 'pingback.extensions.getPingbacks',&lt;br /&gt; 'pingback.ping',&lt;br /&gt; 'mt.publishPost'......]&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; blogs = server.metaWeblog.getRecentPosts('','admin','passwd',5)&lt;br /&gt;&gt;&gt;&gt; pprint(blogs)&lt;br /&gt;&gt;&gt;&gt; print(blogs[2]['permaLink'])&lt;br /&gt;&lt;br /&gt;http://localhost/wordpress/?p=135&lt;br /&gt;&lt;br /&gt;2）how to setup a xmlrpc server in python&lt;br /&gt;&lt;br /&gt;import calendar, SimpleXMLRPCServer&lt;br /&gt;#The server object&lt;br /&gt;class Calendar:&lt;br /&gt;    def getMonth(self, year, month):&lt;br /&gt;        return calendar.month(year, month)&lt;br /&gt;&lt;br /&gt;    def getYear(self, year):&lt;br /&gt;        return calendar.calendar(year)&lt;br /&gt;calendar_object = Calendar()&lt;br /&gt;server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8888))&lt;br /&gt;server.register_instance(calendar_object)&lt;br /&gt;#Go into the main listener loop&lt;br /&gt;print "Listening on port 8888"&lt;br /&gt;server.serve_forever()&lt;br /&gt;&lt;br /&gt;3）write a client to test server above&lt;br /&gt;import xmlrpclib&lt;br /&gt;server = xmlrpclib.ServerProxy("http://localhost:8888")&lt;br /&gt;month = server.getMonth( 2002, 8 )&lt;br /&gt;print month&lt;br /&gt;&lt;br /&gt;     August 2002&lt;br /&gt;Mo Tu We Th Fr Sa Su&lt;br /&gt;                 1    2    3   4&lt;br /&gt; 5   6   7   8    9   10 11&lt;br /&gt;12 13 14 15 16 17 18&lt;br /&gt;19 20 21 22 23 24 25&lt;br /&gt;26 27 28 29 30 31&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;pprint means pretty print. A cool tool too.&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;1 http://docs.python.org/lib/module-xmlrpclib.html&lt;br /&gt;2 http://www-128.ibm.com/developerworks/library/ws-pyth10.html&lt;br /&gt;3 http://groovy.codehaus.org/XMLRPC&lt;br /&gt;&lt;br /&gt;http://zeaster.blogspot.com/2007/01/xmlrpc-for-python.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-21307212901088564?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/21307212901088564/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=21307212901088564' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/21307212901088564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/21307212901088564'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/xmlrpc-for-python.html' title='xmlrpc for python'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-678498083514118959</id><published>2009-04-03T14:06:00.001+08:00</published><updated>2009-04-03T14:06:45.328+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenVPN'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><title type='text'>windows下利用OpenVPN搭建VPN服务器</title><content type='html'>一、OpenVPN是一款功能强大，可跨平台(支持Win 2000/XP/2003, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, 和 OpenBSD)使用的SSL VPN服务器软件（具体说明见官方主页官方主页）。&lt;br /&gt;&lt;br /&gt;openvpn-2.1_beta16命令行版，下载地址 http://openvpn.net/download_action.php?openvpn-2.1_beta16-install.exe&lt;br /&gt;也可以下图形版。&lt;br /&gt;&lt;br /&gt;二、安装与配置&lt;br /&gt;&lt;br /&gt;第一步：安装openvpn &lt;br /&gt;这一部分是服务端跟客户端都要做的工作，操作完全相同&lt;br /&gt;双击 openvpn-2.1_beta16-install.exe进行安装，点击NEXT，I Agree，NEXT之后开始选择安装路径，我手动修改为C:\Program Files\OpenVPN 。点击 Install 开始安装，安装过程中，弹出硬件安装窗口，点击仍然继续，安装虚拟网卡。点击 next,Finish 完成安装。 &lt;br /&gt;&lt;br /&gt;http://www.05112.org/Article/200801/17012.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-678498083514118959?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/678498083514118959/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=678498083514118959' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/678498083514118959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/678498083514118959'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/windowsopenvpnvpn.html' title='windows下利用OpenVPN搭建VPN服务器'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-4879919652190831417</id><published>2009-04-03T14:03:00.000+08:00</published><updated>2009-04-03T14:04:04.306+08:00</updated><title type='text'>群主啊，你在哪里~~~</title><content type='html'>群主啊，我们的群主，&lt;br /&gt;你在哪里呵，你在哪里？&lt;br /&gt;你可知道，我们想念你，&lt;br /&gt;———你的群员们想念你！&lt;br /&gt;&lt;br /&gt;我们对着酒店喊：&lt;br /&gt;群主啊&lt;br /&gt;酒店老板回答：&lt;br /&gt;“他刚离去，他刚离去，&lt;br /&gt;革命的小酒天天醉，&lt;br /&gt;他大口大口不停息。”&lt;br /&gt;&lt;br /&gt;我们对着浴场喊：&lt;br /&gt;群主啊&lt;br /&gt;浴场老板回到：&lt;br /&gt;“他刚离去，他刚离去，&lt;br /&gt;你不见那脏兮兮的池水里，&lt;br /&gt;还闪着他……的汗滴……”&lt;br /&gt;&lt;br /&gt;我们对着歌厅喊：&lt;br /&gt;群主啊&lt;br /&gt;歌厅老板回答道：&lt;br /&gt;“他刚离去，他刚离去，&lt;br /&gt;歌厅里面乐声阵阵，&lt;br /&gt;陪歌小姐正沉浸在他优美的歌声里。”&lt;br /&gt;&lt;br /&gt;我们对着足疗房喊：&lt;br /&gt;群主啊&lt;br /&gt;足疗房老板回到：&lt;br /&gt;“他刚离去，他刚离去，&lt;br /&gt;你不见这盆臭哄哄的洗脚水，&lt;br /&gt;我们还没来得及倒下去，&lt;br /&gt;&lt;br /&gt;呵，群主啊！&lt;br /&gt;你在充满享受的每一个地方，&lt;br /&gt;在柳花巷的路上&lt;br /&gt;都见到你你深深的足迹 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;我们对着厕所喊：群主啊！你在哪里？！&lt;br /&gt;厕所传来回声：快来拉我一把！——我掉里面了  &lt;br /&gt;&lt;br /&gt;QQ群里看到的，写得不错。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-4879919652190831417?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/4879919652190831417/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=4879919652190831417' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/4879919652190831417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/4879919652190831417'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post_03.html' title='群主啊，你在哪里~~~'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-6307317473998775377</id><published>2009-04-02T22:23:00.003+08:00</published><updated>2009-04-02T22:36:42.615+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>命令行发送邮件clmail</title><content type='html'>有同学想在命令行下发邮件，鉴于《雅奇MIS》大师版目前未开放email功能，写了这个命令行工具，目前就是可以用而已。&lt;br /&gt;&lt;br /&gt;当然要使用需要2步:&lt;br /&gt;&lt;br /&gt;安装python 2.5&lt;br /&gt;复制clmail.py到系统path变量指向的目录，或者复制到某目录，将其添到path中。&lt;br /&gt;&lt;br /&gt;执行clmail.py ...就可以了。&lt;br /&gt;&lt;br /&gt;详细内容见：&lt;br /&gt;&lt;br /&gt;http://www.oulan.com/clmail/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-6307317473998775377?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/6307317473998775377/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=6307317473998775377' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6307317473998775377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6307317473998775377'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/clmail.html' title='命令行发送邮件clmail'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-6005013427304820036</id><published>2009-04-02T13:29:00.000+08:00</published><updated>2009-04-02T13:30:32.988+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><category scheme='http://www.blogger.com/atom/ns#' term='笑话'/><title type='text'>笑话</title><content type='html'>清明节，老师出题 "如果你死后，墓志铭打算写点啥？"以下是一些回复：&lt;br /&gt;1.一居室，求合租，面议。&lt;br /&gt;2.小事招魂，大事挖坟。&lt;br /&gt;3.我觉得我还可以抢救一下！&lt;br /&gt;4.广告位招租&lt;br /&gt;5.提供鞭尸服务，一次100！&lt;br /&gt;6.基因重组中，请稍候二十年&lt;br /&gt;7.单挑冥王哈迪斯中，征求组队!&lt;br /&gt;8.牧师，帮我复活一下下，谢谢，坐标××.××。&lt;br /&gt;9.当你看清这行字的时候：朋友，你踩到我了。&lt;br /&gt;10.老子终于不用怕鬼了！&lt;br /&gt;11.给爷笑一个，要不爷给你笑一个？&lt;br /&gt;12.神农氏的墓志铭：我靠！这草有毒！&lt;br /&gt;13.摸骨算命&lt;br /&gt;14.陪聊，提供夜间上门服务。&lt;br /&gt;15.还看，你丫也会有这一天的&lt;br /&gt;16.我從前是個胖子，現在和所有躺著的人一樣有骨感。&lt;br /&gt;17.終於可以失掉身體80的水分，可以變瘦了！&lt;br /&gt;18.强力推荐这个给我挖坑的，电话：xxxxxxxxx&lt;br /&gt;19.曾经很黄很暴力，现在很黑很安静&lt;br /&gt;20.谢谢来访，改日登门回拜.&lt;br /&gt;21.来客请便，无人倒茶，站累躺下一起聊聊?&lt;br /&gt;22。终于解决住房问题了&lt;br /&gt;&lt;br /&gt;http://www.qiushibaike.com/groups/2/latest/page/2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-6005013427304820036?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/6005013427304820036/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=6005013427304820036' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6005013427304820036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/6005013427304820036'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/blog-post.html' title='笑话'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7509904.post-3826460706646208093</id><published>2009-04-01T11:28:00.000+08:00</published><updated>2009-04-01T11:29:25.242+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MongoDB'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='SaaS'/><title type='text'>开源和SaaS产品着手重构数据库</title><content type='html'>目前，低租金的键/值存储仓库世界正在快速扩张。以下便是其中的一些更突出的新项目清单。 &lt;br /&gt;&lt;br /&gt;　　Thrift &lt;br /&gt;&lt;br /&gt;        这是一种由Facebook.com开发并捐赠给Apache软件项目的工具，实际上它并不是数据库。事实上，它更像是一种将描述数据结构的文件转换为你选择的语言代码的预编译器。这类代码可能需要一些额外的库（Java提供一些将这些数据序列化为输出流的方法），但它加入您自己的代码。该项目包括用于许多主要语言（例如C、Perl、Java、PHP和Python）的程式化程序，旨在接受熟悉某种语言的编程员使用的不同的方言。程序员赋予它纲要（schema），它负责完成其他的工作。 &lt;br /&gt;&lt;br /&gt;　　ThruDB &lt;br /&gt;&lt;br /&gt;        它是将Lucene文本索引库与Thrift和许多用于在云中保存数据的工具连接在一起的连接层。更复杂的选择之一是将在硬盘上本地保存数据来实现快速存储，同时将交易集合复本发送给Amazon S3（简单存储服务）。目前该产品还未正式发布，因此你必须从Subversion库中下载代码。 &lt;br /&gt;&lt;br /&gt;　　MongoDB &lt;br /&gt;&lt;br /&gt;        它为不同节点上的存储接受JSON（JavaScript对象符号）键/值对，然后构建完全文本的值索引，从而使深入搜索数据内部结构成为可能。发起MongoDB开源项目的公司10gen还计划发布一个应用服务器。这种名为Babble的应用服务器运行在MongoDB上。而名为Auto-sharding的产品，即跨许多分散服务器的无共享分区，据说将在2009年下半年面世。 &lt;br /&gt;&lt;br /&gt;　　Hibernate Shards和HiveDB &lt;br /&gt;&lt;br /&gt;        现在有一些设计用于向传统数据库添加水平分区的工具，Hibernate Shards和HiveDB便是其中的代表。它们可以配合将查询发送给数据库群集中合适的服务器，它们通过Hibernate接口连接任意的数据库。 &lt;br /&gt;&lt;br /&gt;http://www.lupaworld.com/viewnews-122674.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7509904-3826460706646208093?l=www.oulan.com%2Fcom' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/3826460706646208093/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7509904&amp;postID=3826460706646208093' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/3826460706646208093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7509904/posts/default/3826460706646208093'/><link rel='alternate' type='text/html' href='http://www.oulan.com/com/2009/04/saas.html' title='开源和SaaS产品着手重构数据库'/><author><name>欧兰辉</name><uri>http://www.blogger.com/profile/11754634575148302888</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11204117196651778808'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>