Python en español #15: Tertulia 2021-01-12
Description
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.
<timestamp compact="1" offset="52" ts="97">[01:37 ]<topic> Reducir dependencias en los proyectos.</topic></timestamp>
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/.
- Beautiful Soup:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/.
- Beautiful Soup:
<timestamp compact="1" offset="52" ts="352">[05:52 ]<topic> Usar librerías hace que no sepas cómo funcionan las
cosas.</topic></timestamp>¿Cuánto ocupa ese objeto en memoria?
Se oculta la complejidad, se trabaja a más alto nivel.
Ineficiencia.
<timestamp compact="1" offset="52" ts="592">[09:52 ]<topic> La "nube" te factura toda esa ineficiencia.</topic></timestamp>
Ventajas de tener servidores dedicados.
¿Y los backups?
ZFS
https://es.wikipedia.org/wiki/ZFS_(sistema_de_archivos).rsync: https://es.wikipedia.org/wiki/Rsync.
Contenedores Solaris:
https://en.wikipedia.org/wiki/Solaris_Containers.Docker: https://es.wikipedia.org/wiki/Docker_(software).
Hipervisor: https://es.wikipedia.org/wiki/Hipervisor.
- SmartOS: https://es.wikipedia.org/wiki/SmartOS.
Ansible: https://es.wikipedia.org/wiki/Ansible_(software).
- Evitar las configuraciones manuales a toda costa.
<timestamp compact="1" offset="52" ts="982">[16:22 ]<topic> Delegar en la magia hace que no sepas cómo funcionan las
cosas, pero también te permite ocuparte de problemas de más alto
nivel.</topic></timestamp>- Entender los pros y contras. Decisión informada.
<timestamp compact="1" offset="52" ts="1127">[18:47 ]<topic> doctest
https://docs.python.org/3/library/doctest.html.</topic></timestamp>Una utilidad de los tests es enseñarte cómo usar un
proyecto. A veces la documentación formal es muy mala.- Tutoriales.
unittest: https://docs.python.org/3/library/unittest.html.
pytest: https://docs.pytest.org/en/6.2.x/.
<timestamp compact="1" offset="52" ts="1362">[22:42 ]<topic> ZODB https://zodb.org/en/latest/.</topic></timestamp>
<timestamp compact="1" offset="52" ts="1400">[23:20 ]<topic> Jesús Cea se plantea mantener Durus
https://www.mems-exchange.org/software/DurusWorks/ por su
cuenta.</topic></timestamp>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).
<timestamp compact="1" offset="52" ts="1557">[25:57 ]<topic> Problemas para conectar la persistencia tradicional con
el nuevo paradigma asíncrono.</topic></timestamp><timestamp compact="1" offset="52" ts="1617">[26:57 ]<topic> La persistencia tiene un sistema de almacenamiento
concreto configurable:</topic></timestamp>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.
<timestamp compact="1" offset="52" ts="1792">[29:52 ]<topic> Más de lo que nunca quisiste saber sobre Group Committing.</topic></timestamp>
<timestamp compact="1" offset="52" ts="1972">[32:52 ]<topic> Persistencia y Durus.</topic></timestamp>
Jesús Cea: Berkeley DB Backend Storage Engine for DURUS:
https://www.jcea.es/programacion/durus-berkeleydbstorage.htm.- Tal vez portarlo a ZODB https://zodb.org/en/latest/.
<timestamp compact="1" offset="52" ts="2092">[34:52 ]<topic> Persistencia y versionado de objetos.</topic></timestamp>
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.- Rompe el encapsulamiento de objetos.
La migración es algo que no se explica nunca lo suficiente
en la documentación.
<timestamp compact="1" offset="52" ts="2872">[47:52 ]<topic> La mayoría de los tutoriales son demasiado simples.</topic></timestamp>
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.
<timestamp compact="1" offset="52" ts="3117">[51:57 ]<topic> Un motivo para no tener temáticas cerradas en las
tertulias es que es difícil que los intereses de dos expertos se
solapen.</topic></timestamp><timestamp compact="1" offset="52" ts="3342">[55:42 ]<topic> El tema legal habitual sobre grabar los audios de las
tertulias.</topic></timestamp><timestamp compact="1" offset="52" ts="3457">[57:37 ]<topic> Python Madrid.</topic></timestamp>
Kaleidos: https://kaleidos.net/.
Meetup Python Madrid:
https://www.meetup.com/python-madrid/.Nostalgia de los "buenos tiempos".
Networking entre personas.
<timestamp compact="0" offset="52" ts="4192">[01:09:52 ]<topic>
super()
https://docs.python.org/3/library/functions.html#super.</topic></timestamp><timestamp compact="0" offset="52" ts="4277">[01:11:17 ]<topic> Operador Morsa.</topic></timestamp>
PEP 572: https://www.python.org/dev/peps/pep-0572/.
Tema recurrente.
<timestamp compact="0" offset="52" ts="4422">[01:13:42 ]<topic> La sintaxis de Python cada vez se complica más.</topic></timestamp>
<timestamp compact="0" offset="52" ts="4557">[01:15:57 ]<topic> Guido van Rossum s