跳至主要內容
MKSite
博客
MK框架
新的开始
快速入门
功能模块
案例教程
API 接口
项目产品
搜索
Ctrl
K
编程语言
muzzik
小于 1 分钟
目录
#
Typescript
#
分享一些有用的 ESlint 规则
#
你了解 await 吗?
#
类型安全的单例基类
#
TS注解
#
导出式单例和函数式单例的区别
#
装饰器:实现多继承
#
装饰器:重载父类声明
#
TS模块拆分
#
Javascript
#
JavaScript获取时间戳(毫秒)
#
JavaScript(ES 6)统计数组内符合条件数据的简洁方法
#
Nodejs
#
使用 puppeteer 修改网页源码
#
NPM 使用注解
#
C++
#
C++模板使用记录
#
C++ 右值使用技巧
#
C++ 左右值参数兼容, 让你的函数变得更为易用
#
应用程序没有调用 WSAStartup,或者 WSAStartup 失败。一次奇怪的错误
#
最精简的sha1编码函数,还不快来试试?
#
C++ 死锁检测
#
C++ std::regex正则表达式
#
C++判断是否为有效IP地址
#
关于AcceptEx函数
#
std::stringstream、std::istringstream、std::ostringstream有何意义?为何使用它们?
#
std::enable_shared_from_this有什么意义?进来告诉你
#
如何保证在多线程中对象的有效性?进来告诉你
#
WSASocket创建的Socket默认关闭了Nagle算法?
#
C++利用模板推导数组长度
#
std::shared_ptr 的使用心得
#
Socket端口复用和非阻塞套接字
#
std::swap不是std的成员解决
#
C++ Sleep以及this_thread::sleep_for精度不够的问题
#
C++用for遍历自定义类
#
C++最大堆实现
#
C++最小堆实现
#
最小堆的指定删除
#
C++基础数据类型最大值/最小值宏
#
C++ tcc/icc文件 【转载】
#
关于inline的小知识
#
减少锁竞争方法
#
WSASend体会以及WSAENOBUFS错误思路
#
教你获取new出的数组大小
#
C++线程安全的智能指针
#
C++原子性加减
#
C++ IOCP问题备注
#
基础数据类型值传递、指针传递的取舍
#
C++利用继承实现线程安全函数
#
单临界区管理和多临界区管理的效率对比
#
C++ 内存对齐【转载】
#
static_cast、dynamic_cast、reinterpret_cast、const_cast以及C强制类型转换的区别【转载】
#
关闭AcceptEx缓冲区导致延迟增加问题
#
C++ 模板问题备注
#
C++ IOCP问题备注
#
C++ 一句代码打印当前线程ID
#
C++线程安全的定时器(时间堆)实现
#
C++ const引用、临时变量 引用参数【转载】
#
C++原子操作(atomic)使用
#
模板编程之std::is_same和std::decay
#
Socket的阻塞、非阻塞、同步、异步四种状态区别【转载】
#
C++实现时间轮定时器
#
C++Win32窗口取消标题栏
#
Lua
#
Lua 加载当前路径下的模块实现
#
Lua将字符串反斜杠转为正斜杠