Debugging
Clase 27 de 31 • Curso de Introducción al Pensamiento Computacional con Python
Contenido del curso
Clase 27 de 31 • Curso de Introducción al Pensamiento Computacional con Python
Contenido del curso
Iván Ricardo Bohórquez Basto
Juan José Londoño David
Iván Ricardo Bohórquez Basto
Víctor Hugo Morales Martínez
Diego Alessandro Galvez Rodriguez
Juan David Cepeda López
Rosario Sánchez
Aurelio ML
Luis Fernando Pedroza Taborda
Manuel Alejandro Aguilar Téllez Girón
Cesar Hernández Ramírez
Marcos Monteverde
Alejandro Mancilla Lopez
Daniel Felipe Torres
Andrés Soret Chacin
Jose Colmenares
Josue Farley Lopez Carvajal
Cesar Hernández Ramírez
Juan Vásquez
Jon Francis Perez
María Camila Betancourth Ospina
Flavio César Sandoval Muñoz
López Ary Dani
Mateo Echavarria
Maslov Viloria
Karl Behrens Gil
Angel Gerardo Ochoategui Occampo
Leonardo Matías Windey
Wilkins Bernardo Brito Serrano
Osvaldo Damián Ruiz
Lorenzo Enrique Piñango Cerezo
Edwin Jesset Barrientos Gonzales
Fabrizio Fasanando Sotelo
Jonathan Edwin Gutiérrez Olvera
Fernando Torres Pantoja
Andrés Soret Chacin
David Esteban Solorzano Taborda
Juan Rodriguez
Gregory Pérez
Brayan Olarte
Victor Inojosa
Alejandro Picado Brenes
Daniel Felipe Torres
Augusto Huerta
``En un curso llamado "Learning How TO Learn" explican que durante el sueño y el ejercicio el cerebro "barre" la información basura. Dejando únicamente la información útil para los contextos en los que nos desenvolvemos.
Es un proceso fisiológico donde el líquido del cerebro literalmente se "depura" de conexiones neuronales inútiles. Y por eso es importante dormir bien y hacer ejercicio. También una sana alimentación importante el consumo de omegas, facilitan esos procesos en el cerebro. Es como que el cerebro hace su propio "debugging".
Muy Interesante Iván, la anatomía humana es increíble. ¿El curso "Learning How To Learn" está en Platzi o en otra plataforma?
Juan, es un curso que tomé en Coursera. Es otra plataforma y al parecer se puede hacer sin que te lo certifiquen, así lo hice yo ya hace 4 años. Me cambió la vida literalmente.
SI quieres el certificado, pagas y te lo envían.
jjajaja nunca falla ╰(°▽°)╯
Alguna vez se lo escuche en un live al profe Oscar Barajas :D y me pareció curioso ese método pero, digamos que hace parte de contarle a alguien aunque no sea real.
Lo de ir a dormir y amanecer con la solución generalmente no falla 😂
Es la mejor técnica, casi siempre funciona 😂
Algo parecido a lo de reiniciar que tampoco falla.
Llevaba dos días sin dormir y no encontraba la solución a un bug, estaba desarrollando una página web. Me aburrí, me frustré, y dije
– Creo que ha llegado el momento de retirarme como desarrollador
Me fui a dormir. Después de despertar, lo resolví en quince minutos. Duerman y duerman muy bien xD
xD
jajajajjaja
Esta clase me dio mucha calma y paz
Guided meditation for debugging.
Ya somos dos 👌😁
La razón por la cual nos vemos a dormir y obtenemos la respuesta es devido a que cuando estamos durmiendo, haciendo ejercicio o caminando, el cerebro entra en 'Modo Difuso', un modo en el cual el cerebro es capáz de realizar conexiones de ideas separadas. Este modo es totalemente distinto al 'Modo Enfocado', cuando estamos pensando en resolver un problema de programación.
Creo que vivo en un modo difuso permanente.
Seee es lo que estoy viendo en el curso de aprendizaje efectivo :D
dijo netaaaaaaaaaaaaaaaaaaaaaaaaaaaa xd me alegró la noche :D
Con ese bigote en algún momento se le tenía que escapar :v
ajajajajja
Te vas a dormir y despiertas y el bug te pide de desayunar :P
a mi siempre se me meten a las bolsas de avena 🥴 No me piden permiso
E R R O R E S C O M U N E S
Pasar los argumentos en un orden incorrecto
Nombres escritos de manera errónea
No inicializar una variable que era necesaria inicializar
Tratar de comparar 2 flotantes con igualdad exacta, en lugar de usar una aproximación
Usar un "is" cuando era un "==" o viceversa
Las funciones pueden tener efectos secundarios
Generar alias
Si se me paso alguna comentalo
Les dejo mis apuntes https://github.com/karlbehrensg/introduccion-pensamiento-computacional
Debugging
Los bugs son un problema que les sucede a todos, sin embargo si realizamos test a nuestro programa probablemente tendremos menos bugs, pero esto no es suficiente.
Existen unas reglas generales que nos ayudaran:
Debuguear es un proceso de búsqueda de los bugs, por lo que al diseñar nuestros experimentos debemos acotar el espacio de búsqueda en cada prueba. Una forma ágil de debugear es utilizando una búsqueda binaria con print statements, esto significa que ejecutamos la mitad del código, si no falla entonces sabemos que el problema esta en la otra mitad, y en cada área que vamos acortando lo dividimos por mitades, de esta forma hallaremos rápidamente nuestro bug.
Existe un listado de errores comunes de los cuales también nos podemos apoyar:
Muchas gracias. Me encanto tu apunte.
Qué grande! Muy buenos apuntes compañero.
Gracias nuevamente.
Es muy interesante lo que el tutor ha dicho en esta clase, ¿qué pasa cuando te vas dormir teniendo en cuenta el problema? Bien, lo que sucede es que nuetsro cerebro sigue trabajando a toda potencia activando otros canales neuronales que no usas mucho en estado consciente, mientras estás descansando o estás en modo aburrido, ésta era la razón por la que Eintesn tomaba largas duchas jugando con su patito en la bañera mientras pensaba en fórmulas físicas, de hecho hay un excelente libro en inglés titulado Bored and Brilliant, donde se explica a detalle todo este proceso psico-biológico y social, por fortuna, una habilidad única que nunca tendrá la inteligencia artificial.
excelente aporte
Buen aporte :)
A mi me paso que me soñe con la solucion del problema, en el sueño lo resulvi. al dia siguiente lo aplique y funciono ajja
El consejo de ir haciendo prubeas en el codigo mediante busqueda binaria me ha parecido muy bueno, y me hace reflexionar sobre la programación, más que lenguajes de programación y bugs, es una forma de pensar y escructuar las ideas. Excelente clase profesor, que usted ponga como ejemplos cosas que le han pasado a usted personalmente(typescript y python, su amigo el de los bugs xd) ayuda muchísimo al dinamismo de la clase :)
Una vez se metió una cucaracha en mi PS2
JAJAJAJA Me pasa y mucho 🤣🤣
En python la libreria pdb es buenisima para hacer debug https://docs.python.org/3/library/pdb.html
La almohada es el mejor breakpoint
Una vez estaba realizando un proyecto de desarrollo web que me enviaron en la universidad y estaba trancado así que fui a ver x-men en la sala de la casa con toda mi familia después de un rato estaba viendo la película me levante de golpe diciendo "POR ESO NO FUNCIONA" y me fui corriendo a programar nuevamente JAJAJA mi familia creyó que estaba loco pero solucione el error :D
Jajaja esto me pasa muy seguido. Me levanto del pc hago otras actividades y de repente sas! Llega la solucion al problema
Yo uso el debbuger de PyCharm que es maravilloso. Me permite interrumpir la ejecución en cualquier punto y evaluar todos los objetos creados hasta ese punto, hacer evaluaciones de expresiones, interrumpir la ejecución solo si se cumple una condición, avanzar linea por linea, entre muchas otras cosas.
Hola, he leído varios aportes donde mecionan ese IDE PyCharm, qué diferencia tiene con respeto a VS Code?
La diferencia es que Pycharm es un IDE solo para Python, lo que hace que encuentres muchas más herramientas a la hora de programar, VS Code por su parte permite escribir código en casi cualquier lenguage y lo que haces generalmente es descargar una extensión que brinda herramientas para programar. Pero pues las funcionalidades de las extensiones son más limitadas.
Yo: Y bueno, este es mi código. Mi patito: