12 华秋实

尚未进行身份认证

暂无相关简介

等级
TA的排名 2k+

【cpp-taskflow】源码分析

一、简介cpp-taskflow 源码:https://github.com/cpp-taskflow/cpp-taskflow(后面简称taskflow)taskflow一个写的比较好的基于task有向无环图(DAG)的并行调度的框架,之所以说写的比较好,个人觉得有几点原因:1.是一个兼具学术研究和工业使用的项目,并非一个玩具2.现代C++开发,风格简洁(源码要求编译器支持C++1...

2020-02-07 01:07:08

【整理】Flex使用方法

背景知识Flex 和 Bison 是两个在编译前期最常实验的工具,分别是用来做 lexical analyse 和 semantic analyse 的,这两个工具的使用基本不需要很深的编译知识,只需要掌握正则表达式的书写(lexical analyse阶段使用)和上下文无关文法(semantic analyse 阶段使用),就可以完成这两个阶段的分析了。Flex大体介绍Flex 主要是用在...

2019-12-19 11:14:44

断路器模式

作者: Martin Fowler译者: java达人来源: https://martinfowler.com/bliki/CircuitBreaker.html软件系统对运行在不同进程或者网路中不同的机器的软件进行远程调用是很常见的。内存中调用和远程调用之间的一个主要区别是,远程调用可能会失败,或者在达到某个超时限制之前挂起而没有响应。更糟糕的是,如果一个响应延迟的服务提供方上有许多...

2019-12-17 00:36:51

Circuit Breaker模式

Circuit Breaker模式会处理一些需要一定时间来重连远程服务和远端资源的错误。该模式可以提高一个应用的稳定性和弹性。问题在类似于云的分布式环境中,当一个应用需要执行一些访问远程资源或者是远端服务的时候,是很容易碰到一些偶然的错误的,比如说,网络连接速度很慢,超时,或者是资源的过量使用,或者临时资源不再可用等等。这一类的错误通常来说会在短暂的时间内,自动恢复过来。一个健壮的云应用也该能...

2019-12-17 00:31:22

C++11与C++14遍历tuple

tuple,元组类型。头文件,tuple是一个固定大小的不同类型(异质,heterogeneous)值的集合(这一点是tuple与其他常规STL容器的最大不同,即它可以同时存放不同类型的数据),是泛化的std::pair(也即std::pair是tuple的一个特例,长度受限为2)。对tuple的遍历输出template<typename... Args>std::ostream...

2019-04-25 10:55:12

CPU Cache分享

不能上传ppt,只好发图片格式:关于CPU Cache的分享

2018-08-29 11:46:40

C++11利器

由于CSDN blog不能上传ppt格式,只能转成图片格式来发了。 【参考:《深入应用C++:代码优化与工程级应用》】...

2018-08-29 11:27:19

GO语言分享

取之于网,用之于网

2018-08-27 11:23:04

降低redis内存使用与减少请求延迟

最近阅读了《Redis实战》,总结一下里面提到的一些优化的方法如何降低Redis内存使用:使用正确的数据结构key长度越小占用内存越小(积少成多)value的值是否可以进行处理部分数据结构在长度较小、个数较少的情况下会采用节省空间的算法存储,可以与sharding结合减少总内存使用sharding:减少单机可使用内存量(虽然不会减少总内存量)如何减少请求Redis的延迟...

2018-04-13 15:35:43

lock-free编程

取之于网,用之于网

2018-03-16 22:52:12

GDB(设置断点)

启动GDB后,首先就是要设置断点,程序中断后才能调试。在gdb中,断点通常有三种形式:断点(BreakPoint):在代码的指定位置中断,这个是我们用得最多的一种。设置断点的命令是break,它通常有如下方式:break     在进入指定函数时停住break     在指定行号停住。break +/-offset    在当前行号的前面或后面的offs

2018-01-25 21:09:21

mac xcode安装使用protobuf

安装安装过程完全参照这里:https://www.jianshu.com/p/0a70eef1bd4a 贴一下:怎么判断有没有安装过protobuf?终端中执行:protoc --version``` ####如何安装安装protobuf-2.4.1下载链接: http://download.csdn.net/download/yockie/10224567安装proto

2018-01-25 21:04:30

C++11研究vector插入元素尽量减少对象构造

在阅读之前可以可以先看这篇文章复习一下std::move与std::forward: 理解std::move和std::forward背景遇到以下场景,Bar类中有成员变量foo是Foo类的对象,在项目代码中需要申请一个Bar对象,给其中foo中的变量复制,并插入到vector中,定义如下:struct Foo { std::string name; std:

2018-01-11 21:33:00

python连接自建redis服务器

步骤先在linux机器上自建redis服务器 1.1. 先在官网下载了最新稳定版的源码压缩包http://download.redis.io/releases/redis-4.0.6.tar.gz, 1.2 解压,make,生成bin在src/下 1.3 执行 ./src/redis-server1.4 测试是否成功 >./src/redis-cli >ping若回显PONG

2018-01-03 21:56:53

控制反转与依赖注入

一、引述IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP、声明式事务等功能在此基础上开花结果。但是IoC这个重要的概念却比较晦涩隐讳,不容易让人望文生义,这不能不说是一大遗憾。不过IoC确实包括很多内涵,它涉及代码解耦、设计模式、代码优化等问题的考量,我们打算通过一个小例子来说明这个概念。二、通过实例理解IoC的概念贺岁大片在中国已经形成了一个传统,每到年底总

2017-09-01 14:47:44

vs内存泄露检测方法

方法一、通过内存状态比较1、功能:可以检测某段代码间的内存泄露.2、描述: 若要确定代码中某一部分是否发生了内存泄漏,可以在该部分之前和之后对内存状态拍快照,然后使用 _CrtMemDifference 比较这两个状态: _CrtMemState s1, s2, s3; _CrtMemCheckpoint(&s1); // memory allocations take plac

2017-03-22 12:27:02

Boost::circular_buffer——循环缓冲区

一、概述Boost.Circular_buffer维护了一块连续内存块作为缓存区,当缓存区内的数据存满时,继续存入数据就覆盖掉旧的数据。 它是一个与STL兼容的容器,类似于 std::list或std::deque,并且支持随机存取。circular_buffer 被特别设计为提供固定容量的存储大小。当其容量被用完时,新插入的元素会覆盖缓冲区头部或尾部(取决于使用何种插入操作)的元素。逻辑存储结构

2017-03-22 11:37:50

git将当前分支上修改的东西转移到新建分支

比如我在A分支做了一些修改,现在由于某种原因(如A分支已经合并到master)不能把A分支上修改的东西保留下来但是需要把A分支上修改的东西继续在新分支继续修改。那么现在我们可以有两种简单的做法完成这一需求。第一种方法我们不需要在A分支做commit,只需要在A分支新建B分支,然后切换过去。这个时候你会发现修改的东西在A,B分支都有。这个时候在B分支commit,那么这些修改保留在B

2017-03-06 16:26:30

2>&1使用

2>&1使用一 相关知识1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |)。2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes `)。3) 默认地,标准的错误输出到终端,但是也可以重定向到文件。4)标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来

2017-02-20 16:24:41

网络编程:Reactor与Proactor的概念

1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件

2017-01-03 17:24:23

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。