Python aprieta, pero no ahoga
Autor: Jesús Cea & Otros - Contacto: python2021@podcast.jcea.es
Fecha de grabación: 2021/01/12 - Duración: 02:15:21
Fecha de publicación: 2021/05/09
Palabras clave: Tertulia
Descarga el audio: M4A (33415053 bytes) - OPUS (16888657 bytes)
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Conectando desde Madrid.
Víctor Ramírez, twitter: @virako, programador python y amante de vim, conectando desde Huelva.
Miguel Sánchez, email: msanchez@uninet.edu, conectando desde Canarias.
José Luis, conectando desde Madrid.
Eduardo Castro, email: info@ecdesign.es. Conectando desde A Guarda.
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.
Las listas de Numpy https://numpy.scipy.org/ no son como las listas de Python.
statistics: https://docs.python.org/3/library/statistics.html
Hacer scraping web sin usar Scrapy https://scrapy.org/.
¿Cuánto ocupa ese objeto en memoria?
Se oculta la complejidad, se trabaja a más alto nivel.
Ineficiencia.
Ventajas de tener servidores dedicados.
¿Y los backups?
Contenedores Solaris: https://en.wikipedia.org/wiki/Solaris_Containers.
Hipervisor: https://es.wikipedia.org/wiki/Hipervisor.
Ansible: https://es.wikipedia.org/wiki/Ansible_(software).
Una utilidad de los tests es enseñarte cómo usar un proyecto. A veces la documentación formal es muy mala.
pytest: https://docs.pytest.org/en/6.2.x/.
Problemas con la licencia.
Imposible ponerse en contacto con sus autores originales.
¿Hacer un fork hostil? https://es.wikipedia.org/wiki/Bifurcaci%C3%B3n_(desarrollo_de_software).
Por defecto, almacenamiento "cutre" en un fichero.
RelStorage: https://pypi.org/project/RelStorage/.
Jesús Cea: Berkeley DB Backend Storage Engine for DURUS: https://www.jcea.es/programacion/durus-berkeleydbstorage.htm.
Berkeley DB: https://es.wikipedia.org/wiki/Berkeley_DB.
Durabilidad regulable.
Group Committing.
Jesús Cea: Berkeley DB Backend Storage Engine for DURUS: https://www.jcea.es/programacion/durus-berkeleydbstorage.htm.
Versionado objeto por objeto. Se actualiza al ir cargando objetos durante el funcionamiento normal.
Versión de la base de datos. Migración de todos los objetos al arrancar el programa.
La migración es algo que no se explica nunca lo suficiente en la documentación.
Tutorial de Python en español: https://docs.python.org/es/3/tutorial/index.html.
Tutoriales progresivos.
La mayoría de las charlas son "introducción a ...". No aportan mucho.
Las mejores charlas son los postmortem.
Pegas, pero desde un punto de vista constructivo y realista.
Es más interesante conocer los puntos débiles.
Kaleidos: https://kaleidos.net/.
Meetup Python Madrid: https://www.meetup.com/python-madrid/.
Nostalgia de los "buenos tiempos".
Networking entre personas.
super()
https://docs.python.org/3/library/functions.html#super.
Tema recurrente.
What Color is Your Function? https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/.
Go: https://golang.org/.
Corrutina: https://es.wikipedia.org/wiki/Corrutina.
CSP: https://en.wikipedia.org/wiki/Communicating_sequential_processes.
La implementación actual en Python no es transparente, "colorea" todo el programa.
Documentación: https://github.com/stackless-dev/stackless/wiki.
¿Por qué no se integró en CPython? Portabilidad.
Logotipo de Python Madrid: https://www.python-madrid.es/.
Condiciones de uso del logo de Python: https://www.python.org/community/logos/.
"Closures".
Respuestas "de nivel" en las listas de correo cuando la pregunta es interesante.
Versionado de diccionarios.
Cacheo de "lookups" en la implementación actual de Python.
Mercurial de Jesús Cea: http://hg.jcea.es/.
El código publicado no es bueno. Personal. Hago lo mínimo para que funcione.
No hay test, por practicidad.
El código pagado no se puede enseñar.
Solo puede enseñar código el que tiene tiempo para programar código abierto, por ejemplo, gente joven sin cargas familiares.
Ideas interesantes, código regulero.
Tener claros los "puntos de dolor".
Hacer lo mínimo imprescindible.
Máquinas limitadas como la Raspberry PI: https://es.wikipedia.org/wiki/Raspberry_Pi.
Recibir notificaciones de cambios en el disco duro: Watchman: https://github.com/facebook/watchman.
Entrega de valor constante e incremental.
Metodologías ágiles.
El cliente nunca tiene tiempo para probar las entregas.
Issue35930: Raising an exception raised in a "future" instance will create reference cycles https://bugs.python.org/issue35930.
Temas de estilo.