Eduardo Castro se desata y nos invita a comentar trucos y construcciones idiomáticas no evidentes https://podcast.jcea.es/python/17
Participantes:
Jesús Cea, email:
[email protected], twitter:
@jcea, https://blog.jcea.es/,
https://www.jcea.es/. Conectando desde Madrid.
Eduardo Castro, email:
[email protected]. Conectando desde A
Guarda.
Javier, conectando desde Madrid.
Víctor Ramírez, twitter: @virako,
programador python y amante de vim, conectando desde Huelva.
Dani, conectando desde Málaga.
Miguel Sánchez, email:
[email protected], conectando desde
Canarias.
Jorge Rúa, conectando desde Vigo.
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] Haciendo tiempo hasta que entre más gente.
Raspberry Pi Pico:
https://www.raspberrypi.org/products/raspberry-pi-pico/.
Jesús Cea está encantado con su rango de alimentación.
Micropython: https://www.micropython.org/.
[06:02] Truco: Python -i: Ejecuta un script y pasa a modo
interactivo.
También se puede hacer desde el propio código con
code.InteractiveConsole(locals=globals()).interact().
Jesús Cea se queja de que usando la invocación desde código
no funciona la edición de líneas. Javier da la pista correcta:
para que funcione, basta con hacer import readline antes de
lanzar el modo interactivo.
[11:17] Regresión con ipdb: https://pypi.org/project/ipdb/.
[12:37] Nueva versión de Pyston https://www.pyston.org/.
Intérprete de Python más rápido. Un 50% más rápido que
cpython.
[16:22] Ver si dos fechas son iguales con datetime
https://docs.python.org/3/library/datetime.html.
Trabajar siempre en UTC
https://es.wikipedia.org/wiki/Tiempo_universal_coordinado,
aunque solo tengas una zona horaria.
[19:52] Jesús Cea ha investigado cómo funcionan los POSTs HTTP
en las protecciones CSRF https://es.wikipedia.org/wiki/CSRF.
Buena práctica: La respuesta al POST es una redirección a un
GET. Patrón Post/Redirect/Get (PRG)
https://es.wikipedia.org/wiki/Post/Redirect/Get.
Ventajas de usar un framework.
[24:32] ¿Optimizaciones cuando tienes grandes cantidades de
datos?
Tema muy amplio, hacen falta detalles del problema.
Se ofrecen algunas ideas:
Map/Reduce: https://en.wikipedia.org/wiki/Map_reduce.
Usar generadores u otras construcciones "lazy" siempre
que sea posible.
https://wiki.python.org/moin/Generators.
[31:52] Gestión de memoria en Python.
Design of CPython’s Garbage Collector:
https://devguide.python.org/garbage_collector/.
Hora de sacar la basura garbage collector - Pablo Galindo y
Victor Terrón - PyConES 2018
https://www.youtube.com/watch?v=G9wOSExzs5g.
[35:17] Tipografía para programadores:
Victor Mono: https://rubjo.github.io/victor-mono/.
Fira Code: https://fonts.google.com/specimen/Fira+Code.
Fira Code Retina:
https://github.com/tonsky/FiraCode/issues/872.
[37:17] Eduardo Castro se ha currado una lista de trucos
sencillos pero interesantes:
En estas notas solo referenciamos los puntos a los que
dedicamos más tiempo, se habló de más cosas.
El documento para poder seguir los comentarios de la
grabación está en https://demo.hedgedoc.org/s/hEZB92q40#.
hash(float('inf')) -> 314159.
[43:02] LRU Caché:
"blame".
[01:33:57] Usos de lambda.
Módulo Operator: https://docs.python.org/3/library/operator.html.
[01:35:52] Algunos trucos cortos adicionales.
collections.deque:
https://docs.python.org/3/library/collections.html.
dateutil: https://pypi.org/project/python-dateutil/.
itertools:
https://docs.python.org/3/library/itertools.html.
if a >> import dis
>>> dis.dis(lambda x: a > 18 ROT