Spdlog学习

logger.h#pragma once #include <memory> #include <string> #include "spdlog/sinks/daily_file_sink.h" #include "spdlog/sinks/stdout_color_sinks.h" #include "spdlog/spdlog.h" namespace flower { class logger final { public: static logger &instance()...

C++实现配置文件读取

config.h#pragma once #include <any> #include <fstream> #include <iostream> #include <map> #include <mutex> #include <string_view> #include "comm_func.h" #include "logger.h" namespace flower { class config final { public: static config...

LNMP配置Nginx域名301重定向

# 进入配置目录下 cd /usr/local/nginx/conf/vhost/ # 打开配置文件 vim xxxxx.conf # 修改配置文件 server { listen 80; #listen [::]:80; server_name www.jiangpenghui.cn jiangpenghui.cn; index index.html index.htm index.php default.html default.htm default.php; root /home/www...

时间轮定时器实现

原理定时器的精度假设每一格为2.5 ms 0.0025 * 256 * 63 * 63 *63 *63 = 10,081,895.04 sec 10,081,895.04 / 60 / 60 /24 = 116.6886 day 定时器有效时间最大范围unsigned int 2^32 拆分为5个时间轮 2^8 2^6 2^6 2^6 2^6 0~255 0~63 0~63 0~63 0~63 首先对第一个时间轮进行 时长%时间轮长度(优化用&替代%运算符 时长&(时间轮长度-1)) 未超过就将定时任务放入对应格子链表 第一轮盘每一格代表(1) 范围2...

VirtualBox网络配置

我使用的两种网络配置方式方式一:# 网卡1 桥接模式 # 网卡2 网络地址转换NAT linux-> vim /etc/netplan/xxxx.yaml # 修改: enp0s3: dhcp4: no addresses: [跟宿主机一样网段的ip] # 添加: enp0s8: dhcp4: yes # 保存 :wq # 应用 netplan apply图解:方式二:# 网卡1 仅主机网络 # 网卡2 网络地址转换NAT # 管理->主机网络管理器->去掉DHCP服务器启用->手动配置网卡->配置网段(无需跟宿主机一样) linux->...

Log4cplus学习

log.h#pragma once #include <cstdarg> #include <string_view> #include "noncopyable.h" #include "log4cplus/consoleappender.h" #include "log4cplus/fileappender.h" #include "log4cplus/initializer.h" #include "log4cplus/logger.h" #include...

Skynet使用CMake管理

为什么使用cmake管理因为可以用clion、vscode、vs2017 or 2019 远程linux调试编译skynet 根目录# 校验CMake版本 cmake_minimum_required(VERSION 3.10) # 工程名 project(skynet) # 头文件路径 include_directories( skynet-src 3rd/lua 3rd/lua-md5 3rd/jemalloc/include/jemalloc 3rd/lpeg lualib-src lualib-src/sproto ) ...