<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>albertlee</title>
    <description>&lt;script type=&quot;text/javascript&quot; src=&quot;http://www.douban.com/service/badge/albertlee/?show=wishlist&amp;cat=book&amp;n=8&amp;columns=2&quot; &gt;&lt;/script&gt;</description>
    <link>http://albertlee.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>用haskell 十分钟写一个wiki程序</title>
        <author>albertlee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://albertlee.javaeye.com">albertlee</a>&nbsp;
          链接：<a href="http://albertlee.javaeye.com/blog/196833" style="color:red;">http://albertlee.javaeye.com/blog/196833</a>&nbsp;
          发表时间: 2008年05月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          好吧，我承认，标题是唬人的。用十分钟实现的这个小wiki还不具备全文搜索，智能推荐，启发式屏蔽关键词等等能力。<br /><br />这几天用晚上的时间研究了下haskell的web应用，见前两天的 haskell + fastcgi 篇。所应用的就是基本的 fastcgi, dbm以及 XHtml 这几个模块。 从无到有自己实现 session以及url映射等基础组件，总共的功能代码不到100行吧。有了这个基本架子之后，在上面添加一个 wiki 功能，真的只用了十多(n)分钟。（Turbogears那个视频也很唬滥，他可是在一大堆现有的模块之上搞的，我好歹是从cgi搞起）<br /><br />通过几天的实践，几点感受：<br />1. haskell 是门简单的语言，但很多入门读物都是具有医生头衔的人写的，上来就是monad,范畴论,组合子，要么就是写个解释器之类的，真的会吓到我这样的小白<br />2. haskell的类型确实是个好东西，类型检查可以在编译期间排除掉大部分的错误，所以基本上，只要程序能通过编译，不大需要调试的，因为类型检查强迫你按正确的用法使用各个模块<br />3. dbm 是sql hater的救星<br /><br />代码片段1: （url 分发部分） 如果url 不在map里，就去wiki的 dbm 里面找，找不到的话，给一个创建页面，找到了的话，就现实这个页面。<br /><br /><pre name="code" class="python">
  target &lt;- liftIO $ HT.lookup mapping uriPath
  case target of
    Nothing -> do
      -- missing page, find wiki
      let wiki = dbmWiki env
      wikiContent &lt;- liftIO $ findWiki wiki uriPath 
      case wikiContent of
        Nothing -> do
                output $ showHtml $ pageNotFound uriPath
        Just content -> do
                output $ showHtml $ readWikiPage uriPath content
</pre><br />而 Wiki 模块中的几个函数，简单到不忍心拿出来的地步：<br /><br />从dbm 中找一个页面是否存在： （简直就是换了个函数名而已）<br /><pre name="code" class="python">
findWiki dbm path = lookupA dbm path
</pre><br />把一个新页写入 dbm 中：<br /><pre name="code" class="python">
writeWikiPage dbm path content = do
  insertA dbm path content
  flushA dbm
</pre><br />显示wiki页面：<br /><pre name="code" class="python">
readWikiPage path cont = header &lt;&lt; [
                             thetitle &lt;&lt; path,
                             meta ! [httpequiv "Content-Type", content "text/html", strAttr "charset" "UTF-8"]
                            ] +++
                            body &lt;&lt; pre &lt;&lt; cont
</pre><br />创建页面：<br /><pre name="code" class="python">
pageNotFound uri = page "Page Not found" b
    where
      b = body &lt;&lt; [
           h1 &lt;&lt; "Page Not found",
           form ! [method "POST", action "/createPage"] &lt;&lt; 
                    [
                     h2 &lt;&lt; "Page Content:",
                     textarea ! [name "content", cols "100", rows "25"] &lt;&lt; "",
                     br,
                     hidden "path" uri,
                     submit "" "Submit"
                    ]
          ]
</pre><br />保存页面：<br /><pre name="code" class="python">
createPage env sid = do
  let dbm =  dbmWiki env
  method  &lt;- requestMethod
  path'   &lt;- getInput "path"
  content'&lt;- getInput "content"
  case maybe2 path' content' of
    Nothing -> do
      return (h1 &lt;&lt; "miss field", "/")
    Just (path, content) -> do
                       liftIO $ writeWikiPage dbm path content
                       return (h1 &lt;&lt; "write ok", path)
</pre><br />简陋的功能有了，现在可以访问一个不存在的url 然后显示一个创建页面，保存就ok了。 下面需要一个Index页，把所有已有的页面列出来：<br />下面这个函数生成一个 Html 类型的结果，内容为一个 div<br /><pre name="code" class="python">
wikiIndex env sid = do    
  paths &lt;- keysA dbm             -- 把 dbm 的所有key 取出
  --  div 由一个 h1 和一系列链接组成
  return $ thediv &lt;&lt; (h1 &lt;&lt; "Wiki Index" +++ [ li &lt;&lt; anchor ! [href p] &lt;&lt; p | p &lt;- paths])
    where
      dbm = dbmWiki env         -- 获得 wiki的dbm handle
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://albertlee.javaeye.com/blog/196833#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 26 May 2008 01:10:48 +0800</pubDate>
        <link>http://albertlee.javaeye.com/blog/196833</link>
        <guid>http://albertlee.javaeye.com/blog/196833</guid>
      </item>
      <item>
        <title>和法国Pythoner 朋友的聚会</title>
        <author>albertlee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://albertlee.javaeye.com">albertlee</a>&nbsp;
          链接：<a href="http://albertlee.javaeye.com/blog/35547" style="color:red;">http://albertlee.javaeye.com/blog/35547</a>&nbsp;
          发表时间: 2006年11月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;&nbsp;&nbsp; 今天晚上，来自法国<span style="font-size: larger;"><strong>emencia</strong>公司的朋友和北京python社区的朋友们进行了交流。北京这边limodou, ChengZhang, AlexDong , 等人参与。大家先是一起晚餐，然后在上岛继续讨论交流。<br />
&nbsp;&nbsp;&nbsp; 名叫Roger的法国朋友非常有幽默感，而且对中国的 Firewall 很是了解<img src="/javascripts/fckeditor/editor/images/smiley/msn/embaressed_smile.gif" alt="" />。他模仿emacs使用者的时候，手脚并用的按short-cuts &hellip;&hellip;<br />
&nbsp;&nbsp;&nbsp; <br />
</span>
          <br/>
          <span style="color:red;">
            <a href="http://albertlee.javaeye.com/blog/35547#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 23 Nov 2006 00:43:15 +0800</pubDate>
        <link>http://albertlee.javaeye.com/blog/35547</link>
        <guid>http://albertlee.javaeye.com/blog/35547</guid>
      </item>
      <item>
        <title>使用erlang 开发 web的选择</title>
        <author>albertlee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://albertlee.javaeye.com">albertlee</a>&nbsp;
          链接：<a href="http://albertlee.javaeye.com/blog/35446" style="color:red;">http://albertlee.javaeye.com/blog/35446</a>&nbsp;
          发表时间: 2006年11月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
              最近看 <a href="http://www.sics.se/~joe/">Joe 的blog</a>，并且研读他的那个  wiki 的例子程序。Joe就是那篇著名的  <a href="http://www.sics.se/~joe/apachevsyaws.html">Yaws vs Apache</a>的作者。不过， yaws 我始终还没有搞太明白，毕竟多了一层template，erlang程序本身还没搞熟呢。<br />
    在那个wiki里面， Joe用了pico 这个 erlang web server，想来和 RoR 中的 webrick 角色类似。这个 pico 就是一个小的web服务器，erlang程序启动它之后，通过 event_handler 的方式处理 url dispatch，这里用了 pattern match 的方式，url 对应 erlang函数，处理起来倒也自然。<br />
    现在还没有看到关于 pico 的性能测试方面的数据。<br />
<br />
    其他通过Erlang开发web的方式还有： CGI,  yaws, <a href="http://erlyweb.org/">erlyweb</a> ，另外还可以作为 PHP等脚本的后台，通过socket进行通讯。现在 erlang的大型站点还真没有听说过，估计比 django的还要稀缺。<br />
    考虑到 erlang 在并发性能上的优势，比较适合做大型的论坛社区。
          <br/>
          <span style="color:red;">
            <a href="http://albertlee.javaeye.com/blog/35446#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 22 Nov 2006 11:36:59 +0800</pubDate>
        <link>http://albertlee.javaeye.com/blog/35446</link>
        <guid>http://albertlee.javaeye.com/blog/35446</guid>
      </item>
      <item>
        <title>说说大型高并发高负载网站的系统架构（转）</title>
        <author>albertlee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://albertlee.javaeye.com">albertlee</a>&nbsp;
          链接：<a href="http://albertlee.javaeye.com/blog/34072" style="color:red;">http://albertlee.javaeye.com/blog/34072</a>&nbsp;
          发表时间: 2006年11月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我在Cernet做过拨号接入平台的搭建，而后在Yahoo3721负载搜索引擎前端平台开发，又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作，同时自己接触和开发过不少大中型网站的模块，因此在大型网站应对高负载和并发的解决方案上有一些积累和经验，可以和大家一起探讨一下。<br /><br /><br />一个小型的网站，比如个人网站，可以使用最简单的html静态页面就实现了，配合一些图片达到美化效果，所有的页面均存放在一个目录下，这样的网站对系统架构、性能的要求都很简单，随着互联网业务的不断丰富，网站相关的技术经过这些年的发展，已经细分到很细的方方面面，尤其对于大型网站来说，所采用的技术更是涉及面非常广，从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求，已经不是原来简单的html静态网站所能比拟的。<br /><br />大型网站，比如门户网站。在面对大量用户访问、高并发请求方面，基本的解决方案集中在这样几个环节：使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面，还没法根本解决大型网站面临的高负载和高并发问题。<br /><br />上面提供的几个解决思路在一定程度上也意味着更大的投入，并且这样的解决思路具备瓶颈，没有很好的扩展性，下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。<br /><br />1、HTML静态化<br />其实大家都知道，效率最高、消耗最小的就是纯静态化的html页面，所以我们尽可能使我们的网站上的页面采用静态页面来实现，这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站，我们无法全部手动去挨个实现，于是出现了我们常见的信息发布系统CMS，像我们常访问的各个门户站点的新闻频道，甚至他们的其他频道，都是通过信息发布系统来管理和实现的，信息发布系统可以实现最简单的信息录入自动生成静态页面，还能具备频道管理、权限管理、自动抓取等功能，对于一个大型网站来说，拥有一套高效、可管理的CMS是必不可少的。<br /><br />除了门户和信息发布类型的网站，对于交互性要求很高的社区类型网站来说，尽可能的静态化也是提高性能的必要手段，将社区内的帖子、文章进行实时的静态化，有更新的时候再重新静态化也是大量使用的策略，像Mop的大杂烩就是使用了这样的策略，网易社区等也是如此。<br /><br />同时，html静态化也是某些缓存策略使用的手段，对于系统中频繁使用数据库查询但是内容更新很小的应用，可以考虑使用html静态化来实现，比如论坛中论坛的公用设置信息，这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中，这些信息其实大量被前台程序调用，但是更新频率很小，可以考虑将这部分内容进行后台更新的时候进行静态化，这样避免了大量的数据库访问请求。<br /><br />2、图片服务器分离<br />大家知道，对于Web服务器来说，不管是Apache、IIS还是其他容器，图片是最消耗资源的，于是我们有必要将图片与页面进行分离，这是基本上大型网站都会采用的策略，他们都有独立的图片服务器，甚至很多台图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力，并且可以保证系统不会因为图片问题而崩溃，在应用服务器和图片服务器上，可以进行不同的配置优化，比如apache在配置ContentType的时候可以尽量少支持，尽可能少的LoadModule，保证更高的系统消耗和执行效率。<br /><br />3、数据库集群和库表散列<br />大型网站都有复杂的应用，这些应用必须使用数据库，那么在面对大量访问的时候，数据库的瓶颈很快就能显现出来，这时一台数据库将很快无法满足应用，于是我们需要使用数据库集群或者库表散列。<br /><br />在数据库集群方面，很多数据库都有自己的解决方案，Oracle、Sybase等都有很好的方案，常用的MySQL提供的Master/Slave也是类似的方案，您使用了什么样的DB，就参考相应的解决方案来实施即可。<br /><br />上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制，于是我们需要从应用程序的角度来考虑改善系统架构，库表散列是常用并且最有效的解决方案。我们在应用程序中安装业务和应用或者功能模块将数据库进行分离，不同的模块对应不同的数据库或者表，再按照一定的策略对某个页面或者功能进行更小的数据库散列，比如用户表，按照用户ID进行表散列，这样就能够低成本的提升系统的性能并且有很好的扩展性。sohu的论坛就是采用了这样的架构，将论坛的用户、设置、帖子等信息进行数据库分离，然后对帖子、用户按照板块和ID进行散列数据库和表，最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。<br /><br />4、缓存<br />缓存一词搞技术的都接触过，很多地方用到缓存。网站架构和网站开发中的缓存也是非常重要。这里先讲述最基本的两种缓存。高级和分布式的缓存在后面讲述。<br />架构方面的缓存，对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块，也可以使用外加的Squid模块进行缓存，这两种方式均可以有效的提高Apache的访问响应能力。<br />网站程序开发方面的缓存，Linux上提供的Memory Cache是常用的缓存接口，可以在web开发中使用，比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享，一些大型社区使用了这样的架构。另外，在使用web语言开发的时候，各种语言基本都有自己的缓存模块和方法，PHP有Pear的Cache模块，Java就更多了，.net不是很熟悉，相信也肯定有。<br /><br />5、镜像<br />镜像是大型网站常采用的提高性能和数据安全性的方式，镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异，比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点，数据进行定时更新或者实时更新。在镜像的细节技术方面，这里不阐述太深，有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路，比如Linux上的rsync等工具。<br /><br />6、负载均衡<br />负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法。<br />负载均衡技术发展了多年，有很多专业的服务提供商和产品可以选择，我个人接触过一些解决方法，其中有两个架构可以给大家做参考。<br />硬件四层交换<br />第四层交换使用第三层和第四层信息包的报头信息，根据应用区间识别业务流，将整个区间段的业务流分配到合适的应用服务器进行处理。　第四层交换功能就象是虚 IP，指向物理服务器。它传输的业务服从的协议多种多样，有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上，需要复杂的载量平衡算法。在IP世界，业务类型由终端TCP或UDP端口地址来决定，在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。<br />在硬件四层交换产品领域，有一些知名的产品可以选择，比如Alteon、F5等，这些产品很昂贵，但是物有所值，能够提供非常优秀的性能和很灵活的管理能力。Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了。<br /><br />软件四层交换<br />大家知道了硬件四层交换机的原理后，基于OSI模型来实现的软件四层交换也就应运而生，这样的解决方案实现的原理一致，不过性能稍差。但是满足一定量的压力还是游刃有余的，有人说软件实现方式其实更灵活，处理能力完全看你配置的熟悉能力。<br />软件四层交换我们可以使用Linux上常用的LVS来解决，LVS就是Linux Virtual Server，他提供了基于心跳线heartbeat的实时灾难应对解决方案，提高系统的鲁棒性，同时可供了灵活的虚拟VIP配置和管理功能，可以同时满足多种应用需求，这对于分布式的系统来说必不可少。<br /><br />一个典型的使用负载均衡的策略就是，在软件或者硬件四层交换的基础上搭建squid集群，这种思路在很多大型网站包括搜索引擎上被采用，这样的架构低成本、高性能还有很强的扩张性，随时往架构里面增减节点都非常容易。这样的架构我准备空了专门详细整理一下和大家探讨。<br /><br />对于大型网站来说，前面提到的每个方法可能都会被同时使用到，我这里介绍得比较浅显，具体实现过程中很多细节还需要大家慢慢熟悉和体会，有时一个很小的squid参数或者apache参数设置，对于系统性能的影响就会很大，希望大家一起讨论，达到抛砖引玉之效。
          <br/>
          <span style="color:red;">
            <a href="http://albertlee.javaeye.com/blog/34072#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 13 Nov 2006 17:17:55 +0800</pubDate>
        <link>http://albertlee.javaeye.com/blog/34072</link>
        <guid>http://albertlee.javaeye.com/blog/34072</guid>
      </item>
      <item>
        <title>豆瓣我上，发现Javaeye一个rss错误，已经得到javaeye官方相应修复</title>
        <author>albertlee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://albertlee.javaeye.com">albertlee</a>&nbsp;
          链接：<a href="http://albertlee.javaeye.com/blog/33425" style="color:red;">http://albertlee.javaeye.com/blog/33425</a>&nbsp;
          发表时间: 2006年11月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          刚刚搬家，在豆瓣我上里发布了地址，发现和透明， 钱罐猪的blog地址都混淆了。检查之后，发现，javaeye的rss link连接都指向 www.javaeye.com<br /><br />经过与 javaeye的 ouspec 联系，修复了此问题。
          <br/>
          <span style="color:red;">
            <a href="http://albertlee.javaeye.com/blog/33425#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 09 Nov 2006 18:47:11 +0800</pubDate>
        <link>http://albertlee.javaeye.com/blog/33425</link>
        <guid>http://albertlee.javaeye.com/blog/33425</guid>
      </item>
      <item>
        <title>豆瓣“我上”上线了，准备搬家我的blog</title>
        <author>albertlee</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://albertlee.javaeye.com">albertlee</a>&nbsp;
          链接：<a href="http://albertlee.javaeye.com/blog/33415" style="color:red;">http://albertlee.javaeye.com/blog/33415</a>&nbsp;
          发表时间: 2006年11月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我在Chinaunix写了快一年了，今天豆瓣的我上上线，chinaunix的blog居然没有rss！还是我没找到？反正豆瓣是找不到。<br />干脆搬家到这边。<img src="/images/smiles/icon_twisted.gif"/>
          <br/>
          <span style="color:red;">
            <a href="http://albertlee.javaeye.com/blog/33415#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 09 Nov 2006 17:45:09 +0800</pubDate>
        <link>http://albertlee.javaeye.com/blog/33415</link>
        <guid>http://albertlee.javaeye.com/blog/33415</guid>
      </item>
  </channel>
</rss>