0%

C++日志框架有非常多,如何进行选择,其中性能是一个非常重要的考量因素,本文对几种有代表性的日志框架进行基准测试,并深入到源码和实现原理进行分析对比,便于大家进行选择。

阅读全文 »

开发调试过程中少不了使用远程桌面访问其他机器,最近Windows的远程桌面无法使用,只得寻找其他替代方案,经过一番搜索试用之后,有几款软件基本能够达到和Windows远程桌面类似效果,选择主要考量如下因素:

  • 免费解决方案,商业的首先排除,如Teamviewer,AnyDesk,Radmin等;
  • 清晰度和速度基本接近Windows的RDP,这里不得不说Windows下的RDP确实是最好的,没有之一;
阅读全文 »

Ninja的小巧、快速、稳定确实惊艳到我,在使用Ninja之前,我们一直使用Incredi Build加速我们的产品构建,IB确实是一款非常优秀的商业软件,直到最近在使用IB编译时,经常性导致服务器死机,我不得不寻求其他加速构建过程的工具,这时我找到了Ninja,我们的代码是采用CMake构建的,而CMake刚好支持ninja的generator,所以引入Ninja没有花费太多时间,让人敬佩的是,此后就再也没有死机过了,真的是再有没有👍。

阅读全文 »

dmoj介绍

dmoj是一个开源的Online Judge(简称OJ)系统,正如其简介中描述的,它是一个现代的OJ系统,相比其他老牌的OJ系统,其主要特点是:

  • 支持的语言非常丰富,其他OJ系统主要是Java、C++、Python,而dmoj几乎覆盖了所有主流的语言,其中比较吸引我的还支持JavaScript;
  • 其judge系统的是高度可扩展的,首先是可方便的引入新语言的支持,其次是题目的评判过程可高度定制;
  • 其功能性上非常完备,覆盖OJ系统必备的所有功能,比如有些OJ不支持组织,只有用户的概念,而dmoj都是支持的;
  • 国际化、本地化支持非常出色,得益于django框架,dmoj对国际化、时区、本地化处理的非常好,还有其头像采用gravatar服务,也是加分项;
  • 其WEB站点也是可定制的,通过管理后台可动态添加导航和简单页面,支持markdown页面。
阅读全文 »

手头刚好有Windows容器的Docker UCP的License,所以想试着用Dockers UCP搭建一个Windows容器集群体验一下,没想到这是一个非常痛苦的经历,这也证明了玩容器主流还是Linux,折腾了很久终于成功了一次,但是当我在同样的环境想再重新来一次的时候,居然一直再也没有成功过💔,特将这次过程记录一下,哪位同学知道问题所在还望赐教🙏。

阅读全文 »

这又是一篇如何使用github pages和hexo搭建个人博客的文章,是的,网络上已经有无数这类文章,所以我不准备详细记录每一个步骤,对于网络上已经有的,我只列出参考的文章。本文着重选择建立一个个人博客最实用,最需要的配置修改,hexo的扩展性是非常出色的,完全可以定制出非常酷炫的各种效果,这类修改本文并不涉及。另外网络上的一些文章已经比较陈旧,完全参照可能会遇到一些问题,本文进行了一些补充。如果你正在准备搭建一个个人博客,本文应该可以帮助你,不需要在网络上各种文章中苦苦寻找验证。当然,主要还是要感谢网络上乐于分享的人们,正是在他们的成果之上,才能有本博客,也欢迎大家常来逛逛:http://zhongpan.tech

阅读全文 »

六边形架构或六角架构是Alistair Cockburn在2005年提出,解决了传统的分层架构所带来的问题,实际上它也是一种分层架构,只不过不是上下或左右,而是变成了内部和外部。在领域驱动设计(DDD)和微服务架构中都出现了六边形架构的身影,在《实现领域驱动设计》一书中,作者将六边形架构应用到领域驱动设计的实现,六边形的内部代表了application和domain层,而在Chris Richardson对微服务架构模式的定义中,每个微服务使用六边形架构设计,足见六边形架构的重要性。那么让我们一探究竟,它为何如此受青睐。

阅读全文 »

boost::lockfree是boost1.53引入的无锁数据结构,包括boost::lockfree::stack、boost::lockfree::queue和boost::lockfree::spsc_queue三种,前两种用于多生产者/多消费者场景,第三个用于单生产者/单消费者场景,下面对它们的使用进行详细介绍,以boost::lockfree::stack为例,其他类似。

阅读全文 »