在这个博客中我会介绍一些工作中用到的编程技术。
In this blog, I’m gonna talk about some programming techniques used in my work.
从 1.54.0 版本开始,Boost.Asio 开始支持协程。异步编程是复杂的,协程可以让我们以同步的方式编写出异步的代码,在提高代码可读性的同时又不会丢失性能。
在开发分布式程序时,我们需要定义传输用的消息格式。无论是使用json还是protobuf,我们都需要对消息的收发做一些必要的处理工作。这篇文章就来谈一下这些工作。
对于一个C++程序员,如果你认为你可以躲在你的舒适区中不用考虑函数式编程,那你就大错特错了!
先是lambdas和std::function
对象,再是伪装成std::future
的单子(monad),它们为何而来?
不过不用慌,它们都只不过是一些函数式编程模式而已。你不会在设计模式书中找到他们,但是一旦你了解它们,你会发现它们也不过是一些显而易见的模式而已。