<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiweiwei的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiweiwei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiweiwei]]></copyright><item><title><![CDATA[[python] 类常用的内置方法]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/45173693</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/45173693</guid><author>xiweiwei</author><pubDate>Tue, 21 Apr 2015 17:51:04 +0800</pubDate><description><![CDATA[【转】[python] 类常用的内置方法




原文：http://xukaizijian.blog.163.com/blog/static/170433119201111894228877/




 内置方法

 说明



 __init__(self,...)

 初始化对象，在创建新对象时调用



 __del__(self)

 释放]]></description><category></category></item><item><title><![CDATA[使用c++ 编写mapreduce]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/38518957</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/38518957</guid><author>xiweiwei</author><pubDate>Tue, 12 Aug 2014 18:00:10 +0800</pubDate><description><![CDATA[转载 

假设你有上百G的数据，你要统计出这些数据中，含有某些你感兴趣的内容的数据的有多少条，你会怎么做？在硬件条件允许的情况下，用hadoop并行计算是一个不错的选择。

为了使本文得以清晰地说明，我们不妨假设如下的情况：



我们有100G的数据，分别保存在5个文件中，它们位于
 /data/ 目录下。这5个数据文件的内容均为相同的格式，即，文件的内容大致如下：

AB]]></description><category></category></item><item><title><![CDATA[linux 命令行参数解析源码]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/29852897</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/29852897</guid><author>xiweiwei</author><pubDate>Thu, 12 Jun 2014 14:51:18 +0800</pubDate><description><![CDATA[在linux系统上，服务的运行chang]]></description><category></category></item><item><title><![CDATA[Redis 配置文件详解]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/24796877</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/24796877</guid><author>xiweiwei</author><pubDate>Wed, 30 Apr 2014 15:51:01 +0800</pubDate><description><![CDATA[（基于Redis 2.6）

基础部分设置：
daemonize no
#默认情况下redis 不是以守护进程的模式运行。


pidfile /var/run/redis.pid
#在守护进程模式下，pid进程号文件路径的存储位置

port 6379
#监听的端口号，设置为0的话，redis不会对tcp 连接进行监听；

bind 127.0.0.1  
#绑定本机]]></description><category></category></item><item><title><![CDATA[mysql字符集问题]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/19336579</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/19336579</guid><author>xiweiwei</author><pubDate>Mon, 17 Feb 2014 15:13:38 +0800</pubDate><description><![CDATA[前段时间做一个项目，前期数据都会存储在mysql中，数据时通过shell脚本的方式从文档中导入到Mysql中，然后通过workbench终端去查看导入的数据。结果，估计根据标题就能猜到，中文乱码了，从workbench中看到的中文字符乱码了。一直就听说过mysql中如果字符设置不对，中文很容易出现乱码，所以网上有很多资料介绍如何避免中文的乱码。在这儿就不介绍mysql的字符集了，只说说我的中文乱码]]></description><category></category></item><item><title><![CDATA[linux下c语言实现tail -f功能---实时读取变化文件中的增量内容]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/18659325</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/18659325</guid><author>xiweiwei</author><pubDate>Wed, 22 Jan 2014 13:40:09 +0800</pubDate><description><![CDATA[最近由于项目需要，需要对文件中实时新增的数据进行处理，结合tail -f的逻辑，用c语言实现了这一功能，代码如下：


#include 
#include 
#include 
#include 


#define FILE_LINE_LEN 1024

long g_curr_offset = 0;

int32_t c_tail(const char *file);
int32_t ]]></description><category></category></item><item><title><![CDATA[crontab shell 执行失效之注意事项]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/11771315</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/11771315</guid><author>xiweiwei</author><pubDate>Tue, 17 Sep 2013 14:47:26 +0800</pubDate><description><![CDATA[近段时间由于项目需要，写了很多shell脚本，需要放到crontab中定期执行，由于一开始没有太注意，放在crontab中的shell脚本执行总是失效，经过上网查资料，总结几个要点如下：
1、shell脚本中要使用文件的绝对路径，不能使用相对路径
2、环境变量，在shell脚本中加上一行： PATH=bin路径，同理，还有库文件路径，LD_LIBRARY_PATH。都需要在shell脚本中重新]]></description><category></category></item><item><title><![CDATA[linux下的节约时间的小技巧]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/11087563</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/11087563</guid><author>xiweiwei</author><pubDate>Wed, 04 Sep 2013 18:07:19 +0800</pubDate><description><![CDATA[转： 
http://www.pixelstech.net/article/1378265382-Time-saving-tips-Linux-users-should-know
 
As a programmer or system administrator, we have more chances of working on *nix platforms. It's tough ex]]></description><category></category></item><item><title><![CDATA[Memcached源码分析之内存管理篇之item结构图及slab结构图]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/11071187</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/11071187</guid><author>xiweiwei</author><pubDate>Wed, 04 Sep 2013 16:24:55 +0800</pubDate><description><![CDATA[转：http://blog.youkuaiyun.com/yxnyxnyxnyxnyxn/article/details/7869900
 
一 把数据组装成 item
memcached 接受到客户端的数据后, 把数据组装成 item, item 的格式如下:
 

    图1 struct item 的结构
 
CAS可选：cas的版本号
 
源码中这样定义 struct item:]]></description><category></category></item><item><title><![CDATA[Memcached 结构分析详解]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/11011409</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/11011409</guid><author>xiweiwei</author><pubDate>Tue, 03 Sep 2013 18:06:07 +0800</pubDate><description><![CDATA[Memcached 结构分析

     Memcached是一个分布式的内存缓存库，正好自己想写个cache的模块，那么就偷偷师吧。
     功能库看的是实现原理和思路，性能库看的是实现细节，memcahed是属于一个看性能的库(实现cache功能的模块很多，但是性能就有高低了) 

1、memcached的数据交互协议
    memcached是分布式的内存缓存服务器，它是通过]]></description><category></category></item><item><title><![CDATA[libcstl 之map遍历用法]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8973424</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8973424</guid><author>xiweiwei</author><pubDate>Sun, 26 May 2013 14:25:20 +0800</pubDate><description><![CDATA[1、前言
最近做了一个ios项目的服务端数据处理，这个项目中涉及到了实时聊天功能，移动设备的聊天信息要通过服务器进行信息转发，为了保证聊天信息能够及时准备的传达到接收方，在服务器端需要存储在线用户信息，因为项目时间紧，服务端的数据处理接口还是复用的以前的c架构，采用的是TPR模型，即：每个用户的每个请求在服务端都单独起一个线程来处理该用户的请求。当初想到在c中使用链表来存储在线用户信息，但当在线]]></description><category></category></item><item><title><![CDATA[linux c 解析配置文件]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8524641</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8524641</guid><author>xiweiwei</author><pubDate>Mon, 21 Jan 2013 14:20:46 +0800</pubDate><description><![CDATA[经常在程序中，我们需要从配置文件中读取变量值，配置文件可以是多种多样的格式，比如通用的xml文件或者自定义的配置文件。如果是xml配置文件，在解析的时候，我们需要借助第三方库，有的时候可能我们并不需要这样繁琐的获取配置文件变量的方式。所以更多时候可以通过自定义配置文件，然后自行解析。在实际编程过程中，我自己常用的定义配置文件的格式如下：
my.conf

[section_name_1]
var]]></description><category></category></item><item><title><![CDATA[linux环境下，mysql UDF的实现编译及安装]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8504588</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8504588</guid><author>xiweiwei</author><pubDate>Tue, 15 Jan 2013 10:45:25 +0800</pubDate><description><![CDATA[1.     UDF概念
UDF就是user define function。在mysql内部，提供了很多内建函数，如 abs()、count()等，但根据实际情况，内建的函数并不一定能满足我们的需要，这时就可以使用mysql提供的udf了，构建我们自己的函数，然后加到mysql中。如其他函数一样，udf有参数，也有输出，udf函数类型有两类：单一函数如abs()，聚集函数如count()、su]]></description><category></category></item><item><title><![CDATA[linux socket 函数封装]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8485507</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8485507</guid><author>xiweiwei</author><pubDate>Wed, 09 Jan 2013 14:51:30 +0800</pubDate><description><![CDATA[1、linux socket函数介绍
最近一直在看《unix网络编程》，有感于书中例子给出的创建tcp连接时对socket函数的封装。对于在服务器端编写网络程序的人来说，将这些函数进行封装能大大提高编程效率，而且还能简化编程流程，提高代码可复用性。
2、socket函数封装
首先，介绍一下socket函数用到的基本结构变量：
struct sockaddr_in server;]]></description><category></category></item><item><title><![CDATA[sphinx 中缀索引配置，实现类似like的搜索]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8281640</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8281640</guid><author>xiweiwei</author><pubDate>Tue, 11 Dec 2012 11:38:13 +0800</pubDate><description><![CDATA[该文章转至：http://www.86afei.com/2010/12/01/218




这一段时间来一直在跟sphinx打交道，其间或多或少遇到一些问题，其中让我费时最多的莫过于模糊搜索。

用sphinx做中文搜索时，大多会使用到mmseg做为分词工具，如’白下区KTV’分解成’白下区’ , ‘KTV’两个词。

一般只要词库里有的词都能高效的从索引里搜索到，但如果搜索’]]></description><category></category></item><item><title><![CDATA[linux 服务端程序。。。too many open files]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8199394</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8199394</guid><author>xiweiwei</author><pubDate>Mon, 19 Nov 2012 14:43:09 +0800</pubDate><description><![CDATA[这周做了一个项目，为ios客户端提供稳定的数据源，这是一个服务端进程，运行在linux环境中，做完后，自己来了一次压力稳定性测试，一天过后，发现程序突然不工作了，但是服务端进程并没有停掉，通过查看日志发现epoll_wait返回的fd，errno = 24， 对比errorno.h的第24号错误码，发现是  too many open files。在网上翻了一会儿，明白原因了，但也综合了大家的内容]]></description><category></category></item><item><title><![CDATA[linux  gdb 进程调试]]></title><link>https://blog.youkuaiyun.com/xiweiwei/article/details/8190558</link><guid>https://blog.youkuaiyun.com/xiweiwei/article/details/8190558</guid><author>xiweiwei</author><pubDate>Fri, 16 Nov 2012 13:47:37 +0800</pubDate><description><![CDATA[在linux环境下，编写应用程序，有句话说的“写一段代码，编译通过，半小时救过了；写一段代码编译没有通过，半天就过了”，这句话说的是调试代码所花费的时间远远会超过自己的预期，所以在linux环境下如何更好的调试自己的代码，对于提高工作效率无疑是一剂良药。


调试工具： gdb 
1、很多时候，程序编译通过之后，运行却没有得到期望的结果，咋一看程序逻辑、代码都没有问题，这个时候就需要用到g]]></description><category></category></item></channel></rss>