<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[findstr的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/findstr</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; findstr]]></copyright><item><title><![CDATA[实现了一个AOI模块]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/75898935</link><guid>https://blog.youkuaiyun.com/findstr/article/details/75898935</guid><author>findstr</author><pubDate>Sun, 23 Jul 2017 11:46:26 +0800</pubDate><description><![CDATA[在场景服务中，如果有一个人A的行为想要被其他人看得到，就必须将A的数据包进行转发给其他人。最KISS的办法，就是直接把A的数据包直接在场景服务内组播。但是在一个场景服务中可能有成百上千个人，如果直接在服务进程内进行广播，数据流量会大到一个很夸张的地步，至少以目前的网速来讲是不现实的。因此，往往场景服务都为人物设计一个视野半径，即只将数据包转发给在我视野内的人，这样可以极大的降低数据的转发流量。而A]]></description><category></category></item><item><title><![CDATA[一个高可伸缩的游戏服务器架构]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/74674143</link><guid>https://blog.youkuaiyun.com/findstr/article/details/74674143</guid><author>findstr</author><pubDate>Fri, 07 Jul 2017 14:05:33 +0800</pubDate><description><![CDATA[一个高可伸缩的游戏服务器架构原文连接:http://blog.gotocoding.com/archives/827设计完socket通讯协议后，就面临着服务器架构设计了。我希望他是一个去中心化且具有高可伸缩性的集群架构。水平扩展是高可伸缩的首要条件，因此，在设计之初就必须考虑好水平扩展考方案。事实上这一部分几乎花了我1整个月的时间来设计，在此期间我重写了3版才总算确定下来我认为可用的方案。第一版设]]></description><category></category></item><item><title><![CDATA[关于网络协议封装的一些新想法]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/72794099</link><guid>https://blog.youkuaiyun.com/findstr/article/details/72794099</guid><author>findstr</author><pubDate>Sun, 28 May 2017 18:17:10 +0800</pubDate><description><![CDATA[最近业余时间在写一个小游戏。在为客户端封装socket层时头脑一热，有了一些新的想法, 在这里记录一下。客户端使用的是Unity3d引擎。而在Unity3d中，基础的socket库只提供两种模式，一种是阻塞模式，一种是异步callback模式。一般都需要基于这两种模式下进一步封装，才可以更方便的使用。咨询了几个做客户端的并搜了一下，发现大家的惯用手法都是开一个线程去使用socket阻塞去读，然后把]]></description><category></category></item><item><title><![CDATA[给silly增加热更新]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/70227102</link><guid>https://blog.youkuaiyun.com/findstr/article/details/70227102</guid><author>findstr</author><pubDate>Tue, 18 Apr 2017 13:18:55 +0800</pubDate><description><![CDATA[最新抽了点时间给Silly增加了了一个silly.patch模块，用于对热更新提供一些有限的支持。




热更新最麻烦之处莫过于“数据迁移”， 即怎么使新函数（要更新的函数）以“运行时数据”的状态运行。




其实http这类无状态协议是最为简单的，因为他们不需要“数据迁移”的过程。http的这种架构，使得所有的函数都是无副作用的，所有的数据在请求结束给出Response的]]></description><category></category></item><item><title><![CDATA[使用缓存优化数据请求]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/70227080</link><guid>https://blog.youkuaiyun.com/findstr/article/details/70227080</guid><author>findstr</author><pubDate>Tue, 18 Apr 2017 13:13:43 +0800</pubDate><description><![CDATA[继上一篇场景之后，事情还没有完。




我有一堆struct obj对象（数量级可能为千级), 客户端需要频繁拉取这些信息中的一部分去显示（比如，当切换标签页时）。




由于这一操作可能会很频繁，而struct obj对象并不算小，如果每一次都重新拉取全部数据，有点让人不舒服，而且对流量也是一种很大的浪费。因此就琢磨着怎么去优化整个过程，以使在此过程中使数据传输量最小。]]></description><category></category></item><item><title><![CDATA[如何恢复全局INDEX]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/70227052</link><guid>https://blog.youkuaiyun.com/findstr/article/details/70227052</guid><author>findstr</author><pubDate>Tue, 18 Apr 2017 13:10:05 +0800</pubDate><description><![CDATA[一般来说，当需要分配全局惟一id时，一般都会有一个变量来记录当前最新的id值，比如叫INDEX变量。




每次需要分配id时，只要简单的自增一下INDEX变量，然后INDEX的值即为当前分配出去的ID的值。




为了最大可能的延迟复用已经分配过的id，一般来说不会去特殊处理INDEX变量，即每次自增INDEX，并允许回绕情况的发生。




但是最近碰到问题就]]></description><category></category></item><item><title><![CDATA[消除弱表中的循环]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/70139658</link><guid>https://blog.youkuaiyun.com/findstr/article/details/70139658</guid><author>findstr</author><pubDate>Wed, 12 Apr 2017 10:14:44 +0800</pubDate><description><![CDATA[消除弱表中的循环（Eliminating Cycles in Weak Tables）



作者：Alexandra Barros, Roberto Ierusalimschy
译者：重归混沌

摘要：

弱引用 为与垃圾回收器交互提供了一种优雅的机制。弱引用 的大多数典型应用都是通过弱表来实现的（例如:Java中的WeakHashMap）。
 然而大多数弱表都有一个很苛刻的]]></description><category></category></item><item><title><![CDATA[silly的一次大规模重构]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/70139262</link><guid>https://blog.youkuaiyun.com/findstr/article/details/70139262</guid><author>findstr</author><pubDate>Wed, 12 Apr 2017 09:52:54 +0800</pubDate><description><![CDATA[最近一个月都在重构silly, 包括其工作模式以及一些扩展库的实现基本上都被重写了。

其实coding的时间并没有想象中的那么长，只是在重构过程中碰到很多取舍情况，大部分时间都耗费在了纠结的时间上。

当初实现silly的初衷是首先满足类似gameserver这类业务模型的需求，然后尽可能多的兼顾其他类型的server。

然而以这两年的工作经验来看，master-worker模式由]]></description><category></category></item><item><title><![CDATA[关于silly]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/70139016</link><guid>https://blog.youkuaiyun.com/findstr/article/details/70139016</guid><author>findstr</author><pubDate>Wed, 12 Apr 2017 09:42:38 +0800</pubDate><description><![CDATA[自从写了第一个假server之后， 我就一直在想真正的处理高并发的server是如何做的。然后我就研究了skynet, nginx, Node.js这些服务器程序框架。


这些框架除了skynet, 另外两个框架则仅仅是从使用上进行了了解， 并没有去通读他们的源码。所以基本了解下来，skynet是一个基本actor模式，Node.js则为纯异步模式， nignx则使用了master-wor]]></description><category></category></item><item><title><![CDATA[我的公众号]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/59480728</link><guid>https://blog.youkuaiyun.com/findstr/article/details/59480728</guid><author>findstr</author><pubDate>Thu, 02 Mar 2017 09:26:27 +0800</pubDate><description><![CDATA[TL;DR: 我的公众号二维码


看公众号的注册日期就知道，这个号其实注册很久了，一直没开启就是因为我想通过程序自动把我的blog搬过来.


去年是因为懒得去支持https，然而经过我昨天夜里不懈的奋斗终于支持了https发现，这压根就不是https的事，我的个人账户就没有使用api的权限.
so，妥协了，手动复制粘贴吧...


ps. 以后公众号会与blog同步更新]]></description><category></category></item><item><title><![CDATA[重归混沌的blog新地址]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/25770909</link><guid>https://blog.youkuaiyun.com/findstr/article/details/25770909</guid><author>findstr</author><pubDate>Wed, 14 May 2014 09:14:50 +0800</pubDate><description><![CDATA[博客搬家了，
 重归混沌的blog新地址：http://blog.gotocoding.com]]></description><category></category></item><item><title><![CDATA[解决 “无法安装 Visual Studio 2010 Service Pack 1，因为此计算机的状态不支持”]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/8773540</link><guid>https://blog.youkuaiyun.com/findstr/article/details/8773540</guid><author>findstr</author><pubDate>Mon, 08 Apr 2013 17:21:18 +0800</pubDate><description><![CDATA[解决办法：

32 位系统删除：HKEY_LOCAL_MACHINE\Software\Microsoft\VSTO Designtime Setup\

64 位系统删除：HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VSTO Designtime Setup\

 

 

 

注：本文转载自：

http:/]]></description><category></category></item><item><title><![CDATA[Win7下VS2010不能链接问题]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/8772372</link><guid>https://blog.youkuaiyun.com/findstr/article/details/8772372</guid><author>findstr</author><pubDate>Mon, 08 Apr 2013 14:44:39 +0800</pubDate><description><![CDATA[重装系统后，就没用过VS2010，今天想用VC2010写个小工具，结果新建的工程，一行代码不写都不能链接通过。出错提示如下：fatal error LNK1123: failure during conversion to COFF。网上Google一下很多人都说是嵌入式表单设置为NO或者是资源ID冲突问题。都不能解决我的问题。搞了大半天终于搞定了，将办法记下来，省得下次用到。
经过google]]></description><category></category></item><item><title><![CDATA[UcosII 就绪表的理解]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7983988</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7983988</guid><author>findstr</author><pubDate>Sun, 16 Sep 2012 10:59:47 +0800</pubDate><description><![CDATA[为了保证系统的实时性，在就绪表这一块，内核设计者设计了一种算法，这个算法在O(1)的时间里完成查找就绪表中最高优先级的任务（遍历就绪表来查找最高优先级的做法是不能保证实时性要求的）。关于就绪表，这里涉及到四个数据结构，分别是：OSRdyGrp、OSRdyTbl[]、OSMapTbl[]和OSUnMapTbl[]。前两者是全局变量（INT8U），OSRdyTbl[]数组的大小取决于OS_LOWEST]]></description><category></category></item><item><title><![CDATA[关于stm32 APB总线上的"接口时钟使能"与"外设时钟使能"]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7755525</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7755525</guid><author>findstr</author><pubDate>Tue, 17 Jul 2012 15:37:35 +0800</pubDate><description><![CDATA[今天看>上的RTC时钟,发现他没有使能APB1的上BKP时钟,就能读出BKP寄存器里的内容.很是不解,又看了一遍发现APB总线上的时钟使能分为两种,一种是时接口时钟一种是外设时钟.
又仔细观查了一下时钟树发现在APB外设时钟使能寄存器上表现为接口时钟的都已经有了自己的时钟,再经实验证明所有这种不需要在APB上使能就有自已时钟的外设(即在APBxENR的某一位上代表的是这个外设的接口时钟的外设)在]]></description><category></category></item><item><title><![CDATA[stm32的窗口看门狗的一点发现]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7748304</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7748304</guid><author>findstr</author><pubDate>Sun, 15 Jul 2012 11:08:47 +0800</pubDate><description><![CDATA[今天看stm32的窗口看门狗，突然发现很不正常，于是做了各方面的实验得出以下结论，由于只是实验了得出的结论没有官方结论，所以如果有人有理论依据请告知我，非常感谢1
１.一旦使能窗口看门狗的时钟，ＳＲ寄存器的EWIF位就会被置１
２.一旦在定义的窗口范围外喂狗就会复位
３.在没有使能窗口看门狗定时器的情况下(即CR寄存器的WDGA寄存器置1来使能看门狗)，ＳＲ不能被软件清０
结论：所以必须把]]></description><category></category></item><item><title><![CDATA[XP下JDK不能安装的解决办法]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7744524</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7744524</guid><author>findstr</author><pubDate>Fri, 13 Jul 2012 16:21:16 +0800</pubDate><description><![CDATA[运行 cmd , 执行 "msiexec /unregserver" 然后 再执行 "msiexec /regserver"]]></description><category></category></item><item><title><![CDATA[读The C programming language的新发现]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7591894</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7591894</guid><author>findstr</author><pubDate>Tue, 22 May 2012 17:50:23 +0800</pubDate><description><![CDATA[1.C语言标准中的各类型长度，及指针长度并没有明确指定是多长，只是有一个长度限定。还有建议字节数，但这绝不应该成为我们写程序时的标准。因此，我们每到一个新平台的话就最好先搞清楚各类型是多长!
2.C语言中char ,signed char,unsigned char,是3种类型，因为char 到底是signed char 还是char依赖于编译器的实现，K＆R建议，为了便于移植，如果我们放的是非]]></description><category></category></item><item><title><![CDATA[~/.fvwm/fvwm.stroke]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7486431</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7486431</guid><author>findstr</author><pubDate>Sun, 22 Apr 2012 13:39:27 +0800</pubDate><description><![CDATA[#strokes
#window list without drag
Stroke 0 0 R N WindowList

#button 3 guesture with Ctrl starts programs in any context
#"r" like guestures starts rxvt
#Stroke N5456 0 A C Exec exec xkill
#Stroke N6]]></description><category></category></item><item><title><![CDATA[~/.fvwm/.fvwm2rc]]></title><link>https://blog.youkuaiyun.com/findstr/article/details/7486407</link><guid>https://blog.youkuaiyun.com/findstr/article/details/7486407</guid><author>findstr</author><pubDate>Sun, 22 Apr 2012 13:26:40 +0800</pubDate><description><![CDATA[ImagePath +:/usr/share/icons:/usr/share/pixmaps:/usr/share/icons/hicolor/48x48/apps:/usr/local/share/fvwm/icons:$HOME/.fvwm/icons
EdgeResistance 250 100
EdgeScroll 100 100
EdgeThickness 10
ColormapFoc]]></description><category></category></item></channel></rss>