Python en español #9: Tertulia 2020-12-01

Persistencia de datos en Python https://podcast.jcea.es/python/9 Escucharme (Jesús Cea) es agotador. ¡Persistencia! Participantes: Eduardo Castro [email protected]. Jesús Cea, email: [email protected], 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 Jason Shaw. Publicada en https://audionautix.com/ con licencia - Creative Commons Attribution 4.0 International License. [00:52] Amplia comunidad tecnológica en Vigo. [05:22] Contexto y estilo de las tertulias. [08:52] Proyectos importantes e interesantes que pasan desapercibidos. 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 el estado del ecosistema. [14:12] La mayoría de las charlas Python se centran en librerías concretas. A mí me interesa el lenguaje concreto o técnicas útiles para cualquier programador Python. [16:37] ¿Compatibilidad hacia atrás? Poner límites a la compatibilidad, por salud mental. La compatibilidad hacia atrás te limita a la hora de adoptar novedades 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 funciona en 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 en 127.0.0.1. Una ventaja adicional es que permite el acceso remoto. [31:40] Compilar y distribuir módulos binarios Python para MS Windows. ¿Por qué nadie ha sacado un generador de instaladores mutiplataforma? Poder generar un instalador para MS Windows desde Linux? ¿Algún servicio al que mandas código fuente y te devuelva una versión compilada para MS Windows? [38:32] ¡Persistencia! Persistencia de objetos nativos de Python comparado con los ORM. Adaptación de impedancias entre lenguajes: Python/SQL. ZODB: http://www.zodb.org/en/latest/. Durus: https://www.mems-exchange.org/software/DurusWorks/. 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()". CBOR: https://tools.ietf.org/html/rfc7049. 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.6 es la versión más antigua aún soportado. "Async" pasó a ser una palabra reservada. Mantener la compatibilidad impide usar las novedades del lenguaje, por ejemplo, f-strings o "dataclasses" https://docs.python.org/3/library/dataclasses.html. Paquete externo "dataclasses" para versiones antiguas de Python: 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/. tracemalloc https://docs.python.org/3/library/tracemalloc.html. Algunos trucos para ayudar, por ejemplo, etiquetar las estructura de datos. Manhole: https://pypi.org/project/manhole/. Volcar la memoria de un proceso sin matar el proceso: gcore https://www.linux.org/docs/man1/gcore.html. Top 5 Python Memory Profilers https://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! Pyramid https://trypyramid.com/. ZODB: http://www.zodb.org/en/latest/. Durus: https://www.mems-exchange.org/software/DurusWorks/.

Om Podcasten

Python en español.