Curso de Programación Backend en C# .NET: www.udemy.com/course/aprende-programacion-backend-en-c-net/?couponCode=2023DIC3 Mis cursos de programación: hdeleon.net/cursos-premium/
ahora estaría bueno un video que explicara las diferencias entre Asynchronous, Multithreading y Multiprocessing Programming, o concurrencia y paralelismo.
Esto es lo que te hace grande mi estimado ... No se trata de "enseñar a tipear codigo" ... "enseñar sintaxis" ... esas cosas están en la documentación de cada lenguaje... Tu enseñas temas mas útiles para el proceso de desarrollo ... Eres un "in-gun" jajajajaja SALUD! ... digo digo, Saludos!
Este es el único tipo de contenido sobre programación que me entretiene más que cualquier cosa que ponga a la par del trabajo para "distraerme". Gracias Hector Cervezón.
Eres muy grande Héctor. A menudo hacemos las cosas y no nos paramos a pensar en las implicaciones que tienen, hasta que llega un día en que el cliente se queja de que las aplicaciones que le hemos desarrollado no van tan bien ni tan rápido como deberían. Este tipo de tutoriales con ejemplos concretos de buenas prácticas me vienen de lujo. Gracias!
3:17 me voy adelantando, ese código se va a ejecutar línea por línea pero las siguientes se van a quedar esperando a que termine la que se está ejecutando; mientras que podrías estar haciendo las 2 peticiones juntas de un tirón y ahorrarte bastante tiempo de espera innecesarios. Es súper importante entender bien estos conceptos
Muchas veces había oído sobre programación asíncrona sin saber de qué trataba... Con este video me quedo claro las ventajas que tiene, y a qué está destinado este tipo de programación, muchas gracias ✨
Acabas de hacerme cuestionar mis 6 años de experiencia como programador! claramente lo hemos implementado mal, pero sobre todo se ha enseñado mal lo relacionado a la asincronía. Gracias por la regañada ❤
Y eso me lo cuestione hace como 4 años cundo vi un video de hector. Y después dije la gente de javascript es muy pedante con el async y el await con sus videos de no uses promesas usa async and await de allí viene que muchos no entiendan esta parte.
Excelente! Al fin alguien de forma simple explica que no es solamente async await async await, a veces hay obsesion y ni siquiera era necesario invocar un metodo async.
excelente contenido 🤩. yo uso javascriot y esto se aplica perfectamente, trato de solo usar await cuando mi otro codigo depende de lo que viene y si son mas de 2 promesas trato de hacerlas en paralelas, de lo contrario mejor no hago tareas bloqueantes.. me gusta tu contenido un crack
Que buen video, en muchas partes uno encuentra ejemplos que no tienen sentido y confunden mucho cuando apenas estás aprendiendo 😔... Por ejemplo, cuando empezé a revisar esto yo llegué a pensar que aunque pusiera await el proceso iba continuar y solo parar en caso de que volviera a llamar la variable que definí con el await ... 🙈
Tambien hay tareas que no necesitas esperar a que retornen un resultado, las llamadas "fire and forget", solo las ejecutas y puedes seguir con el resto del código. Para eso basta con usar "_ =" en cualquier Task, obvio hay que tener presente que, si el hilo principal de tu app se cierra, posiblemente mates esa otra tarea antes de que termine, es más util para una app o servidor que siempre está corriendo para ahorrarte algo de tiempo por ejemplo en guardado de auditorías u otra info que si falla no te afecta al 100%. Y haciendo mención de lo anterior, la unica desventaja de el "fire and forget" es que, si falla algo dentro del proceso, no te darás cuenta, simplemente finalizara la tarea y yap, aunque para eso también puedes manejar auditoria o logs dentro de esa tarea, pero en el hilo principal al final no sabra el resultado de esta.
Si es una llamada de red, prefiero esperar a una respuesta del servidor por ejemplo. Asi que en ese caso soy mas de _ = await ... De esta forma me aseguro que termina (Luego se puede dejar a criterio del que use X funcion el esperarla o no)
Oye carnal, la neta me gusta un buen tu contenido, y tengo un curso tuyo de SQL, y me quedé pensando “qué chingón enseña este bro, debería de sacar uno de Excel (aunque ya haya muchos y que muchos de aquí ya sabemos)” siento que pegaría muchísimo un curso así tuyo (un mero consejo) Eres un duro 🔥😎🤟🏻
justo hoy estuve haciendo uso de esto, al mismo tiempo hago un fetch y voy a hacer una consulta a la base de datos, despues abajo espero por las 2 task que terminen... ahora los tiempos no se suman y el tiempo total esta dado por el tiempo del fetch, saludos crack!
Es cierto que mucha gente pone siempre el await sin pensarlo porque también la gran mayoría de las veces se necesita también el resultado para poder continuar, pero no siempre.
Muy bueno, recuerdo haber puesto await en lugares donde realmente no sabía si era necesario....como grabar en un log o crear el archivo o directorios o pasar a base64 el Buffer de una imagen. Datillos como el que la escritura en disco PUEDE SER lenta, como lo son las llamadas HTTP, me sirvieron un montón. Muchas gracias y un abrazo grande desde Córdoba Argentina. Y salud!, obvio.
en mi primer trabajo tuve que cargar la foto de perfil del usuario, lo había hecho mal y ponía el await, por tanto, toda la aplicación se quedaba esperando a que se cargara la foto y por esto tardaba mucho en iniciarse, muy buen contenido y gracias por la explicación alguien tenai que decirlo ^^
De hecho asi la enseñaste tu en su tiempo, yo desde hace tiempo lo aprendi desde Pluralsight. e igualmente creo que la sintaxis que usaste no es la mejor. Muchs gracias por el contenido !
Creo que te faltó el ejemplo que hubiese sido mas simple con Task.WhenAll, o sea convertir esas 4 (si no le erro) lineas de código en 1 para cada caso. Pero siempre viene bien porque me hace revisar código para encontrar mejoras para los proyectos, aqui tienes mi pulgar arriba como corresponde.
No se puede. Porque la escritura en disco depende de que los contents ya existan. Son dos grupos de tareas, el segundo depende de que el primero se complete.
Excelente video. Cuando puedas por favor un video así mismo q se explique q pasa si se utiliza inyección y q pasa si no. Para poder ver más allá de la teoría el beneficio en la práctica de las interfaces
Buen video Hector! Me gustaría, si no te ofende, agregar un regaño más para que entiendan la diferencia entre whenAll y waitAll. utilizando tus ejemplos también me parecería interesante remarcar que sería más eficiente meter la funcionalidad en un método y llamarlo dos veces ya que tu primer await siempre va a bloquear al segundo.
Excelente maestro. Un crack!!! Pregunta. Haz hecho algun programa sencillo que podamos replicar como programadores que te ayude en el día a dia? Saludos y gracias por tu valioso contenido!!
Solo dire notable loco jajaja creo que no había visto nunca a nadie que explicara esto, lit la mayoría te muestra el await solamente pero nadie te comenta el momento asincrónico 👏👏
Hola Hector, seria bueno una serie de videos sobre arquitecturas de software como la arquitectura Onion y el Clean arquitecture, junto a un ejemplo practico en .Net o donde desees. Muchas gracias por aportar a la comunidad dev en español 🤘
A mí me gusta usar el task.whenAll y ahí meter todas las tasks pero también lo hago como tú lo muestras en tu video. Me hubiera gustado ver tu video hace 3 o 4 años pues me costó mucho trabajo dominar el concepto de async await de forma correcta 😊. Buena explicación, quizás hubiera sido mejor que omitieras el paso de escribir en un archivo el contenido de cada request (lo comento como un feedback y que el ejemplo sea aún más fácil de entender para las personas que a penas están estudiando el concepto de sincronía
Cuando trabajaba con SQL siempre lo usaba ya que algunas peticiones tardaban demasiado, ahora con Mongo ya no lo he usado. Sin embargo recordando el uso correcto de async, ya se me estan ocurriendo varias situaciones para mejorar en mi base de código actual.
Yo para mi trabajo requerí hacer una query así toda bien bizarra y puerk en menos de 200ms, hace 2 llamadas a servicios diferentes, total, por la necesidad me vino la iluminación de hacer esto mismo que dices mi buen Héctor, y aunque ya sabía esto, hay varias cosas que dices que no sé y que me sirven mucho xd gracias bro saludos desde Puebla Solo quería contar mi anécdota xd
Yo entendí este tema en javascript el mejor lenguaje de programacion. :) y en el desarrollo de apps movil ya que si no lo hacia podria colapsar el hilo principal de la app (de la interfaz grafica😃)
Excelente contenido como siempre joven Héctor, podrá hacer un tutorial sobre win ui3, me gustaría aprender las bases o una orientación de como empezar, gracias de antemano, saludos cordiales, Dios lo bendiga.
Muchas gracias me sirvioooo...!!!!!!! Por favooooor no se si puedes hacer un video con UnitOfWork para que se pueda conectar a varias bases de datos por favooooor...!!!! gracias...!!!!
Hola buen dia, espero leas este comentario, la verdad estoy aprendiendo, unos pudieron comprender pero yo no, me gustaria una explicacion para Re-Dumies sobre Asincronia, por favor un video, mil gracias, feliz dia,
Curso de Programación Backend en C# .NET: www.udemy.com/course/aprende-programacion-backend-en-c-net/?couponCode=2023DIC3
Mis cursos de programación: hdeleon.net/cursos-premium/
ahora estaría bueno un video que explicara las diferencias entre Asynchronous, Multithreading y Multiprocessing Programming, o concurrencia y paralelismo.
¿con ejemplos y todo? 🤣
Esto es lo que te hace grande mi estimado ... No se trata de "enseñar a tipear codigo" ... "enseñar sintaxis" ... esas cosas están en la documentación de cada lenguaje... Tu enseñas temas mas útiles para el proceso de desarrollo ... Eres un "in-gun" jajajajaja SALUD! ... digo digo, Saludos!
Este es el único tipo de contenido sobre programación que me entretiene más que cualquier cosa que ponga a la par del trabajo para "distraerme". Gracias Hector Cervezón.
Eres muy grande Héctor.
A menudo hacemos las cosas y no nos paramos a pensar en las implicaciones que tienen, hasta que llega un día en que el cliente se queja de que las aplicaciones que le hemos desarrollado no van tan bien ni tan rápido como deberían.
Este tipo de tutoriales con ejemplos concretos de buenas prácticas me vienen de lujo. Gracias!
3:17 me voy adelantando, ese código se va a ejecutar línea por línea pero las siguientes se van a quedar esperando a que termine la que se está ejecutando; mientras que podrías estar haciendo las 2 peticiones juntas de un tirón y ahorrarte bastante tiempo de espera innecesarios. Es súper importante entender bien estos conceptos
Cabezón haz mas videos así, esto sirve un chingo!!
Muchas veces había oído sobre programación asíncrona sin saber de qué trataba... Con este video me quedo claro las ventajas que tiene, y a qué está destinado este tipo de programación, muchas gracias ✨
Acabas de hacerme cuestionar mis 6 años de experiencia como programador! claramente lo hemos implementado mal, pero sobre todo se ha enseñado mal lo relacionado a la asincronía.
Gracias por la regañada ❤
Y eso me lo cuestione hace como 4 años cundo vi un video de hector. Y después dije la gente de javascript es muy pedante con el async y el await con sus videos de no uses promesas usa async and await de allí viene que muchos no entiendan esta parte.
Excelente! Al fin alguien de forma simple explica que no es solamente async await async await, a veces hay obsesion y ni siquiera era necesario invocar un metodo async.
gracias Héctor, como siempre.
Regaño aceptado! Estoy volandolos de un proyecto que hice en Maui y estan jodiendo de mas el proyecto
Hector!!! eres lo máximo alchoolico de m....!!! gracias por la regañada...!! estuvo espectacular!!! un abrazo...!!!
Te debo mucho Héctor
Voy a mi primer trabajo de backend y he seguido tus cursos
Gracias por la información. Saludos Hector
Grande Héctor, siempre aprendiendo cosas nuevas contigo, saludos desde Costa Rica!
excelente contenido 🤩.
yo uso javascriot y esto se aplica perfectamente, trato de solo usar await cuando mi otro codigo depende de lo que viene y si son mas de 2 promesas trato de hacerlas en paralelas, de lo contrario mejor no hago tareas bloqueantes..
me gusta tu contenido un crack
Siempre aprendiendo del mejor!
¡Crack! 😎
Que buen video, en muchas partes uno encuentra ejemplos que no tienen sentido y confunden mucho cuando apenas estás aprendiendo 😔... Por ejemplo, cuando empezé a revisar esto yo llegué a pensar que aunque pusiera await el proceso iba continuar y solo parar en caso de que volviera a llamar la variable que definí con el await ... 🙈
Gracias por este vídeo Hector, llevas toda la razón 👏👏👏👏👏👏
Tambien hay tareas que no necesitas esperar a que retornen un resultado, las llamadas "fire and forget", solo las ejecutas y puedes seguir con el resto del código.
Para eso basta con usar "_ =" en cualquier Task, obvio hay que tener presente que, si el hilo principal de tu app se cierra, posiblemente mates esa otra tarea antes de que termine, es más util para una app o servidor que siempre está corriendo para ahorrarte algo de tiempo por ejemplo en guardado de auditorías u otra info que si falla no te afecta al 100%.
Y haciendo mención de lo anterior, la unica desventaja de el "fire and forget" es que, si falla algo dentro del proceso, no te darás cuenta, simplemente finalizara la tarea y yap, aunque para eso también puedes manejar auditoria o logs dentro de esa tarea, pero en el hilo principal al final no sabra el resultado de esta.
Si es una llamada de red, prefiero esperar a una respuesta del servidor por ejemplo.
Asi que en ese caso soy mas de _ = await ...
De esta forma me aseguro que termina (Luego se puede dejar a criterio del que use X funcion el esperarla o no)
Gracias Hector, genial, has resuelto una de mis dudas existenciales sobre cómo sacarle provecho a la asincronía!
Oye carnal, la neta me gusta un buen tu contenido, y tengo un curso tuyo de SQL, y me quedé pensando “qué chingón enseña este bro, debería de sacar uno de Excel (aunque ya haya muchos y que muchos de aquí ya sabemos)” siento que pegaría muchísimo un curso así tuyo (un mero consejo)
Eres un duro 🔥😎🤟🏻
Excelente como siempre Hector!!
Por supuesto que aprendí, muchas gracias Master Hector
excelente explicación... gracias!
Muy bueno, gracias Héctor!
justo hoy estuve haciendo uso de esto, al mismo tiempo hago un fetch y voy a hacer una consulta a la base de datos, despues abajo espero por las 2 task que terminen... ahora los tiempos no se suman y el tiempo total esta dado por el tiempo del fetch, saludos crack!
Es cierto que mucha gente pone siempre el await sin pensarlo porque también la gran mayoría de las veces se necesita también el resultado para poder continuar, pero no siempre.
Gracias maestro Hector.
Excelente Mister Super clara la explicación.
Muchas gracias bro!
Que chingon Hector, estaba buscado info sobre esto.
Muchas gracias, ahora todo tiene sentido, por ello tardan un poco los métodos que desarrollo
Aprendido!! Gracias Héctor.
Muy bueno, recuerdo haber puesto await en lugares donde realmente no sabía si era necesario....como grabar en un log o crear el archivo o directorios o pasar a base64 el Buffer de una imagen.
Datillos como el que la escritura en disco PUEDE SER lenta, como lo son las llamadas HTTP, me sirvieron un montón.
Muchas gracias y un abrazo grande desde Córdoba Argentina.
Y salud!, obvio.
Excelente Héctor , gracias por la enseñanza
Excelente Héctor!
muuuy buen video hector, yo lamentablemente aprendi a tropesones en programacion paralela, me gusto mucho la explicacion queda muy claro
Eres un crack .. muchas veces no nos atrevemos a preguntar y conocer el concepto de fondo.
en mi primer trabajo tuve que cargar la foto de perfil del usuario, lo había hecho mal y ponía el await, por tanto, toda la aplicación se quedaba esperando a que se cargara la foto y por esto tardaba mucho en iniciarse, muy buen contenido y gracias por la explicación alguien tenai que decirlo ^^
GENIAL! NO SE ME HABÍA OCURRIDO QUE LOS TASK SE PODÍAN AWAITAR LUEGO. THANX
Hermosho…. 😊, todos los días se aprende algo nuevo. Buena explicación, se entendió la idea 💡
Muy buena explicación sobre await, no sabía cuál era su función. Gracias por brindar tus conocimientos
Excelente video y una gran aclaración sobre el uso de las tareas asíncronas
muchas gracias jesus
Excelente muchas gracias por compartir esta excelente infirmación, saludos.
Muy clara la info, gracias!!
De hecho asi la enseñaste tu en su tiempo, yo desde hace tiempo lo aprendi desde Pluralsight. e igualmente creo que la sintaxis que usaste no es la mejor. Muchs gracias por el contenido !
Su cara al final de: si aprendiste Juanito o sigues igual de pendj@? Lo amè
Creo que te faltó el ejemplo que hubiese sido mas simple con Task.WhenAll, o sea convertir esas 4 (si no le erro) lineas de código en 1 para cada caso. Pero siempre viene bien porque me hace revisar código para encontrar mejoras para los proyectos, aqui tienes mi pulgar arriba como corresponde.
No se puede. Porque la escritura en disco depende de que los contents ya existan. Son dos grupos de tareas, el segundo depende de que el primero se complete.
Excelente video. Cuando puedas por favor un video así mismo q se explique q pasa si se utiliza inyección y q pasa si no. Para poder ver más allá de la teoría el beneficio en la práctica de las interfaces
No tenia idea de para que era ni como se usaba el await.. Supongo que también se puede usar en funciones..
Gracias por la regañada..
Gracias por el video, no entendia muy bien el uso del await y task juntos, ahora entendi como usarlo correctamente, muchas gracias!!!!!
Uff genial
Buen video Hector! Me gustaría, si no te ofende, agregar un regaño más para que entiendan la diferencia entre whenAll y waitAll.
utilizando tus ejemplos también me parecería interesante remarcar que sería más eficiente meter la funcionalidad en un método y llamarlo dos veces ya que tu primer await siempre va a bloquear al segundo.
Excelente maestro. Un crack!!! Pregunta. Haz hecho algun programa sencillo que podamos replicar como programadores que te ayude en el día a dia? Saludos y gracias por tu valioso contenido!!
Solo dire notable loco jajaja creo que no había visto nunca a nadie que explicara esto, lit la mayoría te muestra el await solamente pero nadie te comenta el momento asincrónico 👏👏
Gracias profe, me queda mas claro.
Que tal mi nombre es Héctor de león el único programador que perdió en la midudev league
Al fin lo entendí, muchisimas gracias!! no entendia cuando usar await!
Wow, Gracias!
Hola Hector, seria bueno una serie de videos sobre arquitecturas de software como la arquitectura Onion y el Clean arquitecture, junto a un ejemplo practico en .Net o donde desees. Muchas gracias por aportar a la comunidad dev en español 🤘
Muchas gracias, lo he entendido. Pero, la próxima vez explícamelo con cerveza, que así me cuesta un poco😂👍👌
Excelente, muy ilustrativo y claro el ejercicio
Gracias por los videos
más de 3 años de experiencia y sentí que no se nada, pero con practica se llegara lejos :)
Excelente video.
Gracias por hacer este video
Muy bueno man, si le sabes, gracias por compartir conocimiento
Tendré que probarlo, que tal se comporta cuando realizas la ejecución de stored procedures.
Maravillosa jugada
Gracias
Excelente explicación crack!!!
A mí me gusta usar el task.whenAll y ahí meter todas las tasks pero también lo hago como tú lo muestras en tu video. Me hubiera gustado ver tu video hace 3 o 4 años pues me costó mucho trabajo dominar el concepto de async await de forma correcta 😊. Buena explicación, quizás hubiera sido mejor que omitieras el paso de escribir en un archivo el contenido de cada request (lo comento como un feedback y que el ejemplo sea aún más fácil de entender para las personas que a penas están estudiando el concepto de sincronía
Y de asíncronia
excelente gracias
La verdad no lo terminé de entender, pero ya sé qué tengo que ponerme a estudiar, muchas gracias
Increíble video! Me encanta que expliques el concepto de las cosas
Cuando trabajaba con SQL siempre lo usaba ya que algunas peticiones tardaban demasiado, ahora con Mongo ya no lo he usado. Sin embargo recordando el uso correcto de async, ya se me estan ocurriendo varias situaciones para mejorar en mi base de código actual.
Excelente explicación.
Yo para mi trabajo requerí hacer una query así toda bien bizarra y puerk en menos de 200ms, hace 2 llamadas a servicios diferentes, total, por la necesidad me vino la iluminación de hacer esto mismo que dices mi buen Héctor, y aunque ya sabía esto, hay varias cosas que dices que no sé y que me sirven mucho xd gracias bro saludos desde Puebla
Solo quería contar mi anécdota xd
Interesante el await. Gracias.
muy bueno saludos.
gracias!!!
¡Buenas Héctor! ¿Esto también es válido en JS? Saludos.
Yo entendí este tema en javascript el mejor lenguaje de programacion. :) y en el desarrollo de apps movil ya que si no lo hacia podria colapsar el hilo principal de la app (de la interfaz grafica😃)
El dicho del programador: "en mi máquina corre" 😂
Muy útil el tip, te lo agradezco, sé que me servirá en mis proyectos.
Excelente contenido como siempre joven Héctor, podrá hacer un tutorial sobre win ui3, me gustaría aprender las bases o una orientación de como empezar, gracias de antemano, saludos cordiales, Dios lo bendiga.
Grrracias profeeeeee
Muchas gracias me sirvioooo...!!!!!!! Por favooooor no se si puedes hacer un video con UnitOfWork para que se pueda conectar a varias bases de datos por favooooor...!!!! gracias...!!!!
Hola buen dia, espero leas este comentario, la verdad estoy aprendiendo, unos pudieron comprender pero yo no, me gustaria una explicacion para Re-Dumies sobre Asincronia, por favor un video, mil gracias, feliz dia,
Ufff, me acabas de salvar la vida.
Gracias man! 🤟
Héctor, gran maestro. Que es más recomendado, usar task y guardar la tarea por tarea o un Task.WhenAll?
Excelente.
Notable!!!!
eres un crack!
Los detalles definen al buen programador.
ni en mi casa me regañan,bueno,un poco pero es por mi bien,asi como tu,gracias
Muchas gracias por hacerme dar cuenta de mi error 🙌
Maldita sea Siempre lo he hecho mal 😂😂 gracias Hector eres grande 🎉