2016年8月16日

[置顶] 本博客停止更新,移至purecpp.org, 欢迎关注社区微信公众号Purecpp

摘要: 声明:本博客停止更新,迁移至C++开源社区purecpp.org, 欢迎持续关注! 阅读全文

posted @ 2016-08-16 14:01 qicosmos(江南) 阅读(4919) 评论(1) 推荐(2) 编辑

2015年8月31日

[置顶] 我的开源项目和部分技术文章索引

摘要: 我的书《深入应用C++11--代码优化与工程级应用》 我在github上的开源项目 高性能易用的http server cinara 高性能易用的c++ web开发框架feather 高性能易用的RPC框架REST_RPC 基于编译期反射的序列化引擎 基于编译期反射的ORM引擎高性能易用的http 阅读全文

posted @ 2015-08-31 10:46 qicosmos(江南) 阅读(7070) 评论(3) 推荐(4) 编辑

2019年1月16日

modern c++设计模式系列(一)

正文内容加载中...

posted @ 2019-01-16 20:05 qicosmos(江南) 阅读(2068) 评论(0) 推荐(2) 编辑

2018年11月13日

2018年中国C++大会详细日程+报名

摘要: http://purecpp.org/detail?id=2050 阅读全文

posted @ 2018-11-13 10:29 qicosmos(江南) 阅读(1452) 评论(1) 推荐(2) 编辑

2016年8月31日

清空

摘要: 清空 阅读全文

posted @ 2016-08-31 17:36 qicosmos(江南) 阅读(806) 评论(0) 推荐(0) 编辑

2016年8月16日

本博客停止更新,移至purecpp.org, 欢迎关注社区微信公众号Purecpp

摘要: 声明:本博客停止更新,迁移至C++开源社区purecpp.org, 欢迎持续关注! 阅读全文

posted @ 2016-08-16 14:01 qicosmos(江南) 阅读(4919) 评论(1) 推荐(2) 编辑

2016年3月14日

从一个例子看现代C++的威力

摘要: 引子 最近准备重构一下我的kapok库,让meta函数可以返回元素为kv的tuple,例如: 类似这个META的实现我在msgpack的库里看到了,在这里: msgpack中仅仅是宏元的代码就数百行了,看起来非常复杂,msgpack之所以用这么复杂的方式去实现恐怕是为了支持c++98/03标准。本来 阅读全文

posted @ 2016-03-14 20:24 qicosmos(江南) 阅读(10726) 评论(3) 推荐(1) 编辑

2015年12月30日

C++11实现一个自动注册的工厂

摘要: 实现动机 工厂方法是最简单地创建派生类对象的方法,也是很常用的,工厂方法内部使用switch-case根据不同的key去创建不同的派生类对象,下面是一个伪代码。Message* create(int type){ switch (type) { case MSG_PGSTATS:... 阅读全文

posted @ 2015-12-30 21:51 qicosmos(江南) 阅读(11638) 评论(10) 推荐(4) 编辑

2015年12月4日

REST RPC架构思想

摘要: 1.REST RPC是什么? REST RPC是一个改进版的RPC架构,它是为了解决传统的RPC和REST方案的一些不足之处而生的,它结合了REST API和RPC的优点,同时又克服了REST API和RPC的缺点。我们先来看看传统的RPC和REST API方案的优点和一些不足之处。1.1RPC的... 阅读全文

posted @ 2015-12-04 15:04 qicosmos(江南) 阅读(6373) 评论(1) 推荐(0) 编辑

2015年11月25日

thinking in object pool

摘要: 1.背景对象池为了避免频繁创建耗时或耗资源的大对象,事先在对象池中创建好一定数量的大对象,然后尽量复用对象池中的对象,用户用完大对象之后放回对象池。2.问题目前纵观主流语言的实现方式无外乎3个步骤:初始创建一定数量的对象池(也允许从外面添加对象)。从对象池中取对象来使用。用完之后返回对象池。一般情况... 阅读全文

posted @ 2015-11-25 17:05 qicosmos(江南) 阅读(2766) 评论(6) 推荐(0) 编辑

2015年11月18日

worksteal thread pool

摘要: worksteal的场景 对于一个线程池,每个线程有一个队列,想象这种场景,有的线程队列中有大量的比较耗时的任务堆积,而有的线程队列却是空的,现象就是有的线程处于饥饿状态,而有的线程处于消化不良的状态,这时就需要一种方法来解决这个问题。需要worksteal,顾名思义就是任务窃取,当一个线程处于饥... 阅读全文

posted @ 2015-11-18 18:10 qicosmos(江南) 阅读(4500) 评论(0) 推荐(2) 编辑

2015年11月2日

check member function

摘要: templatestruct has_member_foo11{private: template static auto check(int) -> decltype(std::declval().foo(), std::true_type()); template static st... 阅读全文

posted @ 2015-11-02 13:58 qicosmos(江南) 阅读(1190) 评论(0) 推荐(0) 编辑

导航