<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[窗外阴天的博客]]></title><description><![CDATA[关注技术细节]]></description><link>https://blog.youkuaiyun.com/return_cc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; return_cc]]></copyright><item><title><![CDATA[升级https总结]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/88594935</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/88594935</guid><author>return_cc</author><pubDate>Sat, 16 Mar 2019 11:46:41 +0800</pubDate><description><![CDATA[实时流水升级https总结文章：
背景：
实时流水系统作为计费系统的相关联辅助系统，主要负责对实时交易流水的存储查询和推送业务或相关系统进行逻辑处理等。相关推送模块之前只支持http，作为外部通知模块，关键路径推送用户交易信息，需要更加安全可靠的机制保证信息传输的安全可靠，需要支持https。
升级方案：
curl+openssl+签名。一般curl库只支持http，需要openssl库配合cur...]]></description><category></category></item><item><title><![CDATA[C++的门道（一些C++的关键坑）]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/87868077</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/87868077</guid><author>return_cc</author><pubDate>Thu, 21 Feb 2019 20:38:02 +0800</pubDate><description><![CDATA[C++的门门道道
【导语】 C++是一门被广泛使用的系统级编程语言，更是高性能后端标准开发语言；C++虽功能强大，灵活巧妙，但却属于易学难精的专家型语言，不仅新手难以驾驭，就是老司机也容易掉进各种陷阱。 本文结合作者的工作经验和学习心得，对C++语言的一些高级特性，做了简单介绍；对一些常见的误解，做了解释澄清；对比较容易犯错的地方，做了归纳总结；希望借此能增进大家对C++语言了解，减少编程出错，提...]]></description><category></category></item><item><title><![CDATA[HTTP协议格式详解]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/84192115</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/84192115</guid><author>return_cc</author><pubDate>Sat, 17 Nov 2018 20:05:06 +0800</pubDate><description><![CDATA[一、URI结构
HTTP使用统一资源标识符（URI）来传输数据和建立连接。URL（统一资源定位符）是一种特殊种类的URI，包含了用于查找的资源的足够的信息，我们一般常用的就是URL，而一个完整的URL包含下面几部分：
http://www.fishbay.cn:80/mix/76.html?name=kelvin&amp;amp;password=123456#first
1.协议部分
该URL的协议部分...]]></description><category></category></item><item><title><![CDATA[OSI七层模型介绍]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/82808364</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/82808364</guid><author>return_cc</author><pubDate>Fri, 21 Sep 2018 23:13:31 +0800</pubDate><description><![CDATA[OSI参考模型
OSI是Open System Interconnection的缩写，意为开放式系统互联。国际标准化组织（ISO）制定了OSI模型，该模型定义了不同计算机互联的标准，是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层，分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
OSI起源1969年12月，美国国防部高级计划研究署的分组交换网ARPANE...]]></description><category></category></item><item><title><![CDATA[腾讯西安实习生招聘C++后台面经（已拿offer）]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/80372688</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/80372688</guid><author>return_cc</author><pubDate>Sat, 19 May 2018 11:18:37 +0800</pubDate><description><![CDATA[之前一篇面经提到过，腾讯的内推三面最终挂掉，很难受，幸运的是内推一面面试官推了我到别的部门，两面技术面一个hr面，已经收到offer。 
拿到offer后开心了一下放松了一下，本该早点发博客的，理解万岁，浑浑噩噩学了两周也没发技术博客，下来慢慢步入正轨，先来面经预热吧！

* 一面：* 
    扫码排队等待叫号，进入面试房间后，一面没有寒暄，自我介绍进入正题（自我介绍最后要落脚到技术的学习历程）...]]></description><category></category></item><item><title><![CDATA[腾讯内推三面经验分享]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79941666</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79941666</guid><author>return_cc</author><pubDate>Wed, 18 Apr 2018 17:58:13 +0800</pubDate><description><![CDATA[腾讯2019届C/C++实习生招聘，本人内推，到现在电话面试了三次（已经凉凉），写篇面试经验吧！

总体来说，面试所问的问题有前有深，还是比较注重基础知识和底层的东西的，包括网络，I/O，STL，数据结构等                    三次面试问题会有重复的，重复的我就不再列出来



一面


没有让自我介绍，大多电话面也不会很尴尬的让你介绍自己，都会选择问你的大学，学习生活开始慢慢进...]]></description><category></category></item><item><title><![CDATA[虚拟地址相关问题明了解释]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79941755</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79941755</guid><author>return_cc</author><pubDate>Sat, 14 Apr 2018 16:46:11 +0800</pubDate><description><![CDATA[早期的内存分配机制

在早期的计算机中，要运行一个程序，会把这些程序全都装入内存，程序都是直接运行在内存上的，也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时，必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。

那当程序同时运行多个程序时，操作系统是如何为这些程序分配内存的呢？下面通过实例来说明当时的内存分配方法：

某台计算机总的内存大小是128M，现...]]></description><category></category></item><item><title><![CDATA[STL中容器list的sort方法详解]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79604923</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79604923</guid><author>return_cc</author><pubDate>Sun, 18 Mar 2018 21:35:55 +0800</pubDate><description><![CDATA[**



List 不能使用STL提供的算法 sort() ， 必须使用自己定义的sort() member function，因为STL算法sort()只接受RamdonAccessIterator，它的实现代码如下，是一个quick sort；

**

list::sort的代码如下（sgi stl）：

template &amp;lt;class _Tp, class _Alloc&amp;gt;  ...]]></description><category></category></item><item><title><![CDATA[const]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79533304</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79533304</guid><author>return_cc</author><pubDate>Mon, 12 Mar 2018 21:29:40 +0800</pubDate><description><![CDATA[const修饰的数据类型是指常类型，常类型的变量或对象的值是不能被更新的。

const关键字的作用主要有以下几点：

（1）可以定义const常量，具有不可变性。 例如：  
const int Max=100; int Array[Max];  
（2）便于进行类型检查，使编译器对处理内容有更多了解，消除了一些隐患。例如： void f(const int i) { ………} 编译器就会知道i...]]></description><category></category></item><item><title><![CDATA[Linux定时任务Crontab命令详解]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79503404</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79503404</guid><author>return_cc</author><pubDate>Fri, 09 Mar 2018 21:40:13 +0800</pubDate><description><![CDATA[inux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作，因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务，所以， Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

一、crond简介

crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程，与windows...]]></description><category></category></item><item><title><![CDATA[Boost库的智能指针shared_ptr剖析]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79420484</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79420484</guid><author>return_cc</author><pubDate>Fri, 02 Mar 2018 10:35:07 +0800</pubDate><description><![CDATA[之前的博客对Boost库的智能指针诞生的原因它们的作用，VS 和 VC下auto_ptr的不足，还解析了vc下的auto_ptr,以及Boost库的scoped_ptr和scoped_array这两个兄弟智能指针，可以查看之前的博客，今天我们直接入手shared_ptr。 
 shared_ptr简介 
 shared.ptr 是一个最像指针的“智能指针”，是boost.smart.ptr 库中最...]]></description><category></category></item><item><title><![CDATA[Boost库中的智能指针scoped_ptr,scoped_array]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79417231</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79417231</guid><author>return_cc</author><pubDate>Thu, 01 Mar 2018 20:53:32 +0800</pubDate><description><![CDATA[一 . boost库中smart_ptr产生的原因，所发挥的作用

我们知道，为了更安全使用指针，不再让C/C++程序猿为了代码的内存管理而苦恼，VC和VS都带有智能指针auto_ptr供程序猿调用。如果还没了解建议先了解auto_ptr源代码，下面是之前对它的解析boke： 
 智能指针auto_ptr的解析

可无论是vc下的auto_ptr还是vs下的auto_ptr都存在设计上的缺陷，vs...]]></description><category></category></item><item><title><![CDATA[可变参函数对变参的取值工具（va_start，va_arg，va_end）]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79398204</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79398204</guid><author>return_cc</author><pubDate>Wed, 28 Feb 2018 11:22:15 +0800</pubDate><description><![CDATA[本文主要介绍va_start，va_arg，va_end的使用及原理。在以前的一篇帖子www.cnblogs.com/hanyonglu/archive/2011/04/19/2020738.html详解中曾使用到va_start和va_end这两个宏，但对它们也只是泛泛的了解。

　　介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理： 

1.在C中，当我们无法列出传递函数的所有实参的类...]]></description><category></category></item><item><title><![CDATA[不完全类型检测 “typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];”]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79393103</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79393103</guid><author>return_cc</author><pubDate>Tue, 27 Feb 2018 20:48:20 +0800</pubDate><description><![CDATA[最近在关注Boost库中智能指针的相关知识，剖析到下面的一段代码，在头文件checked_delete.hpp中的用于释放空间的类模板函 
checked_array_delete(T * x)；：

template&amp;lt;class T&amp;gt; inline void checked_array_delete(T * x)  
{  
    typedef char type_must_be...]]></description><category></category></item><item><title><![CDATA[智能指针auto_ptr的解析]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79372495</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79372495</guid><author>return_cc</author><pubDate>Sun, 25 Feb 2018 23:17:57 +0800</pubDate><description><![CDATA[智能指针（smart pointer）是一个c++中必须去探讨的一个重点知识，它代理了原有的“裸指针”的一些行为，并添加了很多特性。



auto_ptr是为了解决资源泄漏的问题提供的一个智能指针类模板（注意：这只是一种简单的智能指针且很不完善，不推荐使用） 
先用例子说明下



int main ()
{
    auto ptr&amp;lt; class_need_resource &amp;gt; p...]]></description><category></category></item><item><title><![CDATA[红黑树的删除操作分析（简单粗暴有道理）]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79243450</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79243450</guid><author>return_cc</author><pubDate>Fri, 02 Feb 2018 21:46:29 +0800</pubDate><description><![CDATA[看了很多材料，关于红黑树的删除，大概所有的总结都大同小异，今天先聊聊对红黑树删除的情况分析：

红黑树的删除操作 
1：节点命名约定

D表示要被删除的节点。即：取 Delete 的首字母；

P 表示父节点。即：取 Parent 的首字母；

S表示兄弟姐妹节点。即：取 Sibling的首字母；

U表示叔伯节点。即：取Uncle的首字母；

G表示祖父节点。即：取 Grandfather的首字]]></description><category></category></item><item><title><![CDATA[带你了解STL空间配置器运作方式]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/79190723</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/79190723</guid><author>return_cc</author><pubDate>Sun, 28 Jan 2018 23:24:14 +0800</pubDate><description><![CDATA[在STL运用中，空间配置器总是隐藏在一切组件（各种容器container）的后面，默默付出。所有STL操作的对象都是存放在容器中的，而容器所需要的空间的申请释放等，正是它在幕后的工作。1. 建立空间配置器的认知框架：空间配置器提供给使用者统一的接口（空间申请，构造对象，析构对象，释放空间） 
我们先通过自己简化的一个不很标准但却能以小见大的的简单空间配置器入手介绍：#ifndef _MEMORY_H]]></description><category></category></item><item><title><![CDATA[Libevent解析（二）从简单使用代码剖析建立对Libevent的认识主线]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/78947028</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/78947028</guid><author>return_cc</author><pubDate>Mon, 01 Jan 2018 20:12:19 +0800</pubDate><description><![CDATA[Libevent解析我的上篇博客从整体宏观流程，对它进行的简单易懂的一个解释，而本篇我想从一个Libevent实例入手，让大家能从整体上去把握软件逻辑和结构，代码如下：


#include
#include            //Libevent安装后提供的核心库函数
#include
using namespace std;


void signal_cb( int f]]></description><category></category></item><item><title><![CDATA[Libevent剖析（一）：建立对Libevent的宏观认知如何运作等]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/78906625</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/78906625</guid><author>return_cc</author><pubDate>Tue, 26 Dec 2017 21:19:28 +0800</pubDate><description><![CDATA[一）Libevent是什么：
我们应该都已经了解过linux服务器程序必须处理的三类事件：I/O事件，信号事件，定时事件。
而如何去编写程序统一处理这三类事件，同时保证可以移植到其他操作系统（因为不同的操作系统可能会具有不
同的I/O复用的方式，比如Solaris的dev/poll,linux的epoll，FreeBSD的Kqueue等），并支持并发编程，如何去
协同等等，如果每个服务器程]]></description><category></category></item><item><title><![CDATA[linux网络配置]]></title><link>https://blog.youkuaiyun.com/return_cc/article/details/78864832</link><guid>https://blog.youkuaiyun.com/return_cc/article/details/78864832</guid><author>return_cc</author><pubDate>Thu, 21 Dec 2017 16:01:29 +0800</pubDate><description><![CDATA[网络属于内核功能
地址属于内核（虽然配置在网卡上），但属于内核，从哪一个网卡传来的数据都可连接

以太网：命名eth X

DHCP动态主机配置协议服务
如果获得不到DHCP服务器则使用自动随即地址配置，但只可用本地通信



ifconfig:获得活动中网卡上的相关信息 IP地址 子网掩码 收发报文的统计等
-a 显示所有接口的配置信息 （非活动状态）
[ethX]则显示]]></description><category></category></item></channel></rss>