<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[学习，思考，记录]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/deerleaper</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; deerleaper]]></copyright><item><title><![CDATA[linux-mysql-store-result]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50441911</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50441911</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 15:27:58 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

int main(int argc, char *argv[]){

	MYSQL my_connection;
	MYSQL_RES * res_ptr;
	MYSQL_ROW sqlrow;
	int ret = -1;
	const char* host = "localhost";
	const char* user = "ro]]></description><category></category></item><item><title><![CDATA[linux-mysql-use-result]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50441520</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50441520</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 14:38:10 +0800</pubDate><description><![CDATA[//simple_mysql_insert2.c

#include 
#include 
#include 

int main(int argc, char *argv[]){

	MYSQL my_connection;
	MYSQL_RES * res_ptr;
	MYSQL_ROW sqlrow;
	int ret = -1;
	const char* host = "localho]]></description><category></category></item><item><title><![CDATA[linux-mysql-insert1]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50441210</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50441210</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 13:52:29 +0800</pubDate><description><![CDATA[//simple_mysql_insert.c 
#include 
#include 
#include 


int main(int argc, char *argv[]){

	MYSQL my_connection;
	mysql_init(&my_connection);

	const char* host = "localhost";
	const char* user = "r]]></description><category></category></item><item><title><![CDATA[linux-mysql 连接2]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50440288</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50440288</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 11:01:51 +0800</pubDate><description><![CDATA[//simple_mysql_connect2.c 

#include 
#include 

#include 


int main(int argc, char *argv[]){

	MYSQL connection;
	mysql_init(&connection);

	const char* host = "localhost";
	const char* user = "ro]]></description><category></category></item><item><title><![CDATA[linux-mysql 连接1]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50440090</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50440090</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 10:36:00 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

int main(int argc, char *argv[]){

	MYSQL* conn_ptr;
	conn_ptr = mysql_init(NULL);

	if(!conn_ptr){
		fprintf(stderr, "mysql init failed");
		return EXIT_FAILURE;
	}

	c]]></description><category></category></item><item><title><![CDATA[文件系统写操作]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50439914</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50439914</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 10:14:13 +0800</pubDate><description><![CDATA[#include 
#include 
#include 


#define  STD_FILE_INPUT		0
#define  STD_FILE_OUTPUT	1
#define  STD_FILE_ERROR		2

int main(int argc, char* argv[]){

	char data[]  = "Here is a data\n";
	int count = si]]></description><category></category></item><item><title><![CDATA[文件系统读操作read]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50439909</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50439909</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 10:13:19 +0800</pubDate><description><![CDATA[#include 
#include 
#include 


#define  STD_FILE_INPUT		0
#define  STD_FILE_OUTPUT	1
#define  STD_FILE_ERROR		2

int main(int argc, char* argv[]){

	char data[256] = {0};

	int nread = read(STD_FILE_]]></description><category></category></item><item><title><![CDATA[访问文件目录dir]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50439893</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50439893</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 10:11:19 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 

void printdir(char* dir, int depth){
	DIR *dp;
	struct dirent *dir_entry;
	struct stat stat_buf;

	if((dp=opendir(dir))==NULL){
		fprintf(s]]></description><category></category></item><item><title><![CDATA[访问文件信息 fstat和stat用法]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50439887</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50439887</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 10:09:59 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 


int main(int argc, char* argv[]){

	//fd -  fstat
	int fd = open("./draft1.txt", O_WRONLY);
	struct stat s1;
	fstat(fd, &s1);
	printf("s1.]]></description><category></category></item><item><title><![CDATA[利用read/write系统调用复制文件]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50439874</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50439874</guid><author>deerleaper</author><pubDate>Thu, 31 Dec 2015 10:08:20 +0800</pubDate><description><![CDATA[//copy_system.c

 //NOTE: unistd.h header file should be included at first
// for other header files  would depend on it
#include 
#include 
#include 
#include 
#include 

//for files
#include 
#inc]]></description><category></category></item><item><title><![CDATA[自定义syslog保存文件]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50423908</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50423908</guid><author>deerleaper</author><pubDate>Tue, 29 Dec 2015 09:34:01 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char* argv[])
{
/*
openlog("testsyslog", LOG_CONS | LOG_PID, 0); 
syslog(LOG_USER | LOG_INFO, "2.s]]></description><category></category></item><item><title><![CDATA[setjmp用法]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/50423692</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/50423692</guid><author>deerleaper</author><pubDate>Tue, 29 Dec 2015 08:25:02 +0800</pubDate><description><![CDATA[#pragma once

#include 
#include 

using namespace std;

class rain_bow{
public:
	rain_bow() { cout << " rain_bow()" << endl;}
	~rain_bow() { cout <<"~rain_bow()" << endl;}
};

jmp_buf kansas;
int val]]></description><category></category></item><item><title><![CDATA[值得推荐的C/C++框架和库]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/47783143</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/47783143</guid><author>deerleaper</author><pubDate>Wed, 19 Aug 2015 16:53:05 +0800</pubDate><description><![CDATA[【本文系外部转贴，原文地址：http://coolshell.info/c/c++/2014/12/13/c-open-project.htm】留作存档
下次造轮子前先看看现有的轮子吧
值得学习的C语言开源项目
- 1. Webbench 

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL，测试网站在压力下工作的]]></description><category></category></item><item><title><![CDATA[网络基本功（十九）：细说NAT原理与配置]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967505</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967505</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:32:17 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese


介绍


 
NAT技术让少数公有IP地址被使用私有地址的大量主机所共享。这一机制允许远多于IP地址空间所支持的主机共享网络。同时，由于NAT屏蔽了内部网络，也为局域网内的机器提供了安全保障。


NAT的基本实施过程包括使用一个预留给本地IP网络的私有地址]]></description><category></category></item><item><title><![CDATA[网络基本功（十八）：细说tcpdump的妙用（下）]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967495</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967495</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:31:34 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese


更多信息


 
（承接上文）
 
过滤:
 
要有效地使用tcpdump，掌握过滤器非常必要的。过滤允许用户指定想要抓取的数据流，从而用户可以专注于感兴趣的数据。此外，ethereal这样的工具使用tcpdump过滤语法来抓取数据流。
如果用户很清楚对]]></description><category></category></item><item><title><![CDATA[网络基本功（十七）：细说tcpdump的妙用（上）]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967481</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967481</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:30:40 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese
 

介绍

 
tcpdump命令最初设计用于观察TCP/IP性能问题，它是一个用于截取网络分组，并输出分组内容的工具。tcpdump可以将网络中传送的数据包的报文头完全截获下来提供分析，它支持针对网络层、协议、主机、网络或端口的过滤，并提供and, or, not等]]></description><category></category></item><item><title><![CDATA[网络基本功（十六）：细说网络性能监测与实例（下）]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967475</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967475</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:29:56 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese


介绍


 
网络问题中，性能问题是最复杂的问题之一，解决这样的问题能够透彻的了解整个网络的结构。但通过合适的吞吐量和数据流测试工具，能够帮你快速找到问题所在。本文承接上文，阐述netperf和netstat的用法。



更多信息

 
吞吐量测量]]></description><category></category></item><item><title><![CDATA[网络基本功（十五）：细说网络性能监测与实例（上）]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967461</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967461</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:29:23 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese


介绍


 
网络路径性能检测主要包括三方面的内容：带宽测量能够获知网络的硬件特性，如网络的最大容量，吞吐量测量能够获得网络实际可提供的最大容量，数据流测量能够了解真实占用的网络容量。
本文介绍在评估网络性能是否合理时，需要收集的数据及收集方式。涉及工具包括：p]]></description><category></category></item><item><title><![CDATA[网络基本功（十四）：细说诊断工具ping]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967445</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967445</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:28:57 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese


介绍


 
ping的工作原理很简单，一台网络设备发送请求等待另一网络设备的回复，并记录下发送时间。接收到回复之后，就可以计算报文传输时间了。只要接收到回复就表示连接是正常的。耗费的时间喻示了路径长度。重复请求响应的一致性也表明了连接质量的可靠性。因此，ping]]></description><category></category></item><item><title><![CDATA[网络基本功（十三）：细说Linux网络配置（下）]]></title><link>https://blog.youkuaiyun.com/deerleaper/article/details/43967431</link><guid>https://blog.youkuaiyun.com/deerleaper/article/details/43967431</guid><author>deerleaper</author><pubDate>Fri, 27 Feb 2015 14:27:59 +0800</pubDate><description><![CDATA[转载请在文首保留原文出处：EMC中文支持论坛https://community.emc.com/go/chinese


介绍


 
本文承接细说Linux网络配置（上） 。



更多信息

 
Linux网络硬件选项:
 
ethtool命令查询并设置网络接口关于媒体相关的参数。如：链路速度和双工。它代替了以前的mii-tool命令，但有些系统中两者并存。
]]></description><category></category></item></channel></rss>