- 博客(13)
- 收藏
- 关注
原创 centos下 docker阿里云镜像加速
1、注册阿里云账号(支付宝登录即可),访问如下网址,获取自己的镜像加速地址。https://cr.console.aliyun.com/cn-qingdao/mirrors2、修改docker配置文件vi /etc/sysconfig/docker在docker启动参数中添加镜像参数OPTIONS='--selinux-enabled --log-driver=journald...
2019-01-25 16:32:32
235
原创 rabbitmq用法(一)之基本用法
rabbitmq简介rabbitmq是一个消息队列,在生产者、消费者模式中充当broker的角色。它支持多种模式的消息转发策略,支持消息持久化,消息确认、重发,消息订阅等功能。在部署方面,rabit支持集群模式,可实现横向扩展,增加吞吐量。同时在集群上支持高可用策略,可对消息在不同的节点上做备份,防止单点故障导致消息丢失。rabit基本概念connection:每个客户端与rabbit...
2018-12-16 21:21:28
434
原创 innodb 锁
锁的类型:共享锁、排他锁、意向共享锁(表级别)、意向排他锁(表级别)锁的级别:行锁、间隙锁、next-key lock、表锁意向锁:当要加一个低级别的锁时,为了防止锁冲突(即其他事务在更高的级别建立了与当前锁不兼容的锁),需要从最高级别一步步向下加意向锁。如把数据库分为数据库、表、页、行的四级结构,则如果要加行所,需要先在对应的数据库、表、页上加意向锁。innodb的意向锁:innod...
2018-12-10 11:02:29
126
原创 python epoll
事件驱动模型事件驱动编程是一种网络编程范式,程序的执行流由外部事件来决定。它的特点是包含一个事件循环,程序可能关注多种事件,在事件循环中不断去轮询监控各种事件,如果某个事件发生,则调用该事件注册的回掉函数。影响事件驱动模型的两点轮询各种事件的效率:如果时间循环在查询某个事件时阻塞了,那么当其它事件到达时势必无法及时响应,影响性能。回掉函数的效率:如果回掉函数在处理某个事件时用时较长...
2018-12-05 19:26:54
725
原创 tornado源码分析(四)之future、gen.coroutine
future是什么在事件驱动编程模型中,会有很多的事件循环,各事件循环在创建异步事件时可以同时创建一个future对象,并将创建的异步事件与该future对象存储在一起,并将所有传入的callback回掉函数存入future中,当异步事件发生后,直接调用future的set_result函数,该函数会调用所有存在future中的回掉函数。所以future就代表某个时间循环的某个异步事件,它...
2018-12-05 18:37:01
1347
原创 tornado源码分析(三)之tcpserver
在tornado中要使用异步的特性,tcpserver要做的通用的工作1、创建一个socket、设置为非阻塞模式、在指定的端口监听2、将该socket添加至ioloop中,并设置回掉函数3、在回掉函数中accept客户端连接,并将创建的socket包装为iostream(这样可以更方便地用异步的方式读写socket)。tornado.tcpserver.TCPServer的作用...
2018-12-03 21:37:42
485
原创 tornado源码分析(二)之iostream
与ioloop直接交互时通用的过程需要读数据时:将socket添加至ioloop中,并设置回掉函数,在回掉函数中从socket中读取数据,并且检查是否接受到了足够的数据,如果没有接收完则需要保存当前的数据,直到读去完为止。需要写数据时:将socket添加至ioloop中,并设置回掉函数,在回掉函数中向socket写数据,如果数据比较多,则需要分多次去写。iostream的作用让各组...
2018-12-02 16:09:17
601
原创 tornado源码分析(一)之事件循环IOLoop
事件驱动编程是一种网络编程范式,这里程序的执行流由外部事件来决定。它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。另外两种常见的编程范式是(单线程)同步以及多线程编程。让我们用例子来比较和对比一下单线程、多线程以及事件驱动编程模型。下图展示了随着时间的推移,这三种模式下程序所做的工作。这个程序有3个任务需要完成,每个任务都在等待I/O操作时阻塞自身。阻塞在I/O操作上...
2018-12-02 14:44:29
2557
原创 递归问题
解决递归问题的核心如何将问题分解为两个同类型的但范围更小的子问题,如何合并两个子问题的结果,子问题在何时停止。划分问题时,可以划分为两个同等量级的,但范围更小的问题。也可以划分为一个最小量级的,和另个是该问题的补集的问题。举例求一个字符串所有可能的子串。如"abcd"的所有可能子串为['a', 'ab', 'abc', 'abcd', 'b', 'bc', 'bcd', 'c', ...
2018-12-01 10:08:27
161
原创 堆排序
与堆相关的数据结构最大堆的特点堆排序使用的是二叉堆中的最大堆,即:根节点大于所有的子节点,而左右子节点之间没有大小关系。二叉堆的构造:用一个一维数组存放即可,第i个节点的左右两个子节点分别在2*i, 2*i+1的位置。堆排序的思路二叉堆排序的思路:自底向上调整堆,使其满足最大堆的性质,此时根节点就是最大的元素。将根节点与最有一个节点交换之后,将1——n-1个元素看做一个新的...
2018-11-30 15:18:36
132
转载 RESTful API
参考:http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.htmlrestful api是一种基于http协议的api的设计规范,依照rest风格往往可以设计出语义清晰,扩展性良好的api。客户端发送的数据操作请求都由“动词+宾语”的格式组成,动词即http请求方法,宾语即url。动词表明要做的操作,宾语表名操...
2018-11-27 21:04:14
649
原创 TCP/IP http协议基本概念、原理
参考:https://www.cnblogs.com/lexus/archive/2012/02/21/2360944.html https://www.jianshu.com/p/c793a279f698 https://www.cnblogs.com/Jessy/p/3535612.html 计算机网络OSI模型:TCP/IP协议...
2018-11-21 03:22:14
3438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人