<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/feedsky7.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0"><channel><atom:link href="http://feed.classicning.com" type="application/rss+xml" ref="self"></atom:link><fs:self_link href="http://feed.feedsky.com/classicning" type="application/rss+xml"></fs:self_link><lastBuildDate>Wed, 06 Aug 2008 12:10:08 GMT</lastBuildDate><title>Classicning Daily Log</title><description>好读书 不求甚解 每有会意 便欣然忘食</description><image><url>http://www.feedsky.com/feed/classicning/sc/gif</url><title>Classicning Daily Log</title><link>http://www.classicning.com/blog/</link></image><link>http://www.classicning.com/blog/</link><language>zh-CN</language><copyright>2004 - 2007 Classicning.com. 苏ICP备06039259号.</copyright><pubDate>Wed, 06 Aug 2008 12:11:19 GMT</pubDate><dc:date>2008-08-06T12:11:19Z</dc:date><dc:language>zh-CN</dc:language><dc:rights>2004 - 2007 Classicning.com. 苏ICP备06039259号.</dc:rights><item><title>One Step to Safety</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479301/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=726</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=726&amp;key=616392e7</trackback:ping><description>&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811b97d426011b97e6205d0270&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/307745fd08ee/9s1vheam.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=4e79db909064bff34f8feea62eeb141e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=4e79db909064bff34f8feea62eeb141e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=33a84e3afce98fa98e8f2952f5884499&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=33a84e3afce98fa98e8f2952f5884499&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=eacd63511d7474b907c02a507357b5a8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=eacd63511d7474b907c02a507357b5a8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Miscellaneus</category><pubDate>Wed, 06 Aug 2008 20:10:08 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/726.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/726.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/726.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479301/4091336</fs:itemid></item><item><title>吃醋</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479302/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=725</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=725&amp;key=f1ded583</trackback:ping><description>上次在饭否上提了一下，无奈140个字的限制说不清楚。今天使劲说说，抒发一下。&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;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=21f94936b7a4920f7a014f949b6fce82&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=21f94936b7a4920f7a014f949b6fce82&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=a36a324bd8190ffbf52c74365967a347&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=a36a324bd8190ffbf52c74365967a347&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=4ab02fd316f661d1b7b9e6256973c8b8&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=4ab02fd316f661d1b7b9e6256973c8b8&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Life</category><pubDate>Tue, 05 Aug 2008 22:33:39 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/725.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/725.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/725.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479302/4091336</fs:itemid></item><item><title>OSGi</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479303/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=724</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=724&amp;key=a9ec8db2</trackback:ping><description>断断续续心不在焉地看了一天OSGi相关的东西，照着Apache Felix的Tutorials跑了一遍，大概有个概念了。&lt;br/&gt;&lt;br/&gt;我理解OSGi作为一个容器，最大的特点莫过于支持软件模块的热插拔了。与Spring这样传统的容器不同，Spring在初始化的时候就根据xml配置文件完成了模块（在Spring来说是bean）的注册，运行时仅仅管理依赖注入和scope等问题了，是reflection级别的。OSGi在相对更底层一些的ClassLoader级别做文章（这块还没细看，bluedavy的某篇opendoc有简单的介绍），实现了一种在容器运行时注册、反注册模块（对OSGi来说是Bundle）的机制，优点好处不言而喻。&lt;br/&gt;&lt;br/&gt;OSGi对Bundle的管理，每个Bundle可以输出接口，也可以引用其他Bundle的接口，从而Bundle间形成依赖关系。接口在容器中注册，容器管理相关的依赖关系，形成一个类似注入的机制。&lt;br/&gt;&lt;br/&gt;对Apache Felix来说，每一个Bundle需要有一个Activitor，定义Bundle启用和禁用时所需执行的逻辑。每个Bundle的元信息定义在jar的manifest中，包括服务的名字、Activitor类的路径、导入是导出的接口等。&lt;br/&gt;&lt;br/&gt;Spring的一个子项目Dynamic Moudle致力于将OSGi的机制与既有的给予Spring系统的代码结合，是Spring的系统适应OSGi，支持动态特性。&lt;br/&gt;&lt;br/&gt;暂时还只有这些粗浅的认识，目前我还想不出如何针对这些特性把它应用到我已有的项目里，或者针对这种特性开始一个新的项目。&lt;br/&gt;&lt;br/&gt;不过话说回来了，其实我每日的工作就是在Eclipse的OSGi平台Equinox上进行的，只不过是隔了太多层，我已然感觉不到它的存在了。想想也是，为什么我们每次修改插件的代码后运行无需重启Eclipse呢。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=9ca7d3fa21e624141b0496a4f520ab89&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=9ca7d3fa21e624141b0496a4f520ab89&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=8238331b9142883e579056f18c3778f6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=8238331b9142883e579056f18c3778f6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=7c79714d7ed9d1e162ce6223daaa648d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=7c79714d7ed9d1e162ce6223daaa648d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Tech</category><pubDate>Sun, 03 Aug 2008 22:02:38 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/724.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/724.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/724.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479303/4091336</fs:itemid></item><item><title>days without logging</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479304/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=723</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=723&amp;key=cfa4627f</trackback:ping><description>没有log的日子就像流水一样，将来查bug都不好查。&lt;br/&gt;&lt;br/&gt;来北京一个月，体验了三周的上班族生活了。一开始还比较轻松，因为做前端还算是有一点经验了，加上放假一段时间脑子也清醒许多，几个任务完成的还算轻松，临了还有时间看看其他东西。最近一周开始有点累了，开发、调试环境也不是很理想，时常有挫折感，要是赶上前一天晚上没睡好，第二天还真有点吃不消。据说下两周的任务还会更紧，也许加班夜战也是难免了。&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811b76ce86011b83a10c2e51a0&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/967725f7d892/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&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;刚刚上网还有那么点激动，毫无头绪的记下这些，也算是我继续开始logging了。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=b5ddf5cd43a03d7bca375c4f0e522f86&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=b5ddf5cd43a03d7bca375c4f0e522f86&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=27c95785dd4c3baca670be67f60c7198&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=27c95785dd4c3baca670be67f60c7198&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=6b9767fff31cb4a287dadf1470690649&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=6b9767fff31cb4a287dadf1470690649&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Life</category><pubDate>Sat, 02 Aug 2008 21:37:24 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/723.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/723.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/723.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479304/4091336</fs:itemid></item><item><title>HeatMap on web</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479305/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=722</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=722&amp;key=588bb669</trackback:ping><description>终于有这样在Web上进行类似Density分析的widget了。&lt;br/&gt;&lt;a href=&quot;http://www.javaeye.com/news/2933&quot;  target=&quot;_blank&quot;&gt;http://www.javaeye.com/news/2933&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.heatmapapi.com/&quot;  target=&quot;_blank&quot;&gt;http://www.heatmapapi.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=4d3b224c363ca321829f68744f8e1a1d&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=4d3b224c363ca321829f68744f8e1a1d&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=bb6046018662c9fe035a5859c17433db&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=bb6046018662c9fe035a5859c17433db&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=9eaf561335a3fb9898749df69d11ed0c&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=9eaf561335a3fb9898749df69d11ed0c&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>GIS</category><pubDate>Fri, 18 Jul 2008 12:45:25 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/722.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/722.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/722.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479305/4091336</fs:itemid></item><item><title>今日起程赴京</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479306/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=721</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=721&amp;key=c7dae34e</trackback:ping><description>筹备了有一个多星期，今天终于要出发了：21:00，南京站，Z50。此次北上可谓单枪匹马孤军奋战，即使是最保守的估计也少不了困难。但是无奈，为了个人的发展只能走上这条北漂的不归路。在此只愿烦心事稍微少点，早点进入规律的状态。&lt;br/&gt;&lt;br/&gt;南京的朋友们恐怕只能半年后相见了，北京的朋友们等我稳定下来大家好好聚聚。&lt;br/&gt;&lt;br/&gt;半年孤身一人，难免沦为饭否话痨，诸位饭友见谅。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=30def4c6db7aea01001fe116dbeb8711&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=30def4c6db7aea01001fe116dbeb8711&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=bd8e99fd50a87814e01e45b598359550&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=bd8e99fd50a87814e01e45b598359550&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=4272236138b6c229a11a488afe5bdda5&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=4272236138b6c229a11a488afe5bdda5&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Life</category><pubDate>Mon, 07 Jul 2008 08:06:22 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/721.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/721.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/721.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479306/4091336</fs:itemid></item><item><title>QGIS和Shapely的冲突</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479307/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=720</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=720&amp;key=76a06dfc</trackback:ping><description>昨天配了一下QGIS和PyQt4的开发环境。&lt;br/&gt;&lt;br/&gt;首先要将QGIS的安装路径放进PATH中，将QGIS目录下libgdal, libgeos, qtcore等dll拷贝到System32目录下，新建环境变量PYTHONPATH，指向QGIS目录下的python目录。&lt;br/&gt;&lt;br/&gt;然后就可在python console里执行&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;from&amp;nbsp;qgis.core&amp;nbsp;import&amp;nbsp;*&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;如果成功则环境配置成功。&lt;br/&gt;&lt;br/&gt;但是这个环境配置好之后，执行另一个Python项目Shapely的&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;from&amp;nbsp;shapely.geometry&amp;nbsp;import&amp;nbsp;*&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;会报geos.dll找不到。&lt;br/&gt;在这种情况下，此时移除环境变量PYTHONPATH，重启cmd即可。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=561b7d15475357ac0cbdbc5b129f39b6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=561b7d15475357ac0cbdbc5b129f39b6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=f51823bcdfeca531b6b9c1fef1710707&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=f51823bcdfeca531b6b9c1fef1710707&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=75a2b5875bda2ccf04c47780f07d48e9&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=75a2b5875bda2ccf04c47780f07d48e9&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>GIS</category><pubDate>Sun, 06 Jul 2008 13:33:40 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/720.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/720.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/720.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479307/4091336</fs:itemid></item><item><title>新闻调查</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479308/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=719</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=719&amp;key=eac482c7</trackback:ping><description>今天晚上看了CCTV的新闻调查，主持人柴静带着摄影记者冲到了汶川灾区，对于山上真实的镜头，除了感叹自然的壮阔以外，我就剩下对这个主持人的佩服了，佩服地五体投地。&lt;br/&gt;&lt;br/&gt;我也算是在庐山看过滑坡，但是那个滑坡的痕迹跟今天看到汶川的比起来实在是小标本。就是那种即将有山体滑下来的地方，主持人和摄影记者居然就扛着摄像机上去了，还给我们亲眼展示了一下滑坡的裂缝，那可是随时都有可能落进万丈深渊的山体。因为很多山路都已经在无数次滑坡中消失了，主持人居然就从滑坡面（抱歉，自然地理学了就跟没学一样，不知道是什么术语）上下山，那真是光光的滑坡面，一个小石子嗖一下就卷着沙土消失的滑坡面。&lt;br/&gt;&lt;br/&gt;节目还对灾后重建做了比较深刻的思考，节目中也有老专家和青年学者的矛盾，灾区很多问题的展现，我觉得非常好，推荐大家一看。&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.cctv.com/video/xinwendiaocha/2008/07/xinwendiaocha_300_20080705_1.shtml&quot;  target=&quot;_blank&quot;&gt;http://www.cctv.com/video/xinwendiaocha/2008/07/xinwendiaocha_300_20080705_1.shtml&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=c17e379cf0fcbd381a04f76984982f5f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=c17e379cf0fcbd381a04f76984982f5f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=fef2557362668cd7b77026eec4104b4e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=fef2557362668cd7b77026eec4104b4e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=9e104f0286297957f92e038af19cf52e&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=9e104f0286297957f92e038af19cf52e&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Miscellaneus</category><pubDate>Sat, 05 Jul 2008 22:36:09 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/719.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/719.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/719.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479308/4091336</fs:itemid></item><item><title>Java的脚本支持</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479309/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=718</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=718&amp;key=98c9fa98</trackback:ping><description>Java6发布有一年多了，新增的javax.script似乎并没有引起特别大的反响。今天实验了一下这一块的功能，发现还是非常有意思的。&lt;br/&gt;&lt;br/&gt;脚本支持以一个ScriptEngineManager为中心，可以通过getEngineFactories获得ClassLoader中已经载入的脚本解析引擎。在jdk6里默认捆绑的只有用来解析ECMAScript的Mozilla Rhino。通过getEngineByName(&quot;JavaScript&quot;)获得这个ScriptEngine。通过ScriptEngine的eval方法就可以进行脚本的解析了，而且还可以通过Bindings和ScriptEngine的put方法把Java对象放进脚本语言的执行环境中，在脚本中调用Java对象的方法。&lt;br/&gt;&lt;br/&gt;在scripting.dev.java.net上还可以找到其他Java的脚本支持，除了很多已经相对非常成熟的如JRuby、Groovy、Jython等的ScriptEngine实现，还有Python、PHP等语言的。值得一提的是，后面的这类解析器仅仅是一个wrapper，并不真正实现脚本的解析，而是调用语言本身的运行环境实现。以Python为例，这里有一个实现，jep就是调用系统安装的Python环境，与Jython不同。&lt;br/&gt;&lt;br/&gt;也难怪没有火，通过Java调用Python解析python脚本是有一点奇怪。不过这个功能的确提供了一种把脚本和Java系统结合起来、互操作的可能，也许在特定的环境里会有它的意义吧。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=31d1384c45893166f6afd33f82c6f45a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=31d1384c45893166f6afd33f82c6f45a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=03e879454507beb2f0ca80e00e5b5189&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=03e879454507beb2f0ca80e00e5b5189&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=26b7cb4a031b97919134670bf988d612&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=26b7cb4a031b97919134670bf988d612&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Tech</category><pubDate>Fri, 04 Jul 2008 21:22:24 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/718.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/718.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/718.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479309/4091336</fs:itemid></item><item><title>Java OS</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479310/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=717</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=717&amp;key=80f6cd5a</trackback:ping><description>觊觎这个jnode很久了，真想看看java写的操作系统是个什么样子。不料前两天sf就被封了，今天忍无可忍用了那啥上去找到了下载地址。好在这些镜像都还没有被ban。140M的jnode光盘镜像下了三遍，前两次都是下到快一半了断掉，重头再来；最后一次又是有一大段时间是不到10k的速度。真是花了很多钱才把这个东西弄到手。&lt;br/&gt;&lt;br/&gt;赶紧到VirtualBox里试试。启动之后是grub，有很多种启动选项。用default with all plugins启动不久就死了。后来用default启动可算是用了将近5分钟才抓到console，但是CPU占用一直100%，敲个命令都要卡半天，执行个ls几乎就死了。&lt;br/&gt;&lt;br/&gt;一不做二不休，干脆就往死里整。执行startawt打开GUI，只见屏幕一闪，继续CPU 100%，风扇狂转，然后黑屏。超过5分钟，黑屏还是没有任何动静，此时我的CPU已经保持100%将近半个小时了。为了保全这台电脑，无奈放弃，全部删掉。&lt;br/&gt;&lt;br/&gt;Java OS任重道远。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=29a8f4902e23c04fc680718b94ca5796&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=29a8f4902e23c04fc680718b94ca5796&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=c0b9313d5bf2692982ad8bba24339c85&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=c0b9313d5bf2692982ad8bba24339c85&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=d2b35a687742b0e68e5d6e6ade3e1843&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=d2b35a687742b0e68e5d6e6ade3e1843&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Miscellaneus</category><pubDate>Thu, 03 Jul 2008 21:57:10 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/717.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/717.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/717.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479310/4091336</fs:itemid></item><item><title>买票遇到了老四</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479311/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=716</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=716&amp;key=44205db7</trackback:ping><description>今天去办证明、买车票。说来真是巧，第一次去买车票居然发现钱带得不够，去了两次。结果买完票一转身，一个膀大腰圆的大汉堵在眼前，仔细一看居然是老四。&lt;br/&gt;&lt;br/&gt;我们宿舍原本四个人，老四是年纪最大的，但是因为排学号排在后面就叫老四了。河南考过来的，考了三年最后不幸还是只能落到NJU的GIS，不过毕竟成绩好，开学之后就进了基地班，然后又靠自己的努力转到了化学院的基地班，早早就弃暗投明了。因为化院三年级就到鼓楼了，所以我们去年就吃了散伙饭。虽说偶尔还有联系，但是毕竟不比原来住在一起，一晃就大半年没见了。&lt;br/&gt;&lt;br/&gt;不敢怠慢，赶紧找个地方叙叙旧。聊了这一年宿舍的动态、搬家的时间，问了他下半年的打算。我说他保研没问题，他说不容乐观。考虑到他不容乐观地拿了奖学金，不容乐观地转了系，这“不容乐观”也有新的解释了。就算是不容乐观了，也还可以考，从这点上讲，老四无论是能力、决心都比我强得多，我服。&lt;br/&gt;&lt;br/&gt;本来以为下半年过来能经常聚一下，结果我又要出远门了。也许就因为这样，提前安排了这么一次会晤，还真是有意思。&lt;br/&gt;&lt;br/&gt;走的时候匆匆告个别，下次见面又不知道是什么时候了。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=713f3598a9b3862d623bf1c57f7f99e1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=713f3598a9b3862d623bf1c57f7f99e1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=5fdc70a0ec0c0fac2d71c5d6b60e341f&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=5fdc70a0ec0c0fac2d71c5d6b60e341f&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=3883c45f691d104415d7e917ee168a8a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=3883c45f691d104415d7e917ee168a8a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Life</category><pubDate>Tue, 01 Jul 2008 15:58:25 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/716.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/716.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/716.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479311/4091336</fs:itemid></item><item><title>解放区的天是明朗的天</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479312/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=715</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=715&amp;key=c0edc409</trackback:ping><description>解放区的人民好喜欢。&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d39fb96383&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/837815cc605b/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a1616384&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/703415cc605c/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a3176385&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/946375cc605d/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a4146386&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/781315cc605c/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a79f6389&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/695285cc605d/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a851638a&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/151385cc605e/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a8ce638b&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/568065cc605e/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011ad9d3a957638c&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/383825cc605e/medium.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=10632835dc67065e36ffe0cb36b0fbe3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=10632835dc67065e36ffe0cb36b0fbe3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=efa1bd4e78747c5ddef266c83b5c7334&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=efa1bd4e78747c5ddef266c83b5c7334&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=21ca4527cfb03eaec34af75cd9a8e5f3&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=21ca4527cfb03eaec34af75cd9a8e5f3&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Photo</category><pubDate>Mon, 30 Jun 2008 22:17:27 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/715.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/715.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/715.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479312/4091336</fs:itemid></item><item><title>Struts2 的XSLTResult输出问题</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479313/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=714</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=714&amp;key=bb41f075</trackback:ping><description>今天本打算做一些基于XML的WebService接口，不料遇到了bug，折腾了一个下午带半个晚上，最后才在网上搜到原因和解决办法，特来分享。&lt;br/&gt;&lt;br/&gt;原本正常情况下，Struts2是支持将一个Action中的全部属性以XML形式输出的，这就是XSLTResult。在struts.xml中这样配置&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;action&amp;nbsp;name=&quot;getuser&quot;&lt;br/&gt;&amp;nbsp;&amp;nbsp;class=&quot;org.lilystudio.winter.actions.service.GetUserAction&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;result&amp;nbsp;name=&quot;success&quot;&amp;nbsp;type=&quot;xslt&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/result&amp;gt;&lt;br/&gt;&amp;lt;/action&amp;gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;即可。&lt;br/&gt;&lt;br/&gt;而为了输出Action中的某一个属性，需要增加一个param&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;action&amp;nbsp;name=&quot;getuser&quot;&lt;br/&gt;&amp;nbsp;&amp;nbsp;class=&quot;org.lilystudio.winter.actions.service.GetUserAction&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;result&amp;nbsp;name=&quot;success&quot;&amp;nbsp;type=&quot;xslt&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param&amp;nbsp;name=&quot;exposedValue&quot;&amp;gt;user&amp;lt;/param&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/result&amp;gt;&lt;br/&gt;&amp;lt;/action&amp;gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;&lt;br/&gt;这里就是将user属性序列化成XML。属性的选择支持OGNL，也就是说，这里不仅可以填属性名，还可以填属性的属性，属性的集合等等，如&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;param&amp;nbsp;name=&quot;exposedValue&quot;&amp;gt;user.nickname&amp;lt;/param&amp;gt;&lt;br/&gt;&amp;lt;param&amp;nbsp;name=&quot;exposedValue&quot;&amp;gt;{&amp;nbsp;user1,user2&amp;nbsp;}&amp;lt;/param&amp;gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;&lt;br/&gt;这里用的都是一个默认的XSL&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;xsl:template&amp;nbsp;match=&quot;/result&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;result&amp;nbsp;/&amp;gt;&lt;br/&gt;&amp;lt;/xsl:template&amp;gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;&lt;br/&gt;也可以通过用户指定的方式使用自定义的复杂的XSL&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;param&amp;nbsp;name=&quot;location&quot;&amp;gt;/WEB-INF/foo.xsl&amp;lt;/param&amp;gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;&lt;br/&gt;不过，据&lt;a href=&quot;http://cse-mjmcl.cse.bris.ac.uk/blog/2007/09/10/1189430125294.html&quot; target=&quot;_blank&quot;&gt;这篇文章的留言&lt;/a&gt;说在Struts2.0.11所使用的SimpleAdaptedDocument不支持DOM Level 3，与JDK中的Transformor冲突。于是会抛出这样的异常&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;javax.xml.transform.TransformerException:&amp;nbsp;Operation&amp;nbsp;not&amp;nbsp;supported.&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;&lt;br/&gt;怎么办呢？同一篇文章给出了答案，使用一个自定义的XSL&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;?xml&amp;nbsp;version=&quot;1.0&quot;&amp;nbsp;encoding=&quot;UTF-8&quot;&amp;nbsp;?&amp;gt;&lt;br/&gt;&amp;lt;xsl:stylesheet&amp;nbsp;xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&amp;nbsp;version=&quot;1.0&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:output&amp;nbsp;method=&quot;xml&quot;/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:template&amp;nbsp;match=&quot;/&quot;&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:copy-of&amp;nbsp;select=&quot;.&quot;/&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/xsl:template&amp;gt;&lt;br/&gt;&amp;lt;/xsl:stylesheet&amp;gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;作者说这种方法不太pretty，不过在Struts2修改这个问题之前恐怕这是一个不错的办法了。最后我也是看到这个才免于一晚上的徒劳。&lt;br/&gt;&lt;br/&gt;可惜我对XML、XSLT之类的知识还是欠缺不少，白白浪费了时间，很是无奈。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=aaf9f03f16ce0db53e1c19f57320c930&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=aaf9f03f16ce0db53e1c19f57320c930&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=f3525d49a2e392761262408286e663d6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=f3525d49a2e392761262408286e663d6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=b87e428864a989a37f54877e2be932bd&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=b87e428864a989a37f54877e2be932bd&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Tech</category><pubDate>Mon, 30 Jun 2008 00:45:23 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/714.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/714.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/714.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479313/4091336</fs:itemid></item><item><title>连SF都封</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479314/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=713</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=713&amp;key=bd45c9f6</trackback:ping><description>这简直就是一件不可思议的事情，整个中国大陆没法访问SourceForge了，实在是骇人听闻！&lt;br/&gt;&lt;br/&gt;已经有无数在Wordpress.com, Blogspot.com的技术博客被封了，因为开放的BSP言论太自由封了也就罢了，我们看不到别人的技术、经验、文章也就罢了，我们忍了；我们技术上落后，我们多花点时间，加班到跳楼也忍了。如今连SF都没了，软件没了，代码也没了，以前还能凑个热闹，这下牛b了，热闹也凑不上。&lt;br/&gt;&lt;br/&gt;我希望是一次误封，因为前段时间好像看到SF说自己要搬家，也许正好搬到一个被封的段上呢。更因为我实在是不愿把我们管GFW的同志想得那么恶劣那么卑鄙。&lt;br/&gt;&lt;br/&gt;这下好了，没有了SF，我们就得去买盗版软件，找keygen。这还是小的，没了SF就没了Spring没了Hibernate没了各种各样的框架、库，我们拿什么为人民服务拿什么建设社会主义。要是天灾也就罢了，大不了白手起家我们重头干，好家伙这是赤裸裸的人祸，还是标榜维护国家安全的自己人干的。发指啊，时隔100多年，这群人脑袋后面是不是又长出了辫子。&lt;br/&gt;&lt;br/&gt;如果SF一段时间内还不解封，我真想转行了，这样下去没意思，没前途。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=13b5c58309fbc74f5f1fab180c602585&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=13b5c58309fbc74f5f1fab180c602585&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=c849a7d0c8eda7e34288cb9c2b757002&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=c849a7d0c8eda7e34288cb9c2b757002&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=f03818d0f20f8f730853ed864f8faf32&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=f03818d0f20f8f730853ed864f8faf32&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Miscellaneus</category><pubDate>Sun, 29 Jun 2008 10:19:05 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/713.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/713.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/713.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479314/4091336</fs:itemid></item><item><title>我们是过客我们不是归人</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479315/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=712</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=712&amp;key=6456dda0</trackback:ping><description>今天正式离开浦口了。我期待了三年的日子，真正到来的时候却大大超乎我的想象，没有多到拿不完的行李，没有前呼后拥的159，没有烈日炎炎，没有依依惜别，仅有的再见还是和根本不熟的宿管说的；我甚至万万想不到浦口的最后一碗方便面居然是漏的，以及我最后一次在教育超市买东西收款机溢出的60亿找零金额。&lt;br/&gt;&lt;br/&gt;比起轰轰烈烈地开学，浦口的离开实在是黯然。虽然经过了一段时间也对浦口有了不少留恋，但是比起回家，比起在鼓楼的广阔天地，离开浦口还是不需要什么思想斗争的。远离喧嚣偶尔让人陶醉，不过大桥、校车和其他尴尬的东西总还是能把人带回现实。&lt;br/&gt;&lt;br/&gt;我会记住为了听某桥大学某教授的讲座，我们从浦口坐131，因为大桥下堵车，冒雨从装饰城走到大桥北堡，再挤上132，从广州路门穿过南园上了蒙民伟却发现只能站在门外偷偷摸摸地听后半段。并且同时，浦口的城市规划原理课上还被点了名。&lt;br/&gt;&lt;br/&gt;这就是浦口留给我们的和谐氛围，不在和谐中暴发就在和谐中睡着。还好和卧铺一样，即使睡着了也没有关系，到站了乘务员会叫醒我，催我换票，然后下车滚蛋。&lt;br/&gt;&lt;br/&gt;滚蛋是滚蛋了，还得说说我们宿舍。从第一天开始我们记寝室日记，坚持了三年，虽然有无数给忘写的日子，但是最终还是都坚持下来了，哪怕是流水账甚至是一句话。昨天记完我的最后一篇，这个日记本也就只剩下两个主人和不多的几天了。哎，住了三年的几个人要散，总还是有些遗憾的。&lt;br/&gt;&lt;br/&gt;就是那谁说的，即使今天漫天的乌云，我们哪怕把袖子挥到天上去也带不走一片啊。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=3069df1f1c18a0993d8a04ebce6b18f2&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=3069df1f1c18a0993d8a04ebce6b18f2&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=4e0df93eec8691e15fbcca4e11e36afc&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=4e0df93eec8691e15fbcca4e11e36afc&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=212138de687f7733168840b8ef7b9fff&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=212138de687f7733168840b8ef7b9fff&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Life</category><pubDate>Sat, 28 Jun 2008 23:06:20 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/712.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/712.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/712.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479315/4091336</fs:itemid></item><item><title>生成Django的model图</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479316/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=711</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=711&amp;key=2aba4ec8</trackback:ping><description>前两天在Django的Wiki上发现一个有趣的东西，modelviz.py。可以将Django项目的Models转为dot格式的Graphviz图形，再通过Graphviz的引擎可以转成普通的图片。&lt;br/&gt;&lt;br/&gt;这是我前段时间做的足球联赛计分的model关系图，图片的效果不是很理想，但是毕竟是自动化生成的。&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811ac375f7011aca08c3124323&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/220205c85563/8ks648hh.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;其实modelviz和dot格式本身也不是非常复杂，只是能想到就很不容易。&lt;br/&gt;&lt;br/&gt;modelviz可以在这里找到&lt;br/&gt;&lt;a href=&quot;http://code.djangoproject.com/wiki/DjangoGraphviz&quot;  target=&quot;_blank&quot;&gt;http://code.djangoproject.com/wiki/DjangoGraphviz&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;只要把check out的modelviz放到Django的Project目录下，执行&lt;br/&gt;&lt;p class=&quot;code&quot;&gt;&lt;code&gt;python&amp;nbsp;modelviz.py&amp;nbsp;APP_NAME&amp;nbsp;&amp;gt;&amp;nbsp;out.dot&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;即可。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=1fb45db917efbee5ec19c8488aa2b508&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=1fb45db917efbee5ec19c8488aa2b508&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=5087901002e8b2ecc4c993613ba2067a&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=5087901002e8b2ecc4c993613ba2067a&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=db5aa59d34d6a533357da6f3541d1bcb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=db5aa59d34d6a533357da6f3541d1bcb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Tech</category><pubDate>Fri, 27 Jun 2008 20:42:32 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/711.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/711.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/711.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479316/4091336</fs:itemid></item><item><title>北上</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479317/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=710</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=710&amp;key=3fac805e</trackback:ping><description>“小饭馆里面辛勤的是，外地的老乡们，他们的脸色，像我一样。”&lt;br/&gt;&lt;br/&gt;我要去北京了。六年前去北京玩，在北大门口开玩笑说，不留影了，到时候直接过来。结果从北京回来在火车上感冒发烧，连之后金陵中学重点班的考试都给误了。一晃到了三年前，想起这句话来只能抿嘴一笑，谁让吹牛不用税呢。&lt;br/&gt;&lt;br/&gt;现在又有了机会过去了，半年的时间够我感受一下了。自从从太原搬到南京，我还没有在北方再停留过这么长时间，整个一个夏秋冬，各种滋味也差不多齐了吧。我去考古，挖掘一些我自己记忆深处的东西，比如参观一下《人间指南》编辑部，到杨柳北里找一下付明老先生家，呵呵。有机会在亲眼见一次张楚窦唯，没事在马路上晃晃，抬头一看没准就是什么地方听过的地名，低头一瞧说不定又是什么时候见过的景物。这种感受，对我太有吸引力了。说是去怀旧虽然名不副实，但是从小文化上的熏陶就让我特别有归属感。从这点来说上海虽然很近，但是就少了这么一分感受。&lt;br/&gt;&lt;br/&gt;哎，一不小心就当成是去玩了。半年实习，嗯，是去学习的。我早就在课堂上坐不住了。这个机会得来不易，好好抓住！还要特别感谢Xu Yunjing同学给予的巨大帮助！&lt;br/&gt;&lt;br/&gt;下个月初启程。&lt;br/&gt;&lt;br/&gt;可惜这次不能住在王府井了。&lt;br/&gt;&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=803a10ce914c2aca9dc1168b5e4cd1cb&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=803a10ce914c2aca9dc1168b5e4cd1cb&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=b36eefdeb3c114113f963fc48adb0e82&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=b36eefdeb3c114113f963fc48adb0e82&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=9906ed5b9d8a3d4794a7e9747edaa66b&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=9906ed5b9d8a3d4794a7e9747edaa66b&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Life</category><pubDate>Thu, 26 Jun 2008 16:38:53 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/710.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/710.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/710.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479317/4091336</fs:itemid></item><item><title>要准备用Dojo了</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479318/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=709</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=709&amp;key=8cedcfa0</trackback:ping><description>我从来没有认真的看过一个JavaScript框架。也巧，最早看到的JavaScript框架就是Dojo，后来因为找不到好的离线文档，资料不多就放弃了。去年暑假，用Struts2的时候顺带简单用了一下Dojo（Struts2自带Dojo，Java世界似乎对Dojo有出奇的兴趣），还是一样的问题，找不到好的文档，东西太多太大，不喜欢。&lt;br/&gt;&lt;br/&gt;今年夏天忽然一股Dojo风吹出来，OReilly先后出了两本Dojo的书： Mastering Dojo和Dojo: the Definitive Guide。其它出版社似乎也有Dojo的书出版，都集中在今年六月份。据说 Mastering Dojo的作者还是Dojo的创始人，足够权威了。眼下就等EBook赶紧出来了，没有办法，我们这些小米步枪的人只能靠这些东西补给了。&lt;br/&gt;&lt;br/&gt;当然，JavaScript本身还有很多要学的，至今我对继承还是不太熟悉。我自己也一直主张要专注于JavaScript本身，而不是某个框架。JavaScript本身确实很优美很强大，以至于某个库或者框架一封装俨然就像另一种语言一样。这是好处，也是坏处。如今真要用了，有时候也确实把握不住自己，难免走上功利。&lt;br/&gt;&lt;br/&gt;其实如果能用JavaScript真正做一些东西还是不错的，只要不跟最终用户打太多交道就好。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=9ec9951776a79b86b02352b794885f77&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=9ec9951776a79b86b02352b794885f77&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=d1408506f362d107dd2016efd5211bd1&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=d1408506f362d107dd2016efd5211bd1&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=62ef5dcec74b8387ef969ab748681370&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=62ef5dcec74b8387ef969ab748681370&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Tech</category><pubDate>Wed, 25 Jun 2008 00:14:18 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/709.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/709.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/709.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479318/4091336</fs:itemid></item><item><title>Winter Gloves 1.1.7 and more</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479319/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=708</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=708&amp;key=6ebb2662</trackback:ping><description>Change:&lt;br/&gt;* new &quot;welcome&quot; pane&lt;br/&gt;&lt;a href=&quot;http://www.yupoo.com/photos/view?id=ff8080811aa55d9c011ab60500b43f30&quot; target=&quot;_blank&quot;&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://pic.yupoo.com/classicning/410135c335b1/37rjuqou.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;我越来越喜欢Swing和AWT了，以前不知道，原来Java 2D里连图像卷积的API都有，可以自定义卷积核。可惜没有人用Java写个Photoshop什么的，但是我觉得Java 2D的API已经足够了，可惜关注的人不多。还有一个可惜的就是没有面向UI设计的可视化工具，不是说想NetBeans那样，那个只能算是Builder，如果能有一个Designer。比如交给设计师，随意覆盖paintComponent的方法，运用Java2D API提供的诸如Composite、GradienPaint这样的高级特性，完全可以实现一个类似Fireworks或者Photoshop的设计工具，而这些最终在Swing上的实现都是矢量的，多么完美。&lt;br/&gt;&lt;br/&gt;从能力上说，Java 2D的API绝不比任何一个RIA应用弱，甚至要强得多。但是因为要用编程的方式实现，所以阻止了UI设计师们发挥自己的特长。毕竟用代码而不是笔刷设计界面实在是比较麻烦。&lt;br/&gt;&lt;br/&gt;即使在RIA上，我还是力挺Java。&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=7d4cf6673b1641772be90a92267fac27&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=7d4cf6673b1641772be90a92267fac27&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=e36bf672441b04536cc4cf1753c936b6&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=e36bf672441b04536cc4cf1753c936b6&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=79fa2f2b03eda5cee046f2fd629a76c4&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=79fa2f2b03eda5cee046f2fd629a76c4&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>Project</category><pubDate>Tue, 24 Jun 2008 00:02:19 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/708.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/708.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/708.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479319/4091336</fs:itemid></item><item><title>Indiana Jones and the Fonts on the Maps</title><link>http://item.feedsky.com/~feedsky/classicning/~7067629/101479320/4091336/1/item.html</link><wfw:comment>http://www.classicning.com/blog/</wfw:comment><wfw:commentRss>http://www.classicning.com/blog/feed.asp?cmt=707</wfw:commentRss><trackback:ping>http://www.classicning.com/blog/cmd.asp?act=tb&amp;id=707&amp;key=8654a5cb</trackback:ping><description>In Indiana Jones and the Last Crusade, there is a funny scene in which Indy’s father breaks a vase over Indy’s head. As soon as he does it, he looks horrified—not because he’s mistakenly attacked his own son, but because he notices that it was a priceless Ming vase. Upon closer examination, he is relieved to discover the vase is a fake. &lt;br/&gt;&lt;br/&gt;Now that the fourth (and last?) Indiana Jones movie is out, I made a similar examination of the use of type in the series, but I was not quite as relieved. For the most part, the type usage in each of the movies is correct for the period depicted. With one exception: The maps used in the travel montages. &lt;br/&gt;&lt;br/&gt;Whenever Indy is traveling great distances, which happens in all the films, there is a montage of the airplane or boat superimposed over an animated map showing the route. It’s an old-fashioned convention, an homage to the movies of the Thirties and Forties. Unfortunately, the typefaces would be more at home a few decades later.&lt;br/&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://www.marksimonson.com/images/raiders.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;In Raiders of the Lost Ark (1981) which is set in 1936, we see ITC Serif Gothic (designed in 1972). The wide spacing feels right, and it does have an art deco feel, but it’s 1970s art deco.&lt;br/&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://www.marksimonson.com/images/temple.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Indiana Jones and the Temple of Doom (1984) strays even further in the anachronistic type department by using Helvetica (1957), which looks even less plausible than Serif Gothic.&lt;br/&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://www.marksimonson.com/images/crusade.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;The third installment, Indiana Jones and the Last Crusade (1989), goes back to the formula used in the first film in many ways, including the use of ITC Serif Gothic again on the map. Not appropriate for a film set in 1938, either.&lt;br/&gt;&lt;img onload=&quot;ResizeImage(this,520)&quot; src=&quot;http://www.marksimonson.com/images/skull.jpg&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Did they finally get it right in the fourth film, Indiana Jones and the Kingdom of the Crystal Skull (2008)? Not quite. They didn’t use Serif Gothic this time, or even Helvetica (which would just have been released in 1957, the year in which the film is set). Instead, they used Century Gothic, a font that didn’t exist until 1989. This wouldn’t necessarily be a problem since Century Gothic’s caps are very similar to Futura, which would be perfectly appropriate for 1957. Unfortunately, Century Gothic is also a clone of Avant Garde (1970), a typeface with very large lowercase letters, a quintessentially Seventies characteristic. (More about Century Gothic here.) So, not the best choice.&lt;br /&gt;&lt;!-- Feedsky flare --&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=ca7d3de6d10aef02c5a0b4b5ee931e36&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=ca7d3de6d10aef02c5a0b4b5ee931e36&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=2392f25128fd6b2ce777b07ecfece608&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=2392f25128fd6b2ce777b07ecfece608&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://feed.feedsky.com/~flare/classicning?a=00544549900e72347f01dddcee0fc7bd&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~flare/classicning?i=00544549900e72347f01dddcee0fc7bd&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;!-- /Feedsky flare --&gt;</description><category>ZZ</category><pubDate>Mon, 23 Jun 2008 10:27:18 +0800</pubDate><author>classicning@classicning.com (Classicning)</author><comments>http://www.classicning.com/blog/post/707.html#comment</comments><guid isPermaLink="false">http://www.classicning.com/blog/post/707.html</guid><dc:creator>classicning@classicning.com (Classicning)</dc:creator><fs:srclink>http://www.classicning.com/blog/post/707.html</fs:srclink><fs:srcfeed>http://www.classicning.com/blog/rss.xml</fs:srcfeed><fs:itemid>feedsky/classicning/~7067629/101479320/4091336</fs:itemid></item></channel></rss>