<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>蝈蝈俊</title><link>http://web.mblogger.cn/ghj1976/</link><description>这里是我的收集的一些资料，以及一些不成熟的技术想法。</description><dc:language>zh-CHS</dc:language><generator>RSS Generated by MBlogger Blogs</generator><item><dc:creator>ghj1976</dc:creator><title>希奇呀，来北京六年，今天竟然看到所谓的自认为自己是纯种北京的人。</title><link>http://web.mblogger.cn/ghj1976/posts/60467.aspx</link><pubDate>Thu, 07 Dec 2006 08:34:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/60467.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/60467.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/60467.aspx#feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/60467.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=60467</trackback:ping><description>&lt;P&gt;今天早上坐公交车来公司的路上，其中换乘了710路，今天这趟710超挤，人很多。另外今天北京早上温度是零下2度。&lt;/P&gt;
&lt;P&gt;车走到一半的时候，听见车中央有人吵架。&lt;/P&gt;
&lt;P&gt;仔细一听，是因为一个所谓的北京纯种的人在跟一个民工吵架。&lt;/P&gt;
&lt;P&gt;原因就是这个北京的觉得车上空气很不新鲜，把窗户打开了。&lt;/P&gt;
&lt;P&gt;而民工这里觉得很冷，把窗户又关上了。&lt;/P&gt;
&lt;P&gt;为此就吵起来了。&lt;/P&gt;
&lt;P&gt;感觉民工这里很没有底气，中途甚至说，车开起来就把窗户关了，车停下来再打开窗户。&lt;/P&gt;
&lt;P&gt;而那个北京的则仍然非要一直打开窗户。&lt;/P&gt;
&lt;P&gt;如果就这些，最多是一般的吵架，但是这个北京的说了很多鄙视民工的话。&lt;/P&gt;
&lt;P&gt;比如：你们来北京干嘛，北京**** 都是你们这些人弄得。。。。。&lt;/P&gt;
&lt;P&gt;希奇呀，来北京六年，今天竟然看到所谓的自认为自己是纯种北京的人，竟然这么看不起外地人。看不起民工。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>我练的三十七式太极拳的招式列表</title><link>http://web.mblogger.cn/ghj1976/posts/59649.aspx</link><pubDate>Thu, 19 Oct 2006 13:25:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/59649.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/59649.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/59649.aspx#feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/59649.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=59649</trackback:ping><description>预备式&lt;BR&gt;第一式 太极起式（4）&lt;BR&gt;第二式 揽雀尾（8）&lt;BR&gt;第三式 搂膝拗步（6）&lt;BR&gt;第四式 手挥琵琶（4）&lt;BR&gt;第五式 野马分鬃（4）&lt;BR&gt;第六式 玉女穿梭（20）&lt;BR&gt;第七式 肘底看锤（2）&lt;BR&gt;第八式 金鸡独立（4）&lt;BR&gt;第九式 倒撵猴（10）&lt;BR&gt;第十式 斜飞式（4）&lt;BR&gt;第十一式 提手上势（4）&lt;BR&gt;第十二式 白鹤亮翅（4）&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;第十三式 海底针（4）&lt;BR&gt;第十四式 扇通背（臂）（2）&lt;BR&gt;第十五式 左右分脚（12）&lt;BR&gt;第十六式 转身蹬脚（4）&lt;BR&gt;第十七式 进步栽锤（6）&lt;BR&gt;第十八式 翻身撇身锤（2）&lt;BR&gt;第十九式 二起脚（6）&lt;BR&gt;第二十式 左右打虎（4）&lt;BR&gt;第二十一式 双风贯耳（4）&lt;BR&gt;第二十二式 披身踢脚（4）&lt;BR&gt;第二十三式 回身蹬脚（4）&lt;BR&gt;第二十四式 扑面掌（4）&lt;BR&gt;第二十五式 十字腿(单摆莲)（4）&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;第二十六式 搂膝指裆锤（4）&lt;BR&gt;第二十七式 正单鞭（6）&lt;BR&gt;第二十八式 云手（6）&lt;BR&gt;第二十九式 下势（2）&lt;BR&gt;第三十式 上步七星（上步骑鲸）（2）&lt;BR&gt;第三十一式 退步跨虎（2）&lt;BR&gt;第三十二式 回身扑面掌（2）&lt;BR&gt;第三十三式 转身摆莲(双摆莲)（4）&lt;BR&gt;第三十四式 弯弓射虎（4）&lt;BR&gt;第三十五式 卸步搬拦锤（4）&lt;BR&gt;第三十六式 如封似闭（2）&lt;BR&gt;第三十七式 抱虎归山、十字手、收式（6）&lt;BR&gt;*括号中为动作数&lt;BR&gt;总共178动作&lt;BR&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>[收集]IA64版本的软件和X64版本的软件有什么不同？ </title><link>http://web.mblogger.cn/ghj1976/posts/56402.aspx</link><pubDate>Mon, 24 Jul 2006 16:50:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/56402.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/56402.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/56402.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/56402.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=56402</trackback:ping><description>IA64的软件只能在Intel安腾处理器运行，而x64的CPU可以在Intel 支持EM64T处理器上或者AMD64处理器上运行 &lt;BR&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>RSS.net bug 的修改</title><link>http://web.mblogger.cn/ghj1976/posts/56186.aspx</link><pubDate>Fri, 21 Jul 2006 11:04:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/56186.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/56186.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/56186.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/56186.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=56186</trackback:ping><description>&lt;P&gt;基于文件名的写 RSS ，忘了考虑编码方式了&lt;/P&gt;
&lt;P&gt;这部分修改在 RssFeed.cs 文件中&lt;/P&gt;
&lt;P&gt;修改后的代码如下：&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;public void Write(string fileName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RssWriter writer;&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; // 这里少考虑的编码的问题，我把这里做了修改。&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; if (encoding == null)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer = new RssWriter(fileName);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer = new RssWriter(fileName, encoding);&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; write(writer);&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;修改前的代码&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;public void Write(string fileName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RssWriter writer;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer = new RssWriter(fileName);&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; write(writer);&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>II 6 的默认账号</title><link>http://web.mblogger.cn/ghj1976/posts/56133.aspx</link><pubDate>Thu, 20 Jul 2006 09:56:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/56133.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/56133.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/56133.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/56133.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=56133</trackback:ping><description>IIS 6.0坚持一个基本安全原则--最小特权原则。也就是说，HTTP.sys中所有代码都是以Local System&lt;SPAN id=google-navclient-hilite style="COLOR: black; BACKGROUND-COLOR: fuchsia"&gt;&lt;SPAN id=google-navclient-hilite style="COLOR: black; BACKGROUND-COLOR: fuchsia"&gt;权限&lt;/SPAN&gt;&lt;/SPAN&gt;执行的，而所有的工作进程，都是以Network Service的&lt;SPAN id=google-navclient-hilite style="COLOR: black; BACKGROUND-COLOR: fuchsia"&gt;&lt;SPAN id=google-navclient-hilite style="COLOR: black; BACKGROUND-COLOR: fuchsia"&gt;权限&lt;/SPAN&gt;&lt;/SPAN&gt;执行的。Network Service是Windows 2003中新内置的一个被严格限制的账号。另外，IIS 6.0只允许管理员执行命令行工具，从而避免命令行工具的恶意使用。这些设计上的改变，都降低了通过潜在的漏洞攻击服务器的可能性。部分基础设计上的改变、一些简单配置的更改（包括取消匿名用户向web服务器的根目录写入&lt;SPAN id=google-navclient-hilite style="COLOR: black; BACKGROUND-COLOR: fuchsia"&gt;&lt;SPAN id=google-navclient-hilite style="COLOR: black; BACKGROUND-COLOR: fuchsia"&gt;权限&lt;/SPAN&gt;&lt;/SPAN&gt;，和将FTP用户的访问隔离在他们各自的主目录中）都极大地提高了IIS 6.0的安全性。&lt;BR&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>如何去掉一个指定文件的只读属性</title><link>http://web.mblogger.cn/ghj1976/posts/56066.aspx</link><pubDate>Tue, 18 Jul 2006 15:37:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/56066.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/56066.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/56066.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/56066.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=56066</trackback:ping><description>&lt;P&gt;using System.IO.&lt;/P&gt;
&lt;P&gt;FileName 为你需要修改的文件名&lt;BR&gt;File.SetAttributes(FileName, File.GetAttributes(FileName) &amp;amp; (~FileAttributes.ReadOnly));&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>[收集]一些对 .Text 版的blog 做的优化文章收集</title><link>http://web.mblogger.cn/ghj1976/posts/56001.aspx</link><pubDate>Mon, 17 Jul 2006 18:20:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/56001.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/56001.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/56001.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/56001.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=56001</trackback:ping><description>&lt;P&gt;&lt;A href="http://dudu.cnblogs.com/archive/2005/10/12/253004.html"&gt;http://dudu.cnblogs.com/archive/2005/10/12/253004.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://dudu.cnblogs.com/archive/2005/07/20/196312.html"&gt;http://dudu.cnblogs.com/archive/2005/07/20/196312.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>Community Server 2.0 数据库中一些字段分析（20060712）</title><link>http://web.mblogger.cn/ghj1976/posts/55836.aspx</link><pubDate>Wed, 12 Jul 2006 17:11:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/55836.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/55836.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/55836.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/55836.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=55836</trackback:ping><description>&lt;P&gt;Community Server 2.0 数据库中一些字段分析（未完）&lt;/P&gt;
&lt;P&gt;cs_Posts 表&lt;/P&gt;
&lt;P&gt;PostConfiguration 字段, int 类型&lt;/P&gt;
&lt;P&gt;ApplicationPostType 字段, int 类型&lt;BR&gt;&lt;BR&gt;在代码的Post类中，我们可以看到这两个的值：&lt;BR&gt;protected internal int ApplicationPostTypeValue = 0;&lt;BR&gt;protected internal int PostConfigurationValue = 0;&lt;BR&gt;&lt;BR&gt;PostConfiguration&amp;nbsp; 这里，我们可以看到如下枚举定义，标示每一种 PostConfiguration&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Flags()]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public enum PostConfiguration {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NotSet = 0,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IsAnonymousPost = 1,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IsIgnoredPost = 2&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>分析Community Server 的Job（定时执行）比较深入的文章收集</title><link>http://web.mblogger.cn/ghj1976/posts/55816.aspx</link><pubDate>Tue, 11 Jul 2006 18:21:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/55816.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/55816.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/55816.aspx#feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/55816.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=55816</trackback:ping><description>&lt;P&gt;&lt;A id=viewpost1_TitleUrl href="http://ugoer.cnblogs.com/archive/2005/09/13/236028.html"&gt;Community Server专题七： Job &amp;amp; Timer&lt;/A&gt; &lt;BR&gt;&lt;A href="http://ugoer.cnblogs.com/archive/2005/09/13/236028.html"&gt;http://ugoer.cnblogs.com/archive/2005/09/13/236028.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>ADO.NET Data Provider for SQLite</title><link>http://web.mblogger.cn/ghj1976/posts/55811.aspx</link><pubDate>Tue, 11 Jul 2006 14:51:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/55811.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/55811.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/55811.aspx#feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/55811.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=55811</trackback:ping><description>&lt;P&gt;&lt;A href="http://sourceforge.net/projects/adodotnetsqlite"&gt;http://sourceforge.net/projects/adodotnetsqlite&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;SQLite 的 ADO.net 编程接口&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>[收集]SQLite 一个轻量级别数据库</title><link>http://web.mblogger.cn/ghj1976/posts/55810.aspx</link><pubDate>Tue, 11 Jul 2006 14:35:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/55810.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/55810.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/55810.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/55810.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=55810</trackback:ping><description>&lt;P&gt;今天面试的一个人提到&lt;STRONG&gt;SQLite &lt;/STRONG&gt;汗颜，以前没听说过，下面就收集了一些跟它有关的资料：&lt;/P&gt;
&lt;P&gt;出处：&lt;A href="http://www.ugia.cn/?p=41"&gt;http://www.ugia.cn/?p=41&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG class=alignright alt=sqlite src="http://www.sqlite.org/sqlite.gif"&gt;&lt;A href="http://www.sqlite.org/" target=_blank&gt;&lt;FONT color=#2c4f83&gt;SQLite&lt;/FONT&gt;&lt;/A&gt; 一个轻量级别数据库, 具有很多不错的特点。&lt;/P&gt;
&lt;P&gt;支持事件&lt;BR&gt;不需要配置，不需要安装，也不需要管理员&lt;BR&gt;支持大部分SQL92&lt;BR&gt;一个完整的数据库保存在磁盘上面一个文件&lt;BR&gt;同一个数据库文件可以在不同机器上面使用&lt;BR&gt;最大支持数据库到2T&lt;BR&gt;字符和BLOB的支持仅限制于可用内存&lt;BR&gt;整个系统少于3万行代码,少于250KB的内存占用(gcc)&lt;BR&gt;大部分应用比目前常见的 客户端/服务端 的数据库快&lt;BR&gt;没有其它依赖&lt;BR&gt;源代码开放, 代码95%有较好的注释&lt;BR&gt;简单易用的API. 官方带有TCL的编译版本。其它的单独提供&lt;/P&gt;
&lt;P&gt;php 从 5.x 开始默认内置编译了SQLite, 4.x 需要通过pear 来安装 pear install sqlite SQLite 常用于嵌入到程序， 为一些需要数据库，但是不必要安装中/大型的数据库，而且进行的是比较普通的操作(例如select/insert/delete之类的) &lt;A id=more-41&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;php的sqlite的一些例子&lt;BR&gt;以下为打开一个名叫sqlite.db的库, 如果不存在,会创建一个(需要目录可写)&lt;/P&gt;
&lt;DIV class=php_code&gt;&lt;SPAN class=php_000000&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db_name&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;'sqlite.db'&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;=new&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;SQLiteDatabase&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db_name&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;,&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;0644&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;,&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$error&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;);&lt;BR&gt;if&amp;nbsp;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$error&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;)&amp;nbsp;exit(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$error&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color=#007700&gt;&lt;SPAN class=php_007700&gt;);&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;创建一个表, 三个字段&lt;BR&gt;user,主键,非空,长度100的varchar&lt;BR&gt;pass,非空,长度100的varchar&lt;BR&gt;date,非空,整型,索引&lt;BR&gt;这里使用了queryExec 而不是 query.因为只是执行,不需要返回结果&lt;BR&gt;注意：在SQLite里面query也是可以执行多行语句，但是如果有结果返回的,则只会有执行第一个有结果返回的命令。&lt;BR&gt;执行失败将会返回FALSE.&lt;/P&gt;
&lt;DIV class=php_code&gt;&lt;SPAN class=php_000000&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;queryexec&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;TABLE&amp;nbsp;user&amp;nbsp;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;user&amp;nbsp;VARCHAR&amp;nbsp;(&amp;nbsp;100&amp;nbsp;)&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;PRIMARY&amp;nbsp;KEY,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pass&amp;nbsp;VARCHAR&amp;nbsp;(&amp;nbsp;100&amp;nbsp;)&amp;nbsp;NOT&amp;nbsp;NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;date&amp;nbsp;INTEGER&amp;nbsp;NOT&amp;nbsp;NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE&amp;nbsp;INDEX&amp;nbsp;user_date&amp;nbsp;ON&amp;nbsp;user(date);&lt;BR&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color=#007700&gt;&lt;SPAN class=php_007700&gt;);&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;插入一条数据&lt;/P&gt;
&lt;DIV class=php_code&gt;&lt;SPAN class=php_000000&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;query&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"INSERT&amp;nbsp;INTO&amp;nbsp;user&amp;nbsp;(user,&amp;nbsp;pass,&amp;nbsp;date)&amp;nbsp;VALUES&amp;nbsp;('admin',&amp;nbsp;'password',&amp;nbsp;123456789)"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;query&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"INSERT&amp;nbsp;INTO&amp;nbsp;user&amp;nbsp;(user,&amp;nbsp;pass,&amp;nbsp;date)&amp;nbsp;VALUES&amp;nbsp;('super',&amp;nbsp;'password2',&amp;nbsp;123456790)"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color=#007700&gt;&lt;SPAN class=php_007700&gt;);&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;对某条记录进行更新&lt;/P&gt;
&lt;DIV class=php_code&gt;&lt;SPAN class=php_000000&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;query&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"UPDATE&amp;nbsp;user&amp;nbsp;SET&amp;nbsp;password='password1'&amp;nbsp;WHERE&amp;nbsp;user='admin'"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color=#007700&gt;&lt;SPAN class=php_007700&gt;);&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;查询&lt;BR&gt;PHP下面SQLite的查询有很多形式&lt;BR&gt;sqlite_array_query 进行一个查询，直接将返回的结果放入array&lt;BR&gt;sqlite_query 是个普通的执行命令，返回为handle&lt;/P&gt;
&lt;P&gt;返回来的handle 可以通过以下来获取结果&lt;BR&gt;sqlite_fetch_all 获取所有结果并且将每条结果作为array，然后放入一个大的array里面&lt;BR&gt;sqlite_fetch_array 获取下一个结果作为array&lt;BR&gt;sqlite_fetch_column_types &amp;#8212; Return an array of column types from a particular table&lt;BR&gt;sqlite_fetch_object 获取下一个结果返回一个对象(obj)&lt;BR&gt;sqlite_fetch_single 只获取第一列结果,返回为字符变量&lt;BR&gt;sqlite_fetch_string 等同于 sqlite_fetch_single&lt;/P&gt;
&lt;P&gt;因此会很方便写数据库的查询&lt;BR&gt;例子:&lt;/P&gt;
&lt;DIV class=php_code&gt;&lt;SPAN class=php_000000&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$r&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;singleQuery&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"SELECT&amp;nbsp;password&amp;nbsp;FROM&amp;nbsp;user&amp;nbsp;WHERE&amp;nbsp;user='admin'"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_FF8000&gt;&lt;FONT color=#ff8000&gt;//&amp;nbsp;$r&amp;nbsp;则为返回来的&amp;nbsp;password1&amp;nbsp;字符串&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$q&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;Query&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"SELECT&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;user"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;);&lt;BR&gt;while&amp;nbsp;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$r&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$q&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;fetch&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;())&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"User:&amp;nbsp;$r[user]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Password:&amp;nbsp;$r[pass]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Date:&amp;nbsp;$r[date]n"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;;&lt;BR&gt;}&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$r&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$db&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;-&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;fetchAll&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_DD0000&gt;&lt;FONT color=#dd0000&gt;"SELECT&amp;nbsp;user,&amp;nbsp;password&amp;nbsp;FROM&amp;nbsp;user"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;print_r&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_007700&gt;&lt;FONT color=#007700&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;FONT color=#0000bb&gt;$r&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color=#007700&gt;&lt;SPAN class=php_007700&gt;);&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=php_0000BB&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;使用SQLite最大的好处是不用依赖使用其它DB,而且基本不需要担心DB server崩溃了你的程序就跟着挂了。&lt;BR&gt;另外就是C/C++/delphi/java的可以把整个数据库引擎内嵌，不需要调用其它API，接口等&lt;BR&gt;&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>[收集]地外生命的形态（二）氨基生命</title><link>http://web.mblogger.cn/ghj1976/posts/55806.aspx</link><pubDate>Tue, 11 Jul 2006 13:47:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/55806.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/55806.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/55806.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/55806.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=55806</trackback:ping><description>氨基生命&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　这是一幅非常有趣的漫画，一艘飞碟坠毁在某星球的荒漠中，一个外星人在荒漠中艰难跋涉后扑倒在地，嘴因干渴而大张着，下面注解的文字是他在焦渴中的呼喊：&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　&amp;#8220;氨！氨！&amp;#8221;&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　看来，这是一种需要依靠喝氨来生存的外星人，正如同我们人类需要靠喝水来生存一样。&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　1954年，同样是本文前面提到过的那位英国科学家霍尔丹，在一次座谈会上讨论生命起源时，提出被我们人类这种生命形态利用的水这种溶剂，在某些生命形态下可以由液态氨来代替。他提出的理由之一是水的一些特性和氨是类似的，比如，以水为基础可以形成甲醇(CH3OH)，而以氨为基础可以形成甲胺(CH3NH2)，甲醇和甲胺这两种化合物正是类似物。霍尔丹由此从理论上提出，有可能以氨为基础建立其一系列复杂化合物的对应体系，比如蛋白质和核酸的对应物质，利用这个体系，整套有机化合物、肽，能够在氨基体系下同样存在。这些作为普通氨基酸替代物的氨基分子能够聚合形成多肽，这些以氨为基础的多肽能够同从地球生命形态中找到的对应物一致。&lt;BR&gt;&lt;BR&gt;　　这个假说得到了英国天文学家V&amp;#8226;阿克塞尔&amp;#8226;弗瑟夫(V.　Axel　Firsoff)的进一步发展，他特别考虑到那些含氨丰富的世界，比如太阳系内(现在还应该包括我们这十几年在太阳系外发现的)那些气态的巨行星和它们的卫星，认为这种生命在那里的发展和进化将是一个非常有趣的课题。&lt;BR&gt;&lt;BR&gt;　　同水相比，液态氨的确有许多显著的化学相似性。利用含氨的的溶解而不是水的溶解，可以同样提供整个有机和非有机化学反应，液态氨在溶解方面和水一样好甚至更强。同水比，它溶解许多金属元素的能力超好，包括钠、镁、铝等碱金属，可以直接溶解；此外，一些其他的元素比如碘、硫、硒、磷都在液态氨中有一定的溶解度，并几乎不怎么同液态氨发生反应。以上各种元素在生命化学方面都具有重要作用，而且铺就通往生命早期演化的道路。&lt;BR&gt;&lt;BR&gt;　　液态氨的沸点在一个大气压下是零下34摄氏度，所以这样的生命可能需要在温度比较低的世界里生存，这样的世界并不少，所以这并不是其缺点。但有人认为真正的缺点是液态氨保持液体形态的温区太小，由于凝固点在一个大气压下是零下75摄氏度，所以液态温区的范围仅仅有41摄氏度，还不到水的100摄氏度液态温区的一半。不过，如同水一样，星球表面的大气压提高后将增加液态温区，比如在60个大气压下(这比木星和金星的地表气压低好多)，液态氨的沸点变成98摄氏度而不再是-34度，液态温区也扩大到175摄氏度。氨基生命完全可能是在高压下生存的生命。&lt;BR&gt;&lt;BR&gt;　　氨的介电常数大约是水的1/4，使得它的绝缘性能不算好，而另一方面，氨的熔解热更高一些，所以在熔点/凝固点更不容易冻结(凝固)。氨的比热容相当高，比水还高一些，粘滞性则更低。对液态氨酸碱化学反应的研究显示，其细节同水系统一样的丰富。在许多方面，液态氨作为生命承载物绝对不比水差。&lt;BR&gt;&lt;BR&gt;　　不过，尽管有许多相似性，液态氨系统中碳氨化合物生命的发展路线仍将和我们的水系统中碳水化合物生命有着很大的差异。作为一种承载生命发展的溶剂，不论是液态氨还是水都需要把生命需要的物质溶解形成阳离子和阴离子，从而让酸碱反应得以进行，但同一种物质在液态氨系统和水系统中的酸碱性很可能会是完全不同的。比如，水同液态氨作用会产生NH+离子，并显示出强酸性，结果我们这类生命所依赖的中性的水到氨基生命那里就变成了致命的毒药。对于氨基生命的外星人来说，我们地球一定是个可怕的星球，有着巨大的热酸海洋，还经常下起滚烫的酸雨，他们大概不会对地球感兴趣，不会和地球人发动星际战争争夺地球资源，这样的地狱一样的星球对他们来说还是远离为好。&lt;BR&gt;&lt;BR&gt;　　所以，我们要明白水和液态氨并不等同，它们仅仅类似而已。两个体系内的许多生命化学特征必定会出现不少差异。例如，莫尔顿(Molton)提出，氨基生命形态可能会使用铯和铷的氯化物来调整细胞膜的电势，同地球生命使用的钾盐和钠盐相比，这些盐在液态氨里面的可溶性更好。看来，铯和铷的氯化物在氨基生命的外星人那里恐怕会是美味的调料，就如同我们人类用氯化钠作为食盐当调料一样。但铯和铷的丰度远不如钾和钠，那里的人们是否会为了美味的调料发动战争呢？这应该是有趣的话题。&lt;BR&gt;&lt;BR&gt;　　不过，氨基生命的出现也遇到一些疑难之处。尽管氨的熔解热比水高，但汽化热却只有水的一半，表面张力只有水的1/3。这都是和生命有关的性质，汽化热同比热容一同决定了一种溶剂在调节生物体内温度的能力，水是两者都高，从而对生命有利；表面张力则是液体在表面和表面以下的分子聚合力不平衡的表现，水的表面张力相当高，氨分子之间的氢键要比水之间的弱很多，从而液态氨通过憎水效应(疏水效应)聚集极性分子的能力要低得多。生命演化早期需要把大量的有机分子聚合到一起，直到出现能够自我复制的早期生命，水在这方面是胜任的，但液态氨的能力则让人怀疑。 &lt;BR&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>[收集]地外生命的形态（一）硅基生命</title><link>http://web.mblogger.cn/ghj1976/posts/55805.aspx</link><pubDate>Tue, 11 Jul 2006 13:47:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/55805.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/55805.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/55805.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/55805.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=55805</trackback:ping><description>上篇　非碳基生命&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　作者：萧楠&lt;BR&gt;&lt;BR&gt;　　地球上的全部生命都是以碳和水为基础，而且很可能宇宙中大部分的生命形态也都是以碳和水为基础。但是也有很多人相信碳以外的其他元素以及水以外的其他介质也可以为生命提供基础，早在1885年，爱尔兰出生的天文学家兼数学家罗伯特&amp;#8226;斯德威尔&amp;#8226;鲍尔(Robert　Stawell　Ball)就曾在他的《天堂的故事》(Story　of　the　Heavens)中提到地外生命可能和地球上的完全不同，他写道：&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　&amp;#8220;倘若我们能够得到机会去近距离观察一些天体，我们可能会发现它们也充满了生命，但却是特化适应于环境的生命。以奇特而怪异的形态出现的生命&amp;#8230;&amp;#8230;&amp;#8221;&lt;BR&gt;
&lt;DIV style="DISPLAY: none"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR&gt;　　一、硅基生命&lt;BR&gt;&lt;BR&gt;　　说到碳基生命以外的生命形态，对这方面稍有点了解的人首先想到的就是硅基生命。不过硅基生命这个概念到底什么时候有的，大概没几个人了解，说出来可以让人吃一惊，原来这个概念早在19世纪就出现了。1891年，波茨坦大学的天体物理学家儒略&amp;#8226;申纳尔(Julius　Sheiner)在他的一篇文章中就探讨了以硅为基础的生命存在的可能性，他大概是提及硅基生命的第一个人。这个概念被英国化学家詹姆士&amp;#8226;爱默生&amp;#8226;雷诺兹(James　Emerson　Reynolds)所接受，1893年，他在英国科学促进协会的一次演讲中指出，硅化合物的热稳定性使得以其为基础的生命可以在高温下生存。&lt;BR&gt;&lt;BR&gt;　　著名英国科幻作家赫伯特&amp;#8226;乔治&amp;#8226;韦尔斯(Herbert　George　Wells)吸收了雷诺兹和鲍尔的观念，他写道：&lt;BR&gt;&lt;BR&gt;　　&amp;#8220;人们会为这种设想所带来的奇异想象所震惊：既然有硅&amp;#8212;铝生命体，为什么不会立刻想到硅&amp;#8212;铝的人？让我们说，他们在硫磺气组成的大气中漫步，徜徉在温度比熔炉更高的，数千度的融化的钢铁海洋旁。&amp;#8221;&lt;BR&gt;&lt;BR&gt;　　三十年后，英国遗传学家约翰&amp;#8226;波顿&amp;#8226;桑德森&amp;#8226;霍尔丹(John　Burdon　Sanderson　Haldane)提出在一个行星的深处可能发现基于半融化状态硅酸盐的生命，而铁元素的氧化作用则向它们提供能量。&lt;BR&gt;&lt;BR&gt;　　粗看起来，硅的确是一种作为碳替代物构成生命体的很有前途的元素。它在宇宙中分布广泛，而在元素周期表中，它就在碳的下方，所以和碳元素的许多基本性质都相似。举例而言，正如同碳能和四个氢原子化合形成甲烷(CH4)，硅也能同样地形成硅烷(SiH4)，硅酸盐是碳酸盐的类似物，三氯硅烷(HSiCl3)则是三氯甲烷(CHCl3)的类似物，以此类推。而且，两种元素都能组成长链，或聚合物，它们并在其中同氧交替排列，最简单的情形是，碳&amp;#8212;氧链形成聚缩醛，它经常用于合成纤维，而用硅和氧搭成骨架则产生聚合硅酮。&lt;BR&gt;&lt;BR&gt;　　基于上述情况，一些特异的生命形态就有可能以类似硅酮的物质构成。硅基动物很可能看起来象是些会活动的晶体，就如同迪金森和斯凯勒尔(Dickinson　and　Schaller)所绘制的如下想象图一样。这是一只徜徉在硅基植物丛中的硅基动物，这种生物体的结构件可能是被类似玻璃纤维的丝线串在一起，中间连接以张肌件以形成灵活、精巧甚至薄而且透明的结构。&lt;BR&gt;&lt;BR&gt;　　看上去这些结晶体似的生物非常漂亮，如果它们可以在常温下生存的话，大概许多地球人都愿意在家里养几只作为装饰，养这种宠物的一个明显好处是不会传播细菌和寄生虫，因为作为碳基生命的细菌和寄生虫对这种完全不同的生命是无能为力的。但是，但硅基生命的存在的可能性却受到许多缺陷的威胁。&lt;BR&gt;&lt;BR&gt;　　一个很大的缺陷就是硅同氧的结合力非常强。当碳在地球生物的呼吸过程中被氧化时，会形成二氧化碳气体，这是种很容易从生物体中移除的废弃物质；但是，硅的氧化会形成固体，因为在二氧化硅刚形成的时候就会形成晶格，使得每个硅原子都被四个氧原子包围，而不是象二氧化碳那样每个分子都是单独游离的，处置这样的固体物质会给硅基生命的呼吸过程带来很大挑战。&lt;BR&gt;&lt;BR&gt;　　只要是生命形态，就必须从外界环境中收集、储存和利用能量。在碳基生物这里，储存能量的最基本的化合物是碳水化合物。在碳水化合物中，碳原子由单键连接成一条链，而利用酶控制的对碳水化合物的一系列氧化步骤会释放能量，废弃物产生水和二氧化碳。这些酶是些大而复杂的分子，它们依照分子的形状和左旋右旋对特定的反应进行催化，这里说的左旋右旋是因分子含有的碳的不对称使得分子出现左旋或者右旋，而多数碳基生物体内的物质都显示这个特征，正是这个特点使得酶能够识别和规范碳基生物体内的大量不同新陈代谢进程。然而，硅没能象碳这样产生众多的具有左旋右旋特征的化合物，这也让它难以成为生命所需要大量相互联系的链式反应的支持元素。&lt;BR&gt;&lt;BR&gt;　　此外，硅链在水中不稳定，容易断掉，不象碳链这样在干湿环境下都保持稳定。虽然这点不会因此排除硅基生命存在的可能，但存在大量液态水的星球肯定是排斥硅基生命的。&lt;BR&gt;&lt;BR&gt;　　存在硅基生命，甚至存在硅基生命出现前的早期生命化学演化的低可能性也被天文观测所验证。不管天文学家向哪里搜寻&amp;#8212;&amp;#8212;陨星、彗星、巨行星的大气、星际物质、冷却恒星的外层&amp;#8212;&amp;#8212;他们都只能找到氧化的硅(二氧化硅和硅酸盐)，而找不到类似硅烷和硅酮这样的作为硅生物化学存在预兆的物质。相反，当我们寻找碳基生命的迹象时会发现，在陨星中不难找到氨基酸这样的碳基有机分子，至于甲烷，不仅在太阳系的众多行星和卫星中很容易找到，而且在星际物质和星云中也能找到，甚至连甲基乙炔和氰基癸五炔这样的复杂分子都能从星际物质中找到。&lt;BR&gt;&lt;BR&gt;　　即使如此，也有必要指出，硅可能曾在地球生命的起源过程中扮演过一定的角色。有一个奇怪的现象是，地球生命特别喜欢利用右旋的糖和左旋的氨基酸。对此的一个理论解释是，生命演化初期的第一批碳化合物在一片有着特定旋性(旋光性)硅石表面上的&amp;#8220;原始汤&amp;#8221;内形成，而这种硅化合物的旋性决定了我们现在从地球生命体内找到的碳化合物的旋性。&lt;BR&gt;&lt;BR&gt;　　尽管从生化角度看，找到硅基生命的可能性很渺茫。但硅基生命在科幻小说中则很兴盛，而且科幻作家的许多描述会提出不少有关硅基生命的有益构想。在斯坦利&amp;#8226;维斯鲍姆(Stanley　Weisbaum)的《火星奥德赛》(A　Martian　Odyssey)中，该生命体有1百万岁，每十分钟会沉淀下一块砖石，而这正是维斯鲍姆对硅基生命所面临的一个重大问题的回答，文中进行观察的科学家中的一位观察到：&lt;BR&gt;&lt;BR&gt;　　&amp;#8220;那些砖石是它的废弃物&amp;#8230;&amp;#8230;我们是碳组成，我们的废弃物是二氧化碳，而这个东西是硅组成，它的废弃物是二氧化硅&amp;#8212;&amp;#8212;硅石。但硅石是固体，从而是砖石。这样它就把自己覆盖进去，当它被盖住，就移动到一个新的地方重新开始。&amp;#8221;&lt;BR&gt;&lt;BR&gt;　　在星际旅行系列片的&amp;#8220;黑暗中的恶魔&amp;#8221;中，Janus　IV的矿工发现了一种硅基生命形态&amp;#8212;&amp;#8212;Horta。每过5万年，所有的Horta就都死去，只剩下一个个体活着照看将会孵化下一代的那些蛋。&lt;BR&gt;&lt;BR&gt;　　看来，人们对硅基生命的一个重要设想是长寿，这大概来自人类从自然界岩石的恒久得到的印象。而另外一个通常的看法是，硅基生命很可能出现于温度比较高的星球上，比如说一个到处都是火山的星球上，因为许多硅基化合物比碳基更稳定，比如硅-氧键可以承受大约600K的温度，而硅-铝键能承受将近900K的温度，所以耐高温的性能要好，而且同样是由于相对稳定，在高温下活性更好。对于硅基生命来说，200度甚至到400度才能让它们感到舒适，而在我们觉得舒适的室温下它们很可能会被冻死，这就是我在前面提到饲养硅基宠物的时候，特意提到&amp;#8220;如果它们可以在常温下生存&amp;#8221;这句的缘故。 &lt;BR&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>跟皮肤有关的一些技术观点收集（5） </title><link>http://web.mblogger.cn/ghj1976/posts/54574.aspx</link><pubDate>Tue, 23 May 2006 15:43:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/54574.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/54574.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/54574.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/54574.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=54574</trackback:ping><description>&lt;P&gt;典型的用制标来处理皮肤的部分：&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A class=singleposttitle id=viewpost1_TitleUrl href="http://kk2000.cnblogs.com/archive/2006/04/24/383069.html"&gt;DNN皮肤制作不完全指南&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://kk2000.cnblogs.com/archive/2006/04/24/383069.html"&gt;http://kk2000.cnblogs.com/archive/2006/04/24/383069.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><dc:creator>ghj1976</dc:creator><title>跟皮肤有关的一些技术观点收集（4） </title><link>http://web.mblogger.cn/ghj1976/posts/54573.aspx</link><pubDate>Tue, 23 May 2006 15:37:00 GMT</pubDate><guid>http://web.mblogger.cn/ghj1976/posts/54573.aspx</guid><wfw:comment>http://web.mblogger.cn/ghj1976/comments/54573.aspx</wfw:comment><comments>http://web.mblogger.cn/ghj1976/posts/54573.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://web.mblogger.cn/ghj1976/comments/commentRss/54573.aspx</wfw:commentRss><trackback:ping>http://web.mblogger.cn/ghj1976/trackback.aspx?ID=54573</trackback:ping><description>&lt;P&gt;出处：&lt;A href="http://SupperCabbage.cnblogs.com/archive/2006/04/30/204337.html"&gt;http://SupperCabbage.cnblogs.com/archive/2006/04/30/204337.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A id=viewpost1_TitleUrl href="http://suppercabbage.cnblogs.com/archive/2005/08/01/cs_Design.html"&gt;CommuntyServer架构分析&lt;/A&gt; &lt;/P&gt;
&lt;DIV class=postText&gt;就比如default.aspx吧，里面使用到控件ContentContainer, 而ContentContainer则动态加载*MasterPage.ascx(*的意思是某个), &lt;BR&gt;当然这个时候你得搞清楚一个问题就是：ascx文件加载进来以后就是个普通的对象了，和.cs一样，aspx也是这样。 &lt;BR&gt;而*MasterPage.ascx里面包含了一些PlaceHolder控件，这种控件的作用就是占位，他们不包含具体内容，只是用来建立页面的基本布局。 &lt;BR&gt;ContentContainer将*MasterPage.ascx加载进来以后，就找里面包含的所有ContentHolder，并根据上下文的一些信息(比如当前用户是哪个啊之类的)向PlaceHolder里填充一些合适的内容。 &lt;BR&gt;现在你得先搞清楚的又一个问题就是：CommunityServer是怎么实现换肤的，他是先加载直接用cs编写的控件，再由控件在运行时根据上下文环境加载合适的.ascx皮肤。 &lt;BR&gt;往PlaceHolder里填的东西是LayoutControls(可以换皮肤)，这个东西其实还是用来布局的，他们对应的皮肤都是 view-*.ascs 。view-*.ascs里面又包含一些控件，这些控件就是用来产生实际内容的, 他们的皮肤就是Skin-*.ascx，这些控件再向数据库中查询数据并显示出来。 &lt;BR&gt;&lt;BR&gt;我想这里的关键点就是： &lt;BR&gt;1、asp.net里面所有东西都是对象，包括.aspx页面、.ascs用户控件。1.1里面.aspx页面这个类实际上是继承CodeBehind里编写的那个类，2.0里面有了Partial的概念以后，两个东西实际就是一个类了。 &lt;BR&gt;1、理解MasterPage的工作方式, 其实就是个PlaceHolder控件的用法 &lt;BR&gt;2、理解CommunityServer皮肤的工作方式。运行时动态加载.ascs文件&amp;nbsp;&amp;nbsp;&lt;A onclick='return SetReplyAuhor("suppercabbage")' href="http://suppercabbage.cnblogs.com/archive/2006/04/30/204337.html#post"&gt;回复&lt;/A&gt;&amp;nbsp;&lt;/DIV&gt;</description></item></channel></rss>