1. Introducción a Twisted
Introducción a Twisted
Esteve Fernández <esteve@fluidinfo.com>
Enero 2009 – Python Barcelona
2. Twisted
Escrito en Python
Framework de desarrollo (de red)
Asíncrono
Protocolos: HTTP, FTP, SSH, etc.
Alto rendimiento
Separación entre lógica, protocolos y
transportes
Usuarios: Google, NASA, Flumotion, Fluidinfo y
muchos más
11. Factories
Crean instancias de los protocolos
Mantienen información compartida
Ejemplos:
Inicialización BD
Funciones comunes a todos los protocolos
12. Trial
Test de código con Deferreds:
from twisted.trial import unittest
from twisted.internet import reactor
class FooTestCase(unittest.TestCase):
def testAlgo(self):
d = defer.Deferred()
d.addCallback(self.assertEquals,
"Ok")
reactor.callLater(d.callback, "Ok")
return d
13. Interfaces ZOPE
Composición vs herencia
Adaptadores
Decoradores (patrón) que adaptan un interfaz a
otro
Registro de componentes (Twisted)
from twisted.python import components
components.registerAdaptor(Adaptador,
IOrigen, IDestino