Python en español

Python en español #23: Tertulia 2021-03-09


Listen Later

Hoy estamos poquitos en la tertulia y eso permite hablar a gente que nunca ha hablado antes: ¿Cómo puede aprender Python un novato? Python y seguridad https://podcast.jcea.es/python/23

Audio procesado con "rnnoise": https://jmvalin.ca/demo/rnnoise/.

Participantes:

  • Jesús Cea, email: [email protected], twitter:

    @jcea, https://blog.jcea.es/,
    https://www.jcea.es/. Conectando desde Madrid.

  • Jesús, conectando desde Ferrol.

  • Víctor Ramírez, twitter: @virako,

    programador python y amante de
    vim, conectando desde
    Huelva.

  • Gato, desde Chile.

    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:53] Hoy no se han conectado los habituales (Virako conectó

      un rato en medio de la sesión). Por suerte, Jesús, un oyente
      silencioso habitual, se apiadó de mí.

      • ¿Cómo empezamos a programar en Python?

      • Empezar con el tutorial:

        https://docs.python.org/es/3/tutorial/index.html.

      • [05:43] Jesús Cea coleccionaba lenguajes de programación en

        su juventud.

        • Forth: https://es.wikipedia.org/wiki/Forth.

        • Ensamblador:

          https://es.wikipedia.org/wiki/Lenguaje_ensamblador.

        • [06:23] "La mejor herramienta para cada trabajo" tiene un

          coste oculto. Especializarse.

        • [07:23] Mercado laboral en España para trabajar en remoto.

          • Los empleadores tienen exigencias poco realistas.
          • [09:18] Hay mucho material para aprender.

            • Saqueadores edición técnica: http://set-ezine.org/.
            • [12:48] Formación formal.

            • [14:03] Comunidades locales Python:

              • Python Vigo: https://www.python-vigo.es/.

              • Se intentaba montar algo en La Coruña.

              • Makerspaces: A Industriosa https://aindustriosa.org/.

              • [16:23] ¿Recursos que pueda usar un novato para aprender?

                • Asociación Python España: https://www.es.python.org/.

                • Lista de correo Python-es:

                  https://mail.python.org/mailman/listinfo/python-es.

                • Internet.

                • [19:23] Raspberry PI https://www.raspberrypi.org/, ESP8266

                  https://es.wikipedia.org/wiki/ESP8266, ESP32
                  https://es.wikipedia.org/wiki/ESP32.

                • [21:43] Puesta al día de la semana.

                • [23:28] Encuesta mundial de programadores de Python: Python

                  Developers Survey 2020 Results
                  https://www.jetbrains.com/lp/python-developers-survey-2020/.

                • [24:04] Ya estamos repasando las grabaciones, con vista a

                  publicarlas.

                  • Las notas jugarán un papel importante en las grabaciones.

                  • Capítulos.

                  • [26:03] IPFS: https://es.wikipedia.org/wiki/IPFS.

                    • Peer 2 Peer: https://es.wikipedia.org/wiki/Peer-to-peer.

                    • webrtc: https://es.wikipedia.org/wiki/WebRTC.

                    • Contribuir compartiendo las fotos de Python España.

                    • BitTorrent: https://es.wikipedia.org/wiki/BitTorrent.

                    • [29:33] Métricas de calidad de código.

                      • Complejidad ciclomática:

                        https://es.wikipedia.org/wiki/Complejidad_ciclom%C3%A1tica.

                      • Radon: https://pypi.org/project/radon/.

                      • Cobertura de test: Coverage

                        https://pypi.org/project/coverage/.

                      • Cada pequeño paso ayuda.

                      • [35:08] Porcentaje de código nuevo y mantenimiento.

                      • [36:33] Se perdió parte de la grabación de la tertulia de la

                        semana pasada. Explicaciones.

                        • Explicación de cómo se graban las tertulias.
                        • [41:13] Packt https://www.packtpub.com/. Muchos libros

                          digitales sobre Python.

                          • Un libro gratis al día:

                            https://www.packtpub.com/free-learning.

                          • Bot de telegram de notificaciones diarias:

                            https://t.me/packtpubfreelearning.

                          • [44:33] Funciones que son malas prácticas en C.

                            • C++ 'strcpy' gives a Warning (C4996):
                            • https://stackoverflow.com/questions/4012222/c-strcpy-gives-a-warning-c4996
                            • [46:23] Tema recurrente: ¿poner deberes?

                            • [48:08] ¿Progresos sobre Issue24676: Error in pickle using

                              cProfile https://bugs.python.org/issue24676, visto en
                              tertulias anteriores?

                              • Bug poco prioritario.

                              • Jesús Cea propone algunos rodeos al problema.

                              • runpy: https://docs.python.org/3/library/runpy.html.

                              • [52:09] Volvemos al tema de cómo un novato puede aprender desde

                                cero.

                                • Hacer un proyecto pequeño.

                                • Intentar no extenderse mucho, no hacer "muchas cosas".

                                • Si no tiene base, el código del novato va a ser malo y con

                                  mucho más esfuerzo del necesario. Hace falta cierto
                                  tutelaje.

                                • Examinar un proceso ajeno "pequeño" y estudiarlo.

                                • Project Euler: https://projecteuler.net/.

                                • Kata: https://es.wikipedia.org/wiki/Kata.

                                • Ventajas de un libro: Aprendizaje estructurado, gradual y

                                  que prioriza lo importante.

                                • Aprende Python en un fin de semana || Libro – PDF – EPUB –

                                  Descargar
                                  https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.

                                • Python España: Aprende Python

                                  https://www.es.python.org/pages/aprende-python.html.

                                • Comunidades locales.

                                  • ¿Las charlas valen para algo?
                                  • ¿Alguien que no sabe programar en absoluto entiende qué

                                    significa a = a + 1?

                                  • Commodore VIC-20:

                                    https://en.wikipedia.org/wiki/Commodore_VIC-20.

                                  • BASIC: https://es.wikipedia.org/wiki/BASIC.

                                  • Escribir código a mano puede ayudar.

                                  • [01:11:13] ¿Los emails de recordatorio a las listas de correo

                                    sirven para algo? ¿Son spam?

                                  • [01:13:43] Python y seguridad. ¿Recomendaciones para novatos?

                                    • OWASP: https://owasp.org/.

                                    • OWASP Top Ten Web Application Security Risks:

                                      https://owasp.org/www-project-top-ten/.

                                    • Listas de correo de seguridad.

                                    • Desbordamiento de búfer:

                                      https://es.wikipedia.org/wiki/Desbordamiento_de_buffer.

                                    • Podcast: Security Now https://twit.tv/shows/security-now.

                                    • Hispasec: Noticias de seguridad diaria: Una al Día:

                                      https://unaaldia.hispasec.com/.

                                    • The CERT C Secure Coding Standard

                                      https://www.amazon.com/CERT-Secure-Coding-Standard/dp/0321563212.

                                    • Cada lenguaje tiene sus propios fallos de seguridad típicos,

                                      propios de las idiosincrasias o el estilo de ese lenguaje.

                                    • [01:22:43] PEP 578 -- Python Runtime Audit Hooks

                                      https://www.python.org/dev/peps/pep-0578/

                                      • Audit events table:
                                      • https://docs.python.org/3/library/audit_events.html.
                                      • [01:24:43] Los "Framework" te protegen de fallos típicos

                                        conocidos https://es.wikipedia.org/wiki/Framework.

                                        • Si el "framework" es popular y se le encuentra un bug, eres

                                          susceptible a un ataque masivo.

                                          • Ejemplo: WordPress:
                                          • https://es.wikipedia.org/wiki/WordPress.
                                          • Hay que preocuparse de tenerlo actualizado.

                                          • Django: https://www.djangoproject.com/.

                                          • Ataque de cadena de suministro:

                                            https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.

                                          • [01:28:53] DevOps: https://es.wikipedia.org/wiki/DevOps.

                                            • Docker: https://www.docker.com/.

                                            • ¿Quién se preocupa de actualizarlo?

                                            • [01:31:53] Volvemos al tema OWASP https://owasp.org/.

                                              • OWASP Top Ten Web Application Security Risks:
                                              • https://owasp.org/www-project-top-ten/.
                                              • [01:32:53] ¿En qué posición está Python respecto a la seguridad,

                                                respecto a otros lenguajes de programación?

                                                • DB-API 2.0: PEP 249 -- Python Database API Specification

                                                  v2.0 https://www.python.org/dev/peps/pep-0249/.

                                                • sqlite3: https://docs.python.org/3/library/sqlite3.html.

                                                • Aunque un lenguaje de programación sea razonablemente

                                                  seguro, los programadores introducen fallos de seguridad en
                                                  su código. Algunos ejemplos.

                                                • pickle: https://docs.python.org/3/library/pickle.html.

                                                • eval:

                                                  https://docs.python.org/3/library/functions.html#eval.

                                                • [01:36:43] Ataque de cadena de suministro:

                                                  https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.

                                                  • Poison packages – “Supply Chain Risks” user hits Python

                                                    community with 4000 fake modules:
                                                    https://nakedsecurity.sophos.com/2021/03/07/poison-packages-supply-chain-risks-user-hits-python-community-with-4000-fake-modules/.

                                                  • Cualquiera puede subir un módulo nuevo a PYPI:

                                                    https://pypi.org/.

                                                  • [01:40:53] Costes del código abierto.

                                                    • La reputación no basta.

                                                    • Trabajo ingrato.

                                                    • Depender del trabajo voluntario es un problema.

                                                    • [01:43:13] Auditoría automática de código.

                                                      • Hay una diferencia entre código con bugs y ataques

                                                        maliciosos conscientes.

                                                      • Ejemplo, Antivirus. VirusTotal:

                                                        https://www.virustotal.com/gui/, Hispasec
                                                        https://hispasec.com/es/.

                                                      • Un clásico de 1984: "Reflections on Trusting Trust":

                                                        https://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf.

                                                      • [01:46:08] Es un problema universal. Dependemos del trabajo de

                                                        mucha gente que no cobra, que lo hace por amor al arte.

                                                        • Referencia obligada a XKCD https://xkcd.com/:

                                                          • Dependency https://xkcd.com/2347/.

                                                          • Wikipedia XKCD: https://es.wikipedia.org/wiki/Xkcd.

                                                          • OpenSSL https://es.wikipedia.org/wiki/OpenSSL:

                                                            • Heartbleed https://es.wikipedia.org/wiki/Heartbleed.
                                                            • WordPress: https://es.wikipedia.org/wiki/WordPress.

                                                            • [01:50:03] Empresas que dan soporte comercial a productos de

                                                              código abierto.

                                                              • Red Hat: https://es.wikipedia.org/wiki/Red_Hat.

                                                              • Opinión de Jesús Cea: Se vende tranquilidad, no seguridad.

                                                                • Desplazas la responsabilidad a otro.

                                                                • Gestión de riesgo. Proteger su puesto de trabajo.

                                                                • "No han despedido nunca a nadie por comprar IBM":

                                                                  https://loscuenca.com/2010/04/nunca-han-despedido-a-nadie-por-contratar-a-______/

                                                                • [01:55:23] Hoy ha sido un día raro en la tertulia, faltan (casi)

                                                                  todos los habituales y habla gente que no ha hablado nunca.

                                                                  • Jesús Cea ya ha perdido el miedo a que no se conecte nadie a
                                                                  • la tertulia semanal.
                                                                  • [02:00:33] Falta la voz del "novato".

                                                                    • Aprende Python en un fin de semana || Libro – PDF – EPUB –
                                                                    • Descargar
                                                                      https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.
                                                                    • [02:09:03] Traducción de la documentación Python al español:

                                                                      • Documentación Python en Español:

                                                                        https://docs.python.org/es/3/.

                                                                      • Documentación oficial de Python en español

                                                                        https://pyar.discourse.group/t/documentacion-oficial-de-python-en-espanol/238/23.

                                                                      • GitHub: https://github.com/python/python-docs-es/.

                                                                      • Documentación oficial de Python en Español

                                                                        https://elblogdehumitos.com/posts/documentacion-oficial-de-python-en-espanol/.

                                                                      • docs.python.org en Español

                                                                        https://elblogdehumitos.com/posts/docspythonorg-en-espanol/.

                                                                      • [02:11:28] Final.

                                                                        ...more
                                                                        View all episodesView all episodes
                                                                        Download on the App Store

                                                                        Python en españolBy Jesús Cea


                                                                        More shows like Python en español

                                                                        View all
                                                                        Libros para Emprendedores by Luis Ramos

                                                                        Libros para Emprendedores

                                                                        1,115 Listeners