Python en el mundo real
Facundo
Batista
Foto: Creativity+ Timothy K Hamilton (http://www.flickr.com/photos/22017189@N00/60842961/)
¿En el mundo real?
I Algunos proyectos hechos en Python
I En qué framework o lib importante nos apoyamos
I Obviamente, además usamos la Biblioteca Estándar
I Público usuario del sistema
I Complejidad desde distintos puntos de vista
I Ventaja de usar Python en el proyecto
I Inconvenientes encontrados
I Por haber usado Python
I O por el tipo de proyecto en sí
.
.
.
.Python en el mundo real
. .2 / 39
w3af-gui
Web Application Attack
and Audit Framework
w3af-gui
I Biblioteca: pygtk, w3af
I Público: usuario final con un nivel técnico; aplicación de escritorio
I Complejidad: usabilidad; robustez; portabilidad
I Ventaja: prototipado => calidad final
I Dificultad: pygtk y threading en Linux y Windows; usabilidad
.
.
.
.Python en el mundo real
. .10 / 39
NCBS
New Cyclelogic Billing System
NCBS
I Biblioteca: ninguna
I Público: otros sistemas vía HTTP
I Complejidad: velocidad; seguridad; robustez; escalabilidad
I Ventaja: simplicidad => seguridad/robustez; reacción ante cambios
I Dificultad: file descriptors por threading/gc; throttling
.
.
.
.Python en el mundo real
. .13 / 39
Cliente de
Ubuntu One
(Sync Daemon)
Sync Daemon
I Biblioteca: twisted; pyinotify
I Público: usuario final; centenares de miles (¡millones!); distribuido en
todos los ubuntus
I Complejidad: seguridad; robustez; sin sorpresas
I Ventaja: tiempo de desarrollo
I Dificultad: integración con Nautilus (tuvo que ser en C), supervisar
filesystem y apps
.
.
.
.Python en el mundo real
. .20 / 39
Server de
Ubuntu One
(File Storage)
File Storage Server de Ubuntu One
I Biblioteca: twisted; storm
I Público: usuarios del cliente
I Complejidad: velocidad; seguridad; escalabilidad
I Ventaja: tiempo de desarrollo
I Dificultad: procesamiento multiserver
.
.
.
.Python en el mundo real
. .22 / 39
CDPedia
CDPedia
I Biblioteca: ninguna
I Público: usuario final; distribución física
I Complejidad: procesamiento de datos; facilidad de uso; portabilidad
I Ventaja: portabilidad
I Dificultad: índice; compresión de datos
.
.
.
.Python en el mundo real
. .25 / 39
Typus Pocus
Typus Pocus
I Biblioteca: pygame
I Público: final
I Complejidad: facilidad de uso; portabilidad;
I Ventaja: en 7 días!
I Dificultad: jugabilidad
.
.
.
.Python en el mundo real
. .30 / 39
SACLLA
Sistema de Armado y
Clasificación de LLAmadas
SACLLA
I Biblioteca: MySQLdb
I Público: admin
I Complejidad: velocidad; procesamiento de datos; escalabilidad;
robustez
I Ventaja: adaptabilidad
I Dificultad: uptime crítico; no specs
.
.
.
.Python en el mundo real
. .33 / 39
Conclusiones
Conclusiones
I No es la herramienta ideal para todos los casos
I Es suficiente la mayor parte del tiempo
I Es la mejor para prototipar, y entender el problema
I ”Premature optimization is the root of all evil” (Donald Knuth)
I Hay que usar Python
I Pero siempre hay que saber C (aunque no lo usemos)
I Y sus bibliotecas, incluídas o no
I ¡No reinventar la rueda!
.
.
.
.Python en el mundo real
. .37 / 39
¡Muchas gracias!
¿Preguntas?
¿Sugerencias?
Facundo Batista
[email protected]
http://www.taniquetil.com.ar
Licencia: Creative Commons
Atribución-NoComercial-CompartirDerivadasIgual 2.5 Argentina
http://creativecommons.org/licenses/by-nc-sa/2.5/deed.es_AR
.
.
.Python en el mundo real
. .38 / 39
.
Comentarios de: Python en el mundo real (0)
No hay comentarios