<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[anonymalias的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/anonymalias</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; anonymalias]]></copyright><item><title><![CDATA[SWIG之为C/C++的API生成Python调用接口基础]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/78731835</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/78731835</guid><author>anonymalias</author><pubDate>Wed, 06 Dec 2017 16:11:58 +0800</pubDate><description><![CDATA[现在游戏业务的cache基本都是接入公司服务TCA，以前业务自己拥有cache的时候我们可以很方便去通过脚本去访问玩家的数据，所以最近想能不能对公司服务TCA生成Python的访问接口，由于公司服务TCA只提供了C++ API屏蔽了底层的协议数据细节，不太好直接写Python访问接口，偶然间接触到了SWIG，差不多花了一周时间，通过官方手册完成了SWIG对公司服务TCA Python 接口的封装。这]]></description><category></category></item><item><title><![CDATA[TCP连接的建立和关闭详解]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/69488863</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/69488863</guid><author>anonymalias</author><pubDate>Fri, 07 Apr 2017 10:29:18 +0800</pubDate><description><![CDATA[本文梳理了TCP连接的建立和关闭的一些细节，以及TCP连接的各种特殊状态的说明]]></description><category></category></item><item><title><![CDATA[Linux内核时钟系统和定时器实现]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/52022787</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/52022787</guid><author>anonymalias</author><pubDate>Mon, 25 Jul 2016 13:27:30 +0800</pubDate><description><![CDATA[1. Linux内核时钟系统和定时器实现Linux 2.6.16之前，内核只支持低精度时钟，内核定时器的工作方式：
系统启动后，会读取时钟源设备(RTC, HPET，PIT…),初始化当前系统时间；
内核会根据HZ(系统定时器频率，节拍率)参数值，设置时钟事件设备，启动tick(节拍)中断。HZ表示1秒种产生多少个时钟硬件中断，tick就表示连续两个中断的间隔时间。在我电脑上，HZ=250， 一个t]]></description><category></category></item><item><title><![CDATA[进程中的地址是从何而来]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/51784803</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/51784803</guid><author>anonymalias</author><pubDate>Thu, 30 Jun 2016 09:56:23 +0800</pubDate><description><![CDATA[写了这么多年代码，地址这个东西每天都会使用，那么今天总结一下地址这个东西的由来。 
本文参考了参考了《程序员的自我修养》一书. 
先看看下面代码：#include <iostream>
#include <cstdint>void fun()
{
    std::cout<<"this a fun() "<<std::endl;
}uint32_t a = 1;int main()
{
    u]]></description><category></category></item><item><title><![CDATA[nginx conf文件结构介绍以及相关配置]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/50950910</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/50950910</guid><author>anonymalias</author><pubDate>Mon, 21 Mar 2016 22:29:21 +0800</pubDate><description><![CDATA[本文简单介绍nginx conf文件的结构，已经如何进行配置：
如何配置nginx提供静态内容，
如何配置nginx作为代理服务器，
如何配置转发请求到FastCGI服务
Nginx进程模型：1个主进程，n个工作进程，主进程负责配置和工作进程的管理，实际的请求由工作进程进行处理。Nginx是基于事件驱动和多路复用的工作模型。1. nginx启停nginx的启动可以直接执行nginx的bin文件， 当]]></description><category></category></item><item><title><![CDATA[通过Hexo在GitHub搭站全记录]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/50528946</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/50528946</guid><author>anonymalias</author><pubDate>Sat, 16 Jan 2016 17:21:46 +0800</pubDate><description><![CDATA[GitHub本身支持建站:只需在自己的repos下建立一个名为：username.github.io的repo，然后在该repo下发布静态站点文件可以了。 
下面是详细的在linux下建站流程：1.Hexo的安装Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown（或其他渲染引擎）解析文章，在几秒内，即可利用靓丽的主题生成静态网页。 
Hexo的安装依赖：
Nodejs
Gi]]></description><category></category></item><item><title><![CDATA[github项目开发协作流程图]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/50504840</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/50504840</guid><author>anonymalias</author><pubDate>Tue, 12 Jan 2016 16:05:30 +0800</pubDate><description><![CDATA[下面是一张简单的github项目协作开发的流程图，关键有几个概念：
Fork + Pull模式，有一片文章不错：外站链接。
远程仓库
流程描述如下： 
 1. 在github主站上fork出自己要参与的项目到自己github上，这里grpc/grpc为例 
 2. git clone自己github上的anonymalias/grpc. 
 3. 在clone下来的orgin仓库进行开发(也可以自己]]></description><category></category></item><item><title><![CDATA[Boost:managed_mapped_file及C++内存分配和对象构造分析]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/50496563</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/50496563</guid><author>anonymalias</author><pubDate>Mon, 11 Jan 2016 14:35:02 +0800</pubDate><description><![CDATA[Boost的提供了一套ipc的接口，内存映射文件将文件的内容映射到进程的地址空间。#include <boost/interprocess/file_mapping.hpp>原生的file_mapping接口提供了创建一个内存映射文件，然后通过mapped_region进行进程地址空间的映射，获取映射到进程空间的地址，并在此地址进行对象的构造和操作。由于直接在映射的地址进行复杂数据结构的构造很复杂的]]></description><category></category></item><item><title><![CDATA[Linux login & non-login shell 以及su， sudo相关概念]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/41913207</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/41913207</guid><author>anonymalias</author><pubDate>Sat, 13 Dec 2014 23:34:04 +0800</pubDate><description><![CDATA[1.login & non-login shell

Linux系统自举时，内核会创建init进程，来进行一系列的系统初始化操作。每一个用户登录shell时，无论以伪终端登录：ssh，X11下控制台，还是tty控制台终端，都会读取相关相关的登录配置文件。linux 有两种登录shell：login和nologin：

login shell：登录shell时需要完整登录，称为 login]]></description><category></category></item><item><title><![CDATA[SecureCRT的logon action登录跳转设置]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/41897969</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/41897969</guid><author>anonymalias</author><pubDate>Fri, 12 Dec 2014 20:16:40 +0800</pubDate><description><![CDATA[在公司干活，大家都要经常通过跳板机跳到外网的服务器上，如果每次都要先登录跳板机，然后再ssh到外网的服务器，的确有点坑，特别是在服务器数量较多的情况下，之前就用过securecrt的logon actions设置，但这次无论怎么样都无法直接调到外网的机器，原来对logon actions的跳转原理还是不清晰。首先讲如下进行跳转把：

点击logon actions菜单，选中Automate l]]></description><category></category></item><item><title><![CDATA[samba服务器安装和配置]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/41776949</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/41776949</guid><author>anonymalias</author><pubDate>Fri, 12 Dec 2014 14:48:50 +0800</pubDate><description><![CDATA[作为后台开发人员，在代码开发过程中，我们开发流程一般是本地开发->同步到服务器编译->svn提交。如何在团队开发中高效处理这些步骤是个很基本的问题。通常我们的本地环境大多是Windows，通过ssh客户端远程连接到服务器，一般由于后台代码的庞大，我们的都会有自己的编译环境，如何在开发过程中及时的将代码编译，更新到版本库有很多种方法，例如有sshclient，securecrt都可以支持ftp协议进]]></description><category></category></item><item><title><![CDATA[protobuf入门]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/41329743</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/41329743</guid><author>anonymalias</author><pubDate>Mon, 24 Nov 2014 00:53:23 +0800</pubDate><description><![CDATA[protobuf全称Protocol Buffers，是google推出的一种高效，快捷的数据交换格式，和XML，Thrift一样，都是一种数据交换协议（当然thrift还提供rpc的功能）。protobuf相对与xml结构化的文本数据格式，它是一种二进制的数据格式，具有更高的传输，打包和解包效率，这也是为什么protobuf很受欢迎的原因。

protobuf通过自己的编译器，对协议文件进行]]></description><category></category></item><item><title><![CDATA[C++静态初始化的顺序]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/38473985</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/38473985</guid><author>anonymalias</author><pubDate>Sun, 10 Aug 2014 21:23:27 +0800</pubDate><description><![CDATA[这两天项目代码中遇到一个很疑惑的问题，问题可以描述为：一个静态成员初始化的时候直接core掉，该静态成员初始化时通过另外一个文件中静态成员来完成。该问题同样发生在全局对象上。该问题可以描述为今天要讨论的：变量的静态初始化顺序。
具体可以用代码简述如下：
//test1.cpp
#include 
std：：string a = "test";
 
//test2.cpp
#inclu]]></description><category></category></item><item><title><![CDATA[版本控制之svn和git简述]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/35599509</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/35599509</guid><author>anonymalias</author><pubDate>Sat, 28 Jun 2014 21:56:53 +0800</pubDate><description><![CDATA[参考：


Pro gitSvn book 1.6TortoiseSVN-1.8.7-zh_CN
在一个团队的工作中，掌握版本控制系统的使用是对每一个工程师最基本的要求，作为刚入职的菜鸟我来说，更是需要快速掌握的，下面就简单记录一下svn以及git版本控制的基础知识。
1. 版本控制的概念                                                  ]]></description><category></category></item><item><title><![CDATA[C++标准I/O库：iostream, fstream, sstringstream]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/27714359</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/27714359</guid><author>anonymalias</author><pubDate>Mon, 09 Jun 2014 21:29:47 +0800</pubDate><description><![CDATA[在写代码的过程中，我们最常做的事就是io，无论]]></description><category></category></item><item><title><![CDATA[Thrift的安装和简单示例]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/26154405</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/26154405</guid><author>anonymalias</author><pubDate>Mon, 19 May 2014 02:09:24 +0800</pubDate><description><![CDATA[本文只是简单的讲解Thrift开源框架的安装和简单使用示例，对于详细的讲解，后面在进行阐述。
Thrift简述                                                                       


Thrift是一款由Fackbook开发的可伸缩、跨语言的服务开发框架，该框架已经开源并且加入的Apache项目。Thrift主要功能]]></description><category></category></item><item><title><![CDATA[Code::Blocks之It seems that this file has not been built yet.]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/21016721</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/21016721</guid><author>anonymalias</author><pubDate>Tue, 11 Mar 2014 16:45:31 +0800</pubDate><description><![CDATA[这两天在学习Objective-C，在Windows下面通过GNUstep和Code::Blocks的结合来进行代码的编辑和测试。关于GNUstep和Code::Blocks的环境的配置网上有很多教程，这里就不说了，配置好之后通过Code::Blocks进行工程的创建，然后测试第一个Hello World程序，没有任何问题，具体流程如下：
File--->New--->Project--->Co]]></description><category></category></item><item><title><![CDATA[Linux下将整数格式化成二进制表示的字符串]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/17060101</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/17060101</guid><author>anonymalias</author><pubDate>Sun, 01 Dec 2013 21:46:28 +0800</pubDate><description><![CDATA[数据的格式化输出是我们在编程过程中经常要做的事情，我们最常用的莫过于sprintf函数。当然还有sprintf衍生出来的一些函数，譬如安全的snprintf。还有一个需要提到的就是不属于C标准的itoa函数。

int sprintf ( char * str, const char * format, ... );
			//成功返回写入str的字符个数，不包含结尾符，出错则返回负数

]]></description><category></category></item><item><title><![CDATA[Linux和Windows下文件和目录的相关属性及操作]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/17041595</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/17041595</guid><author>anonymalias</author><pubDate>Sat, 30 Nov 2013 17:52:35 +0800</pubDate><description><![CDATA[我们知道C/C++都提供了标准的文件I/O库以便我们对文件进行读写。但我们无法通过标准的I/O库对文件系统进行更进一步的操作。因为这设计到具体操作系统中文件系统的设计。在Linux和Windows程序库下面都有一个sys目录，里面包含系统相关的头文件，如下：
Windows下：
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\sy]]></description><category></category></item><item><title><![CDATA[面试算法之排序算法集锦]]></title><link>https://blog.youkuaiyun.com/anonymalias/article/details/11547039</link><guid>https://blog.youkuaiyun.com/anonymalias/article/details/11547039</guid><author>anonymalias</author><pubDate>Wed, 11 Sep 2013 03:04:03 +0800</pubDate><description><![CDATA[排序算法在面试过程中是经常会考的，这是很基础的，面试官觉得你应该很熟悉这些东西，如果你半个小时内写不出来，那基本就给跪了，因为这真的是狠基础狠基础的东西，所以我们得对一些基本的排序算法烂熟于胸，对这些排序思想，效率了如指掌，才能让面试官觉得你还行。基本的排序算法有：直接插入排序，冒泡排序，简单选择排序，shell排序，归并排序，快速排序，堆排序。其中归并，快速，堆排序是面试时候比较喜欢考的，因为这]]></description><category></category></item></channel></rss>