
Sign up to save your podcasts
Or
En este audio hay un hablante que no identifico. ¿Quien es?. Es
Participantes:
Jesús Cea, email: [email protected], twitter:
Víctor Ramírez, twitter: @virako,
Dani, conectando desde Málaga.
Eduardo Castro, email:
Audio editado por Pablo Gómez, twitter:
La música de la entrada y la salida es "Lightning Bugs", de Jason
[00:52] Preámbulo.
Design of CPython’s Garbage Collector:
Dificultades con el horario de la tertulia.
Problemas para publicar los audios.
Editar es un infierno.
Las notas de los audios tienen una importancia
Dinámica de las tertulias.
[08:32] Presentaciones.
Raspberry Pi Pico:
Micropython: https://www.micropython.org/.
[13:32] El aviso legal para poder grabar los audios.
[14:32] Bugs sobre "pickle"
Se trata de un problema conocido.
Ejemplo de código: https://pastebin.com/vGM1sh8r.
Issue24676: Error in pickle using cProfile
Issue9914: trace/profile conflict with the use of
Issue9325: Add an option to pdb/trace/profile to run library
[16:27] Lo importante que es abrir bugs, para que puedan
[18:12] Nueva versión de MYPY http://mypy-lang.org/ y MYPYC
Sigue fallando mucho.
[20:42] pyannotate https://pypi.org/project/pyannotate/ para
[22:52] Puedes usar tipos o no. Son opcionales. Ventajas en
Linter: https://es.wikipedia.org/wiki/Lint.
Impone disciplina y una cultura.
Las anotaciones de tipos no se verifican en tiempo de
Una de la ventaja de los "__slots__" es que si te
"pyannotate" https://pypi.org/project/pyannotate/.
Las anotaciones de tipos te permiten luego compilar Python
Las anotaciones se pueden meter en el mismo código o en un
Usar un fichero "compañero" es útil para poder usar
Evitar "contaminar" el sistema de control de versiones
Que los creadores de código y los etiquetadores de tipos
"typeshed": Collection of library stubs for Python, with
¿Y meter tipos en los comentarios, como se hacía
Hay mucha literatura de ingeniería de software sobre si es
[40:17] Python podría ser mucho más rápido aunque no se usen
Descubrimiento de tipos en tiempo de ejecución.
Tema recurrente.
Numba: https://numba.pydata.org/.
Javascript V8:
[43:06] Habiendo tantos compiladores, ¿por qué no se integra
Complejidad y compatibilidad.
Faltan manos.
Hay muchos "gérmenes" que no germinan.
Dispersión de esfuerzos.
[46:12] Puntos de dolor de Python para la gente que viene de
Tipos.
Velocidad.
Espacios significantes.
[46:37] ¿Qué es "Python"?
Cada novedad de sintaxis de Python cambia el lenguaje. ¿Qué
Hay organizaciones grandes que un lenguaje sin tipos ni
[51:22] Cultura común en todos los proyectos Python. Baja
La cultura va evolucionando.
Solución de compromiso: Meter tipos solo en la frontera.
[53:02] El tipado avanzado de Python 3.9 da un error de sintaxis
[54:46] El operador morsa no se puede usar dentro de un "list
No queda otra que escribirlo como:
duplicando el i.strip().
[56:40] En versiones de Python anteriores a 3.8 no se podría
When a return, break or continue statement is executed in
[57:47] f-string con datetime
[59:22] Modo depuración en f-strings en Python 3.8:
Útil para el loging.
[01:00:47] Versiones fijas de dependencias y actualizar un
Herramientas para esto: "pip"
"pipenv" https://pypi.org/project/pipenv/.
"Poetry": https://pypi.org/project/poetry/.
Grafo de dependencias "pip-tree": https://pypi.org/project/pip-tree/.
Paralelismos con el enlazado estático y dinámico.
[01:14:22] ¿Por qué se ha instalado este paquete, qué paquetes
pip show.
Grafo de dependencias "pip-tree": https://pypi.org/project/pip-tree/.
[01:19:22] Visualizar el grafo de versiones de un sistema de
[01:23:07] Recogida de basuras:
Design of CPython’s Garbage Collector:
Hora de sacar la basura garbage collector - Pablo Galindo y
La recolección de basura de la generación más antigua
[01:31:37] Divagación: Powerball https://powerball.org.uk/.
[01:31:52] Explicación de cómo funciona "__slots__"
[01:34:22] Libro "CPython Internals":
Website de "Real Python": https://realpython.com/. Merece
También tienen podcast: "The Real Python Podcast: Python
[01:36:42] Más sobre "__slots__"
Técnica estándar.
Un diccionario vacío ocupa 64 bytes: sys.getsizeof({}).
Se puede usar para evitar errores mecanográficos al escribir
[01:38:52] "AutoScraper: A Smart, Automatic, Fast and
[01:43:02] Librería para dibujar grafos: graphviz
Le das un texto describiendo nodos y conexiones entre nodos
Sería trivial para dibujar el grafo de dependencias de
Ejemplo:
El gráfico de antes, con ciclos:
El gráfico de después, sin ciclos:
[01:47:22] ¿Cómo asegurarse que el nombre de un fichero no tenga
Expresiones regulares. Cuidado con el unicode
Usar pathlib.is_relative_to()
[01:52:07] ¡Usa la versión actual de Python, leches! Ahora
Ventajas de compilar el intérprete desde código fuente para
Puedes tener tu propio intérprete de Python dentro de un
Proyectos "llave en mano". El cliente quiere algo que se
[01:56:47] Jesús Cea repite una vez más la anécdota de que
Falta toda la base, pero... ¿Hace falta?
[01:59:12] Memoria escasa en un microcontrolador.
[01:59:55] Final.
En este audio hay un hablante que no identifico. ¿Quien es?. Es
Participantes:
Jesús Cea, email: [email protected], twitter:
Víctor Ramírez, twitter: @virako,
Dani, conectando desde Málaga.
Eduardo Castro, email:
Audio editado por Pablo Gómez, twitter:
La música de la entrada y la salida es "Lightning Bugs", de Jason
[00:52] Preámbulo.
Design of CPython’s Garbage Collector:
Dificultades con el horario de la tertulia.
Problemas para publicar los audios.
Editar es un infierno.
Las notas de los audios tienen una importancia
Dinámica de las tertulias.
[08:32] Presentaciones.
Raspberry Pi Pico:
Micropython: https://www.micropython.org/.
[13:32] El aviso legal para poder grabar los audios.
[14:32] Bugs sobre "pickle"
Se trata de un problema conocido.
Ejemplo de código: https://pastebin.com/vGM1sh8r.
Issue24676: Error in pickle using cProfile
Issue9914: trace/profile conflict with the use of
Issue9325: Add an option to pdb/trace/profile to run library
[16:27] Lo importante que es abrir bugs, para que puedan
[18:12] Nueva versión de MYPY http://mypy-lang.org/ y MYPYC
Sigue fallando mucho.
[20:42] pyannotate https://pypi.org/project/pyannotate/ para
[22:52] Puedes usar tipos o no. Son opcionales. Ventajas en
Linter: https://es.wikipedia.org/wiki/Lint.
Impone disciplina y una cultura.
Las anotaciones de tipos no se verifican en tiempo de
Una de la ventaja de los "__slots__" es que si te
"pyannotate" https://pypi.org/project/pyannotate/.
Las anotaciones de tipos te permiten luego compilar Python
Las anotaciones se pueden meter en el mismo código o en un
Usar un fichero "compañero" es útil para poder usar
Evitar "contaminar" el sistema de control de versiones
Que los creadores de código y los etiquetadores de tipos
"typeshed": Collection of library stubs for Python, with
¿Y meter tipos en los comentarios, como se hacía
Hay mucha literatura de ingeniería de software sobre si es
[40:17] Python podría ser mucho más rápido aunque no se usen
Descubrimiento de tipos en tiempo de ejecución.
Tema recurrente.
Numba: https://numba.pydata.org/.
Javascript V8:
[43:06] Habiendo tantos compiladores, ¿por qué no se integra
Complejidad y compatibilidad.
Faltan manos.
Hay muchos "gérmenes" que no germinan.
Dispersión de esfuerzos.
[46:12] Puntos de dolor de Python para la gente que viene de
Tipos.
Velocidad.
Espacios significantes.
[46:37] ¿Qué es "Python"?
Cada novedad de sintaxis de Python cambia el lenguaje. ¿Qué
Hay organizaciones grandes que un lenguaje sin tipos ni
[51:22] Cultura común en todos los proyectos Python. Baja
La cultura va evolucionando.
Solución de compromiso: Meter tipos solo en la frontera.
[53:02] El tipado avanzado de Python 3.9 da un error de sintaxis
[54:46] El operador morsa no se puede usar dentro de un "list
No queda otra que escribirlo como:
duplicando el i.strip().
[56:40] En versiones de Python anteriores a 3.8 no se podría
When a return, break or continue statement is executed in
[57:47] f-string con datetime
[59:22] Modo depuración en f-strings en Python 3.8:
Útil para el loging.
[01:00:47] Versiones fijas de dependencias y actualizar un
Herramientas para esto: "pip"
"pipenv" https://pypi.org/project/pipenv/.
"Poetry": https://pypi.org/project/poetry/.
Grafo de dependencias "pip-tree": https://pypi.org/project/pip-tree/.
Paralelismos con el enlazado estático y dinámico.
[01:14:22] ¿Por qué se ha instalado este paquete, qué paquetes
pip show.
Grafo de dependencias "pip-tree": https://pypi.org/project/pip-tree/.
[01:19:22] Visualizar el grafo de versiones de un sistema de
[01:23:07] Recogida de basuras:
Design of CPython’s Garbage Collector:
Hora de sacar la basura garbage collector - Pablo Galindo y
La recolección de basura de la generación más antigua
[01:31:37] Divagación: Powerball https://powerball.org.uk/.
[01:31:52] Explicación de cómo funciona "__slots__"
[01:34:22] Libro "CPython Internals":
Website de "Real Python": https://realpython.com/. Merece
También tienen podcast: "The Real Python Podcast: Python
[01:36:42] Más sobre "__slots__"
Técnica estándar.
Un diccionario vacío ocupa 64 bytes: sys.getsizeof({}).
Se puede usar para evitar errores mecanográficos al escribir
[01:38:52] "AutoScraper: A Smart, Automatic, Fast and
[01:43:02] Librería para dibujar grafos: graphviz
Le das un texto describiendo nodos y conexiones entre nodos
Sería trivial para dibujar el grafo de dependencias de
Ejemplo:
El gráfico de antes, con ciclos:
El gráfico de después, sin ciclos:
[01:47:22] ¿Cómo asegurarse que el nombre de un fichero no tenga
Expresiones regulares. Cuidado con el unicode
Usar pathlib.is_relative_to()
[01:52:07] ¡Usa la versión actual de Python, leches! Ahora
Ventajas de compilar el intérprete desde código fuente para
Puedes tener tu propio intérprete de Python dentro de un
Proyectos "llave en mano". El cliente quiere algo que se
[01:56:47] Jesús Cea repite una vez más la anécdota de que
Falta toda la base, pero... ¿Hace falta?
[01:59:12] Memoria escasa en un microcontrolador.
[01:59:55] Final.
1,115 Listeners