- 博客(19)
- 资源 (16)
- 收藏
- 关注
原创 90分钟提升 MySQL 读写性能《干货详解》
前言知识无底,学海无涯,到今天进入MySQL的学习4天了,知识点虽然简单,但是比较多,所以写一篇博客将MySQL的基础写出来,方便自己以后查找,还有就是分享给大家。一、SQL简述述1.SQL的概Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。2.SQL的优点1、简
2021-10-05 10:39:49 434
原创 6种epoll的设计,让你吊打面试官,而且他不能还嘴
从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。select()和poll() IO多路复用模型select的缺点:单个进程能够监视的文件描述符的数量存在最大限制,通常是1024,当然可以更改数量,但由于select采用轮询的方式扫描文件描述符,文件描述符数量越多,性能越差;(在linux内核头文件中,有这样的定义:#define __FD_SETSIZE 102
2021-09-18 21:34:28 254
原创 DPDK加速网络节点《挑战全网DPDK》
DPDK全称为Date planedevelopment kit,是一个用来进行数据处理加速的软件库。与传统的数据包处理相比,DPDK具有以下特点:轮询:在处理时避免中断上下文切换的开销,用户态驱动:规避不必要的内存拷贝和系统调用,便于快速迭代优化亲和性与独占:特定任务可以被指定只在某个核上工作,避免线程在不同核间频繁切换,保证更多的cache命中降低内存开销:利用内存大页HUGEPAGE降低TLB miss,利用内存多通道交错访问提高内存访问有效带宽软件调优:cache行对齐
2021-09-07 11:15:12 251
原创 150行代码,手写线程池,每个人都能学会。自行准备linux环境
目录总结送福利无偿*1.线程池的使用场景2. 线程池的实现原理3. 线程池动态放缩*日志在罗盘的时候每一次都需要写磁盘,它里面带有缓冲区的,但不一定每次都罗盘,这个过程中间也有一个罗盘动作的不管有没有缓冲区,每执行一次log(level,")都需要写一次磁盘,这个过程中间你会发现写磁盘的速度是很慢的,对于服务器来说每一次请求,对于有N多个客户端,每个客户端往服务端发送请求请求一次我们在服务端这边,把每一次请求,达成日志,打成日志方便我知道代码运行到那个地步,以及错误出在那里,我们可以通过l
2021-09-04 10:25:27 158
原创 《一篇完整带你搞懂》线程锁、进程锁以及分布式锁
前言线程锁线程锁真的好麻烦啊!!!什么是线程锁多线程可以同时运行多个任务但是当多个线程同时访问共享数据时,可能导致数据不同步,甚至错误!so,不使用线程锁, 可能导致错误啰嗦两句: 比如你在银行取钱的同时你女朋友用支付宝取钱 不同线程同时访问同一资源 如果资源不加锁可能会导致银行亏本 卡里有100却取出200这种错误应用场景I/O密集型操作 需要资源保持同步3.用法#锁的使用#创建锁lock = threading.Lock()#锁定lock.acquire([time
2021-01-26 22:09:38 711 4
原创 「面试必备」最新整理出的腾讯C++后台开发面试笔记
文章是由笔试面试腾讯笔记整理而来,主要是针对面试的C++后台开发岗位,涵盖了大部分C++后台开发相关可能会考察和被问到的技术点。自认为这篇笔记是比较全面的总结,不管你是已经工作准备参加社招,还是在校学生准备参加校招,笔记都可以作为技术面试准备阶段参考查阅,查缺补漏。笔记是基础C++知识点总结,没有过多的阐述后台开发的系统架构和分布式后台服务设计相关,还有c++11新特性,这些笔试面试也会被问到但不在这篇讨论范围,可以关注我后面有时间再补上。gdb调试命令step和next的区别?当前line有函数
2020-11-30 22:30:54 200
原创 那些很重要,但是不常用的技术,websocket
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入目录为什么会有websocketwebsocket协议格式协议具体实现一、为什么需要 WebSock
2020-10-17 21:11:46 510
原创 ffmpeg常用结构体《精》
FFMpeg是当今为的面向音视频开发的开源工程,广泛应用于多种音视频的客户端、播放器和流媒体服务器中。使用FFMpeg提供的工具和SDK,可以完成音视频的编码、解码、转码、封装、解封装、转封装、视频水印和视频缩放等多种需求的开发。掌握FFMpeg进行音视频开发,会使用FFpeg工具、SDK进行视频的编码、解码、转码、封装、解封等。ffmpeg常用结构体《精》1 解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP
2020-09-21 23:12:02 200
原创 RTSP流媒体基本的概念《实战》
目录 总结有福利RTSP协议分析RTP协议分析RTCP协议分析RTSP流媒体服务器搭建RTSP推流实战RTSP拉流实战wireshark抓包分析RTSP流媒体服务器分析RTSP协议内容RTSP流媒体基本的概念《实战》RTSP流媒体基本的概念《实战》RTSP流媒体基本的概念《实战》RTSP流媒体基本的概念《实战》RTSP状态机RTSP流媒体基本的概念《实战》RTSP流媒体服务器搭建RTSP推流实战1.首先安装DDS,从:http://dss.macosforge.org/dow
2020-09-19 23:37:43 129
原创 Linux常用文件操作高频使用命令
文章目录0.新建操作:1.查看操作2.删除操作3.复制操作4.移动操作:5.重命名操作:6.解压压缩操作7.上传文件工具8.ln、file和touch命令9.查找操作命令:Linux常用文件操作高频使用命令0.新建操作:mkdir abc #新建一个文件夹touch abc.sh #新建一个文件echo “abc” > test.txt #新建一个文件,并将abc写入。这里用到了重定向符1231.查看操作查看目录:Linux常用文件操作高频使用命令ll #显
2020-09-14 23:47:46 496
原创 一篇文章带你FFmpeg到流媒体服务器开发
安装ffmpeg:下载FFmpeg和libx264的包ffmpeg-2.4.1.tar.bz2 last_x264.tar.bz2libx264需要yasm,所以先安装yasmapt-get install yasm然后安装libx264aptitude install libx264-dev也可以手动安装libx264(原先libx264在ubuntu的软件源里是没有的只能手动安装,现在有了就可以不用手动安装了)解压缩libx264tar -xjvf last_x264.tar.bz2安装l
2020-09-12 22:31:22 636
原创 音视频开发为什么要学SRS流媒体服务器
1 SRS是什么官方定义:SRS是一个流媒体集群,支持RTMP/HLS/HTTP-FLV/RTSP/DASH/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。2 SRS能够解决什么问题2.1 工程案例SRS支持的特性非常多,传统的RTMP直播应用不用多说,我们这里说一些新的趋势。案例1:传统的视频监控客户端都是Windows pc桌面客户端,现在较多的公司都需要实现通过web去查看远程的视频监控,此时可以通过RTSP/GB28181推流推送到SRS流媒体服务器,然后通过RTMP
2020-09-09 22:22:00 433
原创 万人会议直播网络架构与CDN网络
万人会议直播网络架构与CDN网络目前市场上的产品主要分为两种:一种是像花椒、映客、斗鱼、YY等的泛娱乐化直播,一种是思科、声网之类的实时互动直播。一般情况下实时互动直播会与PSTN网络相连,所以实时互动直播必须达到电话级别的传输要求,一般不超过400ms。泛娱乐化直播架构在泛娱乐化直播架构中有信令服务器集群来负责创建房间、聊天、赠送礼物…,当直播端需要直播时直接向信令服务器发送请求,信令服务器向请求端返回推流的地址,然后直播端开始像CDN网络推送数据流(流媒体CDN与传统CDN有些不同),然后当观众需
2020-09-05 15:13:37 567
原创 一起学习C/C++ linux 流媒体 音视频
手把手带你nginx搭建基于rtmp或者http的flv、mp4流媒体服务器实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议;同时打开rtmp的hls功能资料:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。使用ffmpeg来完成对flv、mp4、m
2020-09-04 23:25:44 745
转载 阿里程序员试用期被淘汰,主管给出的理由让人意想
近日,在互联网职场交流社区,一名标签为阿里巴巴的员工自称试用期未通过,其在阿里的级别是P7,相当于是技术专家的职级了,对于试用期被淘汰,其主管给的理由是:尽管完成了安排的工作,但是态度不够积极主动。阿里程序员试用期被淘汰,主管给出的理由让人意想不到一石激起千层浪,吸引了众多同行的热议:到了p7了一定要学会无中生有,要自己想idea自己去完成,这需要你有高超的ppt技术和时间管理概念;没活找活,...
2019-03-08 21:50:24 836
翻译 大翻车,恭喜这位程序员,成功的引起了马化腾的注意!
@TOC我们都知道,互联网的发展,离不开的2位姓马的的推动。杰克马一向活跃于大众视野中,金句频出(名人当然说的名言啦),而另一位就比较低调了,几乎不怎么出现在媒体的视线中。但是,前几天,马化腾却在深夜里现身,从而让他活跃的出现在大众的面前。大翻车,恭喜这位程序员,成功的引起了马化腾的注意!因为沉寂知乎3年多的马化腾突然在知乎提了一个问题,涉及基础科学。马化腾的提问像丢到深海的鱼饵,更像是给1...
2019-03-07 21:34:29 344
原创 后端---最全最简单细致的Java接入微信支付接口(Native接入)
首先,我简单总结一下这几天搞微信支付和支付宝支付接口的体会,通过这几天的动手实操,加强了自己对SSM框架的认识,以及对业务逻辑的思路,明白了许多以前不懂的许多空白。做支付宝接口的接入完全可以按照支付宝官方所给的Demo和文档,稍加整合即可获得自己想要的代码实现。做微信支付接口接入,官方文档负责参考所需传递的参数,Demo完全没必要去下(鸡肋),觉得最靠谱的还是在Github找一个有注释的完整D...
2018-12-25 13:23:40 2015 1
翻译 保存java程序状态及设置之对象序列化「兼容模式」
在程序中,我们需要保存一个窗口的位置,让程式在下次启动的时候,仍然保持在上一次关闭的时候的位置,或程式需要将数据库连接的配置保存下来。其中一种方法就是使用对象序列化存储。首先,简单解释一下序列化的含义:在Java程式中,对象是存在于内存中的,序列化就是将这个对象在内存中的形态变成字节流,然后输入到一个文档中,这样就将一个对象固定下来,不会随程式的关闭而消失。我们建立一个能够序列化的类,注意,在J...
2018-12-20 10:02:46 131
翻译 崛起的 Kafka
本文译自 Braedon Vickers 发布在 Movio 上的一篇文章,详尽的探讨了在微服务架构升级的过程中,如何使用 Kafka 将微服务之间耦合降到最低,同时能让整个系统在保证高可用的前提下做到高可扩展。随着微服务的流行,很多公司都在尝试将现有的系统进行架构升级。促成 Movio 公司架构改造的一项关键技术就是 Kafka 消息队列。Kafka 是一个开源的分布式消息队列,在可靠性和可扩...
2018-12-14 22:41:42 101
通俗易懂讲解dpdk,使用场景,实现原理,.mp4
2021-12-17
手把手教你实现分布式延时队列
2021-09-04
ffmpeg音视频处理流程
2020-09-21
FFMPEG如何查询命令帮助文档.mp4
2020-09-19
linux常见命令及操作
2020-09-14
FFMPEG命令入门到提高课程简介.mp4
2020-09-14
90分钟解决音视频同步的各种坑 (1).mp4
2020-09-13
分享《面试高频问题》线程-协程-进程-st-thread那些事.mp4
2020-09-12
Linux内核,让你不知如何下手?
2020-09-09
初识Linux内核,进程通信能这么玩 (1).mp4
2020-09-08
90分钟搞定tcpip协议栈 (2) (1).mp4
2020-09-07
红黑树应用 (1).mp4
2020-09-05
90分钟教你怎么搭建万人在线音视频会议mp4.mp4
2020-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人