![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构师
文章平均质量分 91
Linux高级开发
一路追随Bug~~
展开
-
通俗易懂:快速理解P2P技术中的NAT穿透原理
导语最近介入测试P2P的相关逻辑,因此对NAT穿透原理做了一定程度的了解(当然也没有很深入)。。写本文的目的就是,用自己的语言描述了这个过程,同时也在描述过程中加入了一些自己的理解,形成一篇文章作为要点的记录。对于这一块的知识,自己也有很多盲点,还请各路大神多多指教。一、背景知识介绍1.什么是NAT?NAT(Network Address Translation,网络地址转换),也叫做网络掩蔽或者IP掩蔽。NAT是一种网络地址翻译技术,主要是将内部的私有IP地址(private IP)转换成原创 2020-06-29 16:51:40 · 286 阅读 · 0 评论 -
音视频编解码学习之编解码框架
1. 压缩码流语法:码流中各个元素的位置关系01001001…图像编码类型(01),宏块类型(00),编码系数1001等 语义:每个语法元素所表达的意义。例如:图像编码类型2. 编码层次序列(Sequence) 图像组(Group of Pictures,GOP) 图像(Picture) 条带(Slice) 宏块(Macroblock,MB) 块(Block)3. 码流结构4. PB帧编码5. 序列编码对象(1)IBBP序列序列...原创 2020-06-29 16:22:48 · 661 阅读 · 0 评论 -
知道Nginx三大功能是什么吗?
1、Nginx是什么?Nginx是一个轻量级、高性能、稳定性高、并发性好的HTTP和反向代理服务器。2、三大功能1)反向代理正向代理:特定情况下,代理用户访问服务器,需要用户手动的设置代理服务器的ip和端口号。反向代理:是用来代理服务器,代理用户要访问的目标服务器。代理服务器接受请求,然后将请求转发给内部网络的服务器(服务集群模式),并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器。Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同...原创 2020-06-20 16:16:11 · 465 阅读 · 0 评论 -
关于 nginx优化——包括https、keepalive等
一、nginx之tcp_nopush、tcp_nodelay、sendfile1、TCP_NODELAY你怎么可以强制 socket 在它的缓冲区里发送数据?一个解决方案是 TCP 堆栈的 TCP_NODELAY选项。这样就可以使缓冲区中的数据立即发送出去。Nginx的 TCP_NODELAY 选项使得在打开一个新的 socket 时增加了TCP_NODELAY选项。但这时会造成一种情况:终端应用程序每产生一次操作就会发送一个包,而典型情况下一个包会拥有一个字节的数据以及40个...原创 2020-06-19 14:06:14 · 413 阅读 · 0 评论 -
高并发下漏洞桶限流设计方案 - Redis
背景在我们做社区的时候,经常会出现发水帖的同学。对于这种恶意刷帖的,我们的运营同学很是头疼,而且这种还不能在网关进行ip之类的过滤,只能基于单个单个用户进行处理,我们经常策略就是:每分钟发帖次数不能超过2个,超过后就关小黑屋10分钟。出现场景: 上面讲的发帖的防刷机制。 广告流量的防刷。 接口请求失败进行熔断机制处理。 ...... 解决...原创 2019-07-20 11:26:06 · 318 阅读 · 0 评论 -
架构师技术总结:分布式下必备神器之分布式锁
来源:java极客技术什么是分布式锁在引入分布式锁之前大家应该都知道经典的 CAP 理论提到任何一个系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)三者的,同一时刻只能满足两个,在这种情况下分布式锁就出现了,分布式锁就是用来解决数据一致性问题的。在以前单体应用的环境下,Java 的 API ...原创 2019-07-22 17:56:18 · 266 阅读 · 0 评论 -
IM即时通讯框架设计(1)
《IM即时通讯框架设计》小编准备写四章来分享一下即时通讯技术简介 即时通讯基础版本 即时通讯改进版本 即时通讯高级版本今天和大家先简单分享一下即时通讯技术有哪些应用场景以及这个技术对于我们来说有哪方面的帮助。1.1即时通讯技术的使用场景即时通讯技术应用非常广泛,涉及教育、电商、金融、泛娱乐、生活服务、医疗健康、政企服务、游戏聊天、在线客服等等行业,以下以部分典型应用...原创 2019-08-27 15:59:07 · 3208 阅读 · 0 评论 -
linux C/C++服务器后台开发面试题总结(编程语言篇)
整篇分为四部分,篇幅较长,建议先收藏。一、编程语言1.根据熟悉的语言,谈谈两种语言的区别?主要浅谈下C/C++和PHP语言的区别:1)PHP弱类型语言,一种脚本语言,对数据的类型不要求过多,较多的应用于Web应用开发,现在好多互联网开发公司的主流web后台开发语言,主要框架为mvc模型,如smarty,yaf,升级的PHP7速度较快,对服务器的压力要小很多,在新浪微博已经有应用,对...原创 2019-09-07 14:13:51 · 1240 阅读 · 0 评论 -
协程的起源
问题:协程存在的原因?协程能够解决哪些问题?在我们现在CS,BS开发模式下,服务器的吞吐量是一个很重要的参数。其实吞吐量是IO处理时间加上业务处理。为了简单起见,比如,客户端与服务器之间是长连接的,客户端定期给服务器发送心跳包数据。客户端发送一次心跳包到服务器,服务器更新该新客户端状态的。心跳包发送的过程,业务处理时长等于IO读取(RECV系统调用)加上业务处理(更新客户状态)。吞吐量等...原创 2019-07-24 11:17:55 · 313 阅读 · 0 评论 -
不懂开发的运维,未来该如何发展?
首先,可以肯定的说,未来的IT岗位需要的是综合能力强的人员,运维、开发、数据库、网络,技术岗位对上述知识体系都要会一些,才能很好的胜任对应岗位工作。下面已经不是趋势,而是菜鸟及老鸟都必须要认真考虑的:1、运维人员要会运维、开发、数据库、网络,但侧重点是运维, 2、开发人员要会运维、开发、数据库、网络,但侧重点是开发, 3、数据库人员要会运维,开发,数据库,网络,但侧重点是数据库, 4...原创 2019-06-28 12:05:36 · 833 阅读 · 0 评论 -
自己动手实现Epoll
Epoll是Linux IO多路复用的管理机制。作为现在Linux平台高性能网络IO必要的组件。内核的实现可以参照:fs/eventpoll.c .为什么需要自己实现epoll呢?现在自己打算做一个用户态的协议栈。采用单线程的模式。https://github.com/wangbojing/NtyTcp,至于为什么要实现用户态协议栈?可以自行百度C10M的问题。由于协议栈做到了用户态故需要...原创 2019-03-07 16:42:36 · 641 阅读 · 0 评论 -
大专程序员毕业五年税后18K,想进BAT,网友:吃shi都赶不上热的
现在很多互联网公司招聘程序员,招聘要求上面都明确需要本科,并且985/211优先。现在有很多中专大专的程序员很优秀很积极。网友一:女生,92年,毕业四年,坐标深圳,目前16k的php程序员。想往大公司发展。关于待遇有好心网友评论,硕士毕业一年 BAT,和该女生待遇一样的。网友二:91年,中专学历,坐标深圳,税后工资18K,还有私活额外收入1-4W。这待遇还是有部分985/211...原创 2019-03-13 16:39:38 · 13081 阅读 · 10 评论 -
网络IO解决方案 — 协程框架的实现
协程这个概念很久了,好多程序员是实现过这个组件的,网上关于协程的文章,博客,论坛都是汗牛充栋,在知乎,github上面也有很多大牛写了关于协程的心得体会。突发奇想,我也来实现一个这样的组件,并测试了一下性能。借鉴了很多大牛的思想,阅读了很多大牛的代码。于是把整个思考过程写下来。实现代码https://github.com/wangbojing/NtyCo代码简单易读,如果在你的项目中,Nty...原创 2019-04-10 16:52:01 · 967 阅读 · 0 评论 -
多线程编程—线程池的实现
执行与任务分离的组件— 线程池https://github.com/wangbojing/threadpool多线程技术主要解决了处理器单元内多个线程执行的问题,它可以显著的减少处理器单元的闲置时间,增加处理器单元的吞吐能力。线程池是多线程编程的一个必要组件,并且对于很多编程人员都是透明的,更是神秘的。有幸能为大家解析其中缘由,尚有不妥之处,欢迎大家抛砖。线程池的概念...原创 2019-05-09 14:04:49 · 209 阅读 · 0 评论 -
程序员到高级架构师,必须经历的三个阶段
摘要:每个程序员、或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来。每个程序员、或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来。今天给大家分享的是一篇来自腾讯C/C++架构师对普通程序员的职业建议,希望对你有启发。对于大多数的程序员,可以分为以下三个阶段。...原创 2019-06-19 00:40:25 · 290 阅读 · 0 评论 -
一个10年C++程序员对技术和业务的感悟,献给还在迷茫中的你
我越来越担心我作为一个C++程序员的未来。恍然间,发现自己在这个行业里已经摸爬滚打了五年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过程中却遭到了重大的挫折。详细过程我就不再叙述,在此,只想给大家说一说被拒绝的原因,看看大家有没有相似的经历,和类似的感悟。面试官对我的答复大致是这样的,我们不需要熟练工,我们需要在某领域拥有超过常人的积...原创 2020-08-04 22:15:08 · 28583 阅读 · 40 评论 -
2019年BATJ等技术面试题及答案,专家出题人分析汇总
2019上半年阿里,腾讯,百度,美团,头条等技术面试题目之阿里篇给自己规定一个时间,开始面试阿里吧!1.1.1 如何实现一个高效的单向链表逆序输出?1.1.2 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位1.1.3 给定一个二叉搜索树(BST),找到树中第 K 小的节点1.1.4 LRU缓存机制1.1.5 关于epoll和sele...原创 2019-06-26 21:23:03 · 401 阅读 · 0 评论 -
“天才少年” 27岁华为副总裁 百度CTO 成为阶下囚的传奇经历
今天的主角是李一男,也许你未曾听过他的名字,但他却有金光闪闪的履历。毕业于华中科大少年班,最年轻的华为副总裁,百度CTO,12580CEO,金沙江创投合伙人,牛电科技创始人。但他人生中最大的转折点可能就是与华为任老板的“港湾大战”,自此之后,李一男虽然尝试多种方式实现了财务自由,却也再没有如在通信领域时所向披靡。最让人跌破眼镜的是李一男去年因为涉及股市内幕交易获利百...原创 2019-03-14 17:48:27 · 11580 阅读 · 24 评论