Python en español #16: Tertulia 2021-01-19
Description
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter:
@jcea, https://blog.jcea.es/,
https://www.jcea.es/. Conectando desde Madrid.Eduardo Castro, email:
info@ecdesign.es. 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, invitado por Virako.
Javier, conectando desde Sevilla, también invitado por Virako.
Antonio, conectado desde Albacete.
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.
<timestamp compact="1" offset="52" ts="77">[01:17 ]<topic> Event sourcing y nieve.</topic></timestamp>
- Borrasca Filomena:
https://es.wikipedia.org/wiki/Borrasca_Filomena.
- Borrasca Filomena:
<timestamp compact="1" offset="52" ts="232">[03:52 ]<topic> Los comentarios legales habituales para poder grabar
la tertulia.</topic></timestamp><timestamp compact="1" offset="52" ts="287">[04:47 ]<topic> Presentaciones varias, dinámica y motivación de las
tertulias.</topic></timestamp><timestamp compact="1" offset="52" ts="682">[11:22 ]<topic> Los problemas logísticos de Jesús Cea con sus charlas.</topic></timestamp>
<timestamp compact="1" offset="52" ts="772">[12:52 ]<topic> Debate: Frameworks y cómo condicionan el conocimiento
del lenguaje y la forma de desarrollar código.</topic></timestamp>Mucha tela que cortar.
<timestamp compact="1" offset="52" ts="1822">[30:22 ]<topic> Conexión con el mundo asyncio.</topic></timestamp>
<timestamp compact="1" offset="52" ts="2052">[34:12 ]<topic> Digresión: ¿Cómo funciona la protección CSRF?
https://es.wikipedia.org/wiki/Cross-site_request_forgery.</topic></timestamp>Diferencia semántica entre verbos HTTP: GET y POST
https://en.wikipedia.org/wiki/POST_(HTTP).Algunos recursos de seguridad web (no exhaustivo, la
lista es infinita):CSRF:
https://es.wikipedia.org/wiki/Cross-site_request_forgery.Cross-Origin Resource Sharing (CORS)
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS.Content Security Policy Reference
https://content-security-policy.com/.La documentación de FastAPI
https://fastapi.tiangolo.com/ tiene mucho de
seguridad:CORS (Cross-Origin Resource Sharing):
https://fastapi.tiangolo.com/tutorial/cors/.OAuth2 with Password (and hashing), Bearer with
JWT tokens
https://fastapi.tiangolo.com/tutorial/security/oauth2-jwt/.About HTTPS
https://fastapi.tiangolo.com/deployment/https/.
<timestamp compact="1" offset="52" ts="2392">[39:52 ]<topic> Proyecto ItsNat
https://en.wikipedia.org/wiki/ItsNat. Estado en el
servidor y el cliente solo gestiona eventos y
actualizaciones del DOM que le envía el servidor.</topic></timestamp>Se está moviendo otra vez la inteligencia del navegador al
servidor.<timestamp compact="1" offset="52" ts="2682">[44:42 ]<topic> ¿Realmente es imprescindible usar Javascript si tu
interfaz es el navegador?</topic></timestamp>Brython: https://brython.info/.
Pyjs (antiguo Pyjamas):
https://en.wikipedia.org/wiki/Pyjs.Emscripten: https://emscripten.org/.
<timestamp compact="1" offset="52" ts="2937">[48:57 ]<topic> ¡Compilación al vuelo!</topic></timestamp>
Versionado de diccionarios. PEP 509 Add a private version to
dict: https://www.python.org/dev/peps/pep-0509/.Compilación al vuelo: Pyjion:
https://pyjion.readthedocs.io/en/latest/index.html.Conflicto con la portabilidad del intérprete.
numba: https://numba.pydata.org/.
Hay pocos "core developers" y heredar código avanzado que
luego hay que mantener es un problema.LLVM: https://en.wikipedia.org/wiki/LLVM.
<timestamp compact="0" offset="52" ts="3867">[01:04:27 ]<topic> Los lenguajes de programación deben ser conservadores
porque no tienes ni idea de lo que están utilizando los
programadores.</topic></timestamp><timestamp compact="0" offset="52" ts="3932">[01:05:32 ]<topic> Si la documentación se ha actualizado, más vale que
hayas actualizado tu código a "cómo se hacen ahora las cosas".</topic></timestamp><timestamp compact="0" offset="52" ts="4007">[01:06:47 ]<topic> Tema recurrente: ¿Es mejor estar dentro o fuera de la
biblioteca estándar?</topic></timestamp>- Boost: https://www.boost.org/.
<timestamp compact="0" offset="52" ts="4152">[01:09:12 ]<topic> Compiladores de Python:</topic></timestamp>
Cython: https://cython.org/. Rendimiento y ofuscación.
nuitka: https://nuitka.net/.
numba: https://numba.pydata.org/.
PyPy: https://www.pypy.org/.
<timestamp compact="0" offset="52" ts="4242">[01:10:42 ]<topic> Mejoras recientes en la implementación de Python:</topic></timestamp>
Issue 26647: ceval: use Wordcode, 16-bit bytecode:
https://bugs.python.org/issue26647.Issue 9203: Use computed gotos by default:
https://bugs.python.org/issue9203.
<timestamp compact="0" offset="52" ts="4492">[01:14:52 ]<topic> Psyco https://en.wikipedia.org/wiki/Psyco.</topic></timestamp>
<timestamp compact="0" offset="52" ts="4582">[01:16:22 ]<topic> Etiquetado de tipos para ayudar a los JIT.</topic></timestamp>
Cython: https://cython.org/.
MYPY: http://mypy-lang.org/.
Especialización.
<timestamp compact="0" offset="52" ts="4957">[01:22:37 ]<topic> GHC (The Glasgow Haskell Compiler):
https://www.haskell.org/ghc/.</topic></timestamp>
<timestamp compact="0" offset="52" ts="5107">[01:25:07 ]<topic> Memoria transaccional
https://en.wikipedia.org/wiki/Transactional_memory.</topic></timestamp>Implementaciones en Python: Sistemas de persistencia como
Durus https://www.mems-exchange.org/software/DurusWorks/ o
ZODB http://www.zodb.org/.- Mecanismos de resolución de conflictos.
<timestamp compact="0" offset="52" ts="5672">[01:34:32 ]<topic> Más sobre optimizaciones y guardas.</topic></timestamp>
Mucha discusión sobre el GIL:
https://en.wikipedia.org/wiki/Global_interpreter_lock.La atomicidad de operaciones no está documentada en ningún
si