DiscoverPython en españolPython en español #13: Tertulia 2020-12-29
Python en español #13: Tertulia 2020-12-29

Python en español #13: Tertulia 2020-12-29

Update: 2021-04-30
Share

Description

Resolución de Issue35930: Raising an exception raised in a "future" instance will create reference cycles https://podcast.jcea.es/python/13

Participantes:



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="52">[00:52 ]<topic> Presentaciones.</topic></timestamp>




  • <timestamp compact="1" offset="52" ts="204">[03:24 ]<topic> Aviso legal de que se está grabando y objetivos de la
    tertulia.</topic></timestamp>




  • <timestamp compact="1" offset="52" ts="382">[06:22 ]<topic> Autoimport, ¿debería ser una funcionalidad del IDE?</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="772">[12:52 ]<topic> Los IDEs y las inercias.</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="1162">[19:22 ]<topic> Operador morsa (walrus). Sigue usándose muy poco.</topic></timestamp>




    • Python va complicando la sintaxis más y más.




    • Se habló en una tertulia anterior.




    • Jesús solo ha encontrado este caso útil:




      • Pasar de:


        buf = f.read(1000)
        while buf:
        [Hace el procesamiento]
        buf = f.read(1000)



      • A lo siguiente:


        while buf := f.read(1000):
        [Hace el procesamiento]







  • <timestamp compact="1" offset="52" ts="1557">[25:57 ]<topic> Erratas en tertulias anteriores:</topic></timestamp>




    • Migración de Python a Github fue en 2017.




    • No es "Steering committee" sino "Steering Council".




    • <timestamp compact="1" offset="52" ts="1622">[27:02 ]<topic> Pablo Galindo forma parte del "council" tras las
      últimas elecciones.</topic></timestamp>


      Charla de Pablo Galindo en la PyconES 2019 sobre el mundo
      de los Core Developers de Python:
      https://www.youtube.com/watch?v=qcvZOaY1emk.




    • Algunos proyectos Python están usando Rust. Por ejemplo:
      https://cryptography.io/, con cierta polémica. Mercurial
      también usa Rust https://www.mercurial-scm.org/.




    • Las variables locales pueden ser modificadas a través de su
      "closure", en funciones hijas o en otros hilos. Es una
      barbaridad, pero la posibilidad existe.


      Esto es lo que hace, por ejemplo, un debugger.






  • <timestamp compact="1" offset="52" ts="2137">[35:37 ]<topic> ¡Spoiler sobre la resolución del "Memory Leak"!</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="2357">[39:17 ]<topic> Usar una técnica similar para detectar las
    características de quien te llama para poder mezclar de forma
    más limpia código síncrono y asíncrono.</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="2492">[41:32 ]<topic> Sigo explicando detalles de la solución del "Memory
    Leak".</topic></timestamp>




    • Issue35930: Raising an exception raised in a "future"
      instance will create reference cycles
      https://bugs.python.org/issue35930.




    • Estamos continuando una conversación que ha durado varias
      tertulias.




    • Jesús Cea pone un ejemplo de cómo generar un ciclo con una
      excepcion.




    • La caja y media de cervezas se las lleva... ¡Jesús!






  • <timestamp compact="1" offset="52" ts="2842">[47:22 ]<topic> No se está conectando gente desde Hispanoamérica. ¿Por
    qué?</topic></timestamp>




  • <timestamp compact="1" offset="52" ts="3007">[50:07 ]<topic> Más erratas: Los "tracebacks" NO son inmutables.</topic></timestamp>




  • <timestamp compact="1" offset="52" ts="3032">[50:32 ]<topic> Nuevo método "with_traceback()" a la hora de crear
    excepciones:</topic></timestamp>





  • <timestamp compact="0" offset="52" ts="3712">[01:01:52 ]<topic> Sobre el "nivel" de las tertulias y sus motivaciones.</topic></timestamp>




  • <timestamp compact="0" offset="52" ts="3972">[01:06:12 ]<topic> Referencia rápida a temas de la tertulia anterior:</topic></timestamp>





  • <timestamp compact="0" offset="52" ts="4157">[01:09:17 ]<topic> Diagnóstico exhaustivo del bug "Memory Leak", causa
    raíz y propuestas de soluciones.</topic></timestamp>




    • Issue35930: Raising an exception raised in a "future"
      instance will create reference cycles
      https://bugs.python.org/issue35930.




    • Exploración del propio código fuente de Python.




    • Repaso detallado del funcionamiento de un "future"
      https://docs.python.org/3/library/concurrent.futures.html.




    • Uno de los problemas fundamentales de trabajar con hilos es
      cómo notificar excepciones a otros hilos. La gran ventaja de
      los "futures" es gestionar esto de forma trivial.




    • Este "transporte" es lo que está ocasi

Comments 
loading
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Python en español #13: Tertulia 2020-12-29

Python en español #13: Tertulia 2020-12-29

jcea@jcea.es (Jesus Cea)