摘要:
IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作。大体上可以这么说,当连接建立后,服务端与客户端的请求响应都是基于IOStream的,也就是说:IOStream是用来处理连接的。 接下来说一下有关接收请求的大体流程: 当连接建立,服务器端会产生一个对应 阅读全文
摘要:
IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作。大体上可以这么说,当连接建立后,服务端与客户端的请求响应都是基于IOStream的,也就是说:IOStream是用来处理连接的。 接下来说一下有关接收请求的大体流程: 当连接建立,服务器端会产生一个对应 阅读全文
摘要:
tornado使用了单进程(当然也可以多进程) + 协程 + I/O多路复用的机制,解决了C10K中因为过多的线程(进程)的上下文切换 而导致的cpu资源的浪费。 tornado中的I/O多路复用前面已经讲过了。本文不做详细解释。 来看一下tornado中的协程模块:tornado.gen: tor 阅读全文
摘要:
本文所剖析的tornado源码版本为4.4.2 ioloop是tornado的关键,是他的最底层。 ioloop就是对I/O多路复用的封装,它实现了一个单例,将这个单例保存在IOLoop._instance中 ioloop实现了Reactor模型,将所有要处理的I/O事件注册到一个中心I/O多路复用 阅读全文
摘要:
Configurable十分重要! 位于tornado.util文件中,它是一个工厂类。 我们暂且称这个类为 配置类 。 我们暂且约定:该类的子类称之为 直属配置子类 , 该类的孙类、重孙类……称之为 从属配置子类。就像这样: class Configurable(object): # 配置类 pa 阅读全文
摘要:
本文是在阅读了Aaron艾伦的jQuery源码解析(地址:http://www.imooc.com/learn/172)后的个人体会以及笔记。在这里感谢艾伦老师深入浅出的讲解!! 1 什么是链式? 先来段代码: $('#level > a').click(function(){ $(this).ad 阅读全文
摘要:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/4/28 16:41 # @Author : MnCu # @Site : # @File : fbnq.py # @Software: PyCharm # 一对兔子从出生到可繁殖需两个月,然后每月都能繁殖一对兔子,问n月后共有多少兔子 def fbn... 阅读全文
摘要:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/4/10 19:03 # @Author : MnCu # @Site : # @File : start.py # @Software: PyCharm import socket import asyncio.coroutines from torn... 阅读全文
摘要:
先啥也不说:来张效果图 我是根据:http://www.imooc.com/learn/133 这里的课程进行学习的。大大的感谢liuyubobobo老师的深入浅出的讲解!! 我在这里仅仅提供我自己的代码和整体思路。 我的思路: 1 我们需要创建一个名为Ball的构造函数,每一个小球都是该构造函数的 阅读全文
摘要:
说起面向对象,大部分程序员首先会想到 类 。通过类可以创建许多具有共同属性以及方法的实例或者说对象。但是JavaScript并没有类的概念,而且在JavaScript中几乎一切皆对象,问题来了,JavaScript中如何面向对象? JavaScript中将对象定义为:一组无序的 键值对的集合,属性以 阅读全文
摘要:
本文转自:http://www.xiabingbao.com/jquery/2015/05/30/jquery-extend 原文的排版要比这里美观很多,建议去原文查看。本文仅仅作为个人的mark,方便自己。 通常我们使用jquery的extend时,大都是为了实现默认字段的覆盖,即若传入某个字段的 阅读全文
|