<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[么幺]]></title><description><![CDATA[点滴积累]]></description><link>https://blog.youkuaiyun.com/leeyanhit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leeyanhit]]></copyright><item><title><![CDATA[2015年书单]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/50352279</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/50352279</guid><author>leeyanhit</author><pubDate>Wed, 23 Dec 2015 21:46:26 +0800</pubDate><description><![CDATA[毕业以后，发现自己读书越来越少，惭愧！这里记录下自己今年的书单，也希望自己以后多多阅读，多多思考。 
1. 《影响力》- 罗伯特·西奥迪尼 
2. 《黑客与画家》- Paul Graham 
3. 《图说设计模式》- 木书架 
4. 《人生元编程》- 池建强 
5.  《世界上所有童话都是写给大人看的》- 陈谌 
6. 《小王子》- 圣埃克苏佩里 
7. 《不一样的成功启示录：异类》- 马尔科姆·格]]></description><category></category></item><item><title><![CDATA[Apache下root权限运行CGI]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/49914491</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/49914491</guid><author>leeyanhit</author><pubDate>Wed, 18 Nov 2015 23:01:48 +0800</pubDate><description><![CDATA[问题场景Apache默认是以daemon用户（或者其他other用户）和daemon用户组启动的，所以其worker进程也是daemon权限的，这样，worker进程fork的CGI进程，以及CGI再fork的子进程，都是daemon权限的。如果想在CGI或者CGI子进程中操作一些需要root权限的文件或者命令，就会报权限错误。 
Apache其实也可以通过root权限来启动，需要在编译时加入特定选]]></description><category></category></item><item><title><![CDATA[MySQL学习笔记：GTID]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/49852999</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/49852999</guid><author>leeyanhit</author><pubDate>Sun, 15 Nov 2015 21:50:14 +0800</pubDate><description><![CDATA[GTID简介
全局事务标识符（Global Transaction Identifiers，简称GTID），每个事务都有一个唯一的标识符
服务器按照事务提交的顺序，为每一个事务分配一个64位的非零数值，这个值为local类型，其他服务器可以给自己的事务分配相同的值
唯一性：加上服务器的UUID后，可变为全局唯一。例如：7a07cd08-ac1b-11e2-9fcf-0010184e9e08:1477]]></description><category></category></item><item><title><![CDATA[欢迎使用优快云-markdown编辑器]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/49825765</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/49825765</guid><author>leeyanhit</author><pubDate>Fri, 13 Nov 2015 23:42:27 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[静态map成员的一种替代方法]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/49817485</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/49817485</guid><author>leeyanhit</author><pubDate>Fri, 13 Nov 2015 14:20:24 +0800</pubDate><description><![CDATA[问题场景有一个task接口类，存在一个对task操作的op_proxy静态函数，task可能有多种不同类型的操作，现在要实现这个op_proxy，原型为：int op_proxy(const std::string &task_id, const std::string &op_type); if else之类的太“俗”了，想通过一种更为优雅的方式来实现，有什么方法？解决方法一般来说可以这么做，在t]]></description><category></category></item><item><title><![CDATA[C++类的占用空间]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/12839079</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/12839079</guid><author>leeyanhit</author><pubDate>Thu, 17 Oct 2013 18:17:08 +0800</pubDate><description><![CDATA[面（笔）试的时候经常碰到求C++类的占用空间的问题，尤其是包含了虚函数的单一继承和多重继承时类的占用空间，这里作一下简单的测试和说明。


一、空类的占用空间
    空类的占用空间为1个字节，《深度探索C++对象模型》是这样说的：“那是被编译器插进去的一个char ，使得这个class的不同实体（object）在内存中配置独一无二的地址”，也就是说空类的这个char是用来标识类的不同对象]]></description><category></category></item><item><title><![CDATA[APUE之文件访问权限总结]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/12166035</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/12166035</guid><author>leeyanhit</author><pubDate>Sun, 29 Sep 2013 16:21:27 +0800</pubDate><description><![CDATA[Linux系统下，Everything is a file，所有文件都有访问权限，而不单单是regular文件。每个文件的访问权限有9位，分成三类：用户权限位、组权限位、其他权限位，每一类有三个权限：读权限、写权限、执行权限。


一、普通(regular)文件的的访问权限
1、普通文件的读权限决定了能否打开该文件进行读操作，与open函数的O_RDONLY和O_RDWR标识相关；
2、]]></description><category></category></item><item><title><![CDATA[Google C++ 编程风格学习]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/11808773</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/11808773</guid><author>leeyanhit</author><pubDate>Wed, 18 Sep 2013 16:12:18 +0800</pubDate><description><![CDATA[《Google C++编程风格指南》出来有一段时间，最近才得以静下心来看，现记录一下在以后编码中值得注意的部分，对于一些已经普遍认可或约定成文的规则，就不再过多说明。
参考：《Google 开源项目风格指南》
一、头文件
1、尽量使用前置声明，避免头文件依赖的多米诺效应；
2、逻辑简单的短小函数可以使用内联函数来提高效率；
3、确定函数输入输出参数的顺序，并在项目中保持一致；
4、头文]]></description><category></category></item><item><title><![CDATA[C++的拷贝构造函数与赋值构造函数]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/9815537</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/9815537</guid><author>leeyanhit</author><pubDate>Wed, 07 Aug 2013 13:11:12 +0800</pubDate><description><![CDATA[参考：C++ 拷贝构造函数和赋值构造函数

一、简单说明
在C++中，如果我们定义一个空类，编译器会默认为我们自动生成以下四个函数：
1、默认构造函数  2、析构函数 3、拷贝构造函数
4、赋值构造函数。通常情况下，我们都会显式的定义默认构造函数和析构函数，但是，如果类的成员变量中存在指针变量，一般我们需要显式的定义拷贝构造函数和赋值构造函数，目的是为了避免浅拷贝造成的内存重复释放问题。]]></description><category></category></item><item><title><![CDATA[机器大小端判断]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/9566257</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/9566257</guid><author>leeyanhit</author><pubDate>Sun, 28 Jul 2013 14:18:19 +0800</pubDate><description><![CDATA[关于大小端的解释：这里，解释的挺清楚。
测试代码：
#include 

using namespace std;

int main()
{
    union MyUnion
    {
        char c[4];
        int s;
    } ;

    union MyUnion a;
    a.s = 0x90AB12CD;
    for(int i=0;]]></description><category></category></item><item><title><![CDATA[Just For Test!]]></title><link>https://blog.youkuaiyun.com/leeyanhit/article/details/8593773</link><guid>https://blog.youkuaiyun.com/leeyanhit/article/details/8593773</guid><author>leeyanhit</author><pubDate>Wed, 20 Feb 2013 11:22:19 +0800</pubDate><description><![CDATA[print 'Hello World!'This is just for test.]]></description><category></category></item></channel></rss>