Przejdź do trybu offline z Player FM !
Python en español #19: Tertulia 2021-02-09
Archiwalne serie ("Kanał nieaktywny" status)
When? This feed was archived on May 08, 2022 09:32 (). Last successful fetch was on July 13, 2021 01:05 ()
Why? Kanał nieaktywny status. Nasze serwery nie otrzymały odpowiedzi od kanału przez zbyt długi czas.
What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.
Manage episode 292998211 series 2332301
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Conectando desde Madrid.
Víctor Ramírez, twitter: @virako, programador python y amante de vim, conectando desde Huelva.
Javier, conectando desde Madrid.
Miguel Sánchez, email: msanchez@uninet.edu, conectando desde Canarias.
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] Prólogo:
FOSDEM https://fosdem.org/.
Escuchar audios previos para ver errores y comentar "erratas".
[03:07] ¡Tenemos un voluntario para editar el podcast!
Detalles de cómo grabamos las tertulias.
Todo se graba en una sola pista :-(.
Ideas para automatizar el proceso.
[09:17] Aviso legal de que se está grabando el sonido y que se va a publicar online.
- El audio publicado tendrá un índice en texto, para poder hacer búsquedas y poder moverse con facilidad entre temas.
[11:22] Errata de la tertulia anterior: No, pipenv https://pypi.org/project/pipenv/ no puede instalar dos versiones diferentes de la misma librería.
[13:07] Tormenta de ideas https://es.wikipedia.org/wiki/Lluvia_de_ideas sobre cómo usar diferentes versiones de la misma librería en el mismo proyecto. Conclusión: ¡No vayas por ahí!
Las bibliotecas solo se cargan una vez en el programa, aunque se hagan muchos
import
en el código.sys.modules
https://docs.python.org/3/library/sys.html#sys.modules.Dependencias transitivas.
Subintérpretes Python. PEP 554: https://www.python.org/dev/peps/pep-0554/.
Módulos en C: PEP 489 -- Multi-phase extension module initialization https://www.python.org/dev/peps/pep-0489/.
[22:17] Python 3.10a5. PEP 636 -- Structural Pattern Matching: Tutorial https://www.python.org/dev/peps/pep-0636/.
¡Más sintaxis nueva!
PEP 617 -- New PEG parser for CPython https://www.python.org/dev/peps/pep-0617/.
[23:57] Nuitka https://nuitka.net/.
- Puede generar un binario que no depende de tener nada instalado.
[26:02] Volvemos a "Structural Pattern Matching" https://www.python.org/dev/peps/pep-0636/.
- "Switch" con esteroides.
[27:32] Lo importante que fue la modernización de los tutoriales y ejemplos para ayudar a la migración de Python 2 a Python 3.
PEP 414 -- Explicit Unicode Literal for Python 3.3 https://www.python.org/dev/peps/pep-0414/.
Jesús Cea opina que la migración de Python 2 a Python 3 se hizo mal y ha sido muy traumática.
[30:22] PEP 8 https://www.python.org/dev/peps/pep-0008/.
¿Ajustarse estrictamente a 80 columnas?
Flake8: https://pypi.org/project/flake8/.
[33:22] Mucho cuidado con "python-ideas" https://mail.python.org/mailman3/lists/python-ideas.python.org/.
Tabulación de código.
La anotación de tipos puede gustar o no, pero de momento es opcional.
Tema recurrente: ¿Qué es ser pythonico?
[35:12] Ventajas de anotar tipos.
Origen de MYPY: http://mypy-lang.org/.
Aportar información al IDE https://en.wikipedia.org/wiki/Integrated_development_environment.
Valor a la hora de documentar los tipos en los API https://en.wikipedia.org/wiki/API.
[39:52] Cryptography https://cryptography.io/en/latest/ y polémica al integrar módulos en Rust https://en.wikipedia.org/wiki/Rust_(programming_language)
- Comunidad tóxica.
[41:27] Digresión sobre systemd https://en.wikipedia.org/wiki/Systemd y otras cosas de sistemas.
- ¿El cambio por el cambio?
[45:07] El peso de la web está moviéndose otra vez al backend. ¿Qué opciones tiene Python en este area?
El cliente web solo envía eventos al servidor y recibe cambios al DOM https://es.wikipedia.org/wiki/Document_Object_Model enviadas por el servidor.
Abre la posibilidad olvidarnos de JavaScript: https://es.wikipedia.org/wiki/JavaScript.
ItsNat: https://en.wikipedia.org/wiki/ItsNat.
[51:02] splash https://pypi.org/project/splash/. Servicio de dibujado de javascript en Python.
[56:07] Integrar Python en otros programas y demonios.
[57:07] PyOxidizer https://pyoxidizer.readthedocs.io/en/stable/ y PyO3 https://pyo3.rs/.
Interactuar con otros lenguajes.
Python en Java, interactuando sin dolor: Jython https://www.jython.org/.
[59:52] ¿Cómo empezamos en Python?
Valor de Python como lenguaje fácil de entender y pseudocódigo.
- SpamBayes: http://spambayes.sourceforge.net/.
Tutorial de Python: https://docs.python.org/es/3/tutorial/index.html.
[01:05:07] Modificación atómica de ficheros.
En Unix se suele hacer: write + flush + rename.
MS Windows eso no funciona.
Python 3.3 añadió
os.replace()
https://docs.python.org/3.8/library/os.html#os.replace.En MS Windows es atómico... casi siempre: Issue8828: Atomic function to rename a file https://bugs.python.org/issue8828.
[01:10:02] Combinar fork e hilos en Python es una receta para el desastre.
[01:11:37] Decorador
@overload
https://docs.python.org/3/library/typing.html#typing.overload.@functools.singledispatch
https://docs.python.org/3/library/functools.html.¿Qué se ve cuando salta una excepción?
Especializaciones.
Cython https://cython.org/.
[01:17:00] AnyIO https://anyio.readthedocs.io/en/stable/basics.html. Unificación de reactores asíncronos.
[01:18:12] "lxml soporta xpath".
Hilo en la lista de correo: "[Python-es] Biblioteca XPATH" https://mail.python.org/pipermail/python-es/2021-February/037931.html.
lxml: https://lxml.de/.
beautifulsoup4: https://pypi.org/project/beautifulsoup4/.
Scrapy: https://scrapy.org/.
El buscador de PyPI https://pypi.org/ funciona fatal a la hora de ordenar por relevancia.
[01:20:02] El valor de estudiar el código fuente ajeno no solo para aprender de él sino también para descubrir qué bibliotecas útiles utilizan para añadirlas a tu cajón de herramientas.
Es la documentación última.
Los tests son muy útiles para saber cómo se usa el producto.
[01:22:02] ¿Cómo gestionáis la paginación cuando los datos del backend cambian? ¿Cómo evitáis repetir resultados o saltaros datos?
Brainstorming de diversas estrategias.
Berkeley DB: https://pypi.org/project/berkeleydb/.
Multiversion concurrency control: https://es.wikipedia.org/wiki/Multiversion_concurrency_control.
Copy on Write: https://es.wikipedia.org/wiki/Copy_on_write.
Snapshot: https://es.wikipedia.org/wiki/Copia_instant%C3%A1nea_de_volumen.
PostgreSQL: https://www.postgresql.org/.
ZFS: https://es.wikipedia.org/wiki/ZFS_(sistema_de_archivos).
Normalización y formas normales: https://es.wikipedia.org/wiki/Forma_normal_(base_de_datos).
[01:48:42] FOSDEM https://fosdem.org/:
Virako recomienda las siguientes:
Some SQL Tricks of an Application DBA - Non-trivial tips for database development https://fosdem.org/2021/schedule/event/postgresql_some_sql_tricks_of_an_application_dba/.
Database Disasters and How to Find Them https://fosdem.org/2021/schedule/event/postgresql_database_disasters_and_how_to_find_them/.
Practical advice for using Mypy - Hidden gems in the typing system! https://fosdem.org/2021/schedule/event/python_mypy/.
Escaping the Cargo Cult - How to structure your project without losing your mind. https://fosdem.org/2021/schedule/event/python_escaping_cargo_cult/.
[01:52:02] Charla Python Madrid https://www.python-madrid.es/.
- TDD - ¿panacea del desarrollo o pérdida de tiempo? https://www.python-madrid.es/meetings/reunion-febrero-2021-python-madrid/.
[01:54:27] Comentado en la tertulia de la semana pasada: Bugs sobre "pickle" https://docs.python.org/3/library/pickle.html en el módulo
__main__
.Se trata de un problema conocido.
Ejemplo de código: https://pastebin.com/vGM1sh8r.
Issue24676: Error in pickle using cProfile https://bugs.python.org/issue24676.
Issue9914: trace/profile conflict with the use of
sys.modules[__name__]
https://bugs.python.org/issue9914.Issue9325: Add an option to pdb/trace/profile to run library module as a script https://bugs.python.org/issue9325.
[02:00:42] Que te cuenten lo que no funciona es mucho más interesante.
- Postmortem.
[02:02:52] Whoosh: https://whoosh.readthedocs.io/en/latest/intro.html. ¿Cómo normalizar las palabras para español?
- La palabra "real" Whoosh: https://www.wordreference.com/es/translation.asp?tranword=whoosh. Dificultades para buscar el proyecto Python Whoosh https://whoosh.readthedocs.io/en/latest/intro.html en internet.
[02:05:48] Final.
29 odcinków
Archiwalne serie ("Kanał nieaktywny" status)
When? This feed was archived on May 08, 2022 09:32 (). Last successful fetch was on July 13, 2021 01:05 ()
Why? Kanał nieaktywny status. Nasze serwery nie otrzymały odpowiedzi od kanału przez zbyt długi czas.
What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.
Manage episode 292998211 series 2332301
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Conectando desde Madrid.
Víctor Ramírez, twitter: @virako, programador python y amante de vim, conectando desde Huelva.
Javier, conectando desde Madrid.
Miguel Sánchez, email: msanchez@uninet.edu, conectando desde Canarias.
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] Prólogo:
FOSDEM https://fosdem.org/.
Escuchar audios previos para ver errores y comentar "erratas".
[03:07] ¡Tenemos un voluntario para editar el podcast!
Detalles de cómo grabamos las tertulias.
Todo se graba en una sola pista :-(.
Ideas para automatizar el proceso.
[09:17] Aviso legal de que se está grabando el sonido y que se va a publicar online.
- El audio publicado tendrá un índice en texto, para poder hacer búsquedas y poder moverse con facilidad entre temas.
[11:22] Errata de la tertulia anterior: No, pipenv https://pypi.org/project/pipenv/ no puede instalar dos versiones diferentes de la misma librería.
[13:07] Tormenta de ideas https://es.wikipedia.org/wiki/Lluvia_de_ideas sobre cómo usar diferentes versiones de la misma librería en el mismo proyecto. Conclusión: ¡No vayas por ahí!
Las bibliotecas solo se cargan una vez en el programa, aunque se hagan muchos
import
en el código.sys.modules
https://docs.python.org/3/library/sys.html#sys.modules.Dependencias transitivas.
Subintérpretes Python. PEP 554: https://www.python.org/dev/peps/pep-0554/.
Módulos en C: PEP 489 -- Multi-phase extension module initialization https://www.python.org/dev/peps/pep-0489/.
[22:17] Python 3.10a5. PEP 636 -- Structural Pattern Matching: Tutorial https://www.python.org/dev/peps/pep-0636/.
¡Más sintaxis nueva!
PEP 617 -- New PEG parser for CPython https://www.python.org/dev/peps/pep-0617/.
[23:57] Nuitka https://nuitka.net/.
- Puede generar un binario que no depende de tener nada instalado.
[26:02] Volvemos a "Structural Pattern Matching" https://www.python.org/dev/peps/pep-0636/.
- "Switch" con esteroides.
[27:32] Lo importante que fue la modernización de los tutoriales y ejemplos para ayudar a la migración de Python 2 a Python 3.
PEP 414 -- Explicit Unicode Literal for Python 3.3 https://www.python.org/dev/peps/pep-0414/.
Jesús Cea opina que la migración de Python 2 a Python 3 se hizo mal y ha sido muy traumática.
[30:22] PEP 8 https://www.python.org/dev/peps/pep-0008/.
¿Ajustarse estrictamente a 80 columnas?
Flake8: https://pypi.org/project/flake8/.
[33:22] Mucho cuidado con "python-ideas" https://mail.python.org/mailman3/lists/python-ideas.python.org/.
Tabulación de código.
La anotación de tipos puede gustar o no, pero de momento es opcional.
Tema recurrente: ¿Qué es ser pythonico?
[35:12] Ventajas de anotar tipos.
Origen de MYPY: http://mypy-lang.org/.
Aportar información al IDE https://en.wikipedia.org/wiki/Integrated_development_environment.
Valor a la hora de documentar los tipos en los API https://en.wikipedia.org/wiki/API.
[39:52] Cryptography https://cryptography.io/en/latest/ y polémica al integrar módulos en Rust https://en.wikipedia.org/wiki/Rust_(programming_language)
- Comunidad tóxica.
[41:27] Digresión sobre systemd https://en.wikipedia.org/wiki/Systemd y otras cosas de sistemas.
- ¿El cambio por el cambio?
[45:07] El peso de la web está moviéndose otra vez al backend. ¿Qué opciones tiene Python en este area?
El cliente web solo envía eventos al servidor y recibe cambios al DOM https://es.wikipedia.org/wiki/Document_Object_Model enviadas por el servidor.
Abre la posibilidad olvidarnos de JavaScript: https://es.wikipedia.org/wiki/JavaScript.
ItsNat: https://en.wikipedia.org/wiki/ItsNat.
[51:02] splash https://pypi.org/project/splash/. Servicio de dibujado de javascript en Python.
[56:07] Integrar Python en otros programas y demonios.
[57:07] PyOxidizer https://pyoxidizer.readthedocs.io/en/stable/ y PyO3 https://pyo3.rs/.
Interactuar con otros lenguajes.
Python en Java, interactuando sin dolor: Jython https://www.jython.org/.
[59:52] ¿Cómo empezamos en Python?
Valor de Python como lenguaje fácil de entender y pseudocódigo.
- SpamBayes: http://spambayes.sourceforge.net/.
Tutorial de Python: https://docs.python.org/es/3/tutorial/index.html.
[01:05:07] Modificación atómica de ficheros.
En Unix se suele hacer: write + flush + rename.
MS Windows eso no funciona.
Python 3.3 añadió
os.replace()
https://docs.python.org/3.8/library/os.html#os.replace.En MS Windows es atómico... casi siempre: Issue8828: Atomic function to rename a file https://bugs.python.org/issue8828.
[01:10:02] Combinar fork e hilos en Python es una receta para el desastre.
[01:11:37] Decorador
@overload
https://docs.python.org/3/library/typing.html#typing.overload.@functools.singledispatch
https://docs.python.org/3/library/functools.html.¿Qué se ve cuando salta una excepción?
Especializaciones.
Cython https://cython.org/.
[01:17:00] AnyIO https://anyio.readthedocs.io/en/stable/basics.html. Unificación de reactores asíncronos.
[01:18:12] "lxml soporta xpath".
Hilo en la lista de correo: "[Python-es] Biblioteca XPATH" https://mail.python.org/pipermail/python-es/2021-February/037931.html.
lxml: https://lxml.de/.
beautifulsoup4: https://pypi.org/project/beautifulsoup4/.
Scrapy: https://scrapy.org/.
El buscador de PyPI https://pypi.org/ funciona fatal a la hora de ordenar por relevancia.
[01:20:02] El valor de estudiar el código fuente ajeno no solo para aprender de él sino también para descubrir qué bibliotecas útiles utilizan para añadirlas a tu cajón de herramientas.
Es la documentación última.
Los tests son muy útiles para saber cómo se usa el producto.
[01:22:02] ¿Cómo gestionáis la paginación cuando los datos del backend cambian? ¿Cómo evitáis repetir resultados o saltaros datos?
Brainstorming de diversas estrategias.
Berkeley DB: https://pypi.org/project/berkeleydb/.
Multiversion concurrency control: https://es.wikipedia.org/wiki/Multiversion_concurrency_control.
Copy on Write: https://es.wikipedia.org/wiki/Copy_on_write.
Snapshot: https://es.wikipedia.org/wiki/Copia_instant%C3%A1nea_de_volumen.
PostgreSQL: https://www.postgresql.org/.
ZFS: https://es.wikipedia.org/wiki/ZFS_(sistema_de_archivos).
Normalización y formas normales: https://es.wikipedia.org/wiki/Forma_normal_(base_de_datos).
[01:48:42] FOSDEM https://fosdem.org/:
Virako recomienda las siguientes:
Some SQL Tricks of an Application DBA - Non-trivial tips for database development https://fosdem.org/2021/schedule/event/postgresql_some_sql_tricks_of_an_application_dba/.
Database Disasters and How to Find Them https://fosdem.org/2021/schedule/event/postgresql_database_disasters_and_how_to_find_them/.
Practical advice for using Mypy - Hidden gems in the typing system! https://fosdem.org/2021/schedule/event/python_mypy/.
Escaping the Cargo Cult - How to structure your project without losing your mind. https://fosdem.org/2021/schedule/event/python_escaping_cargo_cult/.
[01:52:02] Charla Python Madrid https://www.python-madrid.es/.
- TDD - ¿panacea del desarrollo o pérdida de tiempo? https://www.python-madrid.es/meetings/reunion-febrero-2021-python-madrid/.
[01:54:27] Comentado en la tertulia de la semana pasada: Bugs sobre "pickle" https://docs.python.org/3/library/pickle.html en el módulo
__main__
.Se trata de un problema conocido.
Ejemplo de código: https://pastebin.com/vGM1sh8r.
Issue24676: Error in pickle using cProfile https://bugs.python.org/issue24676.
Issue9914: trace/profile conflict with the use of
sys.modules[__name__]
https://bugs.python.org/issue9914.Issue9325: Add an option to pdb/trace/profile to run library module as a script https://bugs.python.org/issue9325.
[02:00:42] Que te cuenten lo que no funciona es mucho más interesante.
- Postmortem.
[02:02:52] Whoosh: https://whoosh.readthedocs.io/en/latest/intro.html. ¿Cómo normalizar las palabras para español?
- La palabra "real" Whoosh: https://www.wordreference.com/es/translation.asp?tranword=whoosh. Dificultades para buscar el proyecto Python Whoosh https://whoosh.readthedocs.io/en/latest/intro.html en internet.
[02:05:48] Final.
29 odcinków
Wszystkie odcinki
×Zapraszamy w Player FM
Odtwarzacz FM skanuje sieć w poszukiwaniu wysokiej jakości podcastów, abyś mógł się nią cieszyć już teraz. To najlepsza aplikacja do podcastów, działająca na Androidzie, iPhonie i Internecie. Zarejestruj się, aby zsynchronizować subskrypcje na różnych urządzeniach.