Persistencia de datos en Python https://podcast.jcea.es/python/9
Escucharme (Jesús Cea) es agotador.
¡Persistencia!
Participantes:
Eduardo Castro info@ecdesign.es.
Jesús Cea, email: jcea@jcea.es, twitter:@jcea, https://blog.jcea.es/,https://www.jcea.es/.
Sergio, desde Moaña.
Adrián, desde Vigo.
Juan Carlos, desde Bilbao.
Javier, desde Madrid.
Audio editado por Pablo Gómez, twitter:@julebek.
La música de la entrada y la salida es "Lightning Bugs", de JasonShaw. Publicada en https://audionautix.com/ con licencia- Creative Commons Attribution 4.0 InternationalLicense.
[00:52] Amplia comunidad tecnológica en Vigo.
[05:22] Contexto y estilo de las tertulias.
[08:52] Proyectos importantes e interesantes que pasandesapercibidos.
Apache Airflow: https://airflow.apache.org/.
Tryton: https://www.tryton.org/.
El mundo es muy grande...
[12:52] Antes de empezar un proyecto nuevo hay que investigar elestado del ecosistema.
[14:12] La mayoría de las charlas Python se centran en libreríasconcretas.
A mí me interesa el lenguaje concreto o técnicas útiles paracualquier programador Python.
[16:37] ¿Compatibilidad hacia atrás? Poner límites a lacompatibilidad, por salud mental.
La compatibilidad hacia atrás te limita a la hora de adoptarnovedades en el lenguaje o hacer limpieza en el código.
Soportar solo las versiones soportadas de Python.
[23:22] ¿Qué pasa si la versión nueva de la librería solo funcionaen Python 3 pero la está instalando en Python 2?
PIP no permite imprimir nada en pantalla, a menos que sea un error.
Las versiones modernas de PIP permiten especificar la compatibilidad con versiones de Python.
[27:52] Interfaces de usuario en Python.
wxWidgets: https://wxwidgets.org/.
Kivi: https://kivy.org/.
Usar directamente HTML/JS/CSS con un microservidor en127.0.0.1. Una ventaja adicional es que permite el accesoremoto.
[31:40] Compilar y distribuir módulos binarios Python para MSWindows.
¿Por qué nadie ha sacado un generador de instaladoresmutiplataforma? Poder generar un instalador para MS Windows desdeLinux?
¿Algún servicio al que mandas código fuente y te devuelva unaversión compilada para MS Windows?
[38:32] ¡Persistencia!
Persistencia de objetos nativos de Python comparado con losORM. Adaptación de impedancias entre lenguajes: Python/SQL.
Ecosistemas pequeños.
Migración de versiones.
[56:22] Nuevo "resolver" de PIP:https://pyfound.blogspot.com/2020/11/pip-20-3-new-resolver.html.
[01:00:52] Diferencia entre "file.readlines()" y"string.splitlines()".
JSON no mola.
[01:12:07] ¿Ya habeis migrado a Python 3.9? Mejoras.
¿Cual es la versión más antigua que estáis usando?. Python 3.6es la versión más antigua aún soportado. "Async" pasó a ser unapalabra reservada.
Mantener la compatibilidad impide usar las novedades dellenguaje, por ejemplo, f-strings o "dataclasses"https://docs.python.org/3/library/dataclasses.html.
Paquete externo "dataclasses" para versiones antiguas dePython: https://pypi.org/project/dataclasses/.
[01:19:12] Cacheo de números -5..256.
En CPython los destructores se invocan inmediatamente.
Deuda técnica que hay que pagarla... o no.
[01:21:42] Volvemos a persistencia / SQL. Abstracciones.
¿Qué pasa cuando actualizas Python?
Actualizaciones de tu programa. Migraciones.
[01:34:52] Profundizamos en cómo funciona la persistencia.
[01:48:17] Profiling de memoria.
memory-profiler https://pypi.org/project/memory-profiler/.
tracemallochttps://docs.python.org/3/library/tracemalloc.html.
Algunos trucos para ayudar, por ejemplo, etiquetar lasestructura de datos.
Manhole: https://pypi.org/project/manhole/.
Volcar la memoria de un proceso sin matar el proceso: gcorehttps://www.linux.org/docs/man1/gcore.html.
Top 5 Python Memory Profilershttps://stackify.com/top-5-python-memory-profilers/.
[01:59:22] Cierre de la tertulia y administratrivia.
[02:03:37] Arggg, ¡otra vez persistencia! ¡Menudo rollo!
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More