自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shawn的博客

代码实现请移步github: https://github.com/Baoshan-Hobbit/

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除