<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_蓝驿轨迹-童闻焕的Blog</title><subtitle type="text">天道酬勤</subtitle><id>http://feed.cnblogs.com/blog/u/16432/rss</id><updated>2011-08-12T23:06:01Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/16432/rss"/><entry><id>http://www.cnblogs.com/twh/archive/2011/08/12/2136690.html</id><title type="text">奥度信息科技</title><summary type="text">奥度科技http://www.eaodu.com，立足本土网络建设，凭借6年的网络建站开发经验，给中小企业提供高性价比的解决方案。树立企业品牌形象，实现企业新的高度。 我们做网站，做软件；电子商务，有GIS，LBS，拥有多年从业丰富的领域开发设计师，您的需求，我们共同的追求；真情期待与您的合作。 我们将殚精竭虑，如履薄冰，我们承诺：为您提供高质，稳定，有价值的产品和服务；</summary><published>2011-08-12T12:59:00Z</published><updated>2011-08-12T12:59:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/archive/2011/08/12/2136690.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/archive/2011/08/12/2136690.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.eaodu.com"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="aodu_intro" border="0" alt="aodu_intro" src="http://images.cnblogs.com/cnblogs_com/twh/201108/201108122059124556.jpg" width="627" height="267"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;奥度科技&lt;a href="http://www.eaodu.com"&gt;http://www.eaodu.com&lt;/a&gt;，立足本土网络建设，凭借6年的网络建站开发经验，给中小企业提供高性价比的解决方案。树立企业品牌形象，实现企业新的高度。&lt;/p&gt; &lt;p&gt;我们做网站，做软件；电子商务，有GIS，LBS，拥有多年从业丰富的领域开发设计师，您的需求，我们共同的追求；真情期待与您的合作。&lt;/p&gt; &lt;p&gt;我们将殚精竭虑，如履薄冰，我们承诺：为您提供高质，稳定，有价值的产品和服务；&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/2136690.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/archive/2011/08/12/2136690.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/archive/2010/06/15/1758812.html</id><title type="text">桌面便笺工具magic notes 附注册码</title><summary type="text">推荐一个很不错的桌面便笺工具magic notes (gently按：推荐这个软件纯粹是我觉得好用，我和这作者不沾亲不带故，哈哈！~)  我原来是用google桌面的待办任务来管理事项，后来我系统重装，而且装了GOOGLE DESKTOP会明显拖慢系统，无意间我就找到了这么个桌面便笺。  感觉还不错，上点信息和大家分享吧。  Magic Notes 的官方网站是：http://www.magicn...</summary><published>2010-06-15T14:24:00Z</published><updated>2010-06-15T14:24:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/archive/2010/06/15/1758812.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/archive/2010/06/15/1758812.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.cnblogs.com/gently/archive/2008/12/19/1358275.html"&gt;推荐一个很不错的桌面便笺工具magic notes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;(gently按：推荐这个软件纯粹是我觉得好用，我和这作者不沾亲不带故，哈哈！~)  &lt;p&gt;我原来是用google桌面的待办任务来管理事项，后来我系统重装，而且装了GOOGLE DESKTOP会明显拖慢系统，无意间我就找到了这么个桌面便笺。  &lt;p&gt;感觉还不错，上点信息和大家分享吧。  &lt;p&gt;Magic Notes&amp;nbsp; 的官方网站是：&lt;a href="http://www.magicnotes.com/"&gt;http://www.magicnotes.com/&lt;/a&gt;  &lt;p&gt;&lt;img height="225" alt="Magic Notes 截图" src="http://www.magicnotes.com/img/ss_1.jpg" width="248"&gt;  &lt;p&gt;个人感觉蛮方便的，但是在使用中可能有一个BUG,就是连续地双击内容区域会产生乱码，并且还会自动保存，导致记录的信息完全看不懂。。。。  &lt;p&gt;贴一个官方网站的宣传语：  &lt;p&gt;"I use Magicnotes everyday. It is the most helpful and least expensive little program/ piece of software I've every seen. If I want to copy something from my incoming emails or the Web I just click Magicnotes and up it pops on my screen were I can copy and paste right to the note. I make my "To Do" list and set an alarm for Magicnotes to popup and tell me it's time to do so and so. No more scribbling notes and losing the pieces of paper. I just place my notes on Magicnotes, print them out or email them to myself as a reminder. I absolutely would not be without Magicnotes. Don't tell anyone, but I would gladly pay twice what I paid for my copy of Magicnotes. I highly recommended Magicnotes.  &lt;p&gt;或许和我一样的时间分配上比较混乱的兄弟姐妹们用的上吧，分享啦！！最后，贴个&lt;font color="#ff0000"&gt;注册码：FA052F4A-64C2BE33-0A279B50-0619E13D&lt;/font&gt;，其他的可以自己乱填的。  &lt;img src="http://www.cnblogs.com/twh/aggbug/1758812.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/archive/2010/06/15/1758812.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1730317.html</id><title type="text">买不起书的，就下吧，超级经典 （转）</title><summary type="text">Delphi编程书籍及资料超级集合(共780MB)(看截图)OReilly出版的VIM编辑器使用指南第七版Oracle SQL必备参考(The Essential Reference)High.Performance.MySQL.Second.EditionWindows server 2003使用指南(CHM)Agile Web Development with Rails, 2nd Editi...</summary><published>2010-05-08T02:27:00Z</published><updated>2010-05-08T02:27:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1730317.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1730317.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/29-615.html"&gt;Delphi编程书籍及资料超级集合(共780MB)(看截图)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200808/29-612.html"&gt;OReilly出版的VIM编辑器使用指南第七版&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/28-607.html"&gt;Oracle SQL必备参考(The Essential Reference)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/28-606.html"&gt;High.Performance.MySQL.Second.Edition&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/27-595.html"&gt;Windows server 2003使用指南(CHM)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/24-574.html"&gt;Agile Web Development with Rails, 2nd Edition&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/23-573.html"&gt;OReilly.Ruby.Cookbook(中文名Ruby菜谱)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/22-569.html"&gt;Windows文件系统过滤驱动开发教程(第二版)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/22-568.html"&gt;精通正则表达式：第3版（影印版）（CHM）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/22-566.html"&gt;深入理解LINUX网络内幕（英文版）(CHM格式)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/22-565.html"&gt;中文的DDK--驱动程序超级宝典（chm）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/22-563.html"&gt;安全类书籍--《加密解密技术内幕》(CHM)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/21-561.html"&gt;SQLServer2005数据库基础及应用技术教程与实训&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/21-553.html"&gt;比较好的入门级Linux新手管理员指南（CHM）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/20-546.html"&gt;Algorithms.and.Data.Structures算法与数据结构&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/17-535.html"&gt;JavaScript圣经《Javascript编程宝典--黄金版》&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/17-534.html"&gt;Oracle正则表达式参考手册 （CHM格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/17-533.html"&gt;Apress出版《Accelerated SQL Server 2008》 &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/17-529.html"&gt;鸟哥的linux私房菜第二版（包括基础和服务器）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/16-521.html"&gt;征服Python语言基础与典型应用教程+随书光盘&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/16-520.html"&gt;Linux内核源代码情景分析 中文版 (上下册) &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/16-516.html"&gt;CISCO多种型号交换机简要配置手册&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/16-515.html"&gt;bat批处理使用详细教程(DOC格式)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/14-513.html"&gt;Windows组策略之软件限制策略详解(DOC)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200808/13-509.html"&gt;sep11中文完全安装手册（symantec内部文档）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/12-504.html"&gt;TCP-IP协议簇原理TransportLayer_TCP_UDP&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/12-503.html"&gt;高质量C++ C编程指南(CHM格式)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200808/04-468.html"&gt;CISCO官方CCNA模拟PacketTracer4.1使用教程&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/04-467.html"&gt;The Pragmatic Programmer(程序员修炼之道)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/29-426.html"&gt;ajax的xmlhttp的帮助手册!&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/28-424.html"&gt;Windows核心编程（第五版）随书源代码&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/25-416.html"&gt;Windows 核心编程第五版(Windows Via C C++)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/24-414.html"&gt;分享《Windows Mobile平台应用与开发》源代码 &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/21-392.html"&gt;送给初学Linux者的《Linux系统指令大全》&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200807/21-389.html"&gt;MySQL数据库实现双机热备的配置(doc)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/21-384.html"&gt;Microsoft.NET框架程序设计(修订版)-中文版&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/20-375.html"&gt;Zend Platform安装文档-Doc格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/20-372.html"&gt;ADO连接字符串使用大全-DOC格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-369.html"&gt;《Windows核心编程(第四版)》(C++版) &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-365.html"&gt;USB接口编程源代码&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/16-342.html"&gt;Windows核心编程(第四版)-源代码(delphi版) &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/14-316.html"&gt;网络ghost（网络克隆）操作实例-DOC格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/14-315.html"&gt;Windows server 2003使用指南-CHM格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/13-311.html"&gt;PHP官方手册简体中文版-CHM格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200807/12-297.html"&gt;《MySQL中文参考手册》CHM格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/12-296.html"&gt;PL/SQL入门指南DOC&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/12-293.html"&gt;五星级的驱动程序开发资料经典全集&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/11-281.html"&gt;使用FreeBSD 7构建服务器操作系统-CHM格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/11-279.html"&gt;Linux学习完整教程(初级版)-CHM格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/05-231.html"&gt;短消息协议的资料全集，非常全&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200806/23-73.html"&gt;Agile Software Development 敏捷软件开发 原则 模式 实践&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200809/02-627.html"&gt;《Visual C++ 2005入门经典中文版 红皮书 PDF》&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200809/01-623.html"&gt;java爱好者必备--JAVA解惑（中文版PDF）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200809/01-620.html"&gt;一本关于Solaris系统的基本管理指南(高清PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200809/01-619.html"&gt;Windows平台Oracle RAC 集群安装过程(PDF) &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/29-614.html"&gt;Building.Embedded.Linux.Systems(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/28-609.html"&gt;强烈推荐华为内部使用编程规范和范例(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/26-590.html"&gt;Linux系统分析与高级编程技术(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/26-589.html"&gt;十几本IBM的Linux 教程(原版PDF教材)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/25-586.html"&gt;Prototype.js 1.4中文使用手册PDF版&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/Softskills/softs/200808/25-584.html"&gt;10个可以对Firefox内存占用及速度进行优化的方法&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/23-572.html"&gt;Ruby.Techniques.for.Rails.Developers(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/23-571.html"&gt;中文版的Ruby On Rails实践（PDF）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/22-569.html"&gt;Windows文件系统过滤驱动开发教程(第二版)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/22-567.html"&gt;原版的操作系统_精髓与设计原理_第5版（PDF）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/21-559.html"&gt;MSSQL Server2008数据模型开发指南(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/21-558.html"&gt;OReilly出版的关于Flex3技术开发的书籍（PDF）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/21-556.html"&gt;一本不错的PHP专业项目实例开发（PDF）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/21-555.html"&gt;中文版MySQL5之存储过程技术手册（PDF）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/21-549.html"&gt;Firebird（火鸟）数据库开发手册(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/20-543.html"&gt;《Delphi中的DLL封装和调用对象技术》(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/19-542.html"&gt;浅析MFC程序基本运行机制（PDF和DOC格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200808/17-533.html"&gt;Apress出版《Accelerated SQL Server 2008》 &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/17-532.html"&gt;Beginning Microsoft Visual C#2008(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/17-528.html"&gt;华为内部LINUX学习资料（PDF格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/17-527.html"&gt;GPhone手机Android平台开发资料（PDF格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/17-524.html"&gt;经典书籍Linux宝典 2008版（高清晰PDF） &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/17-522.html"&gt;Perl完全参考第二版(The Complete Reference)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/14-514.html"&gt;Ruby on Rails For Dummies 傻瓜书 PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200808/09-500.html"&gt;《Word VBA高效排版范例应用》PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200808/09-499.html"&gt;《密码学与网络安全-原理与实践》第三版(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/09-494.html"&gt;Lotus Domino 6 应用开发手册(PDF中文版)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/07-493.html"&gt;Sping开发指南和Sping技术手册（PDF格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/07-492.html"&gt;Effective C++中文版（PDF格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200808/07-486.html"&gt;组建基于Exchange 2003的邮件系统(&lt;strong&gt;[color=#ff0000]pdf[/color]&lt;/strong&gt;)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/05-473.html"&gt;英文版分布式算法教程(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200808/04-471.html"&gt;Python 核心编程 第二版（PDF格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/29-432.html"&gt;linux---2小时玩转iptables(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/29-425.html"&gt;Spring Framework 2.5 Reference中文版PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/25-416.html"&gt;Windows 核心编程第五版(Windows Via C C++)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/22-401.html"&gt;Microsoft C# Windows程序设计（上下册）PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/21-396.html"&gt;Hibernate_3.1.2中文文档(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/21-395.html"&gt;Apache2 httpd.conf 中文版(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/21-393.html"&gt;iptables-1.1.9指南中文版(PDF)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200807/21-382.html"&gt;《PostgreSQL High Availability with HB》PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/20-373.html"&gt;《Zend权威认证试题讲解》的中文版&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-367.html"&gt;清华出版的-《大话设计模式》PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-366.html"&gt;Thinking in Java（第四版 ）PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-363.html"&gt;Python精要参考（第二版）PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-361.html"&gt;Eclipse从入门到精通(全共86MB).&lt;strong&gt;[color=#ff0000]pdf[/color]&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/18-359.html"&gt;精品C#编程书籍大搜罗（多达296MB)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/17-357.html"&gt;Oreilly精品电子图书(共178MB)-PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/17-356.html"&gt;MapX程序开发指南及参考-PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/17-352.html"&gt;Windows 2003 负载均衡教程-PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200807/16-343.html"&gt;经典的《Windows核心编程(第四版)》-PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/14-318.html"&gt;网络常见问题与故障1000例（PDF）版&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/12-293.html"&gt;五星级的驱动程序开发资料经典全集&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/database/200807/12-292.html"&gt;SQL Server 2000编程员指南.&lt;strong&gt;[color=#ff0000]pdf[/color]&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/12-291.html"&gt;IP地址管理与子网划分.PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/12-288.html"&gt;鸟哥的LINUX私房菜－基础学习篇.&lt;strong&gt;[color=#ff0000]pdf[/color]&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/11-283.html"&gt;linux高级路由和流量控制.&lt;strong&gt;[color=#ff0000]pdf[/color]&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/11-282.html"&gt;linux流量控制与防火墙技术.PDF&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/softs/200807/11-280.html"&gt;Sniffer Pro入门指南中文版-PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/11-278.html"&gt;练成Linux系统高手教程PDF格式&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/200807/09-270.html"&gt;postfix权威指南中英文版下载(PDF格式)&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/200807/09-269.html"&gt;使用PHP6和MySQL5构建动态网站-PDF &lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/200807/09-268.html"&gt;使用FreeBSD进行网络管理（PDF格式）&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/200807/09-267.html"&gt;Linux命令行和bash脚本编程圣经&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/system/200807/07-245.html"&gt;FreeBSD的用户指南-PDF格式文档&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.softshome.com/html/ebooks/program/200806/23-44.html"&gt;《深入浅出Javascript》&lt;/a&gt; &lt;p&gt;Tag标签: &lt;a href="http://www.cnblogs.com/wuliangbo/tag/%e4%b9%b0%e4%b8%8d%e8%b5%b7%e4%b9%a6%e7%9a%84/"&gt;买不起书的&lt;/a&gt;,&lt;a href="http://www.cnblogs.com/wuliangbo/tag/%e5%b0%b1%e4%b8%8b%e5%90%a7/"&gt;就下吧&lt;/a&gt;,&lt;a href="http://www.cnblogs.com/wuliangbo/tag/%e8%b6%85%e7%ba%a7%e7%bb%8f%e5%85%b8/"&gt;超级经典&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/1730317.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1730317.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1730111.html</id><title type="text">19个不错的 HTML5 Canvas 小游戏</title><summary type="text">HTML 5 规范引进了众多新特性，其中最令人期待的之一就是canvas 元素。本文将介绍几个最好的HTML5 Canvas游戏。 1.Defender：类似防御塔 2.Tetris：俄罗斯方块  3.Thrust 4.Etchaphysics：画图  5.Gartic：基于网络的画图功能  6.Same  7.Coverfire：经典的街机游戏  8.Chain Reaction  9.Spec...</summary><published>2010-05-07T14:54:00Z</published><updated>2010-05-07T14:54:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1730111.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1730111.html"/><content type="html">&lt;p&gt;HTML 5 规范引进了众多新特性，其中最令人期待的之一就是canvas 元素。本文将介绍几个最好的HTML5 Canvas游戏。 &lt;p&gt;1.&lt;a href="http://www.scale18.com/canvas.html"&gt;Defender&lt;/a&gt;：类似防御塔 &lt;p&gt;&lt;a href="http://www.scale18.com/canvas.html"&gt;&lt;img title="Defender - Fighting Plane" height="412" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-3.59.33-PM.png" width="410"&gt;&lt;/a&gt;&lt;br&gt;2.&lt;a href="http://aduros.emufarmers.com/easel/"&gt;Tetris&lt;/a&gt;：俄罗斯方块 &lt;p&gt;&lt;a href="http://aduros.emufarmers.com/easel/"&gt;&lt;img title="Tetris" height="485" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.06.36-PM.png" width="406"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;3.&lt;a href="http://joncom.be/experiments/thrust/"&gt;Thrust&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://joncom.be/experiments/thrust/"&gt;&lt;img title="Thrust Game" height="234" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.16.47-PM-e1272970347133.png" width="410"&gt;&lt;/a&gt;&lt;br&gt;4.&lt;a href="http://fokistudios.com/etchaphysics/"&gt;Etchaphysics&lt;/a&gt;：画图  &lt;p&gt;&lt;a href="http://fokistudios.com/etchaphysics/"&gt;&lt;img title="Etchaphysics Game" height="251" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.24.17-PM-580x359.png" width="406"&gt;&lt;/a&gt;&lt;br&gt;5.&lt;a href="http://www.gartic.net/"&gt;Gartic&lt;/a&gt;：基于网络的画图功能 &lt;p&gt;&lt;a href="http://www.gartic.net/"&gt;&lt;img title="Gartic Game" height="240" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.30.29-PM.png" width="409"&gt;&lt;/a&gt; &lt;p&gt;6.&lt;a href="http://grenlibre.fr/demo/same/"&gt;Same&lt;/a&gt; &lt;p&gt;&lt;a href="http://grenlibre.fr/demo/same/"&gt;&lt;img title="Same Game" height="333" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.33.26-PM-580x475.png" width="406"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;7.&lt;a href="http://www.wiicade.com/playJSGame.aspx?gameID=1317&amp;amp;gameName=Coverfire"&gt;Coverfire&lt;/a&gt;：经典的街机游戏&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.wiicade.com/playJSGame.aspx?gameID=1317&amp;amp;gameName=Coverfire"&gt;&lt;img title="Coverfire" height="281" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.42.07-PM-e1272971699545.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;8.&lt;a href="http://www.yvoschaap.com/chainrxn/"&gt;Chain Reaction&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.yvoschaap.com/chainrxn/"&gt;&lt;img title="Chain Reaction Game" height="349" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.48.26-PM-e1272972021613.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;9.&lt;a href="http://jsspeccy.zxdemo.org/"&gt;Spectrum Emulator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://jsspeccy.zxdemo.org/"&gt;&lt;img title="Spectrum Emulator" height="364" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.54.00-PM-e1272972297413.png" width="410"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;10.&lt;a href="http://29a.ch/jswars/"&gt;JS Wars&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://29a.ch/jswars/"&gt;&lt;img title="JS Wars" height="308" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-4.56.18-PM-e1272972573411.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;11.&lt;a href="http://www.paulbrunt.co.uk/bert/"&gt;Berts Breakdown&lt;/a&gt;&lt;br&gt;&lt;img alt="" src="http://dl.javaeye.com/upload/attachment/245788/b8e9fa72-397a-3dc1-99fb-9967f069b81e.png"&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;12.&lt;a href="http://www.kevs3d.co.uk/dev/asteroids/"&gt;Asteroids&lt;/a&gt;：在你被岩石砸中前，摧毁它&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.kevs3d.co.uk/dev/asteroids/"&gt;&lt;img title="Asteroids Game" height="409" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.11.23-PM-e1272973435786.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;13.&lt;a href="https://developer.mozilla.org/samples/raycaster/RayCaster.html"&gt;RayCaster&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="https://developer.mozilla.org/samples/raycaster/RayCaster.html"&gt;&lt;img title="RayCaster" height="307" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.19.24-PM-e1272973866115.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;14.&lt;a href="http://nic-nac-project.de/%7Ejcm/index.php?nav=puzzle"&gt;Slide puzzle&lt;/a&gt;：拼图&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://nic-nac-project.de/%7Ejcm/index.php?nav=puzzle"&gt;&lt;img title="Slide puzzle" height="297" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.25.59-PM-e1272974264736.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;15.&lt;a href="http://www.benjoffe.com/code/demos/canvascape/textures"&gt;A first person shooter&lt;/a&gt;：射击&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.benjoffe.com/code/demos/canvascape/textures"&gt;&lt;img title="Shooting Game" height="314" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.28.46-PM.png" width="413"&gt;&lt;/a&gt; &lt;p&gt;16.&lt;a href="http://www.benjoffe.com/code/games/torus/"&gt;A torus style game&lt;/a&gt;：俄罗斯方块的一个变种游戏 &lt;p&gt;&lt;a href="http://www.benjoffe.com/code/games/torus/"&gt;&lt;img title="Torus style game" height="372" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.32.58-PM.png" width="414"&gt;&lt;/a&gt; &lt;p&gt;17.&lt;a href="http://www.nihilogic.dk/labs/mariokart/"&gt;Super Mario Kart&lt;/a&gt;：卡丁车 &lt;p&gt;&lt;a href="http://www.nihilogic.dk/labs/mariokart/"&gt;&lt;img title="Mario Kart " height="180" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.35.28-PM-e1272974830678.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;18.&lt;a href="http://upsidedownturtle.com/boredboredbored/"&gt;3Bored&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;a href="http://upsidedownturtle.com/boredboredbored/"&gt;&lt;img title="Bored" height="160" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.45.11-PM-e1272975438362.png" width="410"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;19.&lt;a href="http://reas.com/twitch/"&gt;Twitch&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://reas.com/twitch/"&gt;&lt;img title="Twitch" height="289" alt="" src="http://savedelete.com/wp-content/uploads/2010/05/Screen-shot-2010-05-04-at-5.49.49-PM-e1272975655442.png" width="410"&gt;&lt;/a&gt; &lt;p&gt;2 &lt;p&gt;0 &lt;p&gt;来自: &lt;a href="http://savedelete.com/best-html5-canvas-games.html"&gt;savedelete.com&lt;/a&gt; &lt;p&gt;分享到：&lt;a href="http://news.cnblogs.com/n/63735/###"&gt;&lt;img title="收藏博客园网摘" alt="博客园网摘" src="http://space.cnblogs.com/images/icons/icon_cnblogs.gif"&gt;&lt;/a&gt;&lt;a href="http://www.douban.com/recommend/?url=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f&amp;amp;title=19%e4%b8%aa%e4%b8%8d%e9%94%99%e7%9a%84+HTML5+Canvas+%e5%b0%8f%e6%b8%b8%e6%88%8f&amp;amp;sel=&amp;amp;v=1"&gt;&lt;img title="推荐到豆瓣" src="http://news.cnblogs.com/images/icons/icon_douban.gif"&gt;&lt;/a&gt;&lt;a href="http://www.kaixin001.com/repaste/share.php?rurl=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f&amp;amp;rcontent=HTML+5+%e8%a7%84%e8%8c%83%e5%bc%95%e8%bf%9b%e4%ba%86%e4%bc%97%e5%a4%9a%e6%96%b0%e7%89%b9%e6%80%a7%ef%bc%8c%e5%85%b6%e4%b8%ad%e6%9c%80%e4%bb%a4%e4%ba%ba%e6%9c%9f%e5%be%85%e7%9a%84%e4%b9%8b%e4%b8%80%e5%b0%b1%e6%98%afcanvas+%e5%85%83%e7%b4%a0%e3%80%82%e6%9c%ac%e6%96%87%e5%b0%86%e4%bb%8b%e7%bb%8d%e5%87%a0%e4%b8%aa%e6%9c%80%e5%a5%bd%e7%9a%84HTML5+Canvas%e6%b8%b8%e6%88%8f%e3%80%821.Defender%ef%bc%9a%e7%b1%bb%e4%bc%bc%e9%98%b2%e5%be%a1%e5%a1%942.Tetris%ef%bc%9a%e4%bf%84%e7%bd%97%e6%96%af%e6%96%b9%e5%9d%973.Thrust+4.Etchaphysics%ef%bc%9a%e7%94%bb%e5%9b%be+5.Gartic%ef%bc%9a%e5%9f%ba%e4%ba%8e%e7%bd%91%e7%bb%9c%e7%9a%84...&amp;amp;rtitle=19%e4%b8%aa%e4%b8%8d%e9%94%99%e7%9a%84+HTML5+Canvas+%e5%b0%8f%e6%b8%b8%e6%88%8f"&gt;&lt;img title="转发至开心网" alt="开心网" src="http://news.cnblogs.com/images/icons/icon_kaixin.gif"&gt;&lt;/a&gt;&lt;a href="http://v.t.sina.com.cn/share/share.php?url=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f&amp;amp;title=19%e4%b8%aa%e4%b8%8d%e9%94%99%e7%9a%84+HTML5+Canvas+%e5%b0%8f%e6%b8%b8%e6%88%8f&amp;amp;source=%e5%8d%9a%e5%ae%a2%e5%9b%adIT%e6%96%b0%e9%97%bb&amp;amp;sourceUrl=http%3a%2f%2fnews.cnblogs.com&amp;amp;content=utf8&amp;amp;pic="&gt;&lt;img title="转发至新浪微博" src="http://news.cnblogs.com/images/icons/icon_sina.gif" border="0"&gt;&lt;/a&gt;&lt;a href="http://share.renren.com/share/buttonshare.do?link=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f&amp;amp;title=19%e4%b8%aa%e4%b8%8d%e9%94%99%e7%9a%84+HTML5+Canvas+%e5%b0%8f%e6%b8%b8%e6%88%8f"&gt;&lt;img title="转发至人人网" src="http://news.cnblogs.com/images/icons/icon_renren.gif" border="0"&gt;&lt;/a&gt;&lt;a href="http://bai.sohu.com/share/blank/addbutton.do?from=cnblogs&amp;amp;link=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f"&gt;&lt;img title="分享到白社会" src="http://news.cnblogs.com/images/icons/ico_baisohu.png" border="0"&gt;&lt;/a&gt;&lt;a href="http://www.google.com/bookmarks/mark?op=add&amp;amp;bkmk=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f&amp;amp;title=19%e4%b8%aa%e4%b8%8d%e9%94%99%e7%9a%84+HTML5+Canvas+%e5%b0%8f%e6%b8%b8%e6%88%8f"&gt;&lt;img title="转发至Google书签" src="http://news.cnblogs.com/images/icons/icon_google.gif" border="0"&gt;&lt;/a&gt;&lt;a href="http://delicious.com/save?url=http%3a%2f%2fnews.cnblogs.com%2fn%2f63735%2f&amp;amp;title=19%e4%b8%aa%e4%b8%8d%e9%94%99%e7%9a%84+HTML5+Canvas+%e5%b0%8f%e6%b8%b8%e6%88%8f&amp;amp;v=5&amp;amp;noui=1&amp;amp;jump=doclose"&gt;&lt;img src="http://news.cnblogs.com/images/icons/icon_delicious.gif"&gt;&lt;/a&gt; &lt;p&gt;相关阅读： &lt;img src="http://www.cnblogs.com/twh/aggbug/1730111.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1730111.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1719422.html</id><title type="text">ASP.NET 2.0中WEB应用程序的部署</title><summary type="text">1、使用XCOPY部署2、使用Visual studio的Copy Web Site功能部署3、使用visual studio的Precompilation预编译部署 详见：http://tech.sina.com.cn/s/2005-06-13/0829633477.shtml</summary><published>2010-04-24T09:04:00Z</published><updated>2010-04-24T09:04:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1719422.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1719422.html"/><content type="html">&lt;p&gt;1、使用XCOPY部署&lt;br&gt;2、使用Visual studio的Copy Web Site功能部署&lt;br&gt;3、使用visual studio的Precompilation预编译部署 &lt;p&gt;详见：&lt;br&gt;&lt;a title="http://tech.sina.com.cn/s/2005-06-13/0829633477.shtml" href="http://tech.sina.com.cn/s/2005-06-13/0829633477.shtml"&gt;http://tech.sina.com.cn/s/2005-06-13/0829633477.shtml&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/1719422.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1719422.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1710262.html</id><title type="text">转帖： JavaScript Template JST模板引擎----Trimpath</title><summary type="text">原文：http://bbs.javascript.com.cn/simple /index.php?t1022.html 官网：http://code.google.com/p/trimpath/Trimpath JavaScript 是个轻量级的，基于JavaScript的，跨浏览器，采用APL/GPL开放源代码协议的，可以让你轻松进行基于模板编程方式的纯JS引擎。新浪的评论系统使用的就是此模板...</summary><published>2010-04-12T07:10:00Z</published><updated>2010-04-12T07:10:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1710262.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1710262.html"/><content type="html">&lt;p&gt;原文：http://bbs.javascript.com.cn/simple /index.php?t1022.html &lt;br&gt;官网：http://code.google.com/p/trimpath/&lt;br&gt;Trimpath JavaScript 是个轻量级的，基于JavaScript的，跨浏览器，采用APL/GPL开放源代码协议的，可以让你轻松进行基于模板编程方式的纯JS引擎。新浪的评论系统使用的就是此模板。 &lt;br&gt;它有如下的特点： &lt;br&gt;1、采用标准的JavaScript编写，支持跨浏览器 &lt;br&gt;2、模板语法类似于：FreeMarker，Velocity,Smarty &lt;br&gt;3、采用简易的语言来描述大段的字串以及Dom/DHTML操作 &lt;br&gt;4、可以很方便的解析XML文件格式的数据到指定模板。 &lt;br&gt;采 用该引擎，可以让它来完全处理View方面的事情，服务端Module直接输出Data就可以。让你的MVC模式连成一体，而且由于View由浏览器来处 理，大大减少了服务器的负担，用来构建Ajax技术的网络信息系统应用是一个非常好的选择。下面将通过翻译该站的文章来给大家介绍这个JST引擎的使用。 &lt;br&gt;CODE:&lt;br&gt;&amp;lt;html&amp;gt; &lt;br&gt;&amp;lt;head&amp;gt; &lt;br&gt;&amp;lt;script language="javascript" src="trimpath/template.js"&amp;gt;&amp;lt;/script&amp;gt; &lt;br&gt;&amp;lt;/head&amp;gt; &lt;br&gt;&amp;lt;body&amp;gt; &lt;br&gt;&amp;lt;div id="outputDiv"&amp;gt; &lt;br&gt;&amp;lt;/div&amp;gt; &lt;br&gt;&amp;lt;script language="javascript"&amp;gt; &lt;br&gt;var data = { &lt;br&gt;products : [ { name: "mac", desc: "computer", &lt;br&gt;price: 1000, quantity: 100, alert:null }, &lt;br&gt;{ name: "ipod", desc: "music player", &lt;br&gt;price: 200, quantity: 200, alert:"on sale now!" }, &lt;br&gt;{ name: "cinema display", desc: "screen", &lt;br&gt;price: 800, quantity: 300, alert:"best deal!" } ], &lt;br&gt;customer : { first: "John", last: "Public", level: "gold" } &lt;br&gt;};&lt;br&gt;&amp;lt;/script&amp;gt; &lt;br&gt;&amp;lt;textarea id="cart_jst" style="display:none;"&amp;gt; &lt;br&gt;Hello ${customer.first} ${customer.last}.&amp;lt;br/&amp;gt; &lt;br&gt;Your shopping cart has ${products.length} item(s): &lt;br&gt;&amp;lt;table&amp;gt; &lt;br&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Name&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Description&amp;lt;/td&amp;gt; &lt;br&gt;&amp;lt;td&amp;gt;Price&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Quantity &amp;amp; Alert&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br&gt;{for p in products}&lt;br&gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;${p.name|capitalize}&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;${p.desc}&amp;lt;/td&amp;gt; &lt;br&gt;&amp;lt;td&amp;gt;$${p.price}&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;${p.quantity} : ${p.alert|default:""|capitalize}&amp;lt;/td&amp;gt; &lt;br&gt;&amp;lt;/tr&amp;gt; &lt;br&gt;{forelse}&lt;br&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan="4"&amp;gt;No products in your cart.&amp;lt;/tr&amp;gt; &lt;br&gt;{/for}&lt;br&gt;&amp;lt;/table&amp;gt; &lt;br&gt;{if customer.level == "gold"}&lt;br&gt;We love you! Please check out our Gold Customer specials! &lt;br&gt;{else}&lt;br&gt;Become a Gold Customer by buying more stuff here. &lt;br&gt;{/if}&lt;br&gt;&amp;lt;/textarea&amp;gt; &lt;br&gt;&amp;lt;script language="javascript"&amp;gt; &lt;br&gt;// The one line processing call... &lt;br&gt;var result = TrimPath.processDOMTemplate("cart_jst", data); &lt;br&gt;// Voila! That's it -- the result variable now holds &lt;br&gt;// the output of our first rendered JST. &lt;br&gt;// Alternatively, you may also explicitly parse the template... &lt;br&gt;var myTemplateObj = TrimPath.parseDOMTemplate("cart_jst"); &lt;br&gt;// Now, calls to myTemplateObj.process() won't have parsing costs... &lt;br&gt;var result = myTemplateObj.process(data); &lt;br&gt;// Setting an innerHTML with the result is a common last step... &lt;br&gt;document.getElementById("outputDiv").innerHTML = result; &lt;br&gt;// You might also do a document.write() or something similar... &lt;br&gt;&amp;lt;/script&amp;gt; &lt;br&gt;&amp;lt;/body&amp;gt; &lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;JST 十分钟简介 &lt;br&gt;JST API &lt;br&gt;JST Markup Syntax &lt;br&gt;JST Standard Modifiers &lt;br&gt;JST Downloads &lt;br&gt;JST Community Wiki &lt;br&gt;JST Browser Compatibility &lt;br&gt;JST Online Demo &lt;br&gt;1、API &lt;br&gt;首先到下载页面下载 template.js &lt;br&gt;然后在你的JSP/ASP/PHP等文件中引用&lt;br&gt;CODE:&lt;br&gt;&amp;lt;script language="javascript" src="trimpath/template.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;当你引用了template.js文件之后，脚本将创建一个名叫“trimpath"的物件给你使用。 &lt;br&gt;TrimPath Object &lt;br&gt;这个物件是一个全局的单一变量，也是所有trimpath组件的访问入口，除了它自身，我们尝试建立一个清晰的命名空间给您使用。 &lt;br&gt;下面是 Trimpath 定义的方法：&lt;br&gt;CODE:&lt;br&gt;TrimPath.parseDOMTemplate ( elementId, optionalDocument )&lt;br&gt;得到页面中ID为elementId的Dom组件的InnerHTML，并将其解析成一个模板，这个方法返回一个templateObject对象（下面将详细描述），解析出错时将抛出一个异常，下面是这个方法的参数： &lt;br&gt;elementId DOM组件，其innerhtml将用来做模板 &lt;br&gt;optionalDocument 一个可选参数，在使用iframe，frameset或者默认多文档时会有用 &lt;br&gt;通常用来做模板的DOM元素是一个隐藏的&amp;lt;textarea&amp;gt;，如下面的例子&lt;br&gt;CODE:&lt;br&gt;&amp;lt;textarea id="elementId" style="display:none;"&amp;gt; template body &amp;lt;/textarea&amp;gt;&lt;br&gt;TrimPath.processDOMTemplate ( elementId, contextObject, optionalFlags, optionalDocument ) &lt;br&gt;一 个辅助函数，里面调用了TrimPath.parseDOMTemplate() 和 then the process() 方法以获得templateObject。输出的是templateObject.process() 中返回的对象。解析出错时将抛出一个错误。下面是这个方法的参数： &lt;br&gt;elementId 包含模板内容的DOM元素ID &lt;br&gt;contextObject 参考templateObject.process() &lt;br&gt;optionalFlags 参考templateObject.process() &lt;br&gt;optionalDocument 参考TrimPath.parseDOMTemplate &lt;br&gt;TrimPath.parseTemplate ( templateContentStr, optionalTemplateName ) &lt;br&gt;解析模板方法，将一个字符串做为模板解析并返回一个 templateObject &lt;br&gt;参数表： &lt;br&gt;templateContentStr 符合JST语法的字符串，例如: "Hello ${firstName} ${lastName}" &lt;br&gt;optionalTemplateName 一个可选的字符串用来指定模板名称，辅助查错。 &lt;br&gt;The templateObject &lt;br&gt;TrimPath.parseTemplate() 和 TrimPath.parseDOMTemplate()的成功运行将产生一个 templateObject 它只有一个主方法 &lt;br&gt;templateObject.process ( contextObject, optionalFlags ) &lt;br&gt;这个方法将模板和数据结合在一起，可以重复调用，如果没有重新解析，templateObjects的缓存和重用将获得最好的系统性能。这个函数的返回值是一个经过“渲染”过的模板的字符串。 &lt;br&gt;参数 contextObject 必须是一个对象，并将成为模板的一个访问域，比如一个模板是：${a}，那么contextObject.a必须是可以访问到的。同样${a.b.c}, contextObject.a.b.c也是可以访问到的。 &lt;br&gt;注 意：contextObject 可以是javascript中的任意对象，包含字符串, 数字, 日期, 对象和函数。所以${groupCalender(new Date())} 可以这样来调用contextObject.groupCalender(new Date())。当然，你必须自己编程实现groupCalender() 这个函数。 &lt;br&gt;参数optionalFlags 可以是空值，也可以是一个下面列表描述的对象： &lt;br&gt;throwExceptions 默认是false,当true的时候，process() 方法将重新抛出异常，当false的时候，任何异常将停止解析模板，并在方法返回值包含一个出错信息。 &lt;br&gt;keepWhitespace 默认是falsel，当值为true时，模板的空白将保留。当为false时，空白（换行、空格、TAB）将被截取。 &lt;br&gt;String.prototype.process() 方法 &lt;br&gt;String.prototype.process ( contextObject, optionalFlags ) &lt;br&gt;做为一个便捷的方式为string对象加入一个process（）的方法，让它来执行解析模板的动作。参数跟process()一样。&lt;br&gt;CODE:&lt;br&gt;var result = "hello ${firstName}".process(data) &lt;br&gt;// ...is equivalent to... &lt;br&gt;var result = TrimPath.parseTemplate("hello ${firstName}").process(data);&lt;br&gt;添加自定义标识符 &lt;br&gt;如果要采用自定义标识符，你必须把他们放在_MODIFERS 这个对象中，这些标识符集将被添加到contextObject 对象中，然后最终传给process()解析。每一个自定义标识符必须是一个函数并且至少有一个字符串参数输入和一个字符串输出。 &lt;br&gt;例子：&lt;br&gt;CODE:&lt;br&gt;var myModifiers = { &lt;br&gt;hello : function(str, greeting) { &lt;br&gt;if (greeting == null) &lt;br&gt;greeting = "Hello"; &lt;br&gt;return greeting + ", " + str; &lt;br&gt;}, &lt;br&gt;zeroSuffix : function(str, totalLength) { &lt;br&gt;return (str + "000000000000000").substring(0, totalLength); &lt;br&gt;} &lt;br&gt;}; &lt;br&gt;var myData = { &lt;br&gt;firstName : "John", &lt;br&gt;getCurrentPoints : function() { /* Do something here... */ return 12; } &lt;br&gt;} &lt;br&gt;myData._MODIFIERS = myModifiers; &lt;br&gt;"${firstName}".process(myData) == "John" &lt;br&gt;"${firstName|hello}".process(myData) == "Hello, John" &lt;br&gt;"${firstName|hello:"Buenos Dias"}".process(myData) == "Buenos Dias, John" &lt;br&gt;"${firstName|hello:"Buenos Dias"|capitalize}".process(myData) == "BUENOS DIAS, JOHN" &lt;br&gt;"${getCurrentPoints()}".process(myData) == "12" &lt;br&gt;"${getCurrentPoints()|zeroSuffix:4}".process(myData) == "1200"&lt;br&gt;JST 的语法和语句 &lt;br&gt;语法&lt;br&gt;CODE:&lt;br&gt;${expr} &lt;br&gt;${expr|modifier} &lt;br&gt;${expr|modifier1|modifier2|...|modifierN} &lt;br&gt;${expr|modifier1:argExpr1_1} &lt;br&gt;${expr|modifier1:argExpr1_1,argExpr1_2,...,argExpr1_N} &lt;br&gt;${expr|modifier1:argExpr1_1,argExpr1_2|...|modifierN:argExprN_1,argExprN_2,...,argExprN_M}&lt;br&gt;表达式可以是除了“}”之外的任何合法的javascript字符串 &lt;br&gt;标识符看起来像这种结构：modifierName[:argExpr1[,argExpr2[,argExprN]]] &lt;br&gt;一个带参数的表达式例子&lt;br&gt;CODE:&lt;br&gt;${customer.firstName} &lt;br&gt;${customer.firstName|capitalize} &lt;br&gt;${customer.firstName|default:"no name"|capitalize} &lt;br&gt;${article.getCreationDate()|default:new Date()|toCalenderControl:"YYYY.MM.DD",true,"Creation Date"} &lt;br&gt;${(lastQuarter.calcRevenue() - fixedCosts) / 1000000}&lt;br&gt;一个表达式也可以像下面一样通过添加“％”字符来标识，这个可以避免在你的表达式中出现“}”时出错的情况。 &lt;br&gt;比如：&lt;br&gt;CODE:&lt;br&gt;Visit our ${% emitLink('Solutions and Products', &lt;br&gt;{ color: 'red', blink: false }) %} page. &lt;br&gt;The extra spaces are actually not necessary, like... &lt;br&gt;${%customer.firstName%} &lt;br&gt;${%customer.firstName|capitalize%}&lt;br&gt;语句 &lt;br&gt;JST语句就像是javascript语句一样，也有if/else/for/function这些句子 &lt;br&gt;分支控制语句&lt;br&gt;CODE:&lt;br&gt;{if testExpr} &lt;br&gt;{elseif testExpr} &lt;br&gt;{else} &lt;br&gt;{/if}&lt;br&gt;上述testExpr 是一个合法的javascript判定式 &lt;br&gt;例子&lt;br&gt;CODE:&lt;br&gt;{if customer != null &amp;amp;&amp;amp; customer.balance &amp;gt; 1000} &lt;br&gt;We love you! &lt;br&gt;{/if} &lt;br&gt;{if user.karma &amp;gt; 100} &lt;br&gt;Welcome to the Black Sun. &lt;br&gt;{elseif user.isHero} &lt;br&gt;Sir, yes sir! Welcome! &lt;br&gt;{if user.lastName == "Yen"} &lt;br&gt;Fancy some apple pie, sir? &lt;br&gt;{/if} &lt;br&gt;{/if} &lt;br&gt;&amp;lt;a href="/login{if returnURL != null &amp;amp;&amp;amp; returnURL != 'main'}?goto=${returnURL}{/if}"&amp;gt;Login&amp;lt;/a&amp;gt;&lt;br&gt;*JST引擎还包含一个辅助函数defined(str)，这个可以测试一个变量是否已经被定义。 &lt;br&gt;比如这段代码判断管理员发送了消息给你&lt;br&gt;CODE:&lt;br&gt;{if defined('adminMessage')} &lt;br&gt;System Administrator Important NOTICE: ${adminMessage} &lt;br&gt;{/if}&lt;br&gt;循环语句&lt;br&gt;CODE:&lt;br&gt;{for varName in listExpr} &lt;br&gt;{/for} &lt;br&gt;{for varName in listExpr} &lt;br&gt;...main body of the loop... &lt;br&gt;{forelse} &lt;br&gt;...body when listExpr is null or listExpr.length is 0... &lt;br&gt;{/for}&lt;br&gt;*varName 必须是一个javascript的合法变量名 &lt;br&gt;*listExpr 可以是一个数组，对象或者为空，而且只能被赋值一次 &lt;br&gt;例子&lt;br&gt;CODE:&lt;br&gt;Two variables are bound in the main body of the loop: &lt;br&gt;__LIST__varName - holds the result of evaluating listExpr. &lt;br&gt;varName_index - this is the key or counter used during iteration. &lt;br&gt;Examples: &lt;br&gt;{for x in customer.getRecentOrders()} &lt;br&gt;${x_index} : ${x.orderNumber} &amp;lt;br/&amp;gt; &lt;br&gt;{forelse} &lt;br&gt;You have no recent orders. &lt;br&gt;{/for} &lt;br&gt;Converted pseudo-code for the above... &lt;br&gt;var __LIST__x = customer.getRecentOrders(); &lt;br&gt;if (__LIST__x != null &amp;amp;&amp;amp; __LIST__x.length &amp;gt; 0) { &lt;br&gt;for (var x_index in __LIST__x) { &lt;br&gt;var x = __LIST__x[x_index]; &lt;br&gt;${x_index} : {$x.orderNumber} &amp;lt;br/&amp;gt; &lt;br&gt;} &lt;br&gt;} else { &lt;br&gt;You have no recent orders. &lt;br&gt;}&lt;br&gt;定义变量 &lt;br&gt;{var varName} &lt;br&gt;{var varName = varInitExpr}&lt;br&gt;*varName必须是一个合法的javascript变量名 &lt;br&gt;*varInitExpr必须是一个没有包含"}"的字符串 &lt;br&gt;例子：&lt;br&gt;CODE:&lt;br&gt;{var temp = crypto.generateRandomPrime(4096)} &lt;br&gt;Your prime is ${temp}.&lt;br&gt;宏定义 &lt;br&gt;{macro macroName(arg1, arg2, ...argN)} &lt;br&gt;...body of the macro... &lt;br&gt;{/macro}&lt;br&gt;*宏类似于一个javascript函数，不同点在于宏的主体是另外一个包含了诸如控制语句、循环语句的JST模板 &lt;br&gt;*宏的名称必须是一个合法 javascript变量名 &lt;br&gt;*宏的返回值是一个字符创 &lt;br&gt;*使用宏可以采用这种语法 ：${macroName()} &lt;br&gt;一个使用宏的例子&lt;br&gt;CODE:&lt;br&gt;{macro htmlList(list, optionalListType)} &lt;br&gt;{var listType = optionalListType != null ? optionalListType : "ul"} &lt;br&gt;&amp;lt;${listType}&amp;gt; &lt;br&gt;{for item in list} &lt;br&gt;&amp;lt;li&amp;gt;${item}&amp;lt;/li&amp;gt; &lt;br&gt;{/for} &lt;br&gt;&amp;lt;/${listType}&amp;gt; &lt;br&gt;{/macro} &lt;br&gt;Using the macro... &lt;br&gt;${htmlList([ 1, 2, 3])} &lt;br&gt;${htmlList([ "Purple State", "Blue State", "Red State" ], "ol")} &lt;br&gt;{var saved = htmlList([ 100, 200, 300 ])} &lt;br&gt;${saved} and ${saved}&lt;br&gt;运行上述语句将出现&lt;br&gt;QUOTE:&lt;br&gt;*1 &lt;br&gt;*2 &lt;br&gt;*3&lt;br&gt;这样的列表。只需将数据列表赋值给htmlList这个宏，就会帮你把数据通过&amp;lt;li&amp;gt;方式列出来，聪明的你很快就会把它改成&amp;lt;option&amp;gt;&amp;lt;td&amp;gt;等应用了。 &lt;br&gt;从宏的访问域来说，默认情况下它是每个模板私有的，但是如果你想定义 &lt;br&gt;一个宏库的话，那么也许你需要在process()之前先定义可以导出宏：contextObject['exported'] ={}; &lt;br&gt;下面是例子：&lt;br&gt;CODE:&lt;br&gt;{macro userName(user)} &lt;br&gt;{if user.aliasName != null &amp;amp;&amp;amp; user.aliasName.length &amp;gt; 0} &lt;br&gt;${user.aliasName} &lt;br&gt;{else} &lt;br&gt;${user.login} &lt;br&gt;{/if} &lt;br&gt;{/macro} &lt;br&gt;${exported.userName = userName |eat}&lt;br&gt;另外，你也可以设置 contextObject['exported'] = contextObject;它也可以正常的工作。 &lt;br&gt;CDATA 文本区段 &lt;br&gt;[code] &lt;br&gt;{cdata} &lt;br&gt;...text emitted without JST processing... &lt;br&gt;{/cdata} &lt;br&gt;{cdata EOF} &lt;br&gt;...text emitted without JST processing... &lt;br&gt;EOF &lt;p&gt;转帖自：http://bbs.chinaunix.net /viewthread.php?tid=735901&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/1710262.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1710262.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1673182.html</id><title type="text">tinymce-又一款js可视化编辑器推荐-[编辑器大搜罗]</title><summary type="text">之前在博客园中陆陆续续发布了三遍收藏的文章 《几种所见所得的在线编辑器》 《淘宝开源编辑器 KISSY Editor 发布了》 《最全ASP编辑器打包下载》 这次在博客园看发帖时候一款js可视化编辑器，感觉灰常的不错，然后搜索了一下，终于找到这个编辑器。自觉不错，所以推荐下大家用用。tinymce 一款用户web开发的jss可视化编辑器，能够完全转换为HTML TEXTAREA 字段或者是HTML...</summary><published>2010-02-25T01:46:00Z</published><updated>2010-02-25T01:46:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1673182.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1673182.html"/><content type="html">&lt;p&gt;之前在&lt;a href="http://www.cnblogs.com/twh"&gt;博客园&lt;/a&gt;中陆陆续续发布了三遍收藏的文章 &lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/343331.html"&gt;《几种所见所得的在线编辑器》&lt;/a&gt; &lt;a href="http://www.cnblogs.com/twh/articles/1598631.html"&gt;《淘宝开源编辑器 KISSY Editor 发布了》&lt;/a&gt; &lt;a href="http://www.cnblogs.com/twh/articles/1558282.html"&gt;《最全ASP编辑器打包下载》&lt;/a&gt; &lt;p&gt;&lt;a href="http://tinymce.moxiecode.com/"&gt;&lt;img alt="tinymce" src="http://tinymce.moxiecode.com/img/logo_tinymce_2.gif"&gt;&lt;/a&gt;&lt;br&gt;这次在博客园看发帖时候一款js可视化编辑器，感觉灰常的不错，然后搜索了一下，终于找到这个编辑器。自觉不错，所以推荐下大家用用。&lt;br&gt;&lt;a href="http://tinymce.moxiecode.com"&gt;tinymce&lt;/a&gt; 一款用户web开发的jss可视化编辑器，能够完全转换为HTML TEXTAREA 字段或者是HTML 原始。同时他能狠容易的用户文章管理系统中的应用。&lt;br&gt;&lt;img alt="editor" src="http://tinymce.moxiecode.com/img/editor.gif"&gt;&lt;br&gt;同样支持换肤，自由配置按钮，更为友好的是，作者还提供了&lt;a href="http://www.tree360.cn/blog/default.asp?cateID=5"&gt;jQuery&lt;/a&gt;插件形式包，和语言包给大家。&lt;br&gt;演示：&lt;a href="http://tinymce.moxiecode.com/examples/full.php"&gt;http://tinymce.moxiecode.com/examples/full.php&lt;/a&gt;&lt;br&gt;下载：&lt;a href="http://tinymce.moxiecode.com/download.php"&gt;http://tinymce.moxiecode.com/download.php&lt;/a&gt; &lt;p&gt;出自：&lt;a title="http://www.tree360.cn/blog/article.asp?id=218" href="http://www.tree360.cn/blog/article.asp?id=218"&gt;http://www.tree360.cn/blog/article.asp?id=218&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/1673182.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1673182.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1671823.html</id><title type="text">CAB文件制作和解压实现</title><summary type="text">全文见 长青树简简单单CAB文件制作和解压实现 一文我们开发中可能会用到CAB文件制作，我也了解到很多手机程序和文件都制作城CAB形式来进行安装，还有是把activx控件打包成CAB文件，嵌入网页的时候可以自动解压安装注册。这里我介绍下CAB文件制作和解压过程方法。1）制作过程。我们可以使用makecab MakeCAB.exe 是 Windows 2000 或更高版本中随附的工具。在我们的xp系...</summary><published>2010-02-23T04:27:00Z</published><updated>2010-02-23T04:27:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1671823.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1671823.html"/><content type="html">&lt;p&gt;全文见 &lt;a href="http://www.tree360.cn/blog/"&gt;长青树&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.tree360.cn/blog/article.asp?id=215"&gt;简简单单CAB文件制作和解压实现&lt;/a&gt; 一文&lt;br&gt;我们开发中可能会用到CAB文件制作，我也了解到很多手机程序和文件都制作城CAB形式来进行安装，还有是把activx控件打包成CAB文件，嵌入网页的时候可以自动解压安装注册。这里我介绍下CAB文件制作和解压过程方法。&lt;br&gt;1）制作过程。&lt;br&gt;我们可以使用makecab &lt;br&gt;MakeCAB.exe 是 Windows 2000 或更高版本中随附的工具。在我们的xp系统已经自带了。&lt;br&gt;使用过程也非常简单。&lt;br&gt;makecab 源文件名&amp;nbsp; 目的文件名 &lt;br&gt;我们在cmd下，运行makecab 即可以，查看下他的帮助makecab /?  &lt;p&gt;2）CAB文件解压。&lt;br&gt;我们这里使用微软的工具Extract.exe 工具下载你也可以看这篇文章&lt;a href="http://localhost/blog/article.asp?id=214"&gt;Microsoft cab 文件软件开发工具包&lt;/a&gt;&lt;br&gt;我们解压后提取bin下的文件，放置任意路径下，这里我们放在C:\123\BIN下，&lt;br&gt;extract /E 提取 1.cab 提取 1.cab下的所有文件，并且释放到当前路径下。&lt;br&gt;或者我们指定提取 C:\123\BIN&amp;gt;extract /a 1.cab a.txt&lt;br&gt;关于extract的更多命令意思，可以看&lt;a href="http://localhost/blog/article.asp?id=213"&gt;extract 解压缩CAB文件&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/1671823.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1671823.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1671366.html</id><title type="text">java struts2 开发使用小记</title><summary type="text">非常感谢路过和S2SH群里朋友的帮助，使得jsp struts2的能够正常的调试通过。向来从事.net开发，也没咋学习java，jsp感觉似乎和其他asp，php 大噶有点意思，所以旧上路了。java下MyEclipse的开发并没有向微软提供的.net Vistual studio 那样方便快速上手。 struts2-demo.rar下面是我struts2学习搭建的测试demo过程：1）下载str...</summary><published>2010-02-22T09:13:00Z</published><updated>2010-02-22T09:13:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1671366.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1671366.html"/><content type="html">&#xD;
&lt;p&gt;非常感谢路过和S2SH群里朋友的帮助，使得jsp struts2的能够正常的调试通过。&lt;br&gt;向来从事.net开发，也没咋学习java，jsp感觉似乎和其他asp，php 大噶有点意思，所以旧上路了。java下MyEclipse的开发并没有向微软提供的.net Vistual studio 那样方便快速上手。&lt;br&gt;&lt;img alt="down" src="http://bbs.jquery.org.cn/images/wind/file/zip.gif"&gt; &lt;a href="http://www.tree360.cn/demo/struts2.rar"&gt;struts2-demo.rar&lt;/a&gt;&lt;br&gt;&lt;img alt="struts2" src="http://www.tree360.cn/blog/upload/struts2.png"&gt;&lt;br&gt;下面是我struts2学习搭建的测试demo过程：&lt;br&gt;1）下载struts2的lib，http://struts.apache.org/download.cgi 我们下载最新的 &lt;p&gt;struts2.1.8.1版本。解压下载的文件，我们可以看到有apps、docs、lib、src和一些说明文件。 &lt;p&gt;apps是提供给我们的使用案例，lib是struts2的相关类库，docs为说明文档，src为源码文件。 &lt;p&gt;不同的版本设置会有不同，这点非常重要。后面我们在配置处会提到。 &lt;p&gt;1）我们在MyEclipse下新建个 Web Project 项目，任意命名，我们给它叫struts2。然后配置我们的项目，使他支持struts2。打开 WebRoot 下的WEB-INF 下的web.xml 添加如下：&lt;br&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br&gt;&amp;lt;web-app version="2.5" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="http://java.sun.com/xml/ns/javaee" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation="http://java.sun.com/xml/ns/javaee &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;welcome-file-list&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.jsp&amp;lt;/welcome-file&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/welcome-file-list&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;filter&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;filter-name&amp;gt;s2&amp;lt;/filter-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;filter-class&amp;gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&amp;lt;/filter-class&amp;gt;&lt;br&gt;&amp;lt;/filter&amp;gt;&lt;br&gt;&amp;lt;filter-mapping&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;filter-name&amp;gt;s2&amp;lt;/filter-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;&lt;br&gt;&amp;lt;/filter-mapping&amp;gt;&lt;br&gt;&amp;lt;/web-app&amp;gt; &lt;p&gt;2）创建我们的Web应用。 添加我们的登录测试页面。login.jsp 内容如下： &lt;p&gt;&amp;lt;%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%&amp;gt;&lt;br&gt;&amp;lt;html&amp;gt;&lt;br&gt;&amp;lt;head&amp;gt;&lt;br&gt;&amp;lt;title&amp;gt;登录页面&amp;lt;/title&amp;gt;&lt;br&gt;&amp;lt;/head&amp;gt;&lt;br&gt;&amp;lt;body&amp;gt;&lt;br&gt;&amp;lt;form action="lee/login.action" method="post"&amp;gt;&lt;br&gt;&amp;lt;table align="center"&amp;gt;&lt;br&gt;&amp;lt;caption&amp;gt;&amp;lt;h3&amp;gt;111&amp;lt;/h3&amp;gt;&amp;lt;/caption&amp;gt;&lt;br&gt;&amp;lt;tr&amp;gt;&lt;br&gt;&amp;lt;td&amp;gt;用户名：&amp;lt;input type="text" name="username"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;&amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;tr&amp;gt;&lt;br&gt;&amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;密码：&amp;lt;input type="text" name="password"/&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;&amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;tr align="center"&amp;gt;&lt;br&gt;&amp;lt;td colspan="2"&amp;gt;&amp;lt;input type="submit" value="登录"/&amp;gt;&amp;amp;nbsp;&amp;lt;input&lt;br&gt;type="reset" value="重填" /&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;&amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;/table&amp;gt;&lt;br&gt;&amp;lt;/form&amp;gt;&lt;br&gt;&amp;lt;/body&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt; &lt;p&gt;我们注意到表单提交的action 是 action="lee/login.action" 这里的login.action 是lee 包 package下的类名，而.action&amp;nbsp; Struts2 Action默认拦截所有后缀为.action的请求。因此，如果我们需要讲某个表单提交给Struts2 Action处理，则应该将该表单的action属性设置为*.action的格式。 &lt;p&gt;接下来我们实现控制器。在src下添加package 名lee 添加 LoginAction.java 类，代码如下： &lt;p&gt;package lee;&lt;br&gt;//Struts 2 的 Action 类&lt;br&gt;public class LoginAction {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String username;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String password;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUsername() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return username;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUsername(String username) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.username = username;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getPassword() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return password;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setPassword(String password) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.password = password;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String execute() throws Exception {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.print("a啊哦~~~");&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (getUsername().equals("scott") &amp;amp;&amp;amp; getPassword().equals("tiger")) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "success";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "error";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;并且我们得配置我们的Action，定义Action和资源之间的映射关系。struts.xml 放在src根目录下。&lt;br&gt;代码如下： &lt;p&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br&gt;&amp;lt;!DOCTYPE struts PUBLIC&lt;br&gt;"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"&lt;br&gt;"http://struts.apache.org/dtds/struts-2.0.dtd"&amp;gt;&lt;br&gt;&amp;lt;struts&amp;gt;&lt;br&gt;&amp;lt;package name="lee" extends="struts-default"&amp;gt;&lt;br&gt;&amp;lt;action name="login" &amp;gt;&lt;br&gt;&amp;lt;result name="error"&amp;gt;/error.jsp&amp;lt;/result&amp;gt;&lt;br&gt;&amp;lt;result name="success"&amp;gt;/welcome.jsp&amp;lt;/result&amp;gt;&lt;br&gt;&amp;lt;/action&amp;gt;&lt;br&gt;&amp;lt;/package&amp;gt;&lt;br&gt;&amp;lt;/struts&amp;gt;&lt;br&gt;最后一步，添加视图资源完成应用。添加welcome.jsp 和error.jsp 如下： &lt;p&gt;&amp;lt;%@ page language="java" contentType="text/html; charset=GBK"%&amp;gt;&lt;br&gt;&amp;lt;html&amp;gt;&lt;br&gt;&amp;lt;head&amp;gt;&lt;br&gt;&amp;lt;title&amp;gt;成功页面&amp;lt;/title&amp;gt;&lt;br&gt;&amp;lt;/head&amp;gt;&lt;br&gt;&amp;lt;body&amp;gt;&lt;br&gt;您已经登入!&lt;br&gt;&amp;lt;/body&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;&amp;lt;%@ page language="java" contentType="text/html; charset=GBK"%&amp;gt;&lt;br&gt;&amp;lt;html&amp;gt;&lt;br&gt;&amp;lt;head&amp;gt;&lt;br&gt;&amp;lt;title&amp;gt;出错页面&amp;lt;/title&amp;gt;&lt;br&gt;&amp;lt;/head&amp;gt;&lt;br&gt;&amp;lt;body&amp;gt;&lt;br&gt;出错了！&lt;br&gt;&amp;lt;/body&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;至此我们完成所有struts2的配置，你可以调试看看是否成功登录。这里是我们的工程项目文件的结构截图,见图1。&lt;br&gt; 项目下载：&lt;img alt="down" src="http://bbs.jquery.org.cn/images/wind/file/zip.gif"&gt; &lt;a href="http://www.tree360.cn/demo/struts2.rar"&gt;struts2-demo.rar&lt;/a&gt;&lt;br&gt;注：如果是像我这样做.net等其他语言开发的，可能对java下的jsp 的很多不太熟悉，所以要特别注意配置文件细节，比如struts.xml是放在src下面的，web.xml 是位于WebRoot/WEB-INF/下的&lt;br&gt;web.xml中如果你想我使用的struts2的lib是2.1.8.1的话，那得是这个配置&lt;br&gt;&amp;lt;filter&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;filter-name&amp;gt;struts2&amp;lt;/filter-name&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;filter-class&amp;gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&amp;lt;/filter-class&amp;gt;&lt;br&gt;&amp;lt;/filter&amp;gt;&lt;br&gt;不是&lt;br&gt;&amp;lt;filter&amp;gt;&lt;br&gt;&amp;lt;filter-name&amp;gt;struts2&amp;lt;/filter-name&amp;gt;&lt;br&gt;&amp;lt;filter-class&amp;gt;org.apache.Struts2.dispatcher.FilterDispatcher&lt;br&gt;&amp;lt;/ filter-class&amp;gt;&lt;br&gt;&amp;lt;/filter&amp;gt;&lt;br&gt;初学者，不注意这些，都会带来很多不必要有找不到原因的问题。。。 &lt;p&gt;长青树:&lt;a title="http://www.tree360.cn/blog/article.asp?id=211" href="http://www.tree360.cn/blog/article.asp?id=211"&gt;http://www.tree360.cn/blog/article.asp?id=211&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/twh/aggbug/1671366.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/twh/articles/1671366.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/twh/articles/1666733.html</id><title type="text">作为一个男人应该做好下列小事</title><summary type="text">1，朋友请你吃饭，不要觉得理所当然，请礼尚往来，否则你的名声会越来越臭。  2，给自己定目标，一年，两年，五年，也许你出生不如别人好，通过努力，往往可以改变70(百分号)的命运。破罐子破摔只能和懦弱做朋友。 3，这是个现实的社会，感情不能当饭吃，贫穷夫妻百事哀。不要相信电影，那只是个供许多陌生人喧嚣情感的场所。 4，好朋友里面，一定要培养出一个知己，不要以为你有多么八面玲珑，到处是朋友，最后真心对...</summary><published>2010-02-09T09:32:00Z</published><updated>2010-02-09T09:32:00Z</updated><author><name>╁蓝驿┲→</name><uri>http://www.cnblogs.com/twh/</uri></author><link rel="alternate" href="http://www.cnblogs.com/twh/articles/1666733.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/twh/articles/1666733.html"/></entry></feed>
