<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="2.0">
    <channel>
        <description><p>
	生活新色彩2010版（代号：N3CP），采用web.py开发。</p>
<p>
	生活新色彩2009版（代号：N3C）开发过程中用到的相关技术和问题、开发心得等。并且，代码是开源的。</p>
<p>
	请从以下地址取得源码：<tt id="checkoutcmd"><strong><em>http</em></strong>://3rgbcom.googlecode.com/svn/trunk/</tt></p>
-77家的会客厅</description>
        <lastBuildDate>2026-04-14 16:01:47.785973</lastBuildDate>
        <link>http://3rgb.com</link>
        <title>本站作品-77家的会客厅</title>
        <pubDate>2026-04-14 16:01:47.785973</pubDate>
        <webMaster>support@3rgb.com</webMaster>
        <image>
            <link>http://3rgb.com</link>
            <url>/static/images/n3clogo.png</url>
        </image>
        
        <item>
            <title>Ubuntu14.04 Apache2.4.7 FastCgi Web.py php配置备忘</title>
            <pubDate>2014-08-14 05:50:31.854708</pubDate>
            <pubDateParsed>2014-08-14 05:50:31.854708</pubDateParsed>
            <link>http://3rgb.com/entry/configuration_of_Ubuntu_Apache2_4_7_FastCgi_Webpy </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;原来的VPS已经是几年前配置的了，当时是想记录下来，后来就一直懒，就没弄，结果最近VPS换了，该死的服务商竟然忘了帮我转移，只能我自己来手动转移，这样的话，我就得又重新配置一下环境。&lt;/p&gt;
&lt;p&gt;关于Ubuntu:&lt;/p&gt;
&lt;p&gt;用Ubuntu用习惯了，果断让服务商把默认的CentOS换成Ubuntu（CentOS我是真不会用呀）。服务商给我装的是13.04 LTS，但不知道为什么源列表一直有问题，服务器在美国肯定要用官方的源了，但什么软件也装不了，连apt-get update都出错，把源全给ignore了，没办法只好do-release-upgrade来进行系统升级。&lt;/p&gt;
&lt;p&gt;好在服务器速度很快，我一口气连升两次直接升到了最新的14.04版了。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
            </description>
        </item>
        
        <item>
            <title>关于N3CP</title>
            <pubDate>2010-04-06 22:16:37.027067</pubDate>
            <pubDateParsed>2010-04-06 22:16:37.027067</pubDateParsed>
            <link>http://3rgb.com/entry/about_n3c_in_python </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;新版的命名是基于上一版的N3C的，之所以加个P，是因为现在的版本用的是PYTHON的WEB框架web.py。&lt;/p&gt;
&lt;p&gt;小巧，但 是却很强大。&lt;/p&gt;
&lt;p&gt;不想说太多，毕竟是自己做来用的，说几个关键词吧。&lt;/p&gt;
&lt;p&gt;web.py SQLAlchemy Jinja2 SQLite&lt;/p&gt;
&lt;p&gt;空间用的是张教主的stdyun.com那儿买的，APACHE跑FASTCGI。&lt;/p&gt;
            </description>
        </item>
        
        <item>
            <title>编辑器改用CKEditor,支持Trackback引用</title>
            <pubDate>2009-03-15 23:08:03</pubDate>
            <pubDateParsed>2009-03-15 23:08:03</pubDateParsed>
            <link>http://3rgb.com/entry/using_CKEditor_and_support_Trackback </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	　　周五的时候，后知后觉地发现原来之前从fckeditor.com订阅的RSS说的是&lt;a href=&#34;http://ckeditor.com/&#34;&gt;ckeditor3.0b&lt;/a&gt;，而不是我看成的ckfinder3.0，当时还在想ckfinder3.0早过了beta了，原来是看错了啊。&lt;/p&gt;
&lt;p&gt;
	&lt;a href=&#34;http://3rgb.com/UserFiles/file/WindowsLiveWriter/CKEditorTrackback_1DF/200x300_12_2.jpg&#34;&gt;&lt;img align=&#34;right&#34; alt=&#34;200x300_12&#34; border=&#34;0&#34; height=&#34;323&#34; src=&#34;http://3rgb.com/UserFiles/file/WindowsLiveWriter/CKEditorTrackback_1DF/200x300_12_thumb.jpg&#34; style=&#34;border: 0px none; display: inline; margin-left: 0px; margin-right: 0px;&#34; title=&#34;200x300_12&#34; width=&#34;232&#34; /&gt;&lt;/a&gt; 　　下完回来简单试了一下，改动的相当大，基本上绝大部分的编辑功能，都做成了plugin的方式，这样，想使用什么功能就加载哪些plugin，不用像fckeditor那么臃肿，大大加快了在浏览器的加载速度，并且cache的方式也明显改善了，基本上fckeditor被人声讨的各个缺点都得到了很大的改观。虽然还在BETA版，不管了，我从来都是FCK系列的FANS，后台就不改了，前台直接改成ckeditor，其实后台不管是因为CKEDITOR现在还只支持前台，后台涉及到文件上传那儿，还没做好和CKFINDER的结合，并且很多功能在beta版里没发布，只有去下载nightly版才有。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	　　而Trackback也加上了，一来可以在本站发布BLOG的时候，选择性的发送TrackPing，另一方面，其它博引用本站的时候也可以向本站发送TrackPing，本站可以当做Comment来保存。其实，也是很多博客都有的一个基本功能，只是一直懒于实现，包括之前的asp版本的时候。这个功能实现之后，N3C再在计划内的功能的话，就只有一个了，就是Calendar了，这个的实现想法，还是想和之前的asp版的一样，使用AJAX调用，然后年月的切换也可以异步实现，哪天兴致来了再说吧。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	　　我承认，我还是比较懒的，嘿嘿。&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>完成MetaWeblogAPI的支持</title>
            <pubDate>2009-03-07 15:03:45</pubDate>
            <pubDateParsed>2009-03-07 15:03:45</pubDateParsed>
            <link>http://3rgb.com/entry/n3c_supported_MetaWeblogAPI </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	　　前段时间，新版本刚上线的时候，已经快对代码恶心了，所以在后来看XMLRPC文档的时候，大脑已经自动的进行抵制，怎么也理解不了现在看来那么简单的文档。看来，适当的休息，对于任何工作都是有益的。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	　　近两个月来一直在做&lt;a href=&#34;/blog/tag.aspx/as400&#34;&gt;AS400&lt;/a&gt;下RPG和COBOL的东西，数据测试是个非常恶心的事，程序的代码修正一会儿就改好了，但是要进行数据测试，就真要了命了。首先得把整个程序读懂，再把相关的数据库表弄明白，再整明白逻辑，再制造数据，然后还要不断对数据进行修改，在测试不同的点。。。这不，周四周五两天，一本COBOL的程序，代码5000多行，引入了14个COPY文（类似于其它语言的INCLUDE），虽然只用了3个数据表，但其中一个表是1100多个字段，另一个也有三百多个字段，然后还有DSPF，一大堆的数。。。天，我造数据都没法造完整了，只好用SQL语句进行RAND（）赋值。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div class=&#34;wlWriterEditableSmartContent&#34; id=&#34;scid:798E96FB-0CC9-4229-BE18-6AA02762E1C3:62a1449b-f255-4027-b5fb-676b3349a678&#34; style=&#34;padding: 0px; display: inline; float: none; margin: 0px;&#34;&gt;
	&lt;img alt=&#34;&#34; height=&#34;80&#34; src=&#34;http://3rgb.com/UserFiles/file/WindowsLiveWriter/MetaWeblogAPI_E1E1/Screenshot_14.png&#34; width=&#34;560&#34; /&gt;&lt;/div&gt;
&lt;p&gt;
	有些扯远了，只是想说测试比开发更郁闷。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	　　この間、twitter上看到&lt;a href=&#34;http://www.6znet.com/&#34;&gt;大便陈&lt;/a&gt;又提到XMLRPC（不过他说的是PHP的），于是想起我的N3C的这个尚未完成的功能了，就算是为了搞测试数据换换脑吧，昨天晚上回来之后，改了RSS FEED的一个BUG，然后就整MetaWeblog了，其实之前卡壳就卡在了日志分类上，因为MetaWeblog的分类是以数组的形式存在，并且只有分类名，不有分类ID的概念，虽然大便陈说这也是目前的一个大趋势，并且我也觉得其实这种博 客里多对多的概念也挺好，再并且其实修改N3C的代码和数据表也不是太麻烦，但是我就是懒，并且我觉得这样和TAG就很类似了，有点功能重复的意思（只是目前的N3C还没有过多的在TAG功能上改进）。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	　　那么，对于像我这种传统的分类是ID-NAME的模式的，如果要用MetaWeblog，那就只能用NAME来反查ID，然后再在程序里处理了，其实就是这一点，之前脑袋卡壳给卡住了，忘了这个世界上还存在这种叫作反向思维的东西了。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	　　现在，终于搞定了，并且用LIVE WRITER添加TAG是如此的方便，但是呢，这个TAG没办法和数据库里的TAG关联上，所以就没啥意义了。。。我汗。。。。看看看，用LIVE WRITER加的TAG就是下面这个德性，根本和本站的TAG没关联上。。。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div class=&#34;wlWriterEditableSmartContent&#34; id=&#34;scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8c6fbd63-0e4c-4604-b945-4f059c72b1ff&#34; style=&#34;padding: 0px; display: inline; float: none; margin: 0px;&#34;&gt;
	TAG: &lt;a href=&#34;http://3rgb.com/blog/tag.aspx/MetaWeblog&#34; rel=&#34;tag&#34;&gt;MetaWeblog&lt;/a&gt;,&lt;a href=&#34;http://3rgb.com/blog/tag.aspx/live+writer&#34; rel=&#34;tag&#34;&gt;live writer&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	对了，本文通过LIVE WRITER发表。再加个地图意思一下，我就是在下面的地图的正中间这里进行这篇日记的写作滴&lt;/p&gt;
&lt;div class=&#34;wlWriterEditableSmartContent&#34; id=&#34;scid:84E294D0-71C9-4bd0-A0FE-95764E0368D9:2846cc5d-f211-4f07-bfa2-da44ff75fec7&#34; style=&#34;padding: 0px; display: inline; float: none; margin: 0px;&#34;&gt;
	&lt;a alt=&#34;クリックすると、Live.com でこの地図が表示されます。&#34; href=&#34;http://maps.live.com/default.aspx?v=2&amp;amp;cp=38.88742~121.5582&amp;amp;lvl=17&amp;amp;style=a&amp;amp;sp=aN.38.88744_121.5581_%25u5199%25u4f5c%25u5730%25u70b9__http%253a%252f%252f3rgb.com&amp;amp;mkt=ja-jp&amp;amp;FORM=LLWR&#34; id=&#34;map-fe777486-1436-4ce2-a621-71d478e5da31&#34; title=&#34;クリックすると、Live.com でこの地図が表示されます。&#34;&gt;&lt;img alt=&#34;地図画像&#34; height=&#34;240&#34; src=&#34;http://3rgb.com/UserFiles/file/WindowsLiveWriter/MetaWeblogAPI_E1E1/map-2348bdc77fed.jpg&#34; width=&#34;320&#34; /&gt;&lt;/a&gt;&lt;/div&gt;

            </description>
        </item>
        
        <item>
            <title>N3C新版的功能(一)</title>
            <pubDate>2009-01-11 21:00:15</pubDate>
            <pubDateParsed>2009-01-11 21:00:15</pubDateParsed>
            <link>http://3rgb.com/entry/N3C_new_version_tips </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&amp;nbsp;N3C也是一点点在完善，功能一点点在增加。&lt;/p&gt;
&lt;p&gt;
	上次说到小T的血的教训，写了一大篇没保存，其实在N3C开始设计时，就想到要像GMAIL那样的自动保存功能，但觉得挺麻烦的，就懒得写。今天晚上郁闷着把这个自动保存功能做上去了。&lt;/p&gt;
&lt;p&gt;
	所以现在在后台写日志时，设置的是每两分钟检查一次，如果日志主体内容有变化，则进行自动保存。如果是新加日志，先自动添加上去，第二次再自动保存时则就是更新了。&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>xml+xsl如何输出XHTML文件头</title>
            <pubDate>2009-01-09 12:56:25</pubDate>
            <pubDateParsed>2009-01-09 12:56:25</pubDateParsed>
            <link>http://3rgb.com/entry/xml+xsl_how_to_output_xhtml_header </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	在HTML页面中，我们通过声明DOCTYPE来达到使用不同的XHTML标准，使各浏览器对CSS的支持达到DOCTYPE声明的指标。而在XML中，不支持直接写语句&lt;/p&gt;
&lt;p class=&#34;Code&#34;&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	这样的语句。&lt;/p&gt;
&lt;p&gt;
	但我们可以直接在XSL的OUTPUT里面设置命名空间，就实现了上面的DOCTYPE同样的效果。&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>XSL输出CDATA中的HTML数据</title>
            <pubDate>2009-01-07 22:22:41</pubDate>
            <pubDateParsed>2009-01-07 22:22:41</pubDateParsed>
            <link>http://3rgb.com/entry/XSL_output_HTML_data_in_CDATA </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&amp;nbsp;N3C前台用的XML+XSLT，所以在显示页面内容的时候，很多数据（如日志内容）放在XML里的时候，需要加上＜!［ＣＤＡＴＡ［&amp;nbsp; **这是里HTML内容**］］＞这样的标签包围。要不然，一则如果HTML标签不完整封闭XML 出错，二则如果内容包含如&amp;ldquo;&amp;amp;&amp;ldquo;这样的字符的话，XSL又会报错。&lt;/p&gt;
&lt;p&gt;
	在非FIREFOX浏览器中，直接在&lt;xsl:value-of select=&#34;nodname&#34;&gt;上面加上&amp;nbsp;disable-output-escaping=&amp;quot;yes&amp;quot;，即用&lt;xsl:value-of disable-output-escaping=&#34;yes&#34; select=&#34;nodname&#34;&gt;就可以正常显示。必须要加这个哦，要不然后XML自动转义，显示出来的就是HTML代码了，而不是HTML的显示效果了。&lt;/xsl:value-of&gt;&lt;/xsl:value-of&gt;&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>N3C跨浏览器使用报告</title>
            <pubDate>2009-01-06 21:14:31</pubDate>
            <pubDateParsed>2009-01-06 21:14:31</pubDateParsed>
            <link>http://3rgb.com/entry/N3C_cross_browsers_report </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&amp;nbsp;&lt;span class=&#34;Apple-style-span&#34; style=&#34;font-family: Simsun; font-size: 16px;&#34;&gt;&lt;span class=&#34;Apple-style-span&#34; style=&#34;font-family: Arial; font-size: 14px;&#34;&gt;&amp;nbsp;N3C，今天算是正式发布日吧，2009年1月6日。&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;div style=&#34;background-color: rgb(255, 255, 255); padding: 5px; margin: 0px; font-family: Arial,Verdana,sans-serif; font-size: 14px;&#34;&gt;
	&lt;p&gt;
		&lt;span class=&#34;Apple-style-span&#34; style=&#34;font-family: Simsun; font-size: 16px;&#34;&gt;&amp;nbsp;服务器原因，没有进行ASHX文件映射，所以今凌晨2点上传上来之后，就只能进行浏览，因为验证码是用ASHX生成的；当然，我也进不去后台管理了。&lt;/span&gt;&lt;/p&gt;
	&lt;p&gt;
		&lt;span class=&#34;Apple-style-span&#34; style=&#34;font-family: Simsun; font-size: 16px;&#34;&gt;上面这个问题解决之后，在小T同学和小新(littlenew)同学的使用中发现了留言会被截断。一开始我还以为是危险代码过滤导致的，回来后发现是AJAX提交的问题，忘了加encodeURIComponent()方法了。另外小T同学昨天晚上血淋淋的教训，她不知道SESSION20分钟过期，白写了一大堆了，谁让她是第一个用N3C的同学呢。哈哈，于是今天是晚上回来加上了页面停止超过16分钟就自动提醒/保存功能。&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

            </description>
        </item>
        
        <item>
            <title>N3C预览版上线</title>
            <pubDate>2009-01-04 13:43:37</pubDate>
            <pubDateParsed>2009-01-04 13:43:37</pubDateParsed>
            <link>http://3rgb.com/entry/N3C_preview_version_online </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	N3C是什么?请看本分类下的前两篇文章，一直未上线，所以一直是隐藏状态。现在离之前预计的生蛋节，在跳票之后，在圆蛋节之后的第一个工作日，预览版上线啦。&lt;/p&gt;
&lt;p&gt;
	预览版由于个人定制原因，基本上还原的翠西婆婆之前版本的样子，但是，但是，仔细看，还是有很多不一样的哦。&lt;/p&gt;
&lt;p&gt;
	请看http://vikingcat.cn&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>SQLite使用NHibernate分页的BUG</title>
            <pubDate>2008-12-12 09:44:10</pubDate>
            <pubDateParsed>2008-12-12 09:44:10</pubDateParsed>
            <link>http://3rgb.com/entry/bug_of_NHibernate_with_SQLite </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	先说明，我用的是NHibernate2.0.1-GA版本，测试版的，并且以下出现的问题已经被BUG TRACKER记录并修正，但是NH站上提供的BIN也好，源SOURCE也好，都还没有更新。&lt;/p&gt;
&lt;p&gt;
	具体情况：我用的是SQLite3，然后使用上述的NHibernate进行数据库操作，在进行分页的时候，只能正确分出第一页和第二页，从第三页开始往后，只显示第二页的内容。&lt;/p&gt;
&lt;p&gt;
	SQLite 中分页取数据的方面是SQL语句后面加limit startRow,offset，如果是第一页，直接就是limit offset；比如我每页显示10条，正常情况下是，第一页limit 10，第二页limit 10,10，第三页limit 20,10，第四页limit 30,10。。。&lt;/p&gt;

            </description>
        </item>
        
    </channel>
</rss>