拾牙慧者
码龄4年
  • 589,431
    被访问
  • 489
    原创
  • 1,547
    排名
  • 2,323
    粉丝
关注
提问 私信

个人简介:会点c++、python;

  • 毕业院校: 杭州电子科技大学
  • 目前就职: 腾讯
  • 加入CSDN时间: 2018-07-03
博客简介:

hanhan的博客

博客描述:
博观而约取,厚积而薄发
查看详细资料
  • 7
    领奖
    总分 4,385 当月 252
个人成就
  • 获得1,469次点赞
  • 内容获得451次评论
  • 获得5,381次收藏
创作历程
  • 75篇
    2022年
  • 200篇
    2021年
  • 236篇
    2020年
成就勋章
TA的专栏
  • 电子设计竞赛
    付费
    4篇
  • 智能车
    付费
    15篇
  • 开源源码探究
  • MySQL源码分析
    13篇
  • postgresql源码分析
    4篇
  • 开发笔记
  • 分布式与软件架构
    24篇
  • C++linux后台开发入门
    13篇
  • 并发/行、多线/进程、IPC
    18篇
  • 网络编程
    12篇
  • 后端应用设计
    5篇
  • 代码重构与设计
    7篇
  • 音视频方向
    8篇
  • linux & Git
    16篇
  • 编译原理 & cmake
    3篇
  • 前后端开发功能代码库
    17篇
  • BugFix
    3篇
  • 环境配置
    10篇
  • 操作系统原理
    15篇
  • 中间件设计与使用
  • MQ
    1篇
  • Redis使用与设计原理
    7篇
  • MySQL
    48篇
  • 新型数据库技术
    3篇
  • 语言学习
  • C++ 挖坑与填坑
    64篇
  • C++内存管理
    13篇
  • python
    12篇
  • 语言的细节
    2篇
  • 杂感
    1篇
  • 经典数据结构与算法
    17篇
  • 算法:二分思想
    6篇
  • 算法:位运算
    1篇
  • 算法:贪心
    8篇
  • 栈与队列
    5篇
  • 算法:哈希表
    9篇
  • 算法:回溯法
    15篇
  • 算法:DP
    14篇
  • 算法:双指针
    10篇
  • 算法:二叉树基础
    23篇
  • 算法:滑动窗口
    6篇
  • 图像处理原理
    17篇
  • opencv基操与实战
    29篇
  • 数学分析
    31篇
  • 通信原理
    3篇
  • 微机原理
    10篇
  • 数字信号处理
    4篇
  • 面经
    8篇
  • leetcode刷题笔记
    83篇
TA的推广
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    后端
  • 人工智能
    计算机视觉机器学习图像处理
  • 网络
    websocket网络协议tcp/ip
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

对于线程并发模型与事件并发模型的思考

这里将以对话的形式进行:A:普通的线程是可以被其他线程中断掉的,而基于select、epoll的事件处理函数实际上是不可以被其他事件(线程)中断的。我这个理解对吗?B:图片里的应该是对是否可以并行,多路复用的说法,传统的io操作,可以在主进程里串行等待执行完再处理下面的逻辑,但逻辑上没有强相关的情况,可以并行去执行各种io(用户态),而主进程或其他子线程可以继续做其他事传统的io线程,主进程中是可以中断的,知道线程id,去中断就可以而select, epoll 主要是为了实现多路复用吧,配
原创
发布博客 2022.05.22 ·
213 阅读 ·
1 点赞 ·
0 评论

关于并发概念的一些笔记

1、基于锁的并发数据结构1、并发计数器2、懒惰计数器3、并发链表4、并发队列5、并发散列表总结2、条件变量使用(POSIX)生产者/消费者 (有界缓冲区问题)覆盖条件扩展3、信号量使用二值信号量(锁)0值信号量(条件变量)生产者消费者问题读写锁哲学家就餐问题使用锁+条件变量实现信号量扩展4、并发问题总结1、预防循环等待2、使用非抢占锁3、完全避免互斥,使用CAS4、调度避免死锁5、检测死锁并恢复5、事件并发时间并发与线程并发的区别状态管理问题缺点
原创
发布博客 2022.05.22 ·
192 阅读 ·
1 点赞 ·
0 评论

置顶 | wolai博客

最近用wolai记录笔记较多,这里放一下我wolai的地址,当然csdn这边也会同时更文。hanhan的博客
原创
发布博客 2022.05.08 ·
84 阅读 ·
1 点赞 ·
0 评论

实时语音通讯丢包补偿技术

文章目录基于发送端丢包补偿技术原理与媒体无关的前向差错纠正媒体相关前向差错纠正交织技术基于接受端丢包补偿技术基于插入方法基于插值方法基于重构的方法应用建议非交互式交互式拓展阅读参考丢包补偿技术可以分为两类:基于发送端补偿、基于接受端补偿基于发送端补偿:前向差错纠正、交织和重传技术基于接受端补偿:错误隐蔽算法基于发送端丢包补偿技术原理主动:主动重传被动:被动通道编码前向差错纠正技术(FEC)与媒体无关的方法利用音频属性的媒体相关方法基于交织的技术与媒体无关的前向差错纠.
原创
发布博客 2022.05.08 ·
141 阅读 ·
1 点赞 ·
2 评论

视频编解码基础

文章目录前戏编解码技术流程主流视频编码标准视频传输面临的问题视频传输差错控制视频传输Qos质量保证参数人类视觉系统HVS 以及相应编码措施正餐编码层次与码流结构PB帧编码IBBP序列编码结构图像编码结构条带编码结构宏块编码结构块编码结构预测技术码率控制实例H264前戏编解码技术流程1、预测:去除空间冗余、时间冗余;分为帧内预测、帧间预测2、变换:从时域变换到频域,去除相邻数据之间的相关性,去除空间冗余,分为:DCT余弦变换、小波变换3、量化:去除视觉冗余,通过降低图像质量提高压缩比4.
原创
发布博客 2022.05.05 ·
507 阅读 ·
2 点赞 ·
0 评论

发布动态 2022.04.20

后台系统可扩展性学习笔记

整理了一下笔记目录,将以前学习的一些知识串联起来了,比如cdn、负载均衡、中间件,以前只是各自了解了一点,现在大概理清了后台系统设计中他们各自的作用。后台系统可扩展性学习笔记(一)概要后台系统可扩展性学习笔记(二)权衡取舍后台系统可扩展性学习笔记(三)DNS机制原理后台系统可扩展性学习笔记(四)CDN机制原理后台系统可扩展性学习笔记(五)负载均衡后台系统可扩展性学习笔记(六)反向代理后台系统可扩展性学习笔记(七)Service Discovery与微服务后台系统可扩展性学习笔记(八)Ser
原创
发布博客 2022.04.14 ·
2478 阅读 ·
2 点赞 ·
0 评论

后台系统可扩展性学习笔记

整理了一下笔记目录,将以前学习的一些知识串联起来了,比如cdn、负载均衡、中间件,以前只是各自了解了一点内,现在大概理清了后台系统设计中他们各自的作用。后台系统可扩展性学习笔记(一)概要后台系统可扩展性学习笔记(二)权衡取舍后台系统可扩展性学习笔记(三)DNS机制原理后台系统可扩展性学习笔记(四)CDN机制原理后台系统可扩展性学习笔记(五)负载均衡后台系统可扩展性学习笔记(六)反向代理后台系统可扩展性学习笔记(七)Service Discovery与微服务后台系统可扩展性学习笔记(八)Se
原创
发布博客 2022.04.14 ·
0 阅读 ·
0 点赞 ·
0 评论

后台系统可扩展性学习笔记(十四)异步机制与MQ

对于 Web 服务而言,提升可扩展性的主要途径是将耗时的同步工作改成异步处理,从而允许将这些工作“外包”给多个 Worker 去做,或者提前完成能够预知的部分。异步机制与可扩展性之间的关系需要从(异步)并行处理的优势说起。串行、并发与并行可扩展性,意味着能通过向系统添加资源的方式应对不断增加的工作量。对于多个任务,一般有 3 种执行策略:串行:一个接一个地同步执行,总耗时为所有任务之和并发:多 CPU/多核并发执行,总耗时取决于最慢的任务耗时并行:异步并行执行,总耗时同样取决于最慢的任务耗时
原创
发布博客 2022.04.14 ·
51 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(十三)缓存

在哪儿加缓存缓存什么内容缓存原始查库结果缓存数据对象怎么查询缓存结果预留缓存模式直读模式直写模式回写式缓存绕写式缓存提前刷新模式缓存满了如何处理
原创
发布博客 2022.04.13 ·
602 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(十二)NoSQL

文章目录NoSQL定义NoSQL种类键值存储文档存储宽列存储图形数据库NoSQL 意味着什么ACID vs. BASESQL or NoSQLNoSQL定义不同于关系型数据库,NoSQL 数据库(也叫非 SQL 或非关系型数据库)提供的数据存储、检索机制并不是基于表关系建模的。没有了数据表,自然就没有了多表连查(join操作)的性能顾虑,范式约束和反范式化的抉择也就不复存在了。对于 NOSQL,另一种有趣的理解是 Not Only SQL,在关系型数据库之外的广阔世界里,数据不一定非要打平存放到二维表
原创
发布博客 2022.04.13 ·
107 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(十一)Database Denormalization

之前的两篇笔记中谈到了从单库扩展到多库以承载更多的请求量以及单库(表)拆分成多库(表),打破单库的性能瓶颈。这都是为了应对大数据量下的措施。然而,除却数据量外,还有一个极其影响单库性能的因素——数据的组织方式。对于关系型数据库,我们可以尝试在一定程度上改变数据的组织方式,即反范式化(Denormalization)关于范式可以参考以前做的笔记:《MySQL——数据表设计三大范式》设计范式相当于数据层的设计模式,对数据表进行解耦,使单表信息更加内聚,彼此边界分明,依赖关系更加清晰.试想,如果相
原创
发布博客 2022.04.12 ·
55 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(十)Database Partitioning

为了提升数据库的处理能力,我们把单库扩展成多库,并通过更新同步机制(即Replication)来保证多份数据的一致性。然而,在 各种复制方案下,每个数据库都持有一份完整数据,基于全量数据提供增删改查服务,单库的性能瓶颈仍然存在,并将成为限制系统扩展性的关键因素。单库性能瓶颈单机的硬件资源是有限的,因此单库的处理能力也是有限的:容量有限:数据量可能大到单库无法容纳性能有限:单库的读写性能同样受数据量影响,查询/更新越来越慢单靠加机器/加库显然无法直接解决单机/单库的性能问题,除非进一步打破库的边
原创
发布博客 2022.04.12 ·
106 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(九)Database Replication

文章目录数据库扩展一致性问题Replication (复制)异步复制同步复制半同步复制拓扑结构单主结构多主结构无主结构复制具体措施参考数据库扩展之前在第一章后台系统可扩展性学习笔记(一)概要谈到:理论上,有了可靠的负载均衡机制,我们就能将 1 台服务器轻松扩展到 n 台,然而,如果这 n 台机器仍然使用同一数据库的话,很快数据库就会成为系统的性能瓶颈和可靠性瓶颈,所以我们需要对于数据库进行扩展。纵向扩展:提升单机配置(硬盘、内存、CPU 等等),但同样会遭遇单机性能瓶颈横向扩展:增加机器,数量上从
原创
发布博客 2022.04.12 ·
80 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(八)Service Mesh

文章目录网络传输可靠性将微服务控制下沉到网络栈?Sidecar从 Sidecar 到 Service MeshService Mesh + 部署平台参考网络传输可靠性从计网的学习过程中我们可以知道数据在网络传输中可能会出现一些异常状况:数据丢失:数据包可能会到达一个缓冲区已经被塞满的路由器,接着被丢掉顺序出错:一组数据包可能会途径闲忙程度不同的多个路由器,出现不同程度的延迟,最后到达顺序会与发出时的顺序不一致这些丢包重发、顺序重组等控制机制已经由网络协议栈帮我们实现好了,使开发人员更加关注业务
原创
发布博客 2022.04.11 ·
721 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(七)Service Discovery与微服务

文章目录应用层参考应用层参考http://www.ayqy.net/blog/service-discovery/
原创
发布博客 2022.04.11 ·
2153 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(六)反向代理

文章目录Web代理服务反向代理反向代理作用Web代理服务Web 代理服务指的是在客户端资源请求和提供这些资源的 Web 服务之间充当中介的角色,代理服务可以实现在客户端,或者从客户端到目标服务器中间的任意环节。例如,客户端不直接向提供目标资源的 Web 服务发起请求,而是带上目标资源的完整 URL 去请求代理服务:GET http://en.wikipedia.org/wiki/Proxy_server HTTP/1.1Accept: text/html代理服务收到之后,(由代理服务来)请求指
原创
发布博客 2022.04.10 ·
250 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(五)负载均衡

文章目录Load balancer(负载均衡器)请求传输拆解DNS 负载均衡客户端负载均衡OSI 七层模型回顾2 层、3 层负载均衡3/4 层负载均衡7 层负载均衡在第一节谈到了系统的横向扩展在于从单机扩展到多机,那么面临的第一个问题就是这些机器如何协同工作,即如何调度请求?Load balancer(负载均衡器)多服务器下的请求调度机制称为负载均衡(Load balancing),调度器(Dispatcher)即负载均衡器(Load balancer):负载平衡器的基本功能是能够根据调度算法在
原创
发布博客 2022.04.10 ·
604 阅读 ·
1 点赞 ·
0 评论

后台系统可扩展性学习笔记(四)CDN机制原理

文章目录概念梳理CDN拓扑结构架构原理工作原理实现原理概念梳理CDN(Content Delivery Network,内容分发网络)是由分布在不同地理位置的代理服务器及其数据中心组成的网络,希望在空间距离上为用户就近提供服务,以提高可用性和性能。(空间距离体现在网络传输上就是跳数(hop),从客户端到服务器所经过的跳数越多,距离越远,一般延迟也越大)CDN 一般用来托管 Web 资源(包括文本、图像和脚本),可供下载的资源(媒体文件、软件、文档等),应用程序(电子商务、门户网站等),以及流媒体和社交
原创
发布博客 2022.04.09 ·
165 阅读 ·
2 点赞 ·
0 评论

后台系统可扩展性学习笔记(三)DNS机制原理

文章目录DNS概念梳理域名基本概念资源记录基本概念路由策略DNS 域空间结构DNS概念梳理DNS(Domain Name System)相当于互联网的通讯录,能够把域名翻译成 IP 地址。从技术角度来讲,DNS 是个层次型分布式数据库,加上一些既定协议,包括数据库的查询和更新机制、不同服务器间数据库信息的复制机制,以及数据库模式(Schema),除层次型数据库外,还有关系型数据库和网状数据库。DNS 源于互联网的早期,当时的互联网还是美国国防部(the United States Departmen
原创
发布博客 2022.04.09 ·
1340 阅读 ·
2 点赞 ·
0 评论
加载更多