Python en español #22: Tertulia 2021-03-02 - a podcast by Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León
from 2021-05-27T23:00
Os dejamos con la miel en los labios, pero hasta ese momento hablamos de la interacción entre las clases abstractas y MYPY, más complejidad en la sintaxis de Python con el PEP 637, PIP, dependencias varias y seguridad, y los tipos de PEP que hay. ¿Bokeh o Plotly? Haberte conectado en directo...https://podcast.jcea.es/python/22
Participantes:
Jesús Cea, email:jcea@jcea.es, twitter:@jcea,https://blog.jcea.es/,https://www.jcea.es/. Conectando desde Madrid.
Javier, conectando desde Madrid.
Miguel Sánchez, email:msanchez@uninet.edu, conectando desde
Las Palmas.Eduardo Castro, email:info@ecdesign.es. Conectando desde A
Guarda.Víctor Ramírez, twitter:@virako,
programador python y amante devim, conectando desde
Huelva.José Juan.
Audio editado por Pablo Gómez, twitter:@julebek.
La música de la entrada y la salida es"Lightning Bugs", de Jason
Shaw. Publicada enhttps://audionautix.com/con licencia
-Creative Commons Attribution 4.0 International
License.
[00:53] Vamos progresando en la publicación de las grabaciones. Pablo Gómez, twitter:@julebek, nuestro sufrido
editor de audio, está enviando a Jesús Cea ya algunos audiosprocesados.- La calidad de los audios originales es bastante mala.
Capítulos en audios: Bibliotecatoc2audiohttps://docs.jcea.es/toc2audio/.
Jesús Cea quiere notas exhaustivas de cada grabación. El
audio es casi redundante. Lo que estás leyendo ahora mismo,vaya.
[06:45] El aviso legal de rigor para grabar los audios y
publicarlos luego.[06:58] Presentaciones. [09:58] Jesús Cea habla mucho. [10:53] Interacción entre clases abstractashttps://docs.python.org/3/library/abc.htmly MYPYhttp://mypy-lang.org/. [18:28] Expansión explosiva del tamaño del bytecodehttps://es.wikipedia.org/wiki/Bytecodegenerado por un
programa trivial Python.Ojo, teclear este código tal cual puede tumbar tu máquina y
puedes necesitar reiniciar, perdiendo lo que estés haciendocon el ordenador.(1<<19**8,)*2
(1<<19**8,)*4**7Build a Compiler Bomb: Python 3, 13 byte source,
9,057,900,463 byte (8.5GiB) .pyc-file / Python 3, 16 bytesource,>32TB .pyc-file (if you have enough memory, disk
space and patience)https://codegolf.stackexchange.com/questions/69189/build-a-compiler-bomb/69415#69415.16 bytes of Python code compiles to 32 terabytes of bytecodehttps://www.reddit.com/r/Python/comments/llccey/16_bytes_of_python_code_compiles_to_32_terabytes/.
[27:48] GitHub actions:https://github.com/features/actions. [28:43] PEP 637 -- Support for indexing with keyword argumentshttps://www.python.org/dev/peps/pep-0637/. La sintaxis de Python es cada vez más compleja.
Jesús Cea se sorprende de que Guido van Rossumhttps://es.wikipedia.org/wiki/Guido_van_Rossumesté"pervertiendo"tanto Python.
Muchos cambios de sintaxis se justifican para ciertos
usuarios (cálculo numérico) y resulta que a esos usuarios noles está preguntando nadie.Los lenguajes empiezan simples y se van complicando...
siendo reemplazados por otros lenguajes que empiezansimples.Estos temas se han tratado con frecuencia y profundidad en
tertulias anteriores.El lenguaje se particiona en"sublenguajes"y"subculturas".
BNF (Backus–Naur form):https://es.wikipedia.org/wiki/Notaci%C3%B3n_de_Backus-Naur.
JavaScript: The Good Parts:https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742.
¿Cómo aprende Python la gente novata?
Grupos de excepciones: PEP 654https://www.python.org/dev/peps/pep-0654/.
asynciohttps://docs.python.org/3/library/asyncio.htmlcontamina todo tu código.
[44:26] Metaconversacion sobre temas recurrentes en la tertulia. - ¿Puesta al día anual sobre temas recurrentes?
[45:08] ¿Cómo se numeran los PEPhttps://www.python.org/dev/peps/? Cuando se actualiza un PEP, no cambia de numeración.
Los PEP incluyen una sección de cambios, historia del PEP.
PEP 494 -- Python 3.6 Release Schedulehttps://www.python.org/dev/peps/pep-0494/.
PEP 373 -- Python 2.7 Release Schedulehttps://www.python.org/dev/peps/pep-0373/.
[51:08] A veces para ver los cambios de un proyecto, a veces no
hay más remedio que examinar el propio sustema de control deversiones. Documentar los cambios debería ser obligatorio, pero
no todos los proyectos lo usanhttps://es.wikipedia.org/wiki/Changelog.[53:28] El valor de los DeprecationWarning:https://docs.python.org/3/library/exceptions.html#DeprecationWarning.
¿Cuándo los arreglas?Deuda técnica.
Estrategia: Bloquear dependencias.
Acumular actualizaciones tampoco es buena idea.
Que tus tests comprueben tus dependencias suele ser una mala
práctica, pero para los tests de integración puede ser buenaidea para asegurarse la estabilidad del ecosistema del
proyecto.
[58:13] Los problemas de bloquear dependencias de forma
transitiva.virtualenv
:https://pypi.org/project/virtualenv/.
[01:02:56] piphttps://pypi.org/project/pip/no tiene"hooks"https://es.wikipedia.org/wiki/Hooking, pero las versiones
recientes tienen un proceso de resolución de dependenciasbastante sofisticado.[01:05:43] Paquete"safety"https://pypi.org/project/safety/. [01:07:38] Salto de fe al hacer pip install
. Paquetes
maliciosos.- Ataque a cadena de suministrohttps://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.
[01:09:23] Motivación económica para secuestrar el DNShttps://es.wikipedia.org/wiki/Dns. [01:10:58] Nombres inexplicables de paquetes en PIP. [01:11:28] RFC 2606: Reserved Top Level DNS Nameshttps://datatracker.ietf.org/doc/html/rfc2606. - Por ejemplo,http://example.org/.
[01:13:53] Recursos en español de Python: Pybonacci:https://pybonacci.org/.
Chema Cortés:https://blog.ch3m4.org/.
AlgoriSoft:https://algorisoft.com/. Cursos de Djangohttps://www.djangoproject.com/.
[01:16:28] Comparativa entre Bokehhttps://bokeh.org/y Plotlyhttps://plotly.com/python/. - Gráficos dinámicos en JavaScript para el navegador web, pero
alimentado desde Python en el servidor.
- Gráficos dinámicos en JavaScript para el navegador web, pero
[01:19:46] La grabación se cortó aquí debido a"un problema
técnico"(entre la silla y el teclado de Jesús Cea). Se ha
perdido más o menos la última media hora.[01:19:55] Final.
Further episodes of Python en español
Further podcasts by Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León
Website of Jesús Cea, Samuel de Ancos y Juan Ignacio Rodríguez de León