<?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:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/daysoflinnchord" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/daysoflinnchord" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 23 Nov 2009 06:32:10 GMT</lastBuildDate><title>days of linnchord</title><description>days of linnchord</description><image><url>http://www.feedsky.com/images/feedsky_logologo.gif</url><title>days of linnchord</title><link>http://linnchord.net</link></image><link>http://linnchord.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Wed, 02 Dec 2009 02:42:15 GMT</pubDate><item><title>dreamhost to Linode</title><link>http://linnchord.net/archives/644.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://dreamhost.com&quot; target=&quot;_blank&quot;&gt;dreamhost&lt;/a&gt;越来越2了，整天不务正业优化服务，就知道往我邮箱发PS广告。广告倒是吹的挺不错，不过问题是你旧的成熟的虚拟主机都做不好，我怎么可能信任你PS呢？后来网上很多同仁的经验也表明dh的PS不太靠谱。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://linode.com&quot; target=&quot;_blank&quot;&gt;Linode&lt;/a&gt;口碑一直不错，但是价格虽然在VPS中算是实惠，也总比一般虚拟主机高一截。最近Linode在国内似乎小火了一把，好些网上同仁撰文推荐，重新上去看看，发现最低配置已经由原来256M升级到了360M，性价比又有提升了。琢磨一下，弄个nginx+fastcgi跑wordpress，再搞一个jetty在后面跑java小应用，应该没啥问题。&lt;/p&gt;
&lt;p&gt;正好dreamhost到期了,嗯，搞搞。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823213/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/644.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823213/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823213/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/644.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>dreamhost越来越2了，整天不务正业优化服务，就知道往我邮箱发PS广告。广告倒是吹的挺不错，不过问题是你旧的成熟的虚拟主机都做不好，我怎么可能信任你PS呢？后来网上很多同仁的经验也表明dh的PS不太靠谱。
Linode口碑一直不错，但是价格虽然在VPS中算是实惠，也总比一般虚拟主机高一截。最近Linode在国内似乎小火了一把，好些网上同仁撰文推荐，重新上去看看，发现最低配置已经由原来256M升级到了360M，性价比又有提升了。琢磨一下，弄个nginx+fastcgi跑wordpress，再搞一个jetty在后面跑java小应用，应该没啥问题。
正好dreamhost到期了,嗯，搞搞。&lt;img src=&quot;http://www1.feedsky.com/t1/303823213/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/644.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823213/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823213/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>linode vps</category><category>随记</category><pubDate>Mon, 23 Nov 2009 14:32:10 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/644.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=644</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/644.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823213/1232797</fs:itemid></item><item><title>Web 开发与设计师速查手册大全</title><link>http://linnchord.net/archives/633.html</link><content:encoded>&lt;p&gt;非常丰富且有用的资源，copy记录存照。&lt;/p&gt;
&lt;p&gt;来源：&lt;a href=&quot;http://www.tripwiremagazine.com/tools/design/40-must-have-cheat-sheets-for-effective-web-designers.html&quot; target=&quot;_blank&quot;&gt;http://www.tripwiremagazine.com/tools/design/40-must-have-cheat-sheets-for-effective-web-designers.html&lt;/a&gt;&lt;br /&gt;
整理：&lt;a href=&quot;http://www.comsharp.com/GetKnowledge/zh-CN/CMS_K826.aspx&quot; target=&quot;_blank&quot;&gt;COMSHARP CMS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cheat Sheet 一词在中文中并没有很贴切的对译，大概是考试作弊条一类的东西，这要求 Cheat Sheet 必须短小精悍又覆盖广泛，作为 Web 开发与设计师，免不了在工作时查询大量资料，某个 Web 色值，某个 JavaScript 库的核心语法，这类资料如果攒齐了，怕有半间屋子那么多，如果用 Cheet Sheet 也许几十页纸就够了，本文收集了近百份用于 Web 开发与设计的 Cheet Sheet，你会发现他们非常实用。&lt;/p&gt;
&lt;p&gt;HTML, XHTML, CSS2&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://acodingfool.typepad.com/blog/css-cheat-sheet.html&quot;&gt;CSS2 Cheat Sheet&lt;/a&gt;&lt;br /&gt;
一份完整的 CSS2 速查手册。&lt;a href=&quot;http://acodingfool.typepad.com/blog/css-cheat-sheet.html&quot;&gt;预览&lt;/a&gt; |  &lt;a href=&quot;http://acodingfool.typepad.com/blog/pdf/css_cheatsheet_v2.pdf&quot;&gt;下载&lt;/a&gt; （PDF）&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.gosquared.com/images/help_sheets/CSS%20Help%20Sheet%2002.pdf&quot;&gt;Gosquared CSS help sheets&lt;/a&gt;&lt;br /&gt;
设计和结构都很整齐，漂亮。&lt;a href=&quot;http://www.gosquared.com/images/help_sheets/CSS%20Help%20Sheet%2002.pdf&quot;&gt;下载（PDF）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-633&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/css_help_sheets.jpg&quot; alt=&quot;&quot; width=&quot;561&quot; height=&quot;354&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/&quot;&gt;addedbytes CSS2 Cheat Sheet&lt;/a&gt;&lt;br /&gt;
该速查手册只有一页纸，包含 CSS 2.1 全部选择器和属性，还包含一个盒子模型示例。下载（&lt;a href=&quot;http://www.addedbytes.com/download/css-cheat-sheet-v2/pdf/&quot;&gt;PDF&lt;/a&gt; | &lt;a href=&quot;http://www.addedbytes.com/download/css-cheat-sheet-v2/png/&quot;&gt;PNG&lt;/a&gt;）&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.addedbytes.com/cheat-sheets/thumbnails/css_v2_plain.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;http://refcardz.dzone.com/refcardz/corecss-part1&quot;&gt;Core css&lt;/a&gt;&lt;br /&gt;
将 CSS 的核心知识分成3部分，包含了 CSS 的方方面面。&lt;a href=&quot;http://refcardz.dzone.com/assets/request/refcard/4784?oid=lan4784&amp;amp;amp;amp;uid=0&quot;&gt;下载&lt;/a&gt; （需免费注册）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/corecss-part1.jpg&quot; alt=&quot;&quot; /&gt; &lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/corecss-part3.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.eddiewelker.com/wp-content/uploads/2007/09/csscheatsheet.pdf&quot;&gt;CSS Shorthand Cheat Sheet&lt;/a&gt;&lt;br /&gt;
一些不容易记住的 CSS 元素。&lt;a href=&quot;http://www.eddiewelker.com/wp-content/uploads/2007/09/csscheatsheet.pdf&quot;&gt;下载&lt;/a&gt; （PDF）&lt;br /&gt;
&lt;a href=&quot;http://www.veign.com/downloads/guides/qrg0007.pdf&quot;&gt;CSS2 – Quick Reference Guide – PDF&lt;/a&gt; &lt;a href=&quot;http://www.veign.com/downloads/guides/qrg0007.pdf&quot;&gt;下载&lt;/a&gt;（PDF） &lt;a href=&quot;http://acodingfool.typepad.com/blog/2009/01/xhtml.html&quot;&gt;XHTML 1.1 Cheat Sheet&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.w3.org/TR/xhtml11/&quot;&gt;XHTML 1.1&lt;/a&gt; 细则中涉及到的所有元素与属性。&lt;a href=&quot;http://acodingfool.typepad.com/blog/xhtml-11-cheat-sheet.html&quot;&gt;预览&lt;/a&gt; | &lt;a href=&quot;http://acodingfool.typepad.com/blog/pdf/xhtml_1.1_cheatsheet_v3.pdf&quot;&gt;下载&lt;/a&gt;&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/xhtml_1_1_cheatsheet.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.gosquared.com/images/help_sheets/HTML%20Help%20Sheet%2002.pdf&quot;&gt;Gosquared html help sheets&lt;/a&gt;&lt;br /&gt;
设计漂亮，结构精良的 HTML 速查。&lt;a href=&quot;http://www.gosquared.com/images/help_sheets/HTML%20Help%20Sheet%2002.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/html-help_sheets.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.addedbytes.com/cheat-sheets/html-cheat-sheet/&quot;&gt;HTML Cheat Sheet&lt;/a&gt;&lt;br /&gt;
一份 A4 纸大小的单页 HTML 速查表。下载 （&lt;a href=&quot;http://www.addedbytes.com/download/html-cheat-sheet-v1/pdf/&quot;&gt;PDF&lt;/a&gt; | &lt;a href=&quot;http://www.addedbytes.com/download/html-cheat-sheet-v1/png/&quot;&gt;PNG&lt;/a&gt;）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/html.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://acodingfool.typepad.com/blog/html-character-entities-cheat-sheet.html&quot;&gt;HTML Character Entities Cheat Sheet&lt;/a&gt;&lt;br /&gt;
该表包含 &lt;a href=&quot;http://www.w3.org/TR/html4/sgml/entities.html&quot;&gt;HTML 4 字符标识&lt;/a&gt;，包括 ISO8859-1 (Latin-1)  中的字符。&lt;a href=&quot;http://acodingfool.typepad.com/blog/html-character-entities-cheat-sheet.html&quot;&gt;预览&lt;/a&gt; | &lt;a href=&quot;http://acodingfool.typepad.com/blog/pdf/html_entities_cheatsheet_v3.pdf&quot;&gt;下载&lt;/a&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/html_entities_cheatsheet.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;http://acodingfool.typepad.com/blog/html-colors-cheat-sheet.html&quot;&gt;HTML Colors Cheat Sheet&lt;/a&gt;&lt;br /&gt;
该  HTML 颜色表包含 1050 种颜色。&lt;a href=&quot;http://acodingfool.typepad.com/blog/html-colors-cheat-sheet.html&quot;&gt;预览&lt;/a&gt; | &lt;a href=&quot;http://acodingfool.typepad.com/blog/pdf/html_colors_cheatsheet_v2.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/html_colors_cheatsheet.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.addedbytes.com/cheat-sheets/colour-chart/&quot;&gt;RGB Hex Colour Chart&lt;/a&gt;&lt;br /&gt;
RGB 16进制颜色表。包含216种 Web 安全色。下载 （&lt;a href=&quot;http://www.addedbytes.com/download/rgb-hex-cheat-sheet-v1/png/&quot;&gt;PNG&lt;/a&gt; | &lt;a href=&quot;http://www.addedbytes.com/download/rgb-hex-cheat-sheet-v1/pdf/&quot;&gt;PDF&lt;/a&gt;）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/rgb-hex-cheat.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Scripting 速查手册 &lt;a href=&quot;http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/&quot;&gt;JavaScript Cheat Sheet&lt;/a&gt;&lt;br /&gt;
包含 JavaScript 的 的方法与函数，正则表单时，以及 XMLHttpRequest  对象。下载（&lt;a href=&quot;http://www.addedbytes.com/download/javascript-cheat-sheet-v1/png/&quot;&gt;PNG&lt;/a&gt; | &lt;a href=&quot;http://www.addedbytes.com/download/javascript-cheat-sheet-v1/pdf/&quot;&gt;PDF&lt;/a&gt;）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/javascript.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.wait-till-i.com/stuff/JavaScript-DOM-Cheatsheet.pdf&quot;&gt;JavaScript DOM Cheatsheet&lt;/a&gt;&lt;br /&gt;
JavaScript DOM 结构速查手册。&lt;a href=&quot;http://www.wait-till-i.com/stuff/JavaScript-DOM-Cheatsheet.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/javascript-dom.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://acodingfool.typepad.com/blog/2009/01/jquery-13-cheat-sheet.html&quot;&gt;jQuery 1.3 Cheat Sheet&lt;/a&gt;&lt;br /&gt;
jQuery 1.3 速查表。&lt;a href=&quot;http://acodingfool.typepad.com/blog/jquery-13-cheat-sheet.html&quot;&gt;预览&lt;/a&gt; | &lt;a href=&quot;http://acodingfool.typepad.com/blog/pdf/jquery_1.3_cheatsheet_v1.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/acodingfooljquery.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://mediavrog.net/blog/2008/06/11/mootools/mootools-12-cheat-sheet/&quot;&gt;mootools 1.2 cheat sheet&lt;/a&gt;&lt;br /&gt;
另一个 JavaScript 库 MooTools 1.2 速查手册。&lt;a href=&quot;http://mediavrog.net/blog/wp-content/uploads/2008/08/mootools-12-cheat-sheet-pf.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/mootools.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://thinkweb2.com/projects/prototype/prototype-1602-cheat-sheet/&quot;&gt;Prototype 1.6.0.2 Cheat Sheet&lt;/a&gt;&lt;br /&gt;
JavaScript 库 Prototype 1.6.0.2 速查手册。&lt;a href=&quot;http://thinkweb2.com/projects/prototype/downloads/Prototype%20Cheat%20Sheet%201.6.0.2&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/prototype_cheatsheet_1.6.0.2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://wps.aw.com/wps/media/objects/2234/2287950/javascript_refererence.pdf&quot;&gt;Addison-Wesley’s JavaScript Reference Card&lt;/a&gt;&lt;br /&gt;
JavaScript 参考手册。&lt;a href=&quot;http://wps.aw.com/wps/media/objects/2234/2287950/javascript_refererence.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/javascript_refererence.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://refcardz.dzone.com/refcardz/jquery-selectors&quot;&gt;jQuery selectors&lt;/a&gt;&lt;br /&gt;
对 jQuery 开发者来说，该速查手册不可或缺，详细列举了 jQuery 所有选择器。&lt;a href=&quot;http://refcardz.dzone.com/assets/request/refcard/3088?oid=lan3088&amp;amp;amp;amp;uid=0&quot;&gt;下载&lt;/a&gt; （免费注册）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/jquery-selectors.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;服务器端编程 &lt;a href=&quot;http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/&quot;&gt;PHP Cheat Sheet (V2)&lt;/a&gt;&lt;br /&gt;
单页 PHP 参考手册，包含日期格式，正则表达式以及常用函数。下载 （&lt;a href=&quot;http://www.addedbytes.com/download/php-cheat-sheet-v2/pdf/&quot;&gt;PDF&lt;/a&gt; | &lt;a href=&quot;http://www.addedbytes.com/download/php-cheat-sheet-v2/png/&quot;&gt;PNG&lt;/a&gt;）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/php.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.stevengould.org/portfolio/independent/php-refcard/PHPRefCard.pdf&quot;&gt;Php 4 Reference Card&lt;/a&gt; PHP4 参考速查手册。&lt;a href=&quot;http://www.stevengould.org/portfolio/independent/php-refcard/PHPRefCard.pdf&quot;&gt;下载&lt;/a&gt;（PDF） &lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/php4.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.blueshoes.org/en/developer/php_cheat_sheet/&quot;&gt;PHP Cheat Sheet&lt;/a&gt;&lt;br /&gt;
PHP 比较操作速查手册。&lt;a href=&quot;http://www.blueshoes.org/en/developer/php_cheat_sheet/&quot;&gt;下载&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.xml.su/&quot;&gt;XML (eXtensible Markup Language) in one page&lt;/a&gt; XML 单页速查手册。&lt;a href=&quot;http://www.xml.su/&quot;&gt;直接访问&lt;/a&gt; &lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/xml.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mulberrytech.com/quickref/XMLquickref.pdf&quot;&gt;XML Syntax Quick Reference&lt;/a&gt; XML 语法参考。&lt;a href=&quot;http://www.mulberrytech.com/quickref/XMLquickref.pdf&quot;&gt;下载&lt;/a&gt;（PDF） &lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/XMLquickref.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;SEO 速查手册 &lt;a href=&quot;http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet&quot;&gt;The Web Developer’s SEO Cheat Sheet&lt;/a&gt;&lt;br /&gt;
出自 SEO MOZ 的 SEO 速查手册，包括重要的 SEO HTML 标签，搜索引擎索引的限制，Title 标签语法建议等。&lt;a href=&quot;http://www.seomoz.org/user_files/SEO_Web_Developer_Cheat_Sheet.pdf&quot;&gt;下载&lt;/a&gt;（PDF）&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/soemoz.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Color Codes&lt;/h3&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.addedbytes.com/cheat-sheets/colour-chart/&quot;&gt;RGB Hex Colour Chart&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;这张 RGB 16进制颜色速查表刚好可以打印在整张 A4 纸上，包含216种所谓的 Web 安全色。下载（&lt;a href=&quot;http://www.addedbytes.com/download/rgb-hex-cheat-sheet-v1/png/&quot;&gt;PNG&lt;/a&gt; | &lt;a href=&quot;http://www.addedbytes.com/download/rgb-hex-cheat-sheet-v1/pdf/&quot;&gt;PDF&lt;/a&gt; ）&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/colour-chart.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.veign.com/downloads/guides/qrg0006.pdf&quot;&gt;Color Reference Guide&lt;/a&gt; （配色表,下载 &lt;a href=&quot;http://www.veign.com/downloads/guides/qrg0006.pdf&quot;&gt;PDF&lt;/a&gt; ）&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/qrg0006.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; width=&quot;621&quot; height=&quot;279&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.pagetutor.com/pagetutor/makapage/pics/net216-2.gif&quot;&gt;Web Safe Color Chart&lt;/a&gt; （Web 安全色,下载 &lt;a href=&quot;http://www.pagetutor.com/pagetutor/makapage/pics/net216-2.gif&quot;&gt;GIF&lt;/a&gt; ）&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/net216-2.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; width=&quot;621&quot; height=&quot;330&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;&lt;a href=&quot;http://acodingfool.typepad.com/blog/html-colors-cheat-sheet.html&quot; target=&quot;_blank&quot;&gt;HTML Colors Cheat Sheet&lt;/a&gt; (&lt;a href=&quot;http://acodingfool.typepad.com/blog/html-colors-cheat-sheet.html&quot;&gt;预览&lt;/a&gt; | &lt;a href=&quot;http://acodingfool.typepad.com/blog/pdf/html_colors_cheatsheet_v2.pdf&quot;&gt;下载&lt;/a&gt; )&lt;br /&gt;
&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/cheat-sheets/html_colors_cheatsheet.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; width=&quot;621&quot; height=&quot;799&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;a href=&quot;http://www.mambo.net/cgi-bin/TempProcessor/view/113&quot;&gt;RGB Values for Macbeth Color Checker&lt;/a&gt; （Macbeth 色卡之 RGB 色值，&lt;a href=&quot;http://www.mambo.net/cgi-bin/TempProcessor/view/113&quot;&gt;预览&lt;/a&gt; ）&lt;/h4&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/TempProcessor.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; width=&quot;621&quot; height=&quot;394&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Dreamweaver&lt;/h3&gt;
&lt;h4&gt;&lt;a href=&quot;http://subdivision.co.uk/adobe-dreamweaver-cs4-shortcuts-cheatsheet/&quot; target=&quot;_blank&quot;&gt;DreamWeaver CS4 Keyboard Shortcuts (PC)&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;DW PC CS4 版快捷键速查手册，&lt;a href=&quot;http://subdivision.co.uk/wp-content/uploads/2009/02/DreamweaverCS4_PC_Shortcuts.pdf&quot;&gt;下载（PDF）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/DreamweaverCS4_PC.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; width=&quot;621&quot; height=&quot;394&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Illustrator&lt;/h3&gt;
&lt;h4&gt;Adobe Illustrator CS4 Shortcuts (&lt;a href=&quot;http://www.nobledesktop.com/shortcuts-illustratorcs4-mac.html&quot; target=&quot;_blank&quot;&gt;Mac&lt;/a&gt; – &lt;a href=&quot;http://www.nobledesktop.com/shortcuts-illustratorcs4-pc.html&quot; target=&quot;_blank&quot;&gt;PC&lt;/a&gt; )&lt;/h4&gt;
&lt;p&gt;Adobe Illustrator CS4 快捷键速查表。下载（&lt;a href=&quot;http://www.nobledesktop.com/download/shortcut_guides/illustrator_cs4_shortcuts_mac.pdf&quot;&gt;MAC PDF&lt;/a&gt; | &lt;a href=&quot;http://www.nobledesktop.com/download/shortcut_guides/illustrator_cs4_shortcuts_pc.pdf&quot;&gt;PC PDF&lt;/a&gt; ）&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/illustrator.jpg&quot; alt=&quot;CHEAT_SHEETS&quot; width=&quot;621&quot; height=&quot;296&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Indesign&lt;/h3&gt;
&lt;h4&gt;Adobe InDesign CS4 Keyboard Shortcuts (&lt;a href=&quot;http://www.nobledesktop.com/shortcuts-indesigncs4-mac.html&quot; target=&quot;_blank&quot;&gt;Mac&lt;/a&gt; – &lt;a href=&quot;http://www.nobledesktop.com/shortcuts-indesigncs4-pc.html&quot; target=&quot;_blank&quot;&gt;PC&lt;/a&gt; )&lt;/h4&gt;
&lt;p&gt;Adobe InDesign CS4 快捷键速查表，下载 （&lt;a href=&quot;http://www.nobledesktop.com/download/shortcut_guides/indesign_cs4_shortcuts_mac.pdf&quot;&gt;MAC PDF &lt;/a&gt; | &lt;a href=&quot;http://www.nobledesktop.com/download/shortcut_guides/indesign_cs4_shortcuts_pc.pdf&quot;&gt;PC PDF&lt;/a&gt; ）&lt;/p&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/indesign.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;327&quot; /&gt;&lt;/h4&gt;
&lt;h3&gt;Photoshop&lt;/h3&gt;
&lt;h4&gt;&lt;a href=&quot;http://morris-photographics.com/photoshop/shortcuts/downloads/PSCS3_Keyboard_Shortcuts_PC.pdf&quot; target=&quot;_blank&quot;&gt;Photoshop CS3 Keyboard Shortcut&lt;/a&gt; （hotoshop CS3 快捷键速查，&lt;a href=&quot;http://morris-photographics.com/photoshop/shortcuts/downloads/PSCS3_Keyboard_Shortcuts_PC.pdf&quot;&gt;下载 PDF&lt;/a&gt; ）&lt;/h4&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/c3.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;620&quot; height=&quot;334&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;a href=&quot;http://creativetechs.com/tipsblog/photoshop-cs4-shortcut-cheatsheets/&quot; target=&quot;_blank&quot;&gt;Photoshop CS4 Shortcut Cheatsheets&lt;/a&gt; （Photoshop CS4 快捷键速查，下载 &lt;a href=&quot;http://morris-photographics.com/photoshop/shortcuts/downloads/PSCS4_Keyboard_Shortcuts_Mac.pdf&quot;&gt;MAC PDF&lt;/a&gt; | &lt;a href=&quot;http://morris-photographics.com/photoshop/shortcuts/downloads/PSCS4_Keyboard_Shortcuts_PC.pdf&quot;&gt;PC PDF&lt;/a&gt; ）&lt;/h4&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/c4.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;321&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;&lt;a href=&quot;http://creativetechs.com/tips/tip_resources/cheatsheets/Photoshop-Brush-Cheatsheet.pdf&quot; target=&quot;_blank&quot;&gt;Brush Tool cheatsheetush Tool cheat sheet for Photoshop&lt;/a&gt; （Photoshop 笔刷速查手册，&lt;a href=&quot;http://creativetechs.com/tips/tip_resources/cheatsheets/Photoshop-Brush-Cheatsheet.pdf&quot;&gt;下载 PDF&lt;/a&gt; ）&lt;/strong&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/brush.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;321&quot; /&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://planetozh.com/download/refcards/Photoshop.pdf&quot; target=&quot;_blank&quot;&gt;Adobe Photoshop Quick Reference Guide&lt;/a&gt; （Photoshop 速查手册，&lt;a href=&quot;http://planetozh.com/download/refcards/Photoshop.pdf&quot;&gt;下载 PDF&lt;/a&gt; ）&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/soa-platform.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;321&quot; /&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.diyphotography.net/black-white-cheatsheet-for-photoshop&quot; target=&quot;_blank&quot;&gt;Black &amp;amp; White Cheatsheet For Photoshop&lt;/a&gt; （如何在 Photoshop 中处理黑白图,&lt;a href=&quot;http://www.diyphotography.net/files/images/photoshop_bw_cheatsheet.psd&quot;&gt;下载 PSD&lt;/a&gt; ）&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/blackandwhite.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;328&quot; /&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.customguide.com/pdf/photoshopmac-quick-reference-cs3.pdf&quot; target=&quot;_blank&quot;&gt;Photoshop Quick reference card&lt;/a&gt; (Photoshop 快速参考，&lt;a href=&quot;http://www.customguide.com/pdf/photoshopmac-quick-reference-cs3.pdf&quot;&gt;下载 PDF&lt;/a&gt; )&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/photoshopmac-quick.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;453&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;a href=&quot;http://creativetechs.com/tipsblog/photoshop-lasso-tool-cheatsheet/&quot; target=&quot;_blank&quot;&gt;Photoshop Lasso Tool Cheat Sheet&lt;/a&gt; （Photoshop 套索选择工具速查，&lt;a href=&quot;http://creativetechs.com/tips/tip_resources/cheatsheets/Photoshop-Lasso-Cheatsheet.pdf&quot;&gt;下载 PDF&lt;/a&gt; ）&lt;/h4&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/lasso.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;346&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;strong&gt;&lt;a href=&quot;http://simplephotoshop.com/photoshop_tools/index.htm&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Photoshop Toolbox Reference&lt;/strong&gt; &lt;/a&gt; （Photoshop 工具箱参考手册，全部 Flash 格式教程，&lt;a href=&quot;http://simplephotoshop.com/photoshop_tools/index.htm&quot;&gt;直接浏览&lt;/a&gt; ）&lt;/strong&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/photoshop-reference.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;346&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;a href=&quot;http://livedocs.adobe.com/en_US/Photoshop/10.0/help.html?content=WS7D245964-27B4-403e-82D5-DDD1CB19A82B.html&quot; target=&quot;_blank&quot;&gt;Keys for using the Layers palette &lt;/a&gt; （层操作快捷键，&lt;a href=&quot;http://livedocs.adobe.com/en_US/Photoshop/10.0/help.html?content=WS7D245964-27B4-403e-82D5-DDD1CB19A82B.html&quot;&gt;直接浏览&lt;/a&gt; ）&lt;/h4&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/palette.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;621&quot; height=&quot;339&quot; /&gt;&lt;/h4&gt;
&lt;h3&gt;Flash&lt;/h3&gt;
&lt;h4&gt;Flash CS4 Keyboard Shortcuts(&lt;a href=&quot;http://subdivision.co.uk/adobe-flash-cs4-shortcuts-cheatsheet/&quot; target=&quot;_blank&quot;&gt;PC and Mac&lt;/a&gt; )&lt;/h4&gt;
&lt;p&gt;Flash CS4 快捷键速查，下载 &lt;a href=&quot;http://subdivision.co.uk/wp-content/uploads/2009/03/FlashCS4_OSX_Shortcuts.pdf&quot;&gt;MAC PDF&lt;/a&gt; | &lt;a href=&quot;http://subdivision.co.uk/wp-content/uploads/2009/03/FlashCS4_PC_Shortcuts.pdf&quot;&gt;PC PDF&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/flash.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;600&quot; height=&quot;302&quot; /&gt;&lt;/h4&gt;
&lt;h4&gt;&lt;a href=&quot;http://actionscriptcheatsheet.com/downloads/as3cs_top_level.pdf&quot; target=&quot;_blank&quot;&gt;ActionScript 3.0 Top Level Cheat Sheet&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;ActionScript 3.0 高阶速查手册，&lt;a href=&quot;http://actionscriptcheatsheet.com/downloads/as3cs_top_level.pdf&quot;&gt;下载 PDF&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;&lt;img src=&quot;http://www.tripwiremagazine.com/wp-content/uploads/images/stories/Articles/designer-cheat-sheet/action.jpg&quot; alt=&quot;css-cheat-sheet&quot; width=&quot;600&quot; height=&quot;302&quot; /&gt;&lt;/h4&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823214/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/633.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823214/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823214/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/633.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>非常丰富且有用的资源，copy记录存照。
来源：http://www.tripwiremagazine.com/tools/design/40-must-have-cheat-sheets-for-effective-web-designers.html
整理：COMSHARP CMS
Cheat Sheet 一词在中文中并没有很贴切的对译，大概是考试作弊条一类的东西，这要求 Cheat Sheet 必须短小精悍又覆盖广泛，作为 Web 开发与设计师，免不了在工作时查询大量资料，某个 Web 色值，某个 JavaScript 库的核心语法，这类资料如果攒齐了，怕有半间屋子那么多，如果用 Cheet Sheet 也许几十页纸就够了，本文收集了近百份用于 Web 开发与设计的 Cheet Sheet，你会发现他们非常实用。
HTML, XHTML, CSS2
CSS2 Cheat Sheet
一份完整的 CSS2 速查手册。预览 &amp;#124;  下载 （PDF）
Gosquared CSS help sheets
设计和结构都很整齐，漂亮。下载（PDF）


addedbytes CSS2 Cheat Sheet
该速查手册只有一页纸，包含 CSS 2.1 全部选择器和属性，还包含一个盒子模型示例。下载（PDF &amp;#124; PNG）

Core css
将 CSS 的核心知识分成3部分，包含了 CSS 的方方面面。下载 （需免费注册）
 
CSS Shorthand Cheat Sheet
一些不容易记住的 CSS 元素。下载 （PDF）
CSS2 – [...]&lt;img src=&quot;http://www1.feedsky.com/t1/303823214/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/633.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823214/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823214/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>资源</category><category>存照</category><pubDate>Tue, 21 Jul 2009 19:09:40 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/633.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=633</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/633.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823214/1232797</fs:itemid></item><item><title>some conception in java</title><link>http://linnchord.net/archives/625.html</link><content:encoded>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;JNDI: &lt;/strong&gt;(Java Naming and Directory Interface) 这是在javaEE体系内部的一个“域名”系统，你可以通过配置指定某种资源的命名，然后通过该命名来引用资源，以达到程序代码和资源之间解耦的目的。这里的资源最常见的是jdbc数据源，通常还会有某种环境实体、EJB组件或者其他资源引用。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;RMI:&lt;/strong&gt; (Remote Method Invocation) RMI内置于java语言核心，是java最高效的远程对象访问和调用技术。实现类似功能的技术每个平台都有，.NET平台下有.net remoting，不过到3.0以后都整合为WCF了。RMI是基于TCP/IP的，效率很高，是EJB的实现基础，但是不能穿越防火墙。要能穿越防火墙当然得走http，最常见的就是web service得soap了，不过公认soap的效率是非常低的。我google了一下，java常用的技术还有Hessian/Burlap/Httpinvoker，这些都是基于http协议的，可以穿越防火墙。其中Hessian基于二进制代码，协议公开，在.net/php/python等各个语言都有相应实现。Burlap是基于xml，效率相对低些。Httpinvoker内置于Spring，据说效率和RMI差不多，但是应用不多不太成熟。目前除了EJB基于RMI以外，其他情况下最常用的是Hessian。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;JMS:&lt;/strong&gt; (Java Message Service) 共享空间和消息传递是软件系统中最常用的数据传播方式，jms就是java提供的消息传递服务，一般也叫做消息中间件，基本来说这也是每个技术平台必备构成，例如.net或者说ms的消息队列(MQ)组件。如何控制消息的传递？点对点？分发订阅？异步传输？这些特性都由jms提供，不需要程序员自己再从头开发了。特别的，javaEE提供了一种特殊的消息驱动bean(message-driven bean，MDB)，他将ejb和jms联系起来，利用jms消息来调用bean。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;JAXP: &lt;/strong&gt;(Java API for XML Processing) 这个东东名字叫api，但是严格来说不算是api，而是一个xml操作的抽象层。java中解析xml的方法很多（例如DOM和SAX），使用这些api去解析xml时需要编写的代码完全不同，因此可以认为业务代码和xml解析耦合非常紧密。为了消除这种耦合产生了jaxp，通过jaxp你可以采用相同的业务代码用不同的解析器操作xml——当然事实上由于两种解析器的理念不同，代码还是会有一定的差别。&lt;/p&gt;
&lt;p&gt;老实说，我有点没搞懂，既然仍然无法完全避免业务代码的差别，那又何必一定要这样搞呢？也许这不是我这儿纸上谈兵能理解的，需要具体的问题来实践。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;JAXR: &lt;/strong&gt;(Java API for XML Registries) 这也是一种解耦或者说抽象机制，registries是指目前互联网上分布的基于xml的注册服务，例如ebXML和UDDI。而jaxr使你能通过统一的接口访问这些不同的xml注册服务。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;java体系的概念太多了，这只是最近看的很少一部分。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823215/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/625.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823215/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823215/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/625.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>JNDI: (Java Naming and Directory Interface) 这是在javaEE体系内部的一个“域名”系统，你可以通过配置指定某种资源的命名，然后通过该命名来引用资源，以达到程序代码和资源之间解耦的目的。这里的资源最常见的是jdbc数据源，通常还会有某种环境实体、EJB组件或者其他资源引用。


RMI: (Remote Method Invocation) RMI内置于java语言核心，是java最高效的远程对象访问和调用技术。实现类似功能的技术每个平台都有，.NET平台下有.net remoting，不过到3.0以后都整合为WCF了。RMI是基于TCP/IP的，效率很高，是EJB的实现基础，但是不能穿越防火墙。要能穿越防火墙当然得走http，最常见的就是web service得soap了，不过公认soap的效率是非常低的。我google了一下，java常用的技术还有Hessian/Burlap/Httpinvoker，这些都是基于http协议的，可以穿越防火墙。其中Hessian基于二进制代码，协议公开，在.net/php/python等各个语言都有相应实现。Burlap是基于xml，效率相对低些。Httpinvoker内置于Spring，据说效率和RMI差不多，但是应用不多不太成熟。目前除了EJB基于RMI以外，其他情况下最常用的是Hessian。


JMS: (Java Message Service) 共享空间和消息传递是软件系统中最常用的数据传播方式，jms就是java提供的消息传递服务，一般也叫做消息中间件，基本来说这也是每个技术平台必备构成，例如.net或者说ms的消息队列(MQ)组件。如何控制消息的传递？点对点？分发订阅？异步传输？这些特性都由jms提供，不需要程序员自己再从头开发了。特别的，javaEE提供了一种特殊的消息驱动bean(message-driven bean，MDB)，他将ejb和jms联系起来，利用jms消息来调用bean。


JAXP: (Java API for XML Processing) 这个东东名字叫api，但是严格来说不算是api，而是一个xml操作的抽象层。java中解析xml的方法很多（例如DOM和SAX），使用这些api去解析xml时需要编写的代码完全不同，因此可以认为业务代码和xml解析耦合非常紧密。为了消除这种耦合产生了jaxp，通过jaxp你可以采用相同的业务代码用不同的解析器操作xml——当然事实上由于两种解析器的理念不同，代码还是会有一定的差别。
老实说，我有点没搞懂，既然仍然无法完全避免业务代码的差别，那又何必一定要这样搞呢？也许这不是我这儿纸上谈兵能理解的，需要具体的问题来实践。


JAXR: (Java API for XML Registries) 这也是一种解耦或者说抽象机制，registries是指目前互联网上分布的基于xml的注册服务，例如ebXML和UDDI。而jaxr使你能通过统一的接口访问这些不同的xml注册服务。


java体系的概念太多了，这只是最近看的很少一部分。&lt;img src=&quot;http://www1.feedsky.com/t1/303823215/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/625.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823215/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823215/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>java</category><pubDate>Wed, 15 Jul 2009 14:19:18 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/625.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=625</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/625.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823215/1232797</fs:itemid></item><item><title>thinking of java web develop learning</title><link>http://linnchord.net/archives/600.html</link><content:encoded>&lt;p&gt;看了几天java web开发的东东，简单梳理一下。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;容器&lt;/strong&gt;
&lt;p&gt;这是java web开发过程中非常强调的一个概念。顾名思义，在它的内部存放着某些东西，各种java对象，包括所谓的bean等等。java的容器也可以称其为一个应用服务，或一个框架，用户通过配置指定代码或者说对象、构件存放的路径，以及对象之间的关系、对象和容器直接的关系。这通常有一套标准，例如javaEE本身的servlet/jsp的规范，或容器本身特定的某些标准，你的配置和代码必须符合这种标准，才能被容器调用使用。标准有很多形式，xml的配置、java接口的实现、对象的继承、java的标注等等，他们决定了对象如何被容器调用、对象之间的关系、以及对象在容器中的运行状态。&lt;/p&gt;
&lt;p&gt;目前作为java web开发最常用的servlet/jsp容器是tomcat，企业应用服务器是jboss。spring框架虽然没有服务器的概念，但是从其包含、组织、调用java组件的特征来看，也可以说是容器了。&lt;/p&gt;
&lt;p&gt;回忆.net，虽然没有特别强调容器的概念，但是从程序的流程和组织架构来说，iis就是.net web程序运行的容器了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web生命周期&lt;/strong&gt;
&lt;p&gt;在任何技术平台的web开发中，web的生命周期都是一个核心概念。由于web应用都是基于http协议和b/s模式，所以不论采用何种技术，其生命周期都是类似的。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;请求与响应：&lt;/strong&gt;
&lt;p&gt;客户端请求-服务器端运算服务-响应，request-&gt;service-&gt;response，这个标准的http访问流程存在于任何一种web开发平台中。流程对应的对象引用和方法也都相似，HttpServletRequest封装http的请求，可以通过该对象获取请求相关的各种参数，HttpServletResponse封装对客户端的响应，通过该对象可以设置http流的各种响应数据，HttpServlet.service(HttpServletRequest req, HttpServletResponse res)则实现服务的计算内容，获取请求，再根据程序逻辑设置响应。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;scope：&lt;/strong&gt;
&lt;p&gt;web程序有其自有的运行环境和上下文，在java web开发中一般称其为scope（page|request|session|application）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;page&lt;/strong&gt; 是最小运行环境，一个jsp page即一个servlet类实例，但是page scope并非指这个servlet实例的变量，它的有效范围是该servlet对象和某次http请求的交集，只能在当前请求当前页面有效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;request&lt;/strong&gt; 是某次请求范围内有效，即使该请求在服务器端通过forward跨越多个servlet。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;session&lt;/strong&gt;（HttpSession） 是指某个用户会话的全过程，这是为了弥补无状态的http会话缺陷，通过cookie识别客户端并在服务器端添加状态的机制。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;application&lt;/strong&gt;（ServletContext） 是指在整个应用（context）范围内有效的程序环境。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;在这些scope中，request|session|application都可以通过setAttribute/getAttribute在有效范围内设置获取变量。这是一种常见的代码数据共享方式，不过存在线程安全问题，需要注意考虑并发情况。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对象各自的生命周期：&lt;/strong&gt;
&lt;p&gt;所有的对象都有其各自的生命周期，初始化-运行时-销毁。通常初始化和销毁是由容器控制，运行时会运行程序代码实现逻辑。同时，servlet还提供监听（listener）和过滤（filter）的机制，使程序能控制对象生命周期更广的范围。当然这些都必须实现指定的接口，并通过xml或标注等容器认可的方式配置编码，使容器能访问调用。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;jsp标签&lt;/strong&gt;
&lt;p&gt;标签是web页面的表现中非常常见的技术，最原始的标签就是html模板内的变量替换，估计做web的人人都写过。java web的标签有jsp的标准标签、el、自定义标签，JSTL应该也属于自定义标签，只是后来作为标准发布了。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;繁杂的标签：&lt;/strong&gt;
&lt;p&gt;jsp标准的标签实现，我个的感觉有些繁杂。java平台一向以自由著称，但是作为一种技术的标准，内容和实现应该尽量简洁，提供一种标准的实现方式即可，是否采用其它第三方库完全可以由用户自己选择。&lt;/p&gt;
&lt;p&gt;jsp的标准标签提供了jsp页面实现的基本功能，它包括基本的页面定义、servlet类程序定义、表达式、包含、异常等等，其他程序逻辑则通过代码片段来实现。继此之后，大家觉得在一个xml文档里面，java代码片段到处飞，看上去不太美观，因此jstl出来了。通过自定义标签，他试图把所有标准标签实现不了必须依靠代码片段实现的东西转换为标签，从而在jsp模板里消灭java代码片段。因此他实现了环境变量的设置和引用，异常，程序流转逻辑等等，甚至通过sql库实现数据库操作。我考虑了很久，除非那种没有任何性能要求，简单到只有1、2个的页面的应用，否则是不太可能采用这种方式来实现数据库操作的。而xml形式的程序逻辑标签（if|else|choose|when…）也过于繁琐，远不如代码片段简洁。&lt;/p&gt;
&lt;p&gt;I18N库倒是很简单实用，但是它的本地化文件数据格式太简单，只适合某些很简单的单词单句的本地化，如果有比较复杂的内容，估计这么简单的数据格式是无法满足要求的。不知道有没有接口可以对底层进行重写，否则实用价值有限。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;el库：&lt;/strong&gt;
&lt;p&gt;el是非常简洁漂亮的，基本上可以把他当作是某种脚本变量的引用，据说javaEE5以后官方也大力提倡使用。但是我觉得也挺逗，这不就和当初试图消灭jsp模板里面非xml风格元素的目标相冲突吗？el可完全不是xml风格，虽然他比java代码对文档的破坏性小，但他也仅仅是表达式，无法实现其他逻辑功能。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自定义标签：&lt;/strong&gt;
&lt;p&gt;通过tag api，或者通过简单的标签文件，用户可以创建自定义标签，这和asp.net中的自定义控件和用户控件如出一辙。在我以往的经验中，除了基于学习的目的，从来没有自己开发过控件，用户控件一般也只用于进行简单的包含，方便做缓存或部分逻辑控制。&lt;/p&gt;
&lt;p&gt;我感觉自定义标签和asp.net自定义控件的情况类似，多用于某些企业系统的开发，或者是某些商业库的实现。而在一般网站系统中去开发和自定义一套标签库是非常困难的，代价成本非常高。实现本身比较复杂，增加了开发人员学习成本，库的维护和发展得不到保障，增大了程序复杂度增大了运算资源的消耗。上面这些问题对于需求变化快、应用访问量非常高的网站应用来说是致命的，而对于一般的企业系统来讲影响比较小。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;代码和界面分离的传说：&lt;/strong&gt;
&lt;p&gt;我相信所有做web的人——无论前端后端——都听过这么一个论述，如果web页面模板能够和后端程序完全分离，那么前端和后端能完全相互无干扰的工作，将大大提高工作效率。从理论上来说，如果能做到这一点确实能大大提高工作效率，然而能做到吗？所谓界面本身就是程序的一部分，他和程序逻辑是息息相关的。除非某个界面和程序完全没有关系，否则他必然存在某种形式的程序逻辑控制代码，不管这种代码是代码片段、xml还是简单表达式，又或者未来发明个别的什么东西。这是应用的需求和软件开发工作的实质决定的。&lt;/p&gt;
&lt;p&gt;又有某种说法，认为将程序控制实现为html格式类似的标签，可以帮助前端人员更容易识别和修改html模板，这个说法更不可信。我长期和设计师及前端人员合作，事实上除极个别极端情况，大多数人都很容易理解简单的程序语法，如变量或对象声明、简单的程序逻辑控制等。甚至很多设计师为了页面控制方便，自己写一些简单控制逻辑。这个学习成本很低，而且基本上所有的流行程序语言语法都类似。而仅jsp的标签库就有多少种？其表达形式何其花样百出？很多时候还存在需要设计师理解标签库设置界面外观等等情况，对设计师来说复杂度远远高于去了解一门程序语言的简单语法。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对标签这种形式，我的态度是实现方式越简单，表现形式越简洁越好，不必完全拒绝程序代码，不要过于苛求xml文档化，过犹不及。对于jsp标签的现状，我觉得可以参考asp.net，通过继承或者实现分部类，把jsp的大部分代码逻辑放到后端java程序中去，分离代码和模板。或者强化el，有限制的实现某种jsp中的脚本语言，甚至嫁接一个别的脚本语言进来。嗯，都不错。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bean就是组件&lt;/strong&gt;
&lt;p&gt;在我未接触java之前，就总是听说javaBean和ejb，我不知道为什么要取名为bean，那应该只是源于java的某种趣味的称呼吧。bean就是对象，没有什么不同，只是他需要符合某些标准，以方便jsp或其他调用。看了这些标准，bean和.net中的组件是一个概念，没有什么区别。在jsp中访问bean很简单，就是一些现成的标签，设置一下bean的scope。我仍然觉得这种标签访问方式感觉很恶劣……&lt;/p&gt;
&lt;p&gt;关于ejb，我看的&lt;a href=&quot;http://linnchord.net/archives/595.html&quot;&gt;这本书&lt;/a&gt;简单讲了一个例子，如何创建并访问。ejb我感觉和bean的差别在2个方面，一是ejb是分布式组件，除业务逻辑类本身外，还需要按标准创建相关的接口、配置、部署，最后提供远程调用的能力。二是ejb的服务器应该会提供强大的管理功能，组件之间的关系、结构组合、性能优化、事务等等，这一部分我看的书没有提。书还是ejb2的例子，ejb3据说已经大大简化了，嗯，待学习了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;jdbc：&lt;/strong&gt;
&lt;p&gt;总的来说，jdbc和其他技术的数据接口没有太大差别，这种趋同是由数据库支持的底层机制所决定的，不会因上层平台技术改变。比较有趣的是，jdbc实现事务是把先取消自动提交事务，然后执行sql，再commit，失败则通过异常处理rollback。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;有趣的java&lt;/strong&gt;
&lt;p&gt;搞java也一个多星期了，感觉java确实很繁杂，不论语法还是平台框架，很多东西不如.net平台简洁有效。但是java更加自由，整个开源世界存在很多框架、技术可供你自由选择——当然这种选择是需要成本的，有时候这也是一种痛苦。另外，对于软件构架，java更趋向于从技术和程序的角度，而.net趋向于从用户的角度，对于技术人员来讲，java的这种视角更加可贵。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823216/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/600.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823216/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823216/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/600.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>看了几天java web开发的东东，简单梳理一下。

容器
这是java web开发过程中非常强调的一个概念。顾名思义，在它的内部存放着某些东西，各种java对象，包括所谓的bean等等。java的容器也可以称其为一个应用服务，或一个框架，用户通过配置指定代码或者说对象、构件存放的路径，以及对象之间的关系、对象和容器直接的关系。这通常有一套标准，例如javaEE本身的servlet/jsp的规范，或容器本身特定的某些标准，你的配置和代码必须符合这种标准，才能被容器调用使用。标准有很多形式，xml的配置、java接口的实现、对象的继承、java的标注等等，他们决定了对象如何被容器调用、对象之间的关系、以及对象在容器中的运行状态。
目前作为java web开发最常用的servlet/jsp容器是tomcat，企业应用服务器是jboss。spring框架虽然没有服务器的概念，但是从其包含、组织、调用java组件的特征来看，也可以说是容器了。
回忆.net，虽然没有特别强调容器的概念，但是从程序的流程和组织架构来说，iis就是.net web程序运行的容器了。

web生命周期
在任何技术平台的web开发中，web的生命周期都是一个核心概念。由于web应用都是基于http协议和b/s模式，所以不论采用何种技术，其生命周期都是类似的。

请求与响应：
客户端请求-服务器端运算服务-响应，request-&gt;service-&gt;response，这个标准的http访问流程存在于任何一种web开发平台中。流程对应的对象引用和方法也都相似，HttpServletRequest封装http的请求，可以通过该对象获取请求相关的各种参数，HttpServletResponse封装对客户端的响应，通过该对象可以设置http流的各种响应数据，HttpServlet.service(HttpServletRequest req, HttpServletResponse res)则实现服务的计算内容，获取请求，再根据程序逻辑设置响应。

scope：
web程序有其自有的运行环境和上下文，在java web开发中一般称其为scope（page&amp;#124;request&amp;#124;session&amp;#124;application）。

page 是最小运行环境，一个jsp page即一个servlet类实例，但是page scope并非指这个servlet实例的变量，它的有效范围是该servlet对象和某次http请求的交集，只能在当前请求当前页面有效。
request 是某次请求范围内有效，即使该请求在服务器端通过forward跨越多个servlet。
session（HttpSession） 是指某个用户会话的全过程，这是为了弥补无状态的http会话缺陷，通过cookie识别客户端并在服务器端添加状态的机制。
application（ServletContext） 是指在整个应用（context）范围内有效的程序环境。

在这些scope中，request&amp;#124;session&amp;#124;application都可以通过setAttribute/getAttribute在有效范围内设置获取变量。这是一种常见的代码数据共享方式，不过存在线程安全问题，需要注意考虑并发情况。

对象各自的生命周期：
所有的对象都有其各自的生命周期，初始化-运行时-销毁。通常初始化和销毁是由容器控制，运行时会运行程序代码实现逻辑。同时，servlet还提供监听（listener）和过滤（filter）的机制，使程序能控制对象生命周期更广的范围。当然这些都必须实现指定的接口，并通过xml或标注等容器认可的方式配置编码，使容器能访问调用。



jsp标签
标签是web页面的表现中非常常见的技术，最原始的标签就是html模板内的变量替换，估计做web的人人都写过。java web的标签有jsp的标准标签、el、自定义标签，JSTL应该也属于自定义标签，只是后来作为标准发布了。

繁杂的标签：
jsp标准的标签实现，我个的感觉有些繁杂。java平台一向以自由著称，但是作为一种技术的标准，内容和实现应该尽量简洁，提供一种标准的实现方式即可，是否采用其它第三方库完全可以由用户自己选择。
jsp的标准标签提供了jsp页面实现的基本功能，它包括基本的页面定义、servlet类程序定义、表达式、包含、异常等等，其他程序逻辑则通过代码片段来实现。继此之后，大家觉得在一个xml文档里面，java代码片段到处飞，看上去不太美观，因此jstl出来了。通过自定义标签，他试图把所有标准标签实现不了必须依靠代码片段实现的东西转换为标签，从而在jsp模板里消灭java代码片段。因此他实现了环境变量的设置和引用，异常，程序流转逻辑等等，甚至通过sql库实现数据库操作。我考虑了很久，除非那种没有任何性能要求，简单到只有1、2个的页面的应用，否则是不太可能采用这种方式来实现数据库操作的。而xml形式的程序逻辑标签（if&amp;#124;else&amp;#124;choose&amp;#124;when…）也过于繁琐，远不如代码片段简洁。
I18N库倒是很简单实用，但是它的本地化文件数据格式太简单，只适合某些很简单的单词单句的本地化，如果有比较复杂的内容，估计这么简单的数据格式是无法满足要求的。不知道有没有接口可以对底层进行重写，否则实用价值有限。

el库：
el是非常简洁漂亮的，基本上可以把他当作是某种脚本变量的引用，据说javaEE5以后官方也大力提倡使用。但是我觉得也挺逗，这不就和当初试图消灭jsp模板里面非xml风格元素的目标相冲突吗？el可完全不是xml风格，虽然他比java代码对文档的破坏性小，但他也仅仅是表达式，无法实现其他逻辑功能。

自定义标签：
通过tag api，或者通过简单的标签文件，用户可以创建自定义标签，这和asp.net中的自定义控件和用户控件如出一辙。在我以往的经验中，除了基于学习的目的，从来没有自己开发过控件，用户控件一般也只用于进行简单的包含，方便做缓存或部分逻辑控制。
我感觉自定义标签和asp.net自定义控件的情况类似，多用于某些企业系统的开发，或者是某些商业库的实现。而在一般网站系统中去开发和自定义一套标签库是非常困难的，代价成本非常高。实现本身比较复杂，增加了开发人员学习成本，库的维护和发展得不到保障，增大了程序复杂度增大了运算资源的消耗。上面这些问题对于需求变化快、应用访问量非常高的网站应用来说是致命的，而对于一般的企业系统来讲影响比较小。

代码和界面分离的传说：
我相信所有做web的人——无论前端后端——都听过这么一个论述，如果web页面模板能够和后端程序完全分离，那么前端和后端能完全相互无干扰的工作，将大大提高工作效率。从理论上来说，如果能做到这一点确实能大大提高工作效率，然而能做到吗？所谓界面本身就是程序的一部分，他和程序逻辑是息息相关的。除非某个界面和程序完全没有关系，否则他必然存在某种形式的程序逻辑控制代码，不管这种代码是代码片段、xml还是简单表达式，又或者未来发明个别的什么东西。这是应用的需求和软件开发工作的实质决定的。
又有某种说法，认为将程序控制实现为html格式类似的标签，可以帮助前端人员更容易识别和修改html模板，这个说法更不可信。我长期和设计师及前端人员合作，事实上除极个别极端情况，大多数人都很容易理解简单的程序语法，如变量或对象声明、简单的程序逻辑控制等。甚至很多设计师为了页面控制方便，自己写一些简单控制逻辑。这个学习成本很低，而且基本上所有的流行程序语言语法都类似。而仅jsp的标签库就有多少种？其表达形式何其花样百出？很多时候还存在需要设计师理解标签库设置界面外观等等情况，对设计师来说复杂度远远高于去了解一门程序语言的简单语法。


对标签这种形式，我的态度是实现方式越简单，表现形式越简洁越好，不必完全拒绝程序代码，不要过于苛求xml文档化，过犹不及。对于jsp标签的现状，我觉得可以参考asp.net，通过继承或者实现分部类，把jsp的大部分代码逻辑放到后端java程序中去，分离代码和模板。或者强化el，有限制的实现某种jsp中的脚本语言，甚至嫁接一个别的脚本语言进来。嗯，都不错。

bean就是组件
在我未接触java之前，就总是听说javaBean和ejb，我不知道为什么要取名为bean，那应该只是源于java的某种趣味的称呼吧。bean就是对象，没有什么不同，只是他需要符合某些标准，以方便jsp或其他调用。看了这些标准，bean和.net中的组件是一个概念，没有什么区别。在jsp中访问bean很简单，就是一些现成的标签，设置一下bean的scope。我仍然觉得这种标签访问方式感觉很恶劣……
关于ejb，我看的这本书简单讲了一个例子，如何创建并访问。ejb我感觉和bean的差别在2个方面，一是ejb是分布式组件，除业务逻辑类本身外，还需要按标准创建相关的接口、配置、部署，最后提供远程调用的能力。二是ejb的服务器应该会提供强大的管理功能，组件之间的关系、结构组合、性能优化、事务等等，这一部分我看的书没有提。书还是ejb2的例子，ejb3据说已经大大简化了，嗯，待学习了。

jdbc：
总的来说，jdbc和其他技术的数据接口没有太大差别，这种趋同是由数据库支持的底层机制所决定的，不会因上层平台技术改变。比较有趣的是，jdbc实现事务是把先取消自动提交事务，然后执行sql，再commit，失败则通过异常处理rollback。

有趣的java
搞java也一个多星期了，感觉java确实很繁杂，不论语法还是平台框架，很多东西不如.net平台简洁有效。但是java更加自由，整个开源世界存在很多框架、技术可供你自由选择——当然这种选择是需要成本的，有时候这也是一种痛苦。另外，对于软件构架，java更趋向于从技术和程序的角度，而.net趋向于从用户的角度，对于技术人员来讲，java的这种视角更加可贵。&lt;img src=&quot;http://www1.feedsky.com/t1/303823216/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/600.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823216/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823216/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>web</category><category>随记</category><category>java</category><pubDate>Thu, 09 Jul 2009 17:38:22 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/600.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=600</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/600.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823216/1232797</fs:itemid></item><item><title>Tomcat与Java Web开发技术详解</title><link>http://linnchord.net/archives/595.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.douban.com/subject/3351927/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://t.douban.com/lpic/s3473237.jpg&quot; alt=&quot;Tomcat与Java Web开发技术详解&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;想找基于java的web开发书，原来选定的几本oreilly的书后来看看，版本都太老了，而且内容比较分散，不适合入门阶段上手。无意在书店翻了翻这本，看了一遍目录感觉还不错，但是基于以往的恶劣经验，我很久没有看国产技术书籍了，有些犹豫。又详细看了一两章，回家又考虑再三，最后在amazon.cn买了。&lt;/p&gt;
&lt;p&gt;花了4天时间，一口气看完，感觉挺不错。&lt;/p&gt;
&lt;p&gt;优点&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;技术体系比较完整。&lt;/strong&gt;关于java web开发基本的各方面技术都讲到了，重点是servlet/jsp及其在tomcat下的部署，内容详实。其他ejb、struts、ant、log4j等相关技术和工具也简单带过，使读者有初步的了解。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;行文流畅，逻辑清晰。&lt;/strong&gt;文字阅读都很流畅，没有什么晦涩的地方，理解没有什么问题——也许这和我以往.net web开发经验有关，不过文字叙述确实不错，就算没有太多的web开发经验应该也问题不大。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;理论和实践并重。&lt;/strong&gt;技术的讲述既有原理，也有代码实践，还包括servlet/jsp类的简单类图和源代码，方便理解。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;吹毛求疵一下。这是一本教你如何上手servlet/jsp的书，一本教程，读完了你应该就可以上手做一些相关实践开发工作，但是在此之外，你也不太可能有其他更多的收获。作者就是站在一个普通的开发人员的角度，来讲述如何完成一系列工作，做一个合格的开发人员，仅此而已。和我们常看的那些国外的经典技术书籍相比，此书缺乏某种大的视角。我看完这本书，立刻又去翻了一下《&lt;a href=&quot;http://www.douban.com/subject/1231284/&quot; target=&quot;_blank&quot;&gt;JSP设计&lt;/a&gt;》，两者都是讲的相同的东西，但是阅读的体验大不相同。&lt;/p&gt;
&lt;p&gt;嗯，最后，这是一本好书，如果你希望掌握java web开发的基本技能，这本书是一个不错的选择。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823217/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/595.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823217/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823217/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/595.html/feed</wfw:commentRss><slash:comments>3</slash:comments><description>想找基于java的web开发书，原来选定的几本oreilly的书后来看看，版本都太老了，而且内容比较分散，不适合入门阶段上手。无意在书店翻了翻这本，看了一遍目录感觉还不错，但是基于以往的恶劣经验，我很久没有看国产技术书籍了，有些犹豫。又详细看了一两章，回家又考虑再三，最后在amazon.cn买了。
花了4天时间，一口气看完，感觉挺不错。
优点

技术体系比较完整。关于java web开发基本的各方面技术都讲到了，重点是servlet/jsp及其在tomcat下的部署，内容详实。其他ejb、struts、ant、log4j等相关技术和工具也简单带过，使读者有初步的了解。
行文流畅，逻辑清晰。文字阅读都很流畅，没有什么晦涩的地方，理解没有什么问题——也许这和我以往.net web开发经验有关，不过文字叙述确实不错，就算没有太多的web开发经验应该也问题不大。
理论和实践并重。技术的讲述既有原理，也有代码实践，还包括servlet/jsp类的简单类图和源代码，方便理解。

吹毛求疵一下。这是一本教你如何上手servlet/jsp的书，一本教程，读完了你应该就可以上手做一些相关实践开发工作，但是在此之外，你也不太可能有其他更多的收获。作者就是站在一个普通的开发人员的角度，来讲述如何完成一系列工作，做一个合格的开发人员，仅此而已。和我们常看的那些国外的经典技术书籍相比，此书缺乏某种大的视角。我看完这本书，立刻又去翻了一下《JSP设计》，两者都是讲的相同的东西，但是阅读的体验大不相同。
嗯，最后，这是一本好书，如果你希望掌握java web开发的基本技能，这本书是一个不错的选择。&lt;img src=&quot;http://www1.feedsky.com/t1/303823217/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/595.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823217/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823217/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>阅读</category><category>java</category><category>体验</category><pubDate>Sun, 05 Jul 2009 21:24:21 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/595.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=595</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/595.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823217/1232797</fs:itemid></item><item><title>mozilla firefox 3.5 release</title><link>http://linnchord.net/archives/592.html</link><content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.mozilla.com/en-US/firefox&quot; target=&quot;_blank&quot;&gt;http://www.mozilla.com/en-US/firefox/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;我常用的浏览器有3个&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;status-body&quot;&gt;&lt;span class=&quot;entry-content&quot;&gt;&lt;strong&gt;chrome：&lt;/strong&gt;web2.0专用浏览器，速度快，广告少。&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;status-body&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;span class=&quot;entry-content&quot;&gt;&lt;strong&gt;firefox：&lt;/strong&gt;强大的插件系统，超越你的想象。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;status-body&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;span class=&quot;entry-content&quot;&gt;&lt;strong&gt;ie：&lt;/strong&gt;还有搞不定的？压箱底的武器……嗯，只能压箱底用。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823218/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/592.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823218/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823218/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/592.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>http://www.mozilla.com/en-US/firefox/
我常用的浏览器有3个
chrome：web2.0专用浏览器，速度快，广告少。
firefox：强大的插件系统，超越你的想象。
ie：还有搞不定的？压箱底的武器……嗯，只能压箱底用。&lt;img src=&quot;http://www1.feedsky.com/t1/303823218/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/592.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823218/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823218/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>firefox</category><category>工具</category><pubDate>Wed, 01 Jul 2009 21:39:40 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/592.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=592</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/592.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823218/1232797</fs:itemid></item><item><title>head first java</title><link>http://linnchord.net/archives/559.html</link><content:encoded>&lt;p&gt;&lt;img src=&quot;http://t.douban.com/lpic/s2327818.jpg&quot; alt=&quot;head first java&quot; width=&quot;200&quot; /&gt;&lt;/p&gt;
&lt;p&gt;一本非常棒的书，不愧“head first”的称谓。清晰的条理，生动的图示，偶尔来点老外的幽默——其实中国人不太能理解，阅读体验非常舒畅。oreilly的这个系列应该都很熟悉了，优点多多估计大家都知道，就不提了，说点不优的吧。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果你熟悉一门类似的静态面向对象语言（例如C#）那就不要看这个了，你会觉得有些罗嗦，因为大部分语言特性你都很清楚，没有必要看那么多示例、提示和比较等等；&lt;/li&gt;
&lt;li&gt;如果你是想全面的了解java语言，估计你会很失望，这本书里面甚至没有讲“反射”；&lt;/li&gt;
&lt;li&gt;如果你想找一本语法参考，那这不是你想要的（好像有点吹毛求疵……）；&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;好吧，基本来说，如果你没有C#的熟练经验，并且想学习java语言，那这几乎可以说是你必看的第一本书，因为他实在太……嗯，也没有别的语句了，实在太棒了。&lt;/p&gt;
&lt;p&gt;当看完了这本——一个有足够coding经验的人大概需要2~3天，如果还想继续比较全面的了解java语言，那就看这个&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;Java技术手册&quot; src=&quot;http://t.douban.com/lpic/s1955522.jpg&quot; alt=&quot;Java技术手册&quot; width=&quot;200&quot; /&gt;&lt;/p&gt;
&lt;p&gt;很经典的java手册，全面描述了java的语言特性，简洁明了。可惜，中文版把后面的参考手册截了。出版社的本意是好的，大家可以少花钱，网上查查就行。 可惜Java网上文档的质量啊，实在不咋地，别的不说，就那个排版和字体，看起来真是头疼。&lt;/p&gt;
&lt;p&gt;建议以后还是保留，不翻译也没关系。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823219/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/559.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823219/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823219/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/559.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>一本非常棒的书，不愧“head first”的称谓。清晰的条理，生动的图示，偶尔来点老外的幽默——其实中国人不太能理解，阅读体验非常舒畅。oreilly的这个系列应该都很熟悉了，优点多多估计大家都知道，就不提了，说点不优的吧。

如果你熟悉一门类似的静态面向对象语言（例如C#）那就不要看这个了，你会觉得有些罗嗦，因为大部分语言特性你都很清楚，没有必要看那么多示例、提示和比较等等；
如果你是想全面的了解java语言，估计你会很失望，这本书里面甚至没有讲“反射”；
如果你想找一本语法参考，那这不是你想要的（好像有点吹毛求疵……）；

好吧，基本来说，如果你没有C#的熟练经验，并且想学习java语言，那这几乎可以说是你必看的第一本书，因为他实在太……嗯，也没有别的语句了，实在太棒了。
当看完了这本——一个有足够coding经验的人大概需要2~3天，如果还想继续比较全面的了解java语言，那就看这个

很经典的java手册，全面描述了java的语言特性，简洁明了。可惜，中文版把后面的参考手册截了。出版社的本意是好的，大家可以少花钱，网上查查就行。 可惜Java网上文档的质量啊，实在不咋地，别的不说，就那个排版和字体，看起来真是头疼。
建议以后还是保留，不翻译也没关系。&lt;img src=&quot;http://www1.feedsky.com/t1/303823219/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/559.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823219/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823219/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>read</category><category>阅读</category><category>book</category><category>随记</category><category>java</category><pubDate>Thu, 11 Jun 2009 15:07:58 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/559.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=559</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/559.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823219/1232797</fs:itemid></item><item><title>D2 live</title><link>http://linnchord.net/archives/448.html</link><content:encoded>&lt;p&gt;杭州有一个&lt;a href=&quot;http://www.d2forum.org/&quot; target=&quot;_blank&quot;&gt;D2前端技术论坛&lt;/a&gt;，英文是Designer &amp;amp; Developer Frontend Technology Forum，这里的designer主要是指Web设计师，developer主要是指Web前端开发工程师。&lt;/p&gt;
&lt;p&gt;D2对于我的生活来说是一种状态，对于生活我既是一个设计师也是一个程序员，前者以直觉感性来体验、觉察并反照这个世界，后者通过理性、逻辑来认识并构建这个世界，两者道不同，但殊途同归。&lt;/p&gt;
&lt;p&gt;因此我把D2作为了我职业生涯的主体，web设计和web程序是我一直所钟的工作。也许得归结于性别文化，我要更加趋向于理性、逻辑的程序构建，但是我从来也不曾想要放弃designer。或者对于我来说，这两者从来没有分离过。&lt;/p&gt;
&lt;p&gt;设计一个web界面时，我常常沉迷于视觉上的愉悦和这种愉悦的创造快感，但我同时还会考虑设计如何实现、平面如何合理切割、代码如何组织构建，种种思绪交织，令这种快感加倍。&lt;/p&gt;
&lt;p&gt;同时当我构建一个程序时，漂亮的代码、优美的语法语义、优雅而严密的逻辑结构是我所追求的目标，我不能容忍粗制滥造的代码，我常常为此花很多时间去修改一些交到我手中实现服务器端程序的html代码，修正结构改良代码，或者花上半天时间去修改重构一个已经完成的应用程序，我的偏执让我很乐于做这样的事情，看见漂亮的干净的代码我会感到无比舒畅，并且到最后总会证明这些付出是值得的。&lt;/p&gt;
&lt;p&gt;不论是做design还做develop，我总在这些过程中觉察到美的存在，这种觉察给我带来很多美妙的体验，这些体验加强了我在这个世界中的存在。&lt;/p&gt;
&lt;p&gt;这个世界之所以这样是因为如果他不是这样那么我们就无法生存在这个世界，不记得这是谁说的了，但是这话也同样适用于美的体验。为什么我们觉查这个世界的美？因为如果他不美我们就不会存在于这个世界。&lt;/p&gt;
&lt;p&gt;我曾经对美的认知做过很长的思考，因其源于人的某种主观，或者其直觉的感性的特征，人们总是喜欢把她和理性的逻辑的规律的世界对立起来。然而事实上，美是人类对这个严密逻辑的规律的冷酷的世界的法则的最高认知的结果，她是人类百万年来进化历程中对这个世界认知的最高抽象。人类对这个世界理性认知的不断积累和抽象，产生了一个能超越理性来认知这个世界的主体意识，这就是人类的审美意识。&lt;/p&gt;
&lt;p&gt;所以说对于程序，这种企图以严密的逻辑、完美的规则和超大量的运算来重构这个世界的小东西，美是创造的最高追求。&lt;/p&gt;
&lt;p&gt;一个执著于美的程序员，嗯，这就是我的D2生活。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823220/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/448.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823220/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823220/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/448.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>杭州有一个D2前端技术论坛，英文是Designer &amp;#38; Developer Frontend Technology Forum，这里的designer主要是指Web设计师，developer主要是指Web前端开发工程师。
D2对于我的生活来说是一种状态，对于生活我既是一个设计师也是一个程序员，前者以直觉感性来体验、觉察并反照这个世界，后者通过理性、逻辑来认识并构建这个世界，两者道不同，但殊途同归。
因此我把D2作为了我职业生涯的主体，web设计和web程序是我一直所钟的工作。也许得归结于性别文化，我要更加趋向于理性、逻辑的程序构建，但是我从来也不曾想要放弃designer。或者对于我来说，这两者从来没有分离过。
设计一个web界面时，我常常沉迷于视觉上的愉悦和这种愉悦的创造快感，但我同时还会考虑设计如何实现、平面如何合理切割、代码如何组织构建，种种思绪交织，令这种快感加倍。
同时当我构建一个程序时，漂亮的代码、优美的语法语义、优雅而严密的逻辑结构是我所追求的目标，我不能容忍粗制滥造的代码，我常常为此花很多时间去修改一些交到我手中实现服务器端程序的html代码，修正结构改良代码，或者花上半天时间去修改重构一个已经完成的应用程序，我的偏执让我很乐于做这样的事情，看见漂亮的干净的代码我会感到无比舒畅，并且到最后总会证明这些付出是值得的。
不论是做design还做develop，我总在这些过程中觉察到美的存在，这种觉察给我带来很多美妙的体验，这些体验加强了我在这个世界中的存在。
这个世界之所以这样是因为如果他不是这样那么我们就无法生存在这个世界，不记得这是谁说的了，但是这话也同样适用于美的体验。为什么我们觉查这个世界的美？因为如果他不美我们就不会存在于这个世界。
我曾经对美的认知做过很长的思考，因其源于人的某种主观，或者其直觉的感性的特征，人们总是喜欢把她和理性的逻辑的规律的世界对立起来。然而事实上，美是人类对这个严密逻辑的规律的冷酷的世界的法则的最高认知的结果，她是人类百万年来进化历程中对这个世界认知的最高抽象。人类对这个世界理性认知的不断积累和抽象，产生了一个能超越理性来认知这个世界的主体意识，这就是人类的审美意识。
所以说对于程序，这种企图以严密的逻辑、完美的规则和超大量的运算来重构这个世界的小东西，美是创造的最高追求。
一个执著于美的程序员，嗯，这就是我的D2生活。&lt;img src=&quot;http://www1.feedsky.com/t1/303823220/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/448.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823220/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823220/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>软件开发</category><category>随记</category><category>美</category><category>设计</category><category>体验</category><category>优美的</category><pubDate>Fri, 05 Jun 2009 14:30:58 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/448.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=448</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/448.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823220/1232797</fs:itemid></item><item><title>Java Web Develop Guide by Book</title><link>http://linnchord.net/archives/438.html</link><content:encoded>&lt;p&gt;开始看java，搞个路线图，挨着看。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JAVA语言（&lt;a href=&quot;http://www.douban.com/subject/2000732/&quot; target=&quot;_blank&quot;&gt;Head First Java&lt;/a&gt; 好书，Jote大奖，但是居然没讲反射！ / &lt;a href=&quot;http://www.douban.com/subject/1920901/&quot; target=&quot;_blank&quot;&gt;Java技术手册&lt;/a&gt; 手册参考类 / &lt;a href=&quot;http://www.douban.com/subject/3360807/&quot; target=&quot;_blank&quot;&gt;Effective Java&lt;/a&gt; 实践技巧类 ）&lt;/li&gt;
&lt;li&gt;JSP/Servlet （&lt;a href=&quot;http://www.douban.com/subject/1942934/&quot; target=&quot;_blank&quot;&gt;Head First Servlet＆JSP&lt;/a&gt; / &lt;a href=&quot;http://www.douban.com/subject/1231284/&quot;&gt;JSP设计&lt;/a&gt; 虽然04年的，但是经典，讲jsp2.0，也不算过时。）&lt;/li&gt;
&lt;li&gt;JavaEE概览 （&lt;a href=&quot;http://www.douban.com/subject/2985458/&quot; target=&quot;_blank&quot;&gt;JavaEE5 权威指南&lt;/a&gt; &amp;#8211; 这本书评价一般，不知道有没有其他javaEE概览的书推荐）&lt;/li&gt;
&lt;li&gt;MVC框架 （Struts：&lt;a href=&quot;http://www.douban.com/subject/3013946/&quot; target=&quot;_blank&quot;&gt;深入浅出Struts&lt;/a&gt; 电子书 / &lt;a href=&quot;http://www.douban.com/subject/3640666/&quot; target=&quot;_blank&quot;&gt;深入浅出Struts 2&lt;/a&gt; 据说翻译的很差 ..）&lt;/li&gt;
&lt;li&gt;IOC框架（Spring or Guice：&lt;a href=&quot;http://www.douban.com/subject/3208666/&quot; target=&quot;_blank&quot;&gt;Spring in Action&lt;/a&gt; Guice只能看文档了）&lt;/li&gt;
&lt;li&gt;ORM框架（Hibernate：&lt;a href=&quot;http://www.douban.com/subject/3743944/&quot; target=&quot;_blank&quot;&gt;精通Hibernate&lt;/a&gt; 新书，oreilly的，应该不错。）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;del datetime=&quot;2009-06-05T09:04:55+00:00&quot;&gt;在网上搜了很久，好象也没有看见什么很经典的好书，一般来说总是存在版本过旧或翻译过烂的问题，失望。&lt;/del&gt; 后来也找到了不少好书，不过翻译过烂的问题总是存在的……&lt;/p&gt;
&lt;p&gt;en，前3先搞搞，后3慢慢再来。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823221/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/438.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823221/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823221/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/438.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>开始看java，搞个路线图，挨着看。

JAVA语言（Head First Java 好书，Jote大奖，但是居然没讲反射！ / Java技术手册 手册参考类 / Effective Java 实践技巧类 ）
JSP/Servlet （Head First Servlet＆JSP / JSP设计 虽然04年的，但是经典，讲jsp2.0，也不算过时。）
JavaEE概览 （JavaEE5 权威指南 &amp;#8211; 这本书评价一般，不知道有没有其他javaEE概览的书推荐）
MVC框架 （Struts：深入浅出Struts 电子书 / 深入浅出Struts 2 据说翻译的很差 ..）
IOC框架（Spring or Guice：Spring in Action Guice只能看文档了）
ORM框架（Hibernate：精通Hibernate 新书，oreilly的，应该不错。）

在网上搜了很久，好象也没有看见什么很经典的好书，一般来说总是存在版本过旧或翻译过烂的问题，失望。 后来也找到了不少好书，不过翻译过烂的问题总是存在的……
en，前3先搞搞，后3慢慢再来。&lt;img src=&quot;http://www1.feedsky.com/t1/303823221/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/438.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823221/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823221/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>计划</category><category>java</category><category>读书</category><pubDate>Thu, 04 Jun 2009 10:54:53 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/438.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=438</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/438.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823221/1232797</fs:itemid></item><item><title>ubuntu下netbeans中文乱码解决</title><link>http://linnchord.net/archives/433.html</link><content:encoded>&lt;p&gt;由于英文字体导致&lt;/p&gt;
&lt;p&gt;解决：&lt;br /&gt;
拷贝合适的中文字体到JAVA_HOME目录jre字体库fallback目录即可&lt;br /&gt;
&lt;strong&gt;sudo cp /usr/share/fonts/wqy/*  {$JAVA_HOME}/jre/lib/fonts/fallback/&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/303823222/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/433.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823222/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823222/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://linnchord.net/archives/433.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>由于英文字体导致
解决：
拷贝合适的中文字体到JAVA_HOME目录jre字体库fallback目录即可
sudo cp /usr/share/fonts/wqy/*  {$JAVA_HOME}/jre/lib/fonts/fallback/&lt;img src=&quot;http://www1.feedsky.com/t1/303823222/daysoflinnchord/feedsky/s.gif?r=http://linnchord.net/archives/433.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/daysoflinnchord/303823222/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/daysoflinnchord/303823222/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>netbeans</category><category>linux</category><category>java</category><category>存照</category><pubDate>Wed, 03 Jun 2009 14:03:14 +0800</pubDate><author>linnchord</author><comments>http://linnchord.net/archives/433.html#comments</comments><guid isPermaLink="false">http://linnchord.net/?p=433</guid><dc:creator>linnchord</dc:creator><fs:srclink>http://linnchord.net/archives/433.html</fs:srclink><fs:srcfeed>http://linnchord.net/feed/</fs:srcfeed><fs:itemid>feedsky/daysoflinnchord/~7275449/303823222/1232797</fs:itemid></item></channel></rss>