- 博客(11)
- 收藏
- 关注
原创 TCP socket原理与编程实践
文章目录1. TCP中的阻塞/非阻塞1.1 内核读缓冲区:1.2 内核写缓冲区:1.3 为什么要搞出一个非阻塞来?难道阻塞不香吗?1.4 连接建立阶段的阻塞/非阻塞2. epoll为代表的多路复用2.1 为什么要提出多路复用的机制2.2 epoll实现了哪些功能3. TCP socket如何保证应用层消息的完整性4. 阻塞/非阻塞, epoll, LT/ET, 单线程/多线程 到底该怎么搭配使用?...
2020-05-07 13:09:40
245
原创 把程序变成服务
文章目录1. linux中的service是什么?1.1 linux中的进程1.2 进程异常退出如何排查程序错误?1.3 代码中的退出1.4 nohup 和 后台任务(jobs)是咋回事?1.5 进程运行后如何监控?1.6 linux如何自定义守护进程?1.6.1 linux的开机启动过程1.6.2 新一代的systemd1.6 linux发行版1. linux中的service是什么?ser...
2020-05-07 12:49:22
660
原创 linux terminal常用操作手记
文章目录1. terminal 快捷键:1.1 复制粘贴:1.2 打开关闭1.3 编辑2. terminal 配置:2.1 配置文件:2.2 样式:2.3 文件显示样式:3. vim快捷键:1. terminal 快捷键:1.1 复制粘贴:ctrl+shift+c, ctrl+shift+v鼠标左键选择,在待粘贴处按下鼠标滚轮1.2 打开关闭打开:ctrl+alt+T: 当前路径...
2020-05-07 12:31:25
624
原创 git学习手记
文章目录1. git client与远程仓库的2种通信方式2. 常见问题:3. git的原理4. git操作5. 分布式git5.1 工作流程:5.2 工作模式示例1. git client与远程仓库的2种通信方式1) httpsa) 设置remote仓库的url: git remote set-url origin https://github.com/{username}/{Projec...
2020-05-07 12:26:15
210
原创 google c++编程规范笔记手记
文章目录1. 头文件2. 作用域和生命周期2.1 命名空间2.2 全局/局部/静态 函数/变量3. 类3.1 构造函数3.2 隐式类型转换3.3 可拷贝类型和可移动类型3.4 结构体and类3.5 继承3.6 接口 [设计逻辑]3.7 运算符重载: 避免使用 [潜在BUG]3.8 声明顺序 [可读性]4. 函数4.1 参数顺序:4.2 简短函数:4.3 函数重载4.4 缺省参数 [可读性]4.5 ...
2020-05-07 12:15:57
184
原创 c++基本编程实践手记
文章目录1. 资源管理1.1 什么是资源1.2 RAII管理资源的由来1.3 管理资源的智能指针2. 函数参数与返回值2.1 函数参数2.2 函数返回值3. 类3.1 成员变量3.2 编码习惯3.3 类设计的理解3. 标准库使用3.1 vector的删除4. 递归5. 指针的使用1. 资源管理1.1 什么是资源资源包括内存,文件句柄,socket句柄,db连接等资源的特点是使用指针/句柄(...
2020-05-07 12:04:22
216
原创 多线程和线程池的c++实现
文章目录多线程和线程池的c++实现1. linux pthread库中对线程的操作1.1 线程的创建和资源回收1.2 线程的互斥和同步2. 生产者-消费者的多线程模型3. 线程池3.1 为什么需要线程池?3.2 线程池需要解决什么技术问题?3.3 线程池类应当如何设计?多线程和线程池的c++实现1. linux pthread库中对线程的操作1.1 线程的创建和资源回收每一次调用pthre...
2020-04-20 17:30:51
687
原创 从并发到分布式系统和web应用
文章目录1. 并发1.1 并发与并行1.2 软件系统运行的指标1.3 实现并发的技术1.4 多线程同步1.4.1 原子操作: 不可中断的一个或一系列操作1.4.2 互斥锁与条件变量2. 分布式系统2.1 为什么需要分布式系统?2.2 分布式存储引擎2.3 分布式计算框架3. web服务器3.1 什么是web应用?3.2 C/S与B/S的区别?3.3 前端与后端到底是什么?3.4 对server的...
2020-04-14 13:01:19
1003
原创 linux中的进程与线程那点事儿
文章目录进程与线程1. 进程2. 线程3. linux中进程和线程的区别4. linux系统与用户程序的关系5. linux系统创建进程的方式进程与线程a) 进程和线程是操作系统的概念b) linux系统属于分时操作系统,可处理并发任务同时保证快速响应,采用时间片轮转调度机制,即操作系统将cpu时间划分为时间片,每个任务只占用一个时间片时间,然后调度队列中的下一个任务执行1. 进程程...
2020-04-14 12:05:59
174
原创 加密, ssh 和 https手记
文章目录加密, ssh 和 https手记1. ssh原理1.1 加密传输1.2 远程登录中的加密方式1.3 文件传输中的加密方式1.4 使用rsa算法生成公钥和私钥2. https原理2.1 CA与CA证书加密, ssh 和 https手记1. ssh原理ssh在网络的两台主机之间提供加密信息传输,常见的应用包括远程登录(公司内部开发机)和文件传输(scp), rsa为加密算法之一,为非对...
2020-03-30 22:58:51
251
原创 设计模式及C++实现
设计模式及C++实现类设计的原则1. 开闭原则2. 里氏替换原则3. 依赖倒置原则4. 单一职责原则5. 接口隔离原则6. 迪米特法则创建性模式结构型模式行为型模式类设计的原则1. 开闭原则含义: 软件实体对扩展开放,对修改关闭实现: 具体类实现抽象类2. 里氏替换原则含义: 所有引用基类的地方都可以透明的使用其子类,即父类的对象均可用子类对象替代,不会出现任何错误或异常,反过来...
2020-03-28 17:39:53
465
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人