<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[遨游太空2014]]></title><description><![CDATA[The show must be go on]]></description><link>https://blog.youkuaiyun.com/smallmelon</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smallmelon]]></copyright><item><title><![CDATA[lua-md5 for lua5.3]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/46891435</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/46891435</guid><author>smallmelon</author><pubDate>Wed, 15 Jul 2015 12:24:21 +0800</pubDate><description><![CDATA[lua-md5 


封装nginx/src/core/ 里面的md5模块代码


使用方法:


local md5 = require "md5"


local result = md5.update("hello world")


print(result)




编译只需要修改Makefile


PREFIX ?=          .]]></description><category></category></item><item><title><![CDATA[node.js内存泄露问题记录]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/46326007</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/46326007</guid><author>smallmelon</author><pubDate>Tue, 02 Jun 2015 11:18:36 +0800</pubDate><description><![CDATA[先说一下，事情的来龙去脉。


公司开发一款游戏棋牌游戏，服务端的开发是IO密集型，开发的时候，考虑过使用python,java,node.js。
最终选择了node.js（node.js宣传的杀手功能，异步IO，node.js另外一个分支叫io.js），事情也就由此而起。


因为第一次做手机游戏，对移动网络的估计不足，选择了json作为通信传输数据格式，上线后玩家就频繁掉线（通信]]></description><category></category></item><item><title><![CDATA[leetcode:Two Sum]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/45601453</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/45601453</guid><author>smallmelon</author><pubDate>Sat, 09 May 2015 15:08:28 +0800</pubDate><description><![CDATA[Given an array of integers, find two numbers such that they add up to a specific target number.

The function twoSum should return indices of the two numbers such that they add up to the target, whe]]></description><category></category></item><item><title><![CDATA[猴子摘香蕉一次可以摘1个或2个,总共50个,问有多少种摘法？]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/44984601</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/44984601</guid><author>smallmelon</author><pubDate>Fri, 10 Apr 2015 21:00:12 +0800</pubDate><description><![CDATA[问题来自知乎
腾讯的笔试题



等我写完之后发现不就是那啥啥函数，贴上lua代码

N很大的时候，估计是抗不住了，代码还需要优化。

function banana( n )
    local c = 1;
    if n == 0 then
        return 0
    elseif n == 1 then
        return 1
    elseif n ==]]></description><category></category></item><item><title><![CDATA[判断二叉树是否为平衡二叉树]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/44836067</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/44836067</guid><author>smallmelon</author><pubDate>Thu, 02 Apr 2015 19:15:48 +0800</pubDate><description><![CDATA[struct tree {
    void * data;
    struct tree *left;
    struct tree *right;
};

int tree_high(struct tree *t) {
    int r = 0;
    int l = 0;
    if (t == NULL) {
        return 0;
    }
    if (t->]]></description><category></category></item><item><title><![CDATA[高级语言怎么解决内存碎片呢？]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/42965175</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/42965175</guid><author>smallmelon</author><pubDate>Wed, 21 Jan 2015 10:48:38 +0800</pubDate><description><![CDATA[c/c++可以自己管理内存，像nginx可以根据自己的业务特点，为每一个请求分配一个内存池，请求结束，内存池也就可以释放了


python,node.js这样的高级语言怎么解决内存碎片问题呢？


鼓吹node.js的人都会提到node.js有谷歌的v8引擎，他是有多先进，但他没想过v8是为浏览器设计的，他是不会遇到像服务端程序会遇到的内存碎片问题，一个页面不可能一直打开着吧，关掉页]]></description><category></category></item><item><title><![CDATA[某页游erlang服务端广播算法效率好差，应该算是一个bug了吧]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/42538233</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/42538233</guid><author>smallmelon</author><pubDate>Fri, 09 Jan 2015 00:01:03 +0800</pubDate><description><![CDATA[偶然得到一份erlang网页服务端的代码
不得不说写的非常优雅，文档也非常不错，但我看到他的场景管理中的广播算法，不得不说写的很漂亮，但效率非常低。
每次都全局遍历全部在线玩家在某个场景的玩具ID，这样的算法，我不知道一个服能撑起多少人，优化一下，场景服务管理在他服务中的玩家，NPC，MON，效率会提升好几倍，只是代码会稍微复杂一点，没他写的优雅了！！




%%  获取要广播的范]]></description><category></category></item><item><title><![CDATA[参照protobuf，将json数据转换成二进制在网络中传输。]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/38335753</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/38335753</guid><author>smallmelon</author><pubDate>Fri, 01 Aug 2014 14:25:38 +0800</pubDate><description><![CDATA[json数据格式在网络中传输需要的数据比二进制庞大太多，我们可以省去key，外加将数字不需要编码成字符串，直接二进制编码就OK。


pack : 将json压包，unpack解包成json。
var Struct = module.exports = {};

Struct.TYPE = {
	int8:1,
	int16:2,
	int32:3,
	uint8:4,	
	uint16:]]></description><category></category></item><item><title><![CDATA[模仿linux内核定时器代码，用python语言实现定时器]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/37698739</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/37698739</guid><author>smallmelon</author><pubDate>Fri, 11 Jul 2014 17:35:12 +0800</pubDate><description><![CDATA[大学无聊的时候看过linux内核的定时器,现在已经想不起来了，也不知道当时有没有看懂，现在想要模仿linux内核的定时器，用python写一个定时器，已经想不起来它的设计原理了，找了一篇blog，linux
 内核定时器 timer_list详解。

看了好一会才有些明白，开始参照着用python写了一个。如果在设计服务器的时候，有大量需要精确到秒和秒以下的事件，自己写一个定时器，维护一个类]]></description><category></category></item><item><title><![CDATA[DFA和trie字典树实现敏感词过滤（python和c语言）]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/36421539</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/36421539</guid><author>smallmelon</author><pubDate>Wed, 02 Jul 2014 15:50:28 +0800</pubDate><description><![CDATA[现在做的项目都是用python开发，需要用做关键词检查，过滤关键词，之前用c语言做过这样的事情，用字典树，蛮高效的，内存小，检查快。
到了python上，第一想法是在pip上找一个基于c语言的python字典树模块，可惜没找到合适的，如果我会用c写python模块的话，我就自己写一个了，可惜我还不具备这个能力，
只能用python写了，性能差一点就差点吧，内存多一点也无所谓了。


用搜]]></description><category></category></item><item><title><![CDATA[Python交互模式出现乱码，按tab,方向键时候出现乱码]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/24516543</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/24516543</guid><author>smallmelon</author><pubDate>Sat, 26 Apr 2014 09:50:58 +0800</pubDate><description><![CDATA[debian, centos上面的python版本比较低，我想安装2.7版本，]]></description><category></category></item><item><title><![CDATA[c++ std:thread编译出错记录]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/23973835</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/23973835</guid><author>smallmelon</author><pubDate>Fri, 18 Apr 2014 00:03:11 +0800</pubDate><description><![CDATA[https://coderwall.com/p/rzkw6q




Consider the following code, which uses the C++11 (used to be known as C++0x) thread library:
#include 
#include 

using namespace std;

void hello_world()
{
 ]]></description><category></category></item><item><title><![CDATA[Centos安装mysql-server运行服务器错误记录]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/21633755</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/21633755</guid><author>smallmelon</author><pubDate>Thu, 20 Mar 2014 17:24:58 +0800</pubDate><description><![CDATA[在Mac os玩python没什么，反正python到那个平台差别都不大，可是C的开发库让我蛋疼的，在linux 上和在mac是有差别的。
我只能在mac的安装一个Centos虚拟机，以前对虚拟机印象很差，使用起来感觉很糟糕，现在mac上使用感觉非常好，几乎感觉不到是虚拟机。
虚拟机在centos 
/media/psf目录上挂载了我mac os的用户目录，这样就可以很方便到共享文件。]]></description><category></category></item><item><title><![CDATA[django 的mysql数据配置]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/21465327</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/21465327</guid><author>smallmelon</author><pubDate>Tue, 18 Mar 2014 16:20:23 +0800</pubDate><description><![CDATA[在成功安装python-mysql后，开始配置django的mysql连接配置
打开django项目下的setting.py文件，将DATABASES改成下面这样

DATABASES = {
      'default': {
          'ENGINE':
'django.db.backends.mysql',
         'NAME':
'mysite',]]></description><category></category></item><item><title><![CDATA[mac xcode5.1安装Mysql-python编译错误解决]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/21461379</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/21461379</guid><author>smallmelon</author><pubDate>Tue, 18 Mar 2014 15:35:59 +0800</pubDate><description><![CDATA[前几天才入的macbook air，在 app store 安装的xcode和command_line_tools都是最新版本，结果我被坑了，编译工具太新了，不兼容，出现错误。

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]]]></description><category></category></item><item><title><![CDATA[基于libuv库的tcp, udp echo服务器和客户段测试python代码。]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/20545077</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/20545077</guid><author>smallmelon</author><pubDate>Wed, 05 Mar 2014 14:40:03 +0800</pubDate><description><![CDATA[TCP 客户端测试python代码：
import socket
import time

def tcpClient():
    for i in range(10000):
        clisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        clisock.connect(('localhost', 789]]></description><category></category></item><item><title><![CDATA[linux  epoll和 socket非阻塞读]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/20535401</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/20535401</guid><author>smallmelon</author><pubDate>Wed, 05 Mar 2014 12:04:36 +0800</pubDate><description><![CDATA[linux  version: Linux version 2.6.32-5-686 (Debian 2.6.32-48squeeze4) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Sep 23 23:00:18 UTC 2013


noblock测试代码：
epoll使用的是边缘触发模式]]></description><category></category></item><item><title><![CDATA[libuv 中文编程指南]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/20469843</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/20469843</guid><author>smallmelon</author><pubDate>Tue, 04 Mar 2014 16:35:13 +0800</pubDate><description><![CDATA[最近看了一些有关 libuv 的东西，另外复习了一些与同步、异步、阻塞、非阻塞，异步IO(aio)的东西， 算是技术积累吧，等有时间了整理出一个完整的文档出来，希望在今后的编程中用到。

不多说了，本文是今后几篇《libuv 中文编程指南》的前言，先介绍下 libuv 究竟是干什么的吧，看看 
开源中国社区收录的有关 libuv 的介绍， 

libuv 是 Node 的新跨平台抽象层，]]></description><category></category></item><item><title><![CDATA[debian安装国际版QQ中的一些问题记录]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/20465793</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/20465793</guid><author>smallmelon</author><pubDate>Tue, 04 Mar 2014 15:49:21 +0800</pubDate><description><![CDATA[linux QQ国际版安装

http://blog.youkuaiyun.com/yuan1164345228/article/details/20449459


root@debian:/home/cheng# sudo dpkg -i deepinwine-qqintl_0.1.3-2_all.deb wine-qqintl_0.1.3-2_i386.deb
选中了曾被取消选择的软件包 d]]></description><category></category></item><item><title><![CDATA[利用libuv库和smtp协议发送邮件程序]]></title><link>https://blog.youkuaiyun.com/smallmelon/article/details/20451577</link><guid>https://blog.youkuaiyun.com/smallmelon/article/details/20451577</guid><author>smallmelon</author><pubDate>Tue, 04 Mar 2014 11:31:19 +0800</pubDate><description><![CDATA[我写这个程序只是练习利用libuv库写程序，怎样连接服务器，怎样处理读写。
这只是一个demo，离真正的发送邮件程序还有一些距离。
附上源代码：
#include 
#include 
#include 
#include 
#include 

#define FATAL(msg)                                        \
  do {]]></description><category></category></item></channel></rss>