<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/jq0123" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/jq0123" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 16 Jun 2011 02:34:00 GMT</lastBuildDate><title>金庆的专栏</title><description>CSDN博客聚合服务</description><link>http://blog.csdn.net/blogrss.aspx?username=jq0123</link><item><title>log4cxx-0.10.0日志中文乱码</title><link>http://blog.csdn.net/jq0123/archive/2011/06/16/6547882.aspx</link><description>&lt;br /&gt;log4cxx-0.10.0日志中文乱码&lt;br /&gt;&lt;br /&gt;
（金庆的专栏）&lt;br /&gt;&lt;br /&gt;
log4cxx升级到0.10.0后, 发现中文输出为乱码.&lt;br /&gt;
其实应该是中文变成了问号, 不是乱码.&lt;br /&gt;&lt;br /&gt;
问号在logcxx中表示编解码过程中的字符丢失.&lt;br /&gt;
    enum { LOSSCHAR = 0x3F };&lt;br /&gt;
如果中文按ASCII解码, 因为字符大于0x80, 都会被变成问号.&lt;br /&gt;&lt;br /&gt;
修改办法，进入log4cxx-0.10.0目录，&lt;br /&gt;
./configure --with-charset=utf-8 --with-logchar=utf-8&lt;br /&gt;
then&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
(参考: http://cooling.ape-tech.com/bbs/thread-2084-1-1.html)&lt;br /&gt;&lt;br /&gt;
log4cxx中有两个宏定义分别对应这两个选项:&lt;br /&gt;
LOG4CX&lt;img src=&quot;http://www1.feedsky.com/t1/523264171/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/06/16/6547882.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 16 Jun 2011 10:34:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/06/16/6547882.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/06/16/6547882.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264171/1187898</fs:itemid></item><item><title>完美MMO的秘诀</title><link>http://blog.csdn.net/jq0123/archive/2011/06/01/6460051.aspx</link><description>&lt;br /&gt;宋在京认为MMORPG的最大特点在于Massively(大规模)。数千人在同一个世界里一起享受游戏乐趣是MMORPG最大的特点。之前的MMORPG利用各种方法掩盖自己的缺点。但是所有这些将MMORPG带离了其本质。&lt;br /&gt;&lt;br /&gt;MMORPG与家用机游戏不同，  MMORPG里不应该以固定模式去组队刷副本，而应该是在偶然的机会下碰到一些人，并自然地与他们一起踏上冒险之旅，而冒险的结果谁也无法预料。这种随机性强，无法预测结果的世界才是一款真正的MMORPG。&lt;br /&gt;&lt;br /&gt;目前大部分MMORPG以任务为主，虽然任务等诱导玩家的系统是必要的，但是不应该成为游戏中心。如果任务、故事、角色、世界观成为中心，那么这款
游戏将很难长期运营下去，因为开发人员的开发速度绝对赶不上玩家消耗游戏内容的速度。最终游戏的同时在线人数会下降，游戏寿命将缩短。&lt;br /&gt;&lt;br /&gt;为了让游戏长期运营下去，在开发初期就应该重点研发游戏的终极内容。例如，《上古世纪》在开发初期就已着手研发建房、海战、城战等终极内容。终极内容是游戏最重要的核心，也是决定游戏寿命长短的重要因素。&lt;br /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/523264172/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/06/01/6460051.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 01 Jun 2011 20:41:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/06/01/6460051.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/06/01/6460051.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264172/1187898</fs:itemid></item><item><title>谈谈大家为啥玩网游呢</title><link>http://blog.csdn.net/jq0123/archive/2011/05/30/6454050.aspx</link><description>&lt;br /&gt;转自: http://www.itwis.com/html/game/wlgame/20100715/8787.html&lt;br /&gt;&lt;br /&gt;谈谈大家为啥玩网游呢？和一些同事同学交流过人们玩网游的原因，一个成功的网游产品需要满足消费者的那些需求，我按照马斯洛需求层次学说的理论分析大致如下： &lt;br /&gt;&lt;br /&gt;1、  
满足安全的需要，和平年代的我们基本不存在生理需求的问题，不管是租房还是自主，不管是锦衣美食还是粗茶淡饭，闲余时间玩网游的应该已经满足吃穿住行的需
要，那么接下来是安全的需要，网游可以满意玩家一部分安全的需要，在游戏里的言谈举止，不必担心受到什么实际的惩罚，及时做个人妖也是可以的，卸载了很多
后顾之忧的行动有种自由感。 &lt;br /&gt;&lt;br /&gt;2、  满足人与人交往的需要，网游区别于单机游戏的最大不同就在于此，网游里的感情，交往都是真实的，几乎所有的玩家都是因为有好友和自己一起娱乐才会在闲暇时间想到网游。 &lt;br /&gt;&lt;br /&gt;3、  满足受尊重的需要，网游里能够区分人与人的不同点实际上是很少的，大部分玩家处在一个水平线，这现实生活要简单的多，&lt;img src=&quot;http://www1.feedsky.com/t1/523264173/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/05/30/6454050.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Mon, 30 May 2011 09:47:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/05/30/6454050.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/05/30/6454050.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264173/1187898</fs:itemid></item><item><title>装备的功能</title><link>http://blog.csdn.net/jq0123/archive/2011/05/26/6447419.aspx</link><description>&lt;br /&gt;装备的功能&lt;br /&gt;&lt;br /&gt;* 装备的基本功能: 如防具加防, 武器加攻, 鞋子加速.&lt;br /&gt;* 装备的附加功能: 如套装带额外属性, 特殊打造的盔甲会反弹攻击.&lt;br /&gt;* 附加功能的开启条件: 如套装必须凑满一套才会有附加属性, 或者盔甲需要镶嵌特殊材料.&lt;br /&gt;* 自动开启: 有的附加功能是自动开启的, 无开启条件.&lt;br /&gt;* 基本功能与附加功能可以统一实现, 基本功能可看作是自动开启的.&lt;br /&gt;* 装备功能可以有多个. 如既加攻又加防, 还会加运气.&lt;br /&gt;* 类似于被动技能与主动技能, 装备功能也分被动主动.&lt;br /&gt;  装备功能一般是被动性功能, 也可能带主动性功能.&lt;br /&gt;  如装备隐身铁甲时, 自动会加防御, 这是被动性功能.&lt;br /&gt;  而隐形是主动性功能, 需要玩家主动启动该功能.&lt;br /&gt;* 装备功能需要穿上装备才能触发, 脱下装备即丧失功能.&lt;br /&gt;* 装备功能界面可点击装备打开, 主动性功能可施到快键栏施放.&lt;br /&gt;* 装备功能与技能效果有类似之处, 实现上可重用. &lt;br /&gt;  装备功能只是对自身&lt;img src=&quot;http://www1.feedsky.com/t1/523264174/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/05/26/6447419.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 26 May 2011 14:19:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/05/26/6447419.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/05/26/6447419.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264174/1187898</fs:itemid></item><item><title>通用网游服务器</title><link>http://blog.csdn.net/jq0123/archive/2011/05/05/6396545.aspx</link><description>&lt;br /&gt;通用网游服务器是适用于一类网游的服务器,如RPG网游服务器.&lt;br /&gt;通用服务器提供的是适用于该类网游的机制,与内容无关.&lt;br /&gt;特定于某一个游戏的内容由脚本和配置文件实现.&lt;br /&gt;&lt;br /&gt;目前在脚本机制不完善的情况下,可以把特定的游戏内容分离到动态链接库中,实现机制与内容分开.&lt;br /&gt;&lt;br /&gt;这个通用的网游服务器还可以分成两个部分:&lt;br /&gt;1. 核心, 适用于所有网游服务器的内核.&lt;br /&gt;2. 机制, 适用于某一类网游的机制.&lt;br /&gt;&lt;br /&gt;内核一般不会更改,机制可能会更改. 如最大HP的计算方法,人物有哪些基本属性. 机制实现为动态链接库.&lt;br /&gt;网游核心加上某一类网游的机制动态库就组成了一个通用网游服务器.&lt;br /&gt;&lt;br /&gt;（金庆的专栏）&lt;img src=&quot;http://www1.feedsky.com/t1/523264175/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/05/05/6396545.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 05 May 2011 13:39:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/05/05/6396545.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/05/05/6396545.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264175/1187898</fs:itemid></item><item><title>做个无畏、有闯劲的程序员</title><link>http://blog.csdn.net/jq0123/archive/2011/01/28/6168048.aspx</link><description>做个无畏、有闯劲的程序员虽然程序写的很烂，但我充满了乐趣&lt;br /&gt;nowamagic.net 发布于 2011-01-26 08:48:13      浏览数：32 views &lt;br /&gt;我已经干编程很久了。当我最初开始编程时，几乎能把所有的时间花在计算机上写程序。的确，我的程序写的很烂，但我充满了乐趣，我学到了很多。随着时间的推移，这种编程上的天真慢慢离我而去。&lt;br /&gt;一个能使天真从程序员身上剥离出去的东西就是害怕。害怕不知道用最好的方法(模式)去做事情。害怕没有使用正确的工具和编程语言。害怕错误(特别是
编译错误)。害怕进度计划。害怕引起别人的注意(别人会怎么想我的代码？)。我怀疑所有的程序员都体验过这种害怕，越优秀越害怕。&lt;br /&gt;编程上的天真是一个威力无比的东西。上周当这个题目在我脑海里出现时，我立即想到了那些我所知道的最优秀的程序员们。我敬仰他们什么？是什么让他们
这么优秀？我相信，大多数情况，他们的伟大直接跟他们的天真无畏有关。最优秀的程序员毫不犹豫的冲向这场战斗：无畏的删代码，把自己隔绝几天来制作一个原
型，对所有的批评和外界干扰视而不见。这些家伙都我心目&lt;img src=&quot;http://www1.feedsky.com/t1/523264176/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/01/28/6168048.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 28 Jan 2011 14:04:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/01/28/6168048.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/01/28/6168048.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264176/1187898</fs:itemid></item><item><title>模板重复实例化错误</title><link>http://blog.csdn.net/jq0123/archive/2011/01/14/6139093.aspx</link><description>&lt;br /&gt;以下代码编译产生如下错误：&lt;br /&gt;&lt;br /&gt;Compiling: main.cpp&lt;br /&gt;
...cc1wtYYU.s: Assembler messages:&lt;br /&gt;
...cc1wtYYU.s:76: Error: symbol `__Z1gIXadL_Z1fvEEEvv' is already defined&lt;br /&gt;&lt;br /&gt;
代码:&lt;br /&gt;&lt;br /&gt;void f()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;&lt;br /&gt;
typedef void(*F)();&lt;br /&gt;&lt;br /&gt;
template&lt;br /&gt;
void g()&lt;br /&gt;
{&lt;br /&gt;
    _F();&lt;br /&gt;
}&lt;br /&gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    void f();&lt;br /&gt;
    g();&lt;br /&gt;
    {&lt;br /&gt;
        void f();&lt;br /&gt;
        g();&lt;br /&gt;
    }&lt;br /&gt;
    r&lt;img src=&quot;http://www1.feedsky.com/t1/523264177/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2011/01/14/6139093.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 14 Jan 2011 15:55:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2011/01/14/6139093.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2011/01/14/6139093.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264177/1187898</fs:itemid></item><item><title>python计算24点</title><link>http://blog.csdn.net/jq0123/archive/2010/12/22/6092435.aspx</link><description>&lt;br /&gt;输入4个数字, 输出所有用加减乘除结果为24的表达式. 代码如下:&lt;br /&gt;&lt;br /&gt;def isEqual(num1, num2):&lt;br /&gt;
    return abs(num1 - num2) &lt;br /&gt;
# End of isEqual().&lt;br /&gt;&lt;br /&gt;
def expressionsFromExpOpSeq(expSeq, opSeq):&lt;br /&gt;
    assert(len(expSeq) == len(opSeq) + 1)&lt;br /&gt;
    if 1 == len(expSeq):&lt;br /&gt;
        yield expSeq[0]&lt;br /&gt;
        return&lt;br /&gt;
    # End of if.&lt;br /&gt;&lt;br /&gt;
    for idx in range(len(opSeq)):&lt;br /&gt;
        newExp = &quot;(%s %s %s)&quot; % (&lt;br /&gt;
            expSeq[idx], opSeq[idx],&lt;img src=&quot;http://www1.feedsky.com/t1/523264178/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2010/12/22/6092435.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 22 Dec 2010 18:50:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2010/12/22/6092435.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2010/12/22/6092435.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264178/1187898</fs:itemid></item><item><title>大型网游中使用短连接</title><link>http://blog.csdn.net/jq0123/archive/2010/11/30/6045572.aspx</link><description>&lt;br /&gt;大型网游中使用短连接&lt;br /&gt;&lt;br /&gt;
目前的大型网游都是采用TCP长连接与服务器通讯。&lt;br /&gt;
采用像Web服务那样的短连接可以大大提升单台服务器的承载能力。&lt;br /&gt;&lt;br /&gt;
如果网游指令分服务器处理&lt;br /&gt;
(http://blog.csdn.net/jq0123/archive/2010/07/28/5770611.aspx),&lt;br /&gt;
实时性高的指令依旧采用长连接，而非实时性的请求改为短连接，&lt;br /&gt;
这将是一个可行的方案。&lt;br /&gt;&lt;br /&gt;
（金庆的专栏）&lt;img src=&quot;http://www1.feedsky.com/t1/523264179/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2010/11/30/6045572.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Tue, 30 Nov 2010 15:16:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2010/11/30/6045572.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2010/11/30/6045572.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264179/1187898</fs:itemid></item><item><title>射击网游中网络时延的处理</title><link>http://blog.csdn.net/jq0123/archive/2010/11/12/6005055.aspx</link><description>&lt;br /&gt;射击网游中网络时延的处理&lt;br /&gt;&lt;br /&gt;
（金庆的专栏）&lt;br /&gt;&lt;br /&gt;
网游中的网络时延是无法避免的事. &lt;br /&gt;
例如移动, 客户端发出命令到收到服务器的确认会有100ms的时延,&lt;br /&gt;
如果客户端等待100ms后再移动, 操作性将会非常差.&lt;br /&gt;
一般是不等服务器确认, 先移动起来.&lt;br /&gt;&lt;br /&gt;
对于攻击, 同样也有时延.&lt;br /&gt;
一般的PK网游中,攻击速度很慢,大概1s发一次攻击,&lt;br /&gt;
攻击伤害结果延时100ms没有问题.&lt;br /&gt;
因为攻击动作播放大于100ms.&lt;br /&gt;&lt;br /&gt;
但在射击类网游中, 网络时延就很难处理.&lt;br /&gt;
开枪射击后, 是否打中的结果要100ms后才知道.&lt;br /&gt;
大多数的处理是用客户端判断, 所以可能出现外挂.&lt;br /&gt;&lt;br /&gt;
因为网络时延的存在, 网络游戏其实并不适合射击, 格斗这些即时性强的游戏.&lt;br /&gt;
最适合的是星际战争这类远距离的对打, 发个导弹会需要一段时间后才命中,&lt;br /&gt;
正好符合网络有时延的特征.&lt;br /&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/523264180/jq0123/csdn.net/s.gif?r=http://blog.csdn.net/jq0123/archive/2010/11/12/6005055.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 12 Nov 2010 15:15:00 +0800</pubDate><author>金庆</author><guid isPermaLink="false">http://blog.csdn.net/jq0123/archive/2010/11/12/6005055.aspx</guid><dc:creator>金庆</dc:creator><fs:srclink>http://blog.csdn.net/jq0123/archive/2010/11/12/6005055.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/jq0123/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/jq0123/~1187918/523264180/1187898</fs:itemid></item></channel></rss>
