TCP/IP 一次孤儿 socket 过多导致负载高的问题排查过程 一、问题现象 客户报障,说使用了我们的网关设备后网络经常中断。具体的情形是用我们设备做代理上网后,流量图显示流量每隔两分钟就会直线下跌一次,同时就伴随着内网用户断网。 经过排查后发现问题原因是设备负载... 03 月 03 日3,452评论排障经验 阅读全文
C/C++ C++中的异常处理 一、异常处理 1.1 异常的基本用法 C 语言中因为没有异常处理 (只能通过返回值来判断错误) 机制一直被诟病,因此 C++也引入了 try...catch 机制,使得 C++也能像 java/python 一样来捕获... 03 月 01 日1,728评论 阅读全文
数据库 web 安全之 sql 注入 一、关于 SQL 注入 sql 注入是目前 web 应用中一种常见的攻击方式,通过恶意构造参数生成不可预期的 sql 语句,来完成不可告人的秘密。危害极大!它的影响主要有以下两点: 第一:拖库,拖库的意思是直接把整... 02 月 29 日493评论 阅读全文
MySQL MySQL 报错 Lost connection to MySQL server at 'reading initial communication packet'的解决办法 使用 mysql 连接远程服务器时报错,在百度和 google 查找都没有找到能解决问题的办法: [crayon-68219b26b49fa359182882/] 分析应该是以下两个原因导致的: 服务器有防火... 02 月 29 日28,068评论 阅读全文
编程语言 I/O 模型 一、 I/O 模型分类 unix 环境下有 5 中 IO 模型: 阻塞式 I/O 非阻塞式 I/O I/O 多路复用 信号驱动 I/O 异步 I/O(POSIX 中的 aio_系列函数) 常用的是前三种方式,特别是多路 I/O 复用... 02 月 29 日305评论网络编程 阅读全文
其他 iterm2 保存 ssh 连接信息 点击左上角 Iterm2 任务栏,依次选择 Preferences - Profile: 点击左下角的+新增一个配置项,在右边的 command 处输入 ssh 登录的命令: [crayon-68219b26b4b... 02 月 28 日5,0341 iterm2 阅读全文
数据结构和算法 [leetcode]226-翻转二叉树 来源:力扣 (LeetCode) 链接:https://leetcode-cn.com/problems/invert-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请... 02 月 26 日241评论leetcode 树 阅读全文
C/C++ epoll 中的边缘触发 ET 和水平触发 LT 模式 epoll 中的触发模式有两种,边缘触发和水平触发,默认情况下使用的是水平触发。 边缘触发 (ET) 的意思是当电平出现变化的时候才触发事件,如果设置了边缘触发,执行 epoll_wait 时,内核检测到数据到... 02 月 26 日1,113评论网络编程 阅读全文
C/C++ 猴子拿苹果问题-匿名信号量 一、猴子拿苹果问题 逛脉脉时,看到一网友遇到的面试题:有 9 个苹果,2 只猴子。一个猴子每次拿 2 个苹果,一个猴子每次拿 3 个苹果。如果剩余的苹果数量不够猴子拿的数量,则停止拿苹果。请用多线程的方式模拟上面的... 02 月 25 日398评论 阅读全文
C/C++ 进程间通信之共享内存 共享内存是所有 IPC 通信中效率最高的,它通过把文件映射到用户进程空间,然后直接通过地址访问来实现多进程通信。相对于其他 IPC 通信方式而言,少去了把数据从用户空间复制到内核空间,再从内核空间复制到用户空... 02 月 23 日258评论 阅读全文