摘要: 一般来说,我们总是希望数据传输的更快一些,但如果发送方把数据发送的过快,接收方就可能来不及接收,就会造成数据丢失。 所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 TCP接收方利用自己的接收窗口的大小来限制发送方 阅读全文
posted @ 2020-04-25 19:38 Andy冉明 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 在某段时间,若对网络中某以资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。这种情况就叫做拥塞。(在计算机网络中的链路容量(即带宽),交换节点中的缓存和处理机等,都是网络资源) 若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。 发送方维护一个叫做拥塞窗口cwnd的状态变量 阅读全文
posted @ 2020-04-25 19:37 Andy冉明 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Nginx底层是用的什么,是IO多路复用,是Epoll。 Redis底层是用的什么,是IO多路复用,是Epoll。 Python的tornado框架底层是用的什么,是IO多路复用,是Epoll。 要理解什么是IO多路复用,什么是Epoll?就要先说什么是IO,计算机底层的IO是怎样实现的。 先说计算 阅读全文
posted @ 2020-04-25 16:35 Andy冉明 阅读(448) 评论(1) 推荐(1) 编辑
摘要: 写在前面的话: 这是一个优秀的财经接口包,博主平时工作中也有使用,觉得很好,现在分享一些使用心得给需要的人,tushare并不是一个炒股软件,只是一个提供pandas数据的工具,具体如何使用,因人而异。 简介 Tushare是一个免费、开源的python财经数据接口包,可以大大减轻使用者在数据获取方 阅读全文
posted @ 2018-10-18 17:56 Andy冉明 阅读(1283) 评论(0) 推荐(0) 编辑
摘要: 解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 下面是一个解释器模式的demo: 上面类的设计如下图: 当有一个语言需要执行,并且可以将该语言的句子表示为抽象语法树时,可使用解释器模式 作者:An 阅读全文
posted @ 2017-12-12 17:37 Andy冉明 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象. 下面是一个享元模式的demo: 上面类的设计如下图: 享元模式可以避免大量非常相似类的开销,在程序设计中,有时会生成大量细粒度的类实例来表示数据,如果这些实例除了几个参数外基本相同,就可以把参数已到实例外面,在 阅读全文
posted @ 2017-11-30 16:13 Andy冉明 阅读(1408) 评论(0) 推荐(0) 编辑
摘要: 中介者模式(Mediator Pattern):用一个对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使耦合松散,而且可以独立地改变它们之间的交互. 下面是一个中介者模式的demo: 上面类的设计如下图: 由于把对象如何协作进行了抽象,将中介作为一个独立的概念并将其封装在一个独立 阅读全文
posted @ 2017-11-29 10:17 Andy冉明 阅读(1091) 评论(0) 推荐(0) 编辑
摘要: 职责链模式(Chain Of Responsibility):使多个对象都有机会处理请求,从而避免发送者和接收者的耦合关系。将对象连成链并沿着这条链传递请求直到被处理 下面是一个设计模式的demo: 上面类的设计如下图: 接收者和发送者都没有对方的明确信息,且链中的对象自己并不知道链的结构,职责链可 阅读全文
posted @ 2017-11-28 17:04 Andy冉明 阅读(957) 评论(0) 推荐(0) 编辑
摘要: 命令模式(Command Pattern):将请求封装成对象,从而使可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作. 下面是一个命令模式的demo: 上面类的设计如下图: 优点: 可以较容易的设计一个命令队列 可以较容易的将命令记入日志 允许接收请求的一方决定是否要否 阅读全文
posted @ 2017-11-24 15:54 Andy冉明 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化. 下面是一个桥接模式的demo: 上面类的设计如下图 桥接模式的核心意图就是把类的实现独立出来,让他们各自变化。这样使每种实现的变化不会影响其他实现,从而达到应对变化的目的 作者:Andy 出处:http 阅读全文
posted @ 2017-11-23 10:20 Andy冉明 阅读(577) 评论(0) 推荐(0) 编辑