Python en español

Python en español #15: Tertulia 2021-01-12


Listen Later

Python aprieta, pero no ahoga https://podcast.jcea.es/python/15

Participantes:

  • Jesús Cea, email: [email protected], 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:

    [email protected], conectando desde
    Canarias.

  • José Luis, conectando desde Madrid.

  • Eduardo Castro, email:

    [email protected]. 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.

    • [01:37] Reducir dependencias en los proyectos.

      • 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/.
        • [05:52] Usar librerías hace que no sepas cómo funcionan las

          cosas.

          • ¿Cuánto ocupa ese objeto en memoria?

          • Se oculta la complejidad, se trabaja a más alto nivel.

          • Ineficiencia.

          • [09:52] La "nube" te factura toda esa ineficiencia.

            • 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.
                  • [16:22] 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.

                    • Entender los pros y contras. Decisión informada.
                    • [18:47] doctest

                      https://docs.python.org/3/library/doctest.html.

                      • 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/.

                        • [22:42] ZODB https://zodb.org/en/latest/.

                        • [23:20] Jesús Cea se plantea mantener Durus

                          https://www.mems-exchange.org/software/DurusWorks/ por su
                          cuenta.

                          • 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).

                          • [25:57] Problemas para conectar la persistencia tradicional con

                            el nuevo paradigma asíncrono.

                          • [26:57] La persistencia tiene un sistema de almacenamiento

                            concreto configurable:

                            • 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.

                                • [29:52] Más de lo que nunca quisiste saber sobre Group Committing.

                                • [32:52] Persistencia y Durus.

                                  • 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/.
                                    • [34:52] Persistencia y versionado de objetos.

                                      • 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.

                                        • [47:52] La mayoría de los tutoriales son demasiado simples.

                                          • 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.

                                            • [51:57] Un motivo para no tener temáticas cerradas en las

                                              tertulias es que es difícil que los intereses de dos expertos se
                                              solapen.

                                            • [55:42] El tema legal habitual sobre grabar los audios de las

                                              tertulias.

                                            • [57:37] Python Madrid.

                                              • Kaleidos: https://kaleidos.net/.

                                              • Meetup Python Madrid:

                                                https://www.meetup.com/python-madrid/.

                                              • Nostalgia de los "buenos tiempos".

                                              • Networking entre personas.

                                              • [01:09:52] super()

                                                https://docs.python.org/3/library/functions.html#super.

                                              • [01:11:17] Operador Morsa.

                                                • PEP 572: https://www.python.org/dev/peps/pep-0572/.

                                                • Tema recurrente.

                                                • [01:13:42] La sintaxis de Python cada vez se complica más.

                                                • [01:15:57] Guido van Rossum sigue muy activo como "core

                                                  developer": https://es.wikipedia.org/wiki/Guido_van_Rossum.

                                                • [01:16:22] Funciones lambda.

                                                  • Closures: https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica).
                                                  • [01:21:12] Función universal que se comporta de forma diferente

                                                    dependiendo de si se llama de forma síncrona o asíncrona.

                                                    • 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.

                                                    • [01:30:17] Stackless Python:

                                                      https://en.wikipedia.org/wiki/Stackless_Python.

                                                      • Documentación:

                                                        https://github.com/stackless-dev/stackless/wiki.

                                                      • ¿Por qué no se integró en CPython? Portabilidad.

                                                      • [01:37:07] Licencia del logotipo de Python.

                                                        • Logotipo de Python Madrid: https://www.python-madrid.es/.

                                                        • Condiciones de uso del logo de Python:

                                                          https://www.python.org/community/logos/.

                                                        • [01:40:44] Repesca de temas de tertulias anteriores:

                                                          • "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.

                                                          • [01:46:12] Nuestra relación con PEP 8

                                                            https://www.python.org/dev/peps/pep-0008/.

                                                            • Jesús Cea: Problemas por ser un dinosaurio y por programar
                                                            • en varios lenguajes diferentes.
                                                            • [01:47:12] Jesús Cea y código abierto:

                                                              • Mercurial de Jesús Cea: http://hg.jcea.es/.

                                                              • https://blog.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.

                                                              • [01:52:02] Equilibrio entre practicidad y perfección.

                                                                • 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.

                                                                • [01:57:32] Los clientes son muy vagos y no quieren hacer los

                                                                  deberes.

                                                                  • Metodologías ágiles.

                                                                  • El cliente nunca tiene tiempo para probar las entregas.

                                                                  • [02:01:32] Compartir archivos en la tertulia, para cositas

                                                                    pequeñas. Algo pendiente para el futuro.

                                                                  • [02:03:32] El valor de leerse la documentación de Python como si

                                                                    fuera un libro, de principio a fin.

                                                                    • Aparte de aprender en profundidad, el valor de colaborar
                                                                    • puliendo la documentación.
                                                                    • [02:05:42] Cambio de licencia de Python 1.x a Python 2.x.

                                                                      • Python 2.0 License:
                                                                      • https://www.python.org/download/releases/2.0/license/.
                                                                      • [02:06:37] Estudiar el código fuente de las propias librerías de

                                                                        Python.

                                                                      • [02:07:02] El bug 35930 sigue coleando. Estado de la cuestión.

                                                                        • Issue35930: Raising an exception raised in a "future"

                                                                          instance will create reference cycles
                                                                          https://bugs.python.org/issue35930.

                                                                        • Temas de estilo.

                                                                        • [02:11:27] Despedida.

                                                                        • [02:13:10] Los riesgos de caerse con nieve en polvo.

                                                                        • [02:14:29] Final.

                                                                          ...more
                                                                          View all episodesView all episodes
                                                                          Download on the App Store

                                                                          Python en españolBy Jesús Cea


                                                                          More shows like Python en español

                                                                          View all
                                                                          Libros para Emprendedores by Luis Ramos

                                                                          Libros para Emprendedores

                                                                          1,115 Listeners