博客园 - bangerlee
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=660379
2021-04-11T14:15:18Z
bangerlee
https://www.cnblogs.com/bangerlee/
feed.cnblogs.com
https://www.cnblogs.com/bangerlee/p/11831833.html
谈算法与数据结构的学习 - bangerlee
算法与数据结构曾是我薄弱的一块,甚至产生过畏难情绪、一度怀疑自己是否能够掌握这方面技能。 18年8月,我下决心通过做LeetCode题目去理解常用算法和数据结构,并掌握它们的应用方法。 一年多的时间里,总共完成1,000+道题,为加深对不同算法的理解,部分题目用不同方式做了2~3遍。从刚开始刷简单题
2019-11-10T13:05:00Z
2019-11-10T13:05:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】算法与数据结构曾是我薄弱的一块,甚至产生过畏难情绪、一度怀疑自己是否能够掌握这方面技能。 18年8月,我下决心通过做LeetCode题目去理解常用算法和数据结构,并掌握它们的应用方法。 一年多的时间里,总共完成1,000+道题,为加深对不同算法的理解,部分题目用不同方式做了2~3遍。从刚开始刷简单题 <a href="https://www.cnblogs.com/bangerlee/p/11831833.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/11540393.html
算法与数据结构基础 - 图(Graph) - bangerlee
图基础 图(Graph)应用广泛,程序中可用邻接表和邻接矩阵表示图。依据不同维度,图可以分为有向图/无向图、有权图/无权图、连通图/非连通图、循环图/非循环图,有向图中的顶点具有入度/出度的概念。 面对图相关问题,第一步是将问题转为用图表示(邻接表/邻接矩阵),二是使用图相关算法求解。 相关Leet
2019-09-20T05:22:00Z
2019-09-20T05:22:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】图基础 图(Graph)应用广泛,程序中可用邻接表和邻接矩阵表示图。依据不同维度,图可以分为有向图/无向图、有权图/无权图、连通图/非连通图、循环图/非循环图,有向图中的顶点具有入度/出度的概念。 面对图相关问题,第一步是将问题转为用图表示(邻接表/邻接矩阵),二是使用图相关算法求解。 相关Leet <a href="https://www.cnblogs.com/bangerlee/p/11540393.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/11528692.html
算法与数据结构基础 - 递归(Recursion) - bangerlee
递归基础 递归(Recursion)是常见常用的算法,是DFS、分治法、回溯、二叉树遍历等方法的基础,典型的应用递归的问题有求阶乘、汉诺塔、斐波那契数列等,可视化过程。 应用递归算法一般分三步,一是定义基础条件(base case),二是改变状态、向基础条件转移,三是递归地调用自身。例如 LeetC
2019-09-17T07:03:00Z
2019-09-17T07:03:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】递归基础 递归(Recursion)是常见常用的算法,是DFS、分治法、回溯、二叉树遍历等方法的基础,典型的应用递归的问题有求阶乘、汉诺塔、斐波那契数列等,可视化过程。 应用递归算法一般分三步,一是定义基础条件(base case),二是改变状态、向基础条件转移,三是递归地调用自身。例如 LeetC <a href="https://www.cnblogs.com/bangerlee/p/11528692.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/11340292.html
算法与数据结构基础 - 分治法(Divide and Conquer) - bangerlee
分治法基础 分治法(Divide and Conquer)顾名思义,思想核心是将问题拆分为子问题,对子问题求解、最终合并结果,分治法用伪代码表示如下: 分治法简单而言分三步 Divide、Conquer、Combine,图示如下: 和动态规划、贪心等一样,分治法是一种算法思想,不是用于解决专门某类问
2019-08-13T05:11:00Z
2019-08-13T05:11:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】分治法基础 分治法(Divide and Conquer)顾名思义,思想核心是将问题拆分为子问题,对子问题求解、最终合并结果,分治法用伪代码表示如下: 分治法简单而言分三步 Divide、Conquer、Combine,图示如下: 和动态规划、贪心等一样,分治法是一种算法思想,不是用于解决专门某类问 <a href="https://www.cnblogs.com/bangerlee/p/11340292.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/10741038.html
算法与数据结构基础 - 合并查找(Union Find) - bangerlee
Union Find算法基础 Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将两个子集合并为一个子集 并查集是一种树形的数据结构,其可用数组或unordered_map表示: F
2019-04-20T07:14:00Z
2019-04-20T07:14:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】Union Find算法基础 Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将两个子集合并为一个子集 并查集是一种树形的数据结构,其可用数组或unordered_map表示: F <a href="https://www.cnblogs.com/bangerlee/p/10741038.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/6216997.html
分布式系统理论 - 从放弃到入门 - bangerlee
随承载用户数量的增加和容灾的需要,越来越多互联网后台系统从单机模式切换到分布式集群。回顾自己毕业五年来的工作内容,同样有这样的转变。 毕业头两年负责维护运行在刀片机上的业务,在机房里拔插单板的日子是我逝去的青春。设备之间通过VCS组成冷备,但即使有双机软件保护,宕机、网络丢包等问题发生时业务仍会受影
2016-12-31T18:45:00Z
2016-12-31T18:45:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】随承载用户数量的增加和容灾的需要,越来越多互联网后台系统从单机模式切换到分布式集群。回顾自己毕业五年来的工作内容,同样有这样的转变。 毕业头两年负责维护运行在刀片机上的业务,在机房里拔插单板的日子是我逝去的青春。设备之间通过VCS组成冷备,但即使有双机软件保护,宕机、网络丢包等问题发生时业务仍会受影 <a href="https://www.cnblogs.com/bangerlee/p/6216997.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/6189646.html
分布式系统理论进阶 - Paxos变种和优化 - bangerlee
引言 《分布式系统理论进阶 - Paxos》中我们了解了Basic Paxos、Multi Paxos的基本原理,但如果想把Paxos应用于工程实践,了解基本原理还不够。 有很多基于Paxos的优化,在保证一致性协议正确(safety)的前提下,减少Paxos决议通信步骤、避免单点故障、实现节点负载
2016-12-18T12:38:00Z
2016-12-18T12:38:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】引言 《分布式系统理论进阶 - Paxos》中我们了解了Basic Paxos、Multi Paxos的基本原理,但如果想把Paxos应用于工程实践,了解基本原理还不够。 有很多基于Paxos的优化,在保证一致性协议正确(safety)的前提下,减少Paxos决议通信步骤、避免单点故障、实现节点负载 <a href="https://www.cnblogs.com/bangerlee/p/6189646.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/5991417.html
分布式系统理论进阶 - Raft、Zab - bangerlee
引言 《分布式系统理论进阶 - Paxos》介绍了一致性协议Paxos,今天我们来学习另外两个常见的一致性协议——Raft和Zab。通过与Paxos对比,了解Raft和Zab的核心思想、加深对一致性协议的认识。 Raft Paxos偏向于理论、对如何应用到工程实践提及较少。理解的难度加上现实的骨感,
2016-10-26T13:50:00Z
2016-10-26T13:50:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】引言 《分布式系统理论进阶 - Paxos》介绍了一致性协议Paxos,今天我们来学习另外两个常见的一致性协议——Raft和Zab。通过与Paxos对比,了解Raft和Zab的核心思想、加深对一致性协议的认识。 Raft Paxos偏向于理论、对如何应用到工程实践提及较少。理解的难度加上现实的骨感, <a href="https://www.cnblogs.com/bangerlee/p/5991417.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/5767845.html
分布式系统理论基础 - 选举、多数派和租约 - bangerlee
选举(election)是分布式系统实践中常见的问题,通过打破节点间的对等关系,选得的leader(或叫master、coordinator)有助于实现事务原子性、提升决议效率。 多数派(quorum)的思路帮助我们在网络分化的情况下达成决议一致性,在leader选举的场景下帮助我们选出唯一lead
2016-08-21T13:11:00Z
2016-08-21T13:11:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】选举(election)是分布式系统实践中常见的问题,通过打破节点间的对等关系,选得的leader(或叫master、coordinator)有助于实现事务原子性、提升决议效率。 多数派(quorum)的思路帮助我们在网络分化的情况下达成决议一致性,在leader选举的场景下帮助我们选出唯一lead <a href="https://www.cnblogs.com/bangerlee/p/5767845.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/5655754.html
分布式系统理论进阶 - Paxos - bangerlee
引言 《分布式系统理论基础 - 一致性、2PC和3PC》一文介绍了一致性、达成一致性需要面临的各种问题以及2PC、3PC模型,Paxos协议在节点宕机恢复、消息无序或丢失、网络分化的场景下能保证决议的一致性,是被讨论最广泛的一致性协议。 Paxos协议同时又以其“艰深晦涩”著称,下面结合 Paxos
2016-07-12T15:22:00Z
2016-07-12T15:22:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】引言 《分布式系统理论基础 - 一致性、2PC和3PC》一文介绍了一致性、达成一致性需要面临的各种问题以及2PC、3PC模型,Paxos协议在节点宕机恢复、消息无序或丢失、网络分化的场景下能保证决议的一致性,是被讨论最广泛的一致性协议。 Paxos协议同时又以其“艰深晦涩”著称,下面结合 Paxos <a href="https://www.cnblogs.com/bangerlee/p/5655754.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/5448766.html
分布式系统理论基础 - 时间、时钟和事件顺序 - bangerlee
十六号…… 四月十六号。一九六零年四月十六号下午三点之前的一分钟你和我在一起,因为你我会记住这一分钟。从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。我明天会再来。 —— 《阿飞正传》 现实生活中时间是很重要的概念,时间可以记录事情发生的时刻、比较事情发生的先后顺序。分布式系统
2016-05-03T02:58:00Z
2016-05-03T02:58:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】十六号…… 四月十六号。一九六零年四月十六号下午三点之前的一分钟你和我在一起,因为你我会记住这一分钟。从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。我明天会再来。 —— 《阿飞正传》 现实生活中时间是很重要的概念,时间可以记录事情发生的时刻、比较事情发生的先后顺序。分布式系统 <a href="https://www.cnblogs.com/bangerlee/p/5448766.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/5328888.html
分布式系统理论基础 - CAP - bangerlee
引言 CAP是分布式系统、特别是分布式存储领域中被讨论最多的理论,“什么是CAP定理?”在Quora 分布式系统分类下排名 FAQ 的 No.1。CAP在程序员中也有较广的普及,它不仅仅是“C、A、P不能同时满足,最多只能3选2”,以下尝试综合各方观点,从发展历史、工程实践等角度讲述CAP理论。希望
2016-04-04T10:27:00Z
2016-04-04T10:27:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】引言 CAP是分布式系统、特别是分布式存储领域中被讨论最多的理论,“什么是CAP定理?”在Quora 分布式系统分类下排名 FAQ 的 No.1。CAP在程序员中也有较广的普及,它不仅仅是“C、A、P不能同时满足,最多只能3选2”,以下尝试综合各方观点,从发展历史、工程实践等角度讲述CAP理论。希望 <a href="https://www.cnblogs.com/bangerlee/p/5328888.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/4486429.html
RPC框架实现 - 通信协议篇 - bangerlee
RPC(Remote Procedure Call,远程过程调用)框架是分布式服务的基石,实现RPC框架需要考虑方方面面。其对业务隐藏了底层通信过程(TCP/UDP、打包/解包、序列化/反序列化),使上层专注于功能实现;框架层面,提供各类可选架构(多进程/多线程/协程);应对设备故障(高负载/死机)
2015-05-07T15:03:00Z
2015-05-07T15:03:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】RPC(Remote Procedure Call,远程过程调用)框架是分布式服务的基石,实现RPC框架需要考虑方方面面。其对业务隐藏了底层通信过程(TCP/UDP、打包/解包、序列化/反序列化),使上层专注于功能实现;框架层面,提供各类可选架构(多进程/多线程/协程);应对设备故障(高负载/死机) <a href="https://www.cnblogs.com/bangerlee/p/4486429.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/4427331.html
分布式服务协调员zookeeper - 应用场景和监控 - bangerlee
zookeeper在分布式系统中作为协调员的角色,可应用于Leader选举、分布式锁、配置管理等服务的实现。以下我们从zookeeper提供的API、应用场景和监控三方面学习和了解zookeeper(以下简称ZK)。 ZK API ZK以Unix文件系统树结构的形式管理存储的数据,图示如下: 其中每
2015-04-14T16:00:00Z
2015-04-14T16:00:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】zookeeper在分布式系统中作为协调员的角色,可应用于Leader选举、分布式锁、配置管理等服务的实现。以下我们从zookeeper提供的API、应用场景和监控三方面学习和了解zookeeper(以下简称ZK)。 ZK API ZK以Unix文件系统树结构的形式管理存储的数据,图示如下: 其中每 <a href="https://www.cnblogs.com/bangerlee/p/4427331.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/4307055.html
LSM Tree存储组织结构介绍 - bangerlee
LSM Tree(Log Structured Merge Trees)数据组织方式被应用于多种数据库,如LevelDB、HBase、Cassandra等,下面我们从为什么使用LSM tree、LSM tree的实现思路两方面介绍这种存储组织结构,完成对LSM tree的初步了解。 存储背景回顾 L
2015-03-01T13:16:00Z
2015-03-01T13:16:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】LSM Tree(Log Structured Merge Trees)数据组织方式被应用于多种数据库,如LevelDB、HBase、Cassandra等,下面我们从为什么使用LSM tree、LSM tree的实现思路两方面介绍这种存储组织结构,完成对LSM tree的初步了解。 存储背景回顾 L <a href="https://www.cnblogs.com/bangerlee/p/4307055.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/4003160.html
协程 及 libco 介绍 - bangerlee
libco 是腾讯开源的一个协程库,主要应用于微信后台RPC框架,下面我们从为什么使用协程、如何实现协程、libco使用等方面了解协程和libco。 why协程 为什么使用协程,我们先从server框架的实现说起,对于client-server的架构,server最简单的实现: while(1) {
2014-10-02T11:09:00Z
2014-10-02T11:09:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】libco 是腾讯开源的一个协程库,主要应用于微信后台RPC框架,下面我们从为什么使用协程、如何实现协程、libco使用等方面了解协程和libco。 why协程 为什么使用协程,我们先从server框架的实现说起,对于client-server的架构,server最简单的实现: while(1) { <a href="https://www.cnblogs.com/bangerlee/p/4003160.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/p/3537740.html
回顾2013——新的旅程 - bangerlee
2013年已经成为过去,这一年里实现了对自己的承诺, 1月份从w公司辞职,4月份进入q公司广州研发团队,成为a项目中的一名业务运维人员。个中有再找工作的迷茫、刚到新岗位时的不适应,也有工作中发现问题、解决问题的喜悦和伴随产品迅速成长的成就感。在此记录下2013年工作、学习经历的点滴,与大家分享。 新
2014-02-09T14:05:00Z
2014-02-09T14:05:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】2013年已经成为过去,这一年里实现了对自己的承诺, 1月份从w公司辞职,4月份进入q公司广州研发团队,成为a项目中的一名业务运维人员。个中有再找工作的迷茫、刚到新岗位时的不适应,也有工作中发现问题、解决问题的喜悦和伴随产品迅速成长的成就感。在此记录下2013年工作、学习经历的点滴,与大家分享。 新 <a href="https://www.cnblogs.com/bangerlee/p/3537740.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html
xss攻击入门 - bangerlee
xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。xss攻击可以分成两种类型:非持久型攻击持久型攻击下面我们通过具体例子...
2013-04-06T06:28:00Z
2013-04-06T06:28:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。xss攻击可以分成两种类型:非持久型攻击持久型攻击下面我们通过具体例子... <a href="https://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/archive/2013/02/27/2935422.html
9个常用iptables配置实例 - bangerlee
iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙、NAT。咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习iptables的详细用法。 1.删除已有规则 在新设定iptables规则时,我们一般先确保旧规则被清
2013-02-27T10:01:00Z
2013-02-27T10:01:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙、NAT。咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习iptables的详细用法。 1.删除已有规则 在新设定iptables规则时,我们一般先确保旧规则被清 <a href="https://www.cnblogs.com/bangerlee/archive/2013/02/27/2935422.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/bangerlee/archive/2012/12/30/2833123.html
回顾2012——运维工作周年祭 - bangerlee
2012年即将过去,从毕业到现在一年半时间,在w公司的维护岗位上也工作了整一年。这一年时间里,像大多数运维人员一样,每天24小时待命,也有半夜被叫起来处理问题的苦逼,但回望这一年维护工作,更多的是为能学到知识而感到欣喜。在此记录下2012年工作、学习经历的点滴,与大家分享。 问题终结者 先说一下这一
2012-12-30T10:59:00Z
2012-12-30T10:59:00Z
bangerlee
https://www.cnblogs.com/bangerlee/
【摘要】2012年即将过去,从毕业到现在一年半时间,在w公司的维护岗位上也工作了整一年。这一年时间里,像大多数运维人员一样,每天24小时待命,也有半夜被叫起来处理问题的苦逼,但回望这一年维护工作,更多的是为能学到知识而感到欣喜。在此记录下2012年工作、学习经历的点滴,与大家分享。 问题终结者 先说一下这一 <a href="https://www.cnblogs.com/bangerlee/archive/2012/12/30/2833123.html" target="_blank">阅读全文</a>