<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>shaquan6776</title>
    <description>  快乐健康的工作...</description>
    <link>http://shaquan6776.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>Binding趣用</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/210464" style="color:red;">http://shaquan6776.javaeye.com/blog/210464</a>&nbsp;
          发表时间: 2008年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨天看到一段代码，感觉挺有趣，贴出来分享给大家。<br /> <pre name="code" class="ruby">class BindingDemo
  def initialize
    @ivar = "wombat in instance variable"
  end
  def get_binding(param)
    lvar = "cat in local variable"
    binding
  end
end

b = BindingDemo.new

the_binding = b.get_binding("dog in paramater") { "elk in block" }

puts(eval("@ivar", the_binding))
puts(eval("lvar", the_binding))
puts(eval("param", the_binding))
puts(eval("yield", the_binding))

eval("lvar = 'new value'", the_binding)
puts(eval("lvar", the_binding))</pre>
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/210464#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>Wed, 02 Jul 2008 11:41:58 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/210464</link>
        <guid>http://shaquan6776.javaeye.com/blog/210464</guid>
      </item>
      <item>
        <title>正则和eval的趣用</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/205092" style="color:red;">http://shaquan6776.javaeye.com/blog/205092</a>&nbsp;
          发表时间: 2008年06月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有个小需求，如下字符串：<br />   <pre name="code" class="java">str = 'id=138313, store_id=40, sku=, url=http://www.shopping.hp.com/webapp/shopping/computer_can_series.do?storeName=computer_store&category=notebooks&a1=Usage&v1=Entertainment&series_name=dv6700tse_series, price=899.99, has_unidentified_coupon=1, title=HP Pavilion dv6700t Special Edition 15.4" Laptop: Core 2 Duo 2.4GHz,'</pre><br />  现需要提取出store_id,sku,url...等值。最简单直接的办法就是用String的split来实现，然后按照下标取出每个值。但是遇到一个问题，<br />字符串str的序列是随机的，也就是说id不一定是第一个，sku也不一定在第二个。<br />这就给按下标取代来了很大的麻烦。灵机一动，决定用正则和eval来是现。即先把str转化成下面的格式：<br /><pre name="code" class="java">  str_hash = "{'id' => '138313','sku' => '','price => '899.99'}"</pre><br />  然后再用eval(str_hash)来生成一个hash.代码如下：<br /><pre name="code" class="java">   hash = eval(str_hash)</pre><br />  这样就可以直接引用了，比如：<br /> <pre name="code" class="java"> price = hash['price']</pre><br /> 完整代码如下：<br />   <pre name="code" class="java"> 
    info = str.gsub(/(\w+)=([^,]*)(?=\s*,)/,'\'\1\'=>\'\2\'')
    hash = eval("{#{info}}")
    title   = hash['title']
 </pre><br />这样实现，字符串的顺序再怎么变化，也不会影响到解析程序。个人觉得挺cool的
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/205092#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>Wed, 18 Jun 2008 12:52:25 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/205092</link>
        <guid>http://shaquan6776.javaeye.com/blog/205092</guid>
      </item>
      <item>
        <title>ruby世界，一切皆对象</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/201087" style="color:red;">http://shaquan6776.javaeye.com/blog/201087</a>&nbsp;
          发表时间: 2008年06月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在ruby世界里，一切皆是对象。包括我们平时声明的class 和module.比如有如下声明：<br />  <pre name="code" class="java">class A
  end
  module M
  end</pre><br />其实在上面的两个声明里，class和module可以看做是关键字或者方法名。其作用是：class的作用是生成一个Class的实例对象；而module的作用是生成一个Module的实例，两个实例分别为A和M。既然如此，上面的声明显然等价于：<br /> <pre name="code" class="java">
 A = Class.new
 M = Module.new</pre><br /> 既然A是对象，那么其当然可以拥有实例变量。比如：<br /><pre name="code" class="java">class A 
  @instance_vairable = 5 
end</pre><br />变量@instance_vairable就是A的实例变量。
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/201087#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>Sat, 07 Jun 2008 00:36:34 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/201087</link>
        <guid>http://shaquan6776.javaeye.com/blog/201087</guid>
      </item>
      <item>
        <title> 任务分配问题（多级反馈队列调度算法）</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/199669" style="color:red;">http://shaquan6776.javaeye.com/blog/199669</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          有一张表，里面几百万条数据。现需要定期对每条记录进行处理，每条记录处理时间由各自的处理频率，和优先级决定。且每条记录处理的频率，优先级，处理的时间可能都不相同。那么就需要一个算法对这些任务进行调度，算法要优先保证优先级高的，处理频率高的先被处理，同时也要避免某些记录长期得不到处理的情况。<br />  我的解决方案是：<br />  加一个表示权值的字段boost,并对boost设置最大值。然后在后台起一个轮询线程，隔适当的时间去扫面数据库。若发现有记录在规定的时间内没有得到处理，并且超出时间也大于规定的预期时间。就对其boost+1.执行线程首先是按照优先级来处理数据，但若发现有boost达到最大值的记录，立刻对其处理。另外，若发现有优先级较高的记录的boost也达到了最大值，说明处理线程不够，这是会适当的增加线程的数量。注（处理是分布的，可能分布多台机子上）<br />  但感觉还是会有问题，不知大家是否还有别的好方案！
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/199669#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>Tue, 03 Jun 2008 11:32:09 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/199669</link>
        <guid>http://shaquan6776.javaeye.com/blog/199669</guid>
      </item>
      <item>
        <title>ruby instance_eval的理解和应用</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/181416" style="color:red;">http://shaquan6776.javaeye.com/blog/181416</a>&nbsp;
          发表时间: 2008年04月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近做的项目有这样一个需求:需要对页面的title,desc,keywods做SEO.根据页面的不同，其内容各、规则和格式都不尽相同，大多数情况下是根据view中的部分实例变量的某些字段按照特定规则态生成的，并且在不同时期，SEO的格式和规则也会有所不同（比如：会在title中加入最近热门的搜索关键字，页面不同搜索关键）。但项目中，所有的页面都共用一个layout,这样就遇到一个问题：怎么取到当前view的实例变量，得到实例变量后需要知道当前view的SEO生成规则，然后生成的SEO插入到当前View中。<br />  脑海里的第一个方案是在ApplicationHelper里加一个方法，并在每个action里生命一个@seo_obj变量，根据@seo的类型来决定怎样生成SEO内容。用这个方案实现的代码丑陋繁杂，判断分支又多,难以维护。代码类似下面：<br />  <pre name="code" class="ruby">def seo_title
    case @seo_obj
    when "latest"
      return "latest coupon codes - #{SITE_NAME}"
    when "featured"
      return "featured coupon codes - #{SITE_NAME}"
    when "stores"
      return "coupon code of thousands of stores - #{SITE_NAME}"
    when "tags"
      return "tags coupons - #{SITE_NAME}"
    else
      if @seo_obj.kind_of?(Merchant)
           ....
        if @seo_obj.html_title && !(@seo_obj.html_title.blank?)
          ....
        elsif @seo_obj.printable == YES
          #printable
               ...
        else
                ....
        end
      elsif @seo_obj.kind_of?(Tag)

      else
       ...
      end
    end
  end

   def seo_keywords
    case @seo_obj
       ...
     end
     ...
   end</pre><br /> 在同事的启发下，又经过自己的一番探索，决定采用instance_eval去处理。instance_eval可以根据当前对象上下文得到此对象的实例变量以及可以动态地为当前对象生成实例变量的特性刚好可以解决这个需求的问题.<br />  解决方案：<br />   第一步：分为title,keywords,desc创建个第一个hash，key由controller_name.action_name组成，value是SEO的内容，其中动态部分用'?'占位符。例如：<br />  <pre name="code" class="ruby">  Seo_Title = {'sodeal.index' => "hot deal 50% of",
    'sodeal.merchant_deals' => "IBM Deal,HP Deal,merchant  ?1, coupon  ?2",
    'index.merchants' => 'hot deals and coupons for many online stores'
    }
   Seo_Desc ={...}
   Seo_Keywords = {...}
</pre><br /><br />第二步：对那些规则和格式相对简单的，比如知只有一个占位符或者不需要占位符的写一个通用的默认方法，而对那些比较复杂的有多个占位符的写专门的方法，方法名按照controller_name_action_name的方式i。比如像index.merchants'的格式就比较简单，像sodeal.merchant_deals'的格式就稍微发杂一点。根据这个原则就得到如下方法：<br />   <pre name="code" class="ruby">def index_merchants_seo
    merchant_name = instance_eval {@merchant.merchant_name}
    coupon_name = instance_eval{@coupon.name}
    seo_title = Seo_Title["#{params[:controller]}.#{params[:action]}"]
    seo_title.gsub('?1',merchant_name).gsub('?2',coupon_name)
    set_seo_title seo_title
  end
  
  def default_seo
    set_seo_title Seo_Title["#{params[:controller]}.#{params[:action]}"]
    set_seo_desc Seo_Description["#{params[:controller]}.#{params[:action]}"]
    set_seo_keywords Seo_Keywords["#{params[:controller]}.#{params[:action]}"]
  end
  
  private
  def set_seo_title(title)
    instance_eval { @seo_title = title}
  end
  def set_seo_keywords(keywords)
     instance_eval { @seo_keywords = keywords}
  end
  def set_seo_desc(desc)
    instance_eval { @seo_desc = desc}
  end</pre><br /> 第三步：现在该解决怎么调用的问题。第二步定义的SEO方法有两种，特定的和通用的；并且特定方法的方法名是按照controller_name_action_name+'seo'后缀定义的。那么就可以根据respond_to?("#{params[:controller_name]}_#{params[:action]}_seo".to_sym)(注：此modul会mixin到helper里)来判断是否有特定的方法，如果没有就调用方法default_seo，由此思路，便有了下面的方法：<br />   <pre name="code" class="ruby">def seo
    if respond_to?("#{params[:controller_name]}_#{params[:action]}_seo".to_sym)
       send("#{params[:action]}_seo") 
    else
      default_seo
    end
  end  </pre><br /><br />全部代码如下：<br /><pre name="code" class="java">module Seo
  
  def self.included(helper)
    
  end
  
  Seo_Title = {'sodeal.index' => "hot deal 50% of",
    'sodeal.merchant_deals' => "IBM Deal,HP Deal,merchant  ?1, coupon  ?2",
    'index.merchants' => 'hot deals and coupons for many online stores'
    }
  
  Seo_Description = {'sodeal.index' => 'index desc'}
  Seo_Keywords = {'sodeal.index' => 'index keywords'}
  
  protected

  #later can add contoller_name here
  def seo
    if respond_to?("#{params[:controller_name]}_#{params[:action]}_seo".to_sym)
       send("#{params[:action]}_seo") 
    else
      default_seo
    end
  end  
   
  def index_merchants_seo
    merchant_name = instance_eval {@merchant.merchant_name}
    coupon_name = instance_eval{@coupon.name}
    seo_title = "24*7 hot deals and coupons for ?1".gsub('?1',merchant_name)
    seo_title = Seo_Title["#{params[:controller]}.#{params[:action]}"].gsub('?1',merchant_name).gsub('?2',coupon_name)
    set_seo_title seo_title
  end
  
  def default_seo
    set_seo_title Seo_Title["#{params[:controller]}.#{params[:action]}"]
    set_seo_desc Seo_Description["#{params[:controller]}.#{params[:action]}"]
    set_seo_keywords Seo_Keywords["#{params[:controller]}.#{params[:action]}"]
  end
  
  private
  def set_seo_title(title)
    instance_eval { @seo_title = title}
  end
  def set_seo_keywords(keywords)
     instance_eval { @seo_keywords = keywords}
  end
  def set_seo_desc(desc)
    instance_eval { @seo_desc = desc}
  end
end</pre><br />在AppliactionHepler里include Seo.然后在layout里调用方法seo.代码如下：<br /> <pre name="code" class="ruby"> &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/2001/REC-xhtml11-20010531/DTD/xhtml11-flat.dtd">
&lt;html xmlns="http://www.w3.org/1999/xhtml">
&lt;head>
&lt;% seo %>
&lt;title>&lt;%= @seo_title %>&lt;/title>
&lt;meta http-equiv="Content-Language" content="en-gb" />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
&lt;META content="&lt;%= @seo_desc %>" name="description">
&lt;META content="&lt;%= @seo_keywords %>" name="keywords"></pre><br />总结：在实际项目中，可以利用ruby的自省和modul_eval,class_eval,evainstance_eval等动态方法，实现业务的横切。把一些和业务没有直接关系的模块从业务代码里剥离出来。
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/181416#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, 10 Apr 2008 18:29:44 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/181416</link>
        <guid>http://shaquan6776.javaeye.com/blog/181416</guid>
      </item>
      <item>
        <title>gem install rmagick 出错的解决方案</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/163839" style="color:red;">http://shaquan6776.javaeye.com/blog/163839</a>&nbsp;
          发表时间: 2008年02月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          --with-opt-dir<br />        --without-opt-dir<br />        --with-opt-include<br />        --without-opt-include=${opt-dir}/include<br />        --with-opt-lib<br />        --without-opt-lib=${opt-dir}/lib<br />        --with-make-prog<br />        --without-make-prog<br />        --srcdir=.<br />        --curdir<br />        --ruby=/usr/bin/ruby1.8<br /><br /><br />Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-2.2.2 for inspection.<br />Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-2.2.2/ext/RMagick/gem_make.out<br /><br /><br />解决方案：<br />wget http://rubyforge.org/frs/download.php/16684/RMagick-1.15.0.tar.gz<br />tar this tar.gz file<br />./configure –enable-allow-example-errors –disable-htmldoc<br />make<br />sudo make install
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/163839#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, 21 Feb 2008 11:11:57 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/163839</link>
        <guid>http://shaquan6776.javaeye.com/blog/163839</guid>
      </item>
      <item>
        <title>gem install mysql 错误解决方案</title>
        <author>shaquan6776</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://shaquan6776.javaeye.com">shaquan6776</a>&nbsp;
          链接：<a href="http://shaquan6776.javaeye.com/blog/163833" style="color:red;">http://shaquan6776.javaeye.com/blog/163833</a>&nbsp;
          发表时间: 2008年02月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          gem install mysql时报错：<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lm... yes<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lz... yes<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lsocket... no<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lnsl... yes<br />checking for mysql_query() in -lmysqlclient... no<br />*** extconf.rb failed ***<br />Could not create Makefile due to some reason, probably lack of<br />necessary libraries and/or headers.  Check the mkmf.log file for more<br />details.  You may need configuration options.<br /><br />Provided configuration options:<br />        --with-opt-dir<br />        --without-opt-dir<br />        --with-opt-include<br />        --without-opt-include=${opt-dir}/include<br />        --with-opt-lib<br />        --without-opt-lib=${opt-dir}/lib<br />        --with-make-prog<br />        --without-make-prog<br />        --srcdir=.<br />        --curdir<br />        --ruby=/usr/bin/ruby1.8<br />        --with-mysql-config<br />        --without-mysql-config<br />        --with-mysql-dir<br />        --without-mysql-dir<br />        --with-mysql-include<br />        --without-mysql-include=${mysql-dir}/include<br />        --with-mysql-lib<br />        --without-mysql-lib=${mysql-dir}/lib<br />        --with-mysqlclientlib<br />        --without-mysqlclientlib<br />        --with-mlib<br />        --without-mlib<br />        --with-mysqlclientlib<br />        --without-mysqlclientlib<br />        --with-zlib<br />        --without-zlib<br />        --with-mysqlclientlib<br />        --without-mysqlclientlib<br />        --with-socketlib<br />        --without-socketlib<br />        --with-mysqlclientlib<br />        --without-mysqlclientlib<br />        --with-nsllib<br />        --without-nsllib<br />        --with-mysqlclientlib<br />        --without-mysqlclientlib<br /><br /><br />Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.<br />Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out<br /><br /><br /><br /><br />解决方案：<br />$ sudo apt-get install libmysqlclient15-dev  <br />  sudo gem install mysql
          <br/>
          <span style="color:red;">
            <a href="http://shaquan6776.javaeye.com/blog/163833#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, 21 Feb 2008 10:54:17 +0800</pubDate>
        <link>http://shaquan6776.javaeye.com/blog/163833</link>
        <guid>http://shaquan6776.javaeye.com/blog/163833</guid>
      </item>
  </channel>
</rss>