<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>现实世界大冒险</title>
    <description>在技术边缘上</description>
    <link>http://leegorous.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>Grails Integration Testing中一个不显眼的特性</title>
        <author>leegorous</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://leegorous.javaeye.com">leegorous</a>&nbsp;
          链接：<a href="http://leegorous.javaeye.com/blog/190694" style="color:red;">http://leegorous.javaeye.com/blog/190694</a>&nbsp;
          发表时间: 2008年05月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Grails是鼓吹先做测试的，而其Integration Testing是最简单直接的测试，连壳都造好了，就等着填测试代码了。<br />不过Grails还不只是造了一个壳，还做了一些动作，在它的文档里面就有半句话描述了它还做了什么：“and clear out all the data from the database in between each test”。实在是太不起眼了，不过用起来又是何其的畅快啊。<br /><br />在一个偶然的机会下，跑test case时调试进去了（完全是新手的行为），到断点之前插了一条数据，指明要flush，然后测试插入重复数据。这时，我想应该在数据库里面可以看到那条数据的，结果是什么都看不到的。甚至到验证都通过了，最后是没有把插进去的数据清空的。理所当然的以为应该可以看到那条数据的，结果还是没有。<br /><br />在各路高手的讨论和指导之下，终于知道grails干了些什么了。<br />文档里面那么隐晦的半句话，其实没那么简单哦。首先它为每个有数据库操作的case建立transaction，在跑的时候，其数据库操作都没有真正 commit，case结束后，transaction roll back。如果跑的时候断点调试，数据库的隔离级别设成Read Uncommitted，这时是可以看到插进去的那条数据的。当然这是按表像猜测的行为实现。<br />而且在case抛异常时这个机制还是有效的。<br /><br />这个不显眼的特性太好了，不用过于担心数据残留的问题。最重要是：省事。<br />不明白为什么文档不写清楚点？也许这是故意的……<br /><br />--<br />Copy from <a href="http://leegorous.net/blog/article.asp?ArticleID=165" target="_blank">my base</a>
          <br/>
          <span style="color:red;">
            <a href="http://leegorous.javaeye.com/blog/190694#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li><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, 07 May 2008 18:47:11 +0800</pubDate>
        <link>http://leegorous.javaeye.com/blog/190694</link>
        <guid>http://leegorous.javaeye.com/blog/190694</guid>
      </item>
      <item>
        <title>给启动Firefox加点料</title>
        <author>leegorous</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://leegorous.javaeye.com">leegorous</a>&nbsp;
          链接：<a href="http://leegorous.javaeye.com/blog/182320" style="color:red;">http://leegorous.javaeye.com/blog/182320</a>&nbsp;
          发表时间: 2008年04月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          就在跨栏位控制还想不出恰当的解决方案时，我就希望从其他方面入手，来获取灵感。<br /><br />这次的target是Firefox，用了好长时间，而且越用越喜欢，现在基本上如果不是因为工作需要以IE为运行环境，它基本上是没有什么地位了。<br /><br />OK，用了这么长时间，装了N多插件，如何恢复到干净的状态呢？难道是一个一个插件删掉？在所有有自定义配置的地方都选择默认来恢复？不用这么麻烦， Firefox是一款可高度定制的浏览器，它的运行设置是以文件形式保存的，记得最早的版本里面，第一次启动Firefox时是会现有一个 ProfileManager的，可以在那里选择和设置配置文件的。有了这个配置管理器，那么就可以实现保存多个不同的配置并在配置间进行切换了，又或者如个需求——把Firefox的设置回退到原始状态。但由于使用便捷等方面原因的考虑，后来的版本里面都没有出现了，那没戏了？Firefox其实并没有把它丢掉，只是默认不出现而已，还是有两个方式可以弄出来的。<br /><br />先说一个简单的，给Firefox.exe建一个快捷方式，右键属性，在ShortCut -> Target里面补上" -ProfileManager"，然后确定。双击快捷方式就会见到用户配置文件管理器啦。<br /><img src="http://leegorous.net/images/launch-ff-1.gif" /><br /><br />在里面可以新建一个配置文件，给个名字，再选择好存放路径即可。最后启动Firefox，噔噔，一个全新干净的Firefox出现了。这样我之前的配置都可以保留了，以后还可以切换回去。<br /><img src="http://leegorous.net/images/launch-ff-2.gif" /><br /><br /><img src="http://leegorous.net/images/launch-ff-3.gif" /><br /><br />另一个方式是命令行（习惯于强大的桌面功能的人可能会嘲笑命令行落后，其实命令行强大得不是一点点），进入cmd，跳到Firefox安装目录，执行 firefox -ProfileManager 或者 firefox -P 可以达到同样的效果。<br /><br />在命令行中还可以加参数指定启动所用的配置，如firefox -P leegorous（刚才新建的配置文件的名字）<br /><br />又或者firefox -profile 配置文件目录 如<br />firefox -profile "c:\Documents and Settings\{your user name}\Application Data\Mozilla\Firefox\Profiles\au9saxl7.default"，其中au9saxl7.default为随机的配置目录名称，每个机器都不一样。<br /><br />当然这些命令都可以固化到快捷方式中去的。这样启动Firefox都可以非常个性化了。个人认为放一个默认配置的（不加参数），再放一个可选择配置文件的（ -ProfileManager、-P)就够了。<br /><br />关于命令行方式启动Firefox，还可以设定启动窗口的高和宽，还可以设定直接打开的地址。<br />firefox -url "http://www.google.com" -url "http://leegorous.net/blog"<br />这样就可以一启动就打开多个地址了。将这个命令固化到快捷方式中之后，就完全符合作为懒人的原则，呵呵！<br /><br />以上是在Windows的方式，Linux下同理，改改路径的形式即可，还没有机会用Mac，不过估计也差不多啦。<br /><br />获得全新的Firefox界面之后，下文就会讨论如何定制Firefox的界面。<br /><br />参考：<br /><a href="http://support.mozilla.com/en-US/kb/Command+line+arguments" target="_blank">http://support.mozilla.com/en-US/kb/Command+line+arguments</a><br /><br />原文来自<a href="http://leegorous.net/blog/article.asp?ArticleID=164" target="_blank">http://leegorous.net/blog/article.asp?ArticleID=164</a>
          <br/>
          <span style="color:red;">
            <a href="http://leegorous.javaeye.com/blog/182320#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li><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>Sun, 13 Apr 2008 15:27:22 +0800</pubDate>
        <link>http://leegorous.javaeye.com/blog/182320</link>
        <guid>http://leegorous.javaeye.com/blog/182320</guid>
      </item>
      <item>
        <title>动态语言的IDE很难整吗？</title>
        <author>leegorous</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://leegorous.javaeye.com">leegorous</a>&nbsp;
          链接：<a href="http://leegorous.javaeye.com/blog/179000" style="color:red;">http://leegorous.javaeye.com/blog/179000</a>&nbsp;
          发表时间: 2008年04月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在JavaEye的首博啊！一时半刻憋不出东西来，先拿昨日的blog在顶着……<br /><br />昨日我们开发小组在讨论动态语言，主要是JavaScript，讨论得很high，是由一个talk <a href="http://www.infoq.com/presentations/vanderburg-power-of-javascript" target="_blank">The Power of Javascript</a> 引起的。我们讨论JavaScript的语法问题，虽然我并不觉得是JavaScript语法的问题，语言特性本身如此，也正因为如此，我才会拿着这玩具这么久还不放一放。不过也许对于Java程序员来说，那可能真是一个不可逾越的巨大障碍，那种灵活性，灵活得让人难以捉摸。<br /><br />除了语法问题，我们还讨论了动态语言的IDE问题，就目前来说，给动态语言用的IDE不是没有，只不过不够好，像<a href="http://www.spket.com/" target="_blank">Spket</a>，功能很强大，用来开发基于<a href="http://www.prototypejs.org/" target="_blank">Prototype</a>、<a href="http://jquery.com/" target="_blank">JQuery</a>、<a href="http://extjs.com/" target="_blank">Ext</a>等框架的js应用基本够用，也可以用来开发XUL、Flex等，是个很有特色的Eclipse插件，不过问题就是保存设置需要Licences，而且对我而言，那些语法颜色、高亮、有限的代码提示、模板等的功能，在EditPlus上除了代码提示没有办法实现外，其它的我比较在意的功能自定义一下也可以达到，编辑起来轻盈，快速，打开N多个文件还吃不到Eclipse 1/10的内存。既然都没有理想的IDE，那就用习惯用的那个呗。当然由于愚人节的关系，我们也讨论了自行开发动态语言IDE的事情，不过我也非常矛盾，眼看就是没有一个理想的实现，而且问题就在于动态语言本身太灵活，想做到像JDE那样的，估计不仅仅是时间的问题。<br /><br /><span style="color: gray">下面略去原blog中的自我批评……</span>
          <br/>
          <span style="color:red;">
            <a href="http://leegorous.javaeye.com/blog/179000#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><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Apr 2008 22:01:36 +0800</pubDate>
        <link>http://leegorous.javaeye.com/blog/179000</link>
        <guid>http://leegorous.javaeye.com/blog/179000</guid>
      </item>
  </channel>
</rss>