Python en español

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


Listen Later

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

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