自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 揭开进程的概念、状态、通信的迷雾。看完瞬间豁然开朗

预备知识前驱图程序顺序执行的特征顺序性顺序执行 封闭性独占资源 可再现性只要程序执行环境和初始条件相同,重复执行时结果都相同程序并发执行的特征间断性 失去封闭性 不可再现性因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。执行结果与并发程序的执行速度相关进程的概念非正式地说,进程是执行的程序。进程不只是程序代码,程序代码又称为文本段或代码段。进程还.

2021-07-31 15:58:33 207

原创 后端开发-Reactor设计模式

在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,Proactor用于异步I/O操作。Reactor模式称之为响应器模式,通常用于NIO非阻塞IO的网络通信框架中。文章相关视频讲解:C/C++ Linux后台服务器开发高级架构师免费学习链接:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频epoll原理剖析以及reactor模型应用linux epoll网络编程细节处理几个概念:什么

2021-07-29 15:14:51 380

原创 详解TCP协议与UDP协议的区别

前言计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。文章相关视频讲解:C/C++ Linux服务器开发高级架构学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频底层原理到徒手实现 TCP/IP网络协议栈tcpip协议栈与网络API的关联,u

2021-07-28 16:37:40 590 1

原创 (音视频开发)WebRTC进阶流媒体服务器开发-多人互动架构

一:多人互动架构方案(一)WebRTC回顾,两层含义:1.WebRTC是google开源的流媒体客户端,可以进行实时通讯,主要应用于浏览器之间进行实时通讯,也可以单独编译在自己的应用中2.WebRTC也是一套规范,只对客户端做了定义,如何进行媒体协商、通信流程...;对于服务端,比如信令服务端、中继服务,并没有在WebRTC中定义,由厂商定义;对于多人互动方案也没有定义(二)3种框架进行多人互动Mesh方案:从WebRTC客户端演变过来,多人互动--->变为多个1V1通讯,

2021-07-27 16:31:02 2512

原创 深入分析websocket协议,从3个方面设计网络应用层协议丨网络编程|网络IO|epoll|socket|网络协议丨c/c++linux服务器开发

深入分析websocket协议,从3个方面设计网络应用层协议视频讲解如下:深入分析websocket协议,从3个方面设计网络应用层协议丨网络编程|网络IO|epoll|socket|网络协议丨c/c++linux服务器开发C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高级知识点分享。点击链接进

2021-07-26 16:05:30 150

原创 10年程序员的成长经历,年薪近百万

10年程序员的成长经历,工作经历,面试问题,简历书写。1.面试经历介绍2.学习方法和书籍分享3.职业发展漫谈视频讲解如下:本科工作11年,最终英伟达上岸,年薪近百万丨c/c++linux服务器开发丨后端开发丨linux后台开发丨面试经验丨社招C/C++Linux服务器开发高级架构师知识点精彩内容包括:C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,P2P,音视频开发,Linux内核,Docker,TCP/IP,协程,DPDK多个高

2021-07-26 16:02:20 456

原创 细节分析Linux中五种IO模型和三种实现方式

I/O介绍操作系统分为两种I/O网络IO:本质是socket读取 磁盘IO:DMA操作读取C/C++Linux服务器开发知识点 内容包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,MongoDB,ZK,流媒体,音视频开发,Linux内核,P2P,K8S,Docker,TCP/IP,协程,DPDK多个高级知识点,点击:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频每次I/O过程(DMA)将数据从磁盘文件先加载至内核内存空间(缓冲区),

2021-07-23 15:55:09 323

原创 C/C++Linux服务器开发高级架构师/Linux后台开发架构师丨高级进阶学习

01 课程介绍【录播】课程介绍(66分钟) 免费试学【录播】磁盘存储链式的B树与B+树(131分钟) 免费试学免费学习视频链接点击:C/C++Linux服务器开发高级架构师/Linux后台架构师02 数据结构与算法 【回放】面试必聊的排序与KMP(1月7日 20:00-22:00)【回放】随处可见的红黑树(1月9日 20:00-22:00)【回放】磁盘存储链式的B树与B+树(1月12日 20:00-22:00)【回放】海量数据去重的Hash与布隆过滤器,bitmap(1月

2021-07-22 15:33:57 1822 6

原创 后端开发-MySQL学习之索引机制最详细版(B+树)

一、索引是什么?  索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。而且是实现了高级查找算法的数据结构,索引一般以文件形式存储在磁盘上,索引检索需要磁盘I/O操作。文章视频讲解:后端开发中MySQL InnoDB 索引以及事务C/C++ Linux服务器开发高级架构免费学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师二、为什么要使用索引?索引能极大的减少存储引擎需要扫描的数据量。 索引可以把随机IO变成顺序IO。 索引可以帮助我们在进行

2021-07-21 16:01:09 309

原创 redis知识点总结与分布式锁的实现

1. 常用命令为指定key设置过期时间:expire key seconds设置key对应的value,并设置过期时间:setex key seconds value查询指定key剩余过期时间:ttl key返回指定key的value类型:type key为指定key修改key名称:rename oldkey newkeysetnx key value:设置key和value值,若当前key不存在时,若存在则不执行该操作文章相关视频讲解:C/C++ Linux服务器开发高级架

2021-07-20 16:45:48 189 1

原创 不会还有人不知道中间件吧?细节分析中间件

常用中间件引言中间件(middleware)一词每天都被不同的人群所提及,中间件的产品也大量出现在软件市场,但中间件的定义却一直比较模糊,导致中间件的分类也不很统一。也许正因为如此,才使人们不断地设计和开发新的产品,并冠以中间件的标签,推动着中间件的内涵和市场不断地向前发展。❝相信大家看这篇文章的初心就是单纯想了解一下 中间件是啥?能干啥?我为什么要学它?公司中为啥要有做中间件的程序员?我平时学的dubbo等 属于中间件的什么类型?中间件有分类吗?这个答案在网络上一直没有一...

2021-07-14 16:27:35 653

原创 P2P通信原理与实现(C++),NAT,网络穿透原理

1.简介  当今互联网到处存在着一些中间件(MIddleBoxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信。这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立。  当今部署的中间件大多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求。大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接,除非经过中间件管

2021-07-13 17:52:23 1303

原创 linux服务器开发人员必须要彻底理解的关于【Linux】IO的线程模型

关于IO模型参考:【Linux】五种IO模型reactor模型应用视频讲解:epoll原理剖析以及reactor模型应用c/c++linux服务器开发高级架构师免费学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台开发架构师一、线程模型介绍  为了应对高并发的服务器端开发,微软在2009年提出了一种更优雅地实现异步编程的方式Reactive Programming即反应式编程。随后其他技术紧随其后,比如ES6通过引入类似的异步编程方式等。  在高性能的I/O设计中,有

2021-07-12 20:46:00 324 1

原创 HTTPS学习之教你弄透到底什么是HTTPS

本文谈谈我的看法,主要分为以下几个方面:HTTPS 协议是什么? HTTPS 是如何工作的? HTTPS 真的安全吗?一、什么是 HTTPS  HTTPS,也称作 HTTP over TLS,TLS 前身是 SSL,会有各个版本。TLS 协议在 TCP/IP 协议栈中的关系如下:  上图描述了在 TCP/IP 协议栈中 TLS(各子协议)和 HTTP 的关系,HTTP+TLS 也就是 HTTPS。和 HTTP 相比,HTTPS 的优势:数据完整性:内容传输经过完整性校验。数据

2021-07-10 15:50:39 437 1

原创 Redis学习之Redis概述及原理、基本操作及持久化

一、Redis介绍  Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。  它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线等附加功能。c/c++linux服务器开发高级架构师学习路线大纲:学习路线导

2021-07-08 16:31:32 194

原创 深入浅出吃透多线程、线程池核心原理及代码详解

一、多线程详解  1、什么是线程  线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情。腾讯认证T9后端开发岗位,linux服务器开发高级架构师系统学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师B站7000+播放的线程池视频讲解:150行代码,手写线程池(完整版)  2、线程生命周期 线程通常都有五种状态,创建、就绪、运行

2021-07-07 16:01:32 228

原创 linux网络编程—7层网络以及5种Linux IO模型以及相应IO基础

一、七层网络模型  OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,它是一个七层的、抽象的模型体。文章相关视频讲解:详解网络编程细节点击:90分钟详解网络编程相关的细节处理详解底层网络IO模型点击: 底层网络IO模型,必须要懂得10种模型腾讯认证T9后端开发岗位,linux服务器开发高级架构师系统学习视频点击:C/C++Linux服务器开发高级架构师/Linux后

2021-07-06 16:05:16 386

原创 Nginx学习之Nginx高性能的实现原理

Nginx 采用的是多进程(单线程) & 多路IO复用模型,使用了 I/O 多路复用技术的 Nginx,就成了”并发事件驱动“的服务器,同时使用sendfile等技术,最终实现了高性能。主要从以下几个方面讲述Nginx高性能机制:Nginx master-worker进程机制。 IO多路复用机制。 Accept锁及REUSEPORT机制。 sendfile零拷贝机制1、Nginx进程机制  1.1、Nginx进程机制概述  许多web服务器和应用服务器使用简单的线程的(threa

2021-07-03 15:57:51 870 2

原创 音视频流媒体开发—H264 编解码协议

1、概述H264是MPEG-4标准所定义的最新编码格式,同时也是技术含量最高、代表最新技术水平的视频编码格式之一,标准写法应该是H.264。H.264视频格式是经过有损压缩的,但是在技术上尽可能做到降低存储体积下获得较好图象质量和低带宽图像快速传输。2、相关概念下图为H.264码流分层2.1 VCL&NALH264 原始码流是由一个接一个 NALU(NAL Unit) 组成,它的功能分为两层,VCL(Video Coding Layer)视频编码层和 NAL(Network

2021-07-02 16:00:36 637 1

原创 TCP/IP协议栈及网络基础,协议栈原理及实现

1. TCP/IP协议栈及网络基础推荐这个在B站几千观看的视频讲解:底层原理到徒手实现 TCP/IP网络协议栈;tcp协议栈,如何实现?C/C++ Linux服务器开发高级架构学习视频点击:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频内容知识点包括Linux,Nginx,ZeroMQ,MySQL,Redis,线程池,MongoDB,ZK,Linux内核,CDN,P2P,epoll,Docker,TCP/IP,协程,DPDK等等。1.1 OSI网络模型OSI

2021-07-01 16:03:50 3901 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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