Leiym Blog

一生想做浪漫极客

gRPC 之 AsyncGenericService 用法小结

"AsyncGenericService "

AsyncGenericService 可以忽略特定的服务,接受任意的客户端请求,并做相应处理发送对应的响应。当有特定服务监听请求时,客户端的请求会被送到指定的服务,如果客户端的请求没有特定的服务监听,则均会被送到 AsyncGenericService 。 异步服务的常规用法 class CallData { public: CallData() :...

Reactor模式以及Poco SocketReactor 源码浅析

"reactor"

常见的五种IO模式 服务器端编程经常需要构造高性能的IO模型,Unix下可用的IO模型有五种: 阻塞式IO 非阻塞式IO IO复用(select/poll/epoll) 信号驱动式IO(SIGIO) 异步IO(Asynchronous IO) 同步和异步 描述的是用户线程调用IO操作相关的系统调用时,是否需要等待内核IO操作完成。 区别: ...

Poco 之 Notifications & Events

"notification"

概述 相似点: 通知目标类某一个事件发生,目标类接受到通知后做出相应处理。 不同点: Notifications 被应用于观察者不关心通知来源的场景。Events 被应用于观察者需要知道通知来源,或者只接受特定来源通知的场景。 Notifications 只支持同步通知,Events 同时支持同步和异步通知。 Notifications 可以跨线程工作,但是 Eve...

伪共享分析以及volatile与缓存行填充的应用

"git"

CPU Cache CPU Cache :在计算机存储系统的层次结构中,介于CPU和主存(Main Memory)之间的高速小容量存储器。 作用:CPU的运算速度比读写主存的速度快得多,这就使得CPU在访问主存时要花很长的等待时间,从而造成系统整体性能的下降。当CPU欲读取某个字节时,Cache会将主存中该字节所在的整个字块一次性调入,当CPU再次访问该字节所在字块的数据时,可直接从...

Git使用记录

"git"

记录Git常用功能 基本命令 $ git init 将目录变成Git可管理的仓库 $ git add <filename> 把文件添加到索引库 $ git add -u 添加修改的文件到索引库 $ git commit -m "***" 提交所有更改,附加本次提交的说明 $ git status 查看当前仓库有哪些改动 $ git diff <...

STL智能指针源码浅析

"STL Smart Pointer"

本文从源码入手,浅析 STL中各种智能指针。源码版本: VS2015 C++ auto_ptr 以下是 auto_ptr 的部分源码: template<class _Ty> class auto_ptr { // wrap an object pointer to ensure destruction public: typedef auto_ptr&...

Qt5+VS2015开发之基础

"Qt5"

本文主要介绍使用VS2015开发QT5项目的方法,以及创建简单的窗体和信号槽。 VS2015环境搭建 首先,VS2015必须选择安装 C++ 有关开发选项,然后使用 Qt 官方提供的VS插件 qt-vs-addin-1.2.4-opensource.exe 配置开发环境。Qt5 for VS插件下载地址 插件安装步骤一路 Next 即可,安装后可以在新建项目中看到有关 Qt 的...

Design Pattern 读书笔记

"Design Pattern"

创建型模式 Singleton Pattern 单例模式(Singleton Pattern) :单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法 模式要点: 某个类只能有一个实例。 它必须自行创建这个实例。 它必须自行向整个系统提供这个实例。 实现方法:...

Effective C++ 读书笔记

"Effective C++"

让自己习惯C++ 尽量以 const,enum,inline 替换 #define Prefer consts,enums, and inlines to #define 使用 #define 定义常量时(#define PI 3.14),编译器在预处理阶段即将常量名(PI)替换为常量值(3.14),而不是将常量名(PI)放入符号表中。当运用此常量如果获得一个编译错误,错误信息...

windows批处理脚本Batch Script编写记录

"bat"

本文主要记录windows的批处理脚本bat的编写记录,文章大部分来自于 Steve Jansen 的博客,网址:https://steve-jansen.github.io/guides/windows-batch-scripting/index.html,在此感谢作者通俗易懂的教程,本人为以后方便查阅作一记录。 前言 最近实习帮其他部门的同事用批处理脚本解决了他们不少重复性的...