<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wentianyao的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wentianyao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wentianyao]]></copyright><item><title><![CDATA[gcc详解]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/76238367</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/76238367</guid><author>wentianyao</author><pubDate>Fri, 28 Jul 2017 11:14:53 +0800</pubDate><description><![CDATA[一、GCC



　　GNU编译器套件（GNU Compiler Collection）包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端，也包括了这些语言的库（如libstdc++、libgcj等等）。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处，“自由”的含义是它尊重用户的自由。[1] 




]]></description><category></category></item><item><title><![CDATA[python(2):使用python分析大日志文件思路及过程]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/71514448</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/71514448</guid><author>wentianyao</author><pubDate>Wed, 10 May 2017 10:32:25 +0800</pubDate><description><![CDATA[1.做服务器开发的经常会遇到要分析大量的日志，统计大量数据；这里介绍几种统计日志数据的方法和思路
之前有遇到过要统计几天内的url出现次数的事情，一天有24个gz压缩文件，每个文件大概6G左右，URL的不重复率也很高
使用方法:
1.用shell 解压然后在统计，shell脚本写起来麻烦，统计那一块很多人也不是很熟悉(不也不咋熟悉)，sort又很慢，用下面的方法进行md5转换就更慢了
 w]]></description><category></category></item><item><title><![CDATA[数据库(3):MySQL优化GROUP BY－松散索引扫描与紧凑索引扫描]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52987959</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52987959</guid><author>wentianyao</author><pubDate>Mon, 31 Oct 2016 22:30:50 +0800</pubDate><description><![CDATA[满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表，表中每个组的所有行应为连续的，然后使用该临时表来找到组并应用累积函数(如果有)。在某些情况中，MySQL能够做得更好，即通过索引访问而不用创建临时表。

       为GROUP BY使用索引的最重要的前提条件是所有GROUP BY列引用同一索引的属性，并且索引按顺序保存其关键字。是否用索引访问来代替临时表的使用还取决于]]></description><category></category></item><item><title><![CDATA[分布式(2):CentOS+nginx+uwsgi+Python 多站点环境搭建]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52849208</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52849208</guid><author>wentianyao</author><pubDate>Tue, 18 Oct 2016 15:17:24 +0800</pubDate><description><![CDATA[感谢xiongpq 的分享 http://www.cnblogs.com/xiongpq/p/3381069.html

CentOS+nginx+uwsgi+Python 多站点环境搭建




环境：
CentOS X64 6.4
nginx 1.5.6
Python 2.7.5
正文：

一：安装需要的类库及Python2.7.5
安装必要的开发包
yum gr]]></description><category></category></item><item><title><![CDATA[分布式(1):nginx+spawn-fcgi+fchi + c++ 环境搭建]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52847772</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52847772</guid><author>wentianyao</author><pubDate>Tue, 18 Oct 2016 15:10:37 +0800</pubDate><description><![CDATA[安装环境: Ubuntu Kylin 16.4 64位中文版  内核4.4.0
内存: 2G
1.安装: nignx
sudo apt-get install nignx
自动安装版本: nginx version: nginx/1.10.0 (Ubuntu)
安装之后ps -aux |grep nginx 看到一个master两个worker
 nginx软件安装后相关文件位置]]></description><category></category></item><item><title><![CDATA[linux(基础):ubuntu 下用户丢失sudo权限找回]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52847544</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52847544</guid><author>wentianyao</author><pubDate>Tue, 18 Oct 2016 11:54:37 +0800</pubDate><description><![CDATA[1. 使用virtual vox加载外部共享文件之后，需要挂载vboxsf，
   使用virtualbox的"设备"->“安装增强功能”之后运行目录下的VBoxLinuxAdditions.run之后只是挂载到medal下，使用sudo mount -t vboxsf workspace /mnt/share
   提示需要加分组权限，使用usermod -G vboxusers xxxx ]]></description><category></category></item><item><title><![CDATA[python(1):相关库的安装]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52843793</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52843793</guid><author>wentianyao</author><pubDate>Mon, 17 Oct 2016 23:39:09 +0800</pubDate><description><![CDATA[Tkinter模块("Tk 接口")是Python的标准Tk
 GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中


sudo apt-get install Python-tk 

sudo apt-get install pytho]]></description><category></category></item><item><title><![CDATA[数据库(2):sql语句例子]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52539405</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52539405</guid><author>wentianyao</author><pubDate>Wed, 14 Sep 2016 16:37:26 +0800</pubDate><description><![CDATA[参考文案： http://www.w3school.com.cn/sql/sql_create_index.asp
--------------------------------------------------------------------------------------------------------------
1． 数据库登陆
-------------------]]></description><category></category></item><item><title><![CDATA[c++转码基础(4):jsoncpp相关问题]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52475134</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52475134</guid><author>wentianyao</author><pubDate>Thu, 08 Sep 2016 21:29:58 +0800</pubDate><description><![CDATA[最近在使用的jsoncpp的时候遇到一些问题:
1. json默认的转码内容是utf-8，转出的格式也是utf-8形式，不是unicode编码形式
2.json在序列化的时候遇到0x01~0x1F的控制字符(不可见字符)的时候会生成类似\uxxxx的unicode编码形式的字符，这个字符在有些地方会遇到一些问题(如手机web方向,手机的一些库会先解析\u,所以到web层面再解析的时候jsJSO]]></description><category></category></item><item><title><![CDATA[c++转码基础(3):vs中fstream不支持打开中文的问题]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52475063</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52475063</guid><author>wentianyao</author><pubDate>Thu, 08 Sep 2016 21:07:06 +0800</pubDate><description><![CDATA[VS2005的fstream对于中文路径支持不好的bug。我想大概是因为VS2005更加重视了对字符串的全球化支持，所以鼓励我们使用unicode编码的字符串，对于MBCS之类的支持可能就疏忽了吧。

   我搜索了一下这个问题的解决，参考了如下资料写了演示代码。

fstream 和 中文路径  c++博客
About unicode settings in visual studio]]></description><category></category></item><item><title><![CDATA[c++转码基础(2):gbk编码文件转换成无bom的utf-8文件实例]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52474959</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52474959</guid><author>wentianyao</author><pubDate>Thu, 08 Sep 2016 20:52:42 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
using namespace std;
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
 }
 
// 获取ANSI的编码数据数量
unsigned int countGBK(const char *]]></description><category></category></item><item><title><![CDATA[c++转码基础(1):各种编码类型及unicode和uft-8互转]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52474936</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52474936</guid><author>wentianyao</author><pubDate>Thu, 08 Sep 2016 20:50:36 +0800</pubDate><description><![CDATA[什么是Ascii编码?
单字节编码,适用于所有拉丁文字字母.
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符.
标准ASCII 码也叫基础ASCII码，使用7 位二进制数（剩下的1位二进制为0）来表示所有的大写和小写字母，数字0 到9、标点符号， 以及在美式英语中使用的特殊控制字符。其中：
0～31及127(共33个)是控制字符或通信专用字符（其余为]]></description><category></category></item><item><title><![CDATA[网络(4):socket中用户自定义缓冲区的原因及方式]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52420693</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52420693</guid><author>wentianyao</author><pubDate>Sat, 03 Sep 2016 00:54:04 +0800</pubDate><description><![CDATA[我们在使用TCP/IP编程的时候除了socket有收发数据缓冲区之外，通常我们还要自己定一个数据的收发缓冲区：
1,为什么系统已经有收发缓冲区了，我们还要自定义收发缓冲区呢？
     a.假设应用程序需要发送40kB数据,但是操作系统的TCP发送缓冲区只有25kB剩余空间,那么剩下的15kB数据怎么办?如果等待OS缓冲区可用,会阻塞当前线程,因为不知道对方什么时候收到并读取数据。因此网络库应]]></description><category></category></item><item><title><![CDATA[网络(3):epoll详解及注意事项]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52420242</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52420242</guid><author>wentianyao</author><pubDate>Fri, 02 Sep 2016 23:33:22 +0800</pubDate><description><![CDATA[Epoll 在Linux2.6内核中正式引入，和select相似，其实都I/O多路复用技术而已
其实在Linux下设计并发网络程序，向来不缺少方法，比如典型的Apache模型（Process Per Connection，简称PPC），TPC（Thread PerConnection）模型，以及select模型和poll模型
 
2. 常用模型的缺点
2.1 PPC/TPC模型
   这]]></description><category></category></item><item><title><![CDATA[网络(2):网络配置&socket编程相关的函数选项及异常处理]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52416650</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52416650</guid><author>wentianyao</author><pubDate>Fri, 02 Sep 2016 20:22:33 +0800</pubDate><description><![CDATA[一．网络编程配置:
修改UDP接收发送缓冲区大小：
1、修订单个socket的缓冲区大小：通过setsockopt使用SO_RCVBUF来设置接收缓冲区，该参数在设置的时候不会与rmem_max进行对比校验，但是如果设置的大小超过rmem_max的话，则超过rmem_max的部分不会生效；
发包缓冲区与收包缓冲区一样，只不过参数名称不一样：SO_SNDBUF、wmem_max。
2、修订l]]></description><category></category></item><item><title><![CDATA[网络(1): IP,TCP,UDP相关概念综述及关系整理]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52331619</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52331619</guid><author>wentianyao</author><pubDate>Fri, 26 Aug 2016 20:59:03 +0800</pubDate><description><![CDATA[1.网络层次分为5层(7层):物理层, 数据链路层, 网络层, 传输层, 应用层 (表示层, 会话层, 应用层) 各层主要协议包括:
  ARP  地址解析协议 用于ip查找，转换IP层和网络接口层使用的地址
  RARP 逆地址解析协议 和rarp功能一样，只是用于无磁盘引导

  IP   网际协议
  ICMP internet互联网控制报文协议  Ping和Traceroute用]]></description><category></category></item><item><title><![CDATA[线程同步(8):linux和Windows各种锁实现案例]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/52129995</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/52129995</guid><author>wentianyao</author><pubDate>Fri, 05 Aug 2016 16:02:09 +0800</pubDate><description><![CDATA[该文件中包含windows和linux中各种锁的实现方式(分开编译)，部分是经过验证的，注释详细；需要源码可以@我
/*====================================
* file: ws_thread_mutex.h 文件
* anchor: wensheng
* date: 2016-04-04
* info: 线程锁对象
* log: 1. 2016-0]]></description><category></category></item><item><title><![CDATA[C++协程(2):使用ucontext实现Linux下的协程池]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/51445961</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/51445961</guid><author>wentianyao</author><pubDate>Wed, 18 May 2016 17:52:35 +0800</pubDate><description><![CDATA[/*====================================
* file: ws_thread_proto.h 文件
* anchor: wensheng
* date: 2016-05-16
* info: 协程
* log: 1. 2016-05-16 wensheng create
======================================*/]]></description><category></category></item><item><title><![CDATA[C++协程(1):协程原理及实现方式概述]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/51445940</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/51445940</guid><author>wentianyao</author><pubDate>Wed, 18 May 2016 17:48:55 +0800</pubDate><description><![CDATA[1.干货写在前面
协程是一种用户态的轻量级线程。本篇主要研究协程的C/C++的实现。
首先我们可以看看有哪些语言已经具备协程语义：
· 比较重量级的有C#、erlang、golang*
· 轻量级有python、lua、javascript、ruby
· 还有函数式的scala、scheme等。
c/c++不直接支持协程语义，但有不少开源的协程库，如：
Protothreads：一个]]></description><category></category></item><item><title><![CDATA[线程同步(7):linux和Windows线程池的实现-案例]]></title><link>https://blog.youkuaiyun.com/wentianyao/article/details/51419964</link><guid>https://blog.youkuaiyun.com/wentianyao/article/details/51419964</guid><author>wentianyao</author><pubDate>Sun, 15 May 2016 22:56:52 +0800</pubDate><description><![CDATA[用了几天时间写了一个通用线程池，适用于linux和Windows，测试可用：
网上有类似，大概异曲同工吧~
下面源码部分为池部分，还有线程部分，锁部分，log部分需要的可以@我


贴代码：
/*====================================
* file: ws_thread_pool.h 文件
* anchor: wensheng
* date: 2]]></description><category></category></item></channel></rss>