¡Utilizas MAL la Asincronía!
ฝัง
- เผยแพร่เมื่อ 17 ธ.ค. 2023
- En este video te diré que involucra trabajar con tareas asíncronas, y como puedes aprovechar su potencial de mejor manera.
Mis Cursos de PROGRAMACIÓN: hdeleon.net/cursos-premium/
🖥️ Mi Monitor: amzn.to/3dtnDkk
⌨️ Mi Teclado: amzn.to/3BtjKnq
⌨️ Mi Deck elgato: amzn.to/3dvEKC3
🎧 Mis Orejeras: amzn.to/3BwQYm0
🎤 Mi Micrófono: amzn.to/3qPvFHh
Si quieres apoyarme y darme para una cerveza puedes hacerlo por aquí: paypal.me/HectorDeLeonGuevara
Puedes apoyarme desde 0.5 USD al mes uniéndote como miembro al canal aquí: / @hdeleonnet
🐦Twitter: / powerhdeleon
🌎Mi Sitio web: hdeleon.net
📻Raw Radio en Spotify: open.spotify.com/show/3obLU60...
#programación #dev #programming
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.
*_Pero en mi PC funciona bien, creo que el problema es tu silla gamer no como yo programo_*
Creo que no comprendiste bien la enseñanza. Podrás ser muy bueno escribiendo código, pero haciendo esto podrás ser mejor aún en lo que haces, saludos hacker 😊
😂😂😂🎉😅
Excelente aprender cuando y en que parte realmente se debe usar. Ojo con esta mejora reduces una hora por cada 3600 ejecuciones. Ojo solo soy un aprendis
Mencionas algo muy acertado, en tu PC funciona bien, pero ojo que en tu PC muchas veces no haces pruebas con grandes cargas de datos, casó que me pasó con programación asíncrona, la persona que hizo las tablas por la razón que quieras se decidió tener x registro en una tabla y los datos de se registró en otra, las famosas tablas verticales, pues pasa y resulta que ese registró aparte de tener sus parámetros necesarios para construir otro archivo también estaba relacionado a más de 200 empleados osea que en ese único registro se iba a construir 200 archivos, el programa estaba diseñado a procesar una N cantidad de registros en cada ciclo, volver a correr y procesar otra N cantidad hasta que todos fueran procesados, ahhh y en cada corrida según en tipo de registro o solo guardaba archivos o aparte generaba solicitudes http😅, ahora entiendes porque hace sentido saber dónde y cuando usar el await?
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.
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!
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 ✨
Que tal mi nombre es Héctor de león el único programador que perdió en la midudev league
Gracias por la información. Saludos Hector
Siempre aprendiendo del mejor!
¡Crack! 😎
Excelente como siempre Hector!!
Cabezón haz mas videos así, esto sirve un chingo!!
Hector!!! eres lo máximo alchoolico de m....!!! gracias por la regañada...!! estuvo espectacular!!! un abrazo...!!!
Grande Héctor, siempre aprendiendo cosas nuevas contigo, saludos desde Costa Rica!
Que chingon Hector, estaba buscado info sobre esto.
Te debo mucho Héctor
Voy a mi primer trabajo de backend y he seguido tus cursos
Muy bueno, gracias Héctor!
Gracias por este vídeo Hector, llevas toda la razón 👏👏👏👏👏👏
Gracias Hector, genial, has resuelto una de mis dudas existenciales sobre cómo sacarle provecho a la asincronía!
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
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.
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
Excelente video y una gran aclaración sobre el uso de las tareas asíncronas
Increíble video! Me encanta que expliques el concepto de las cosas
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)
Por supuesto que aprendí, muchas gracias Master Hector
Excelente muchas gracias por compartir esta excelente infirmación, saludos.
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 🤘
gracias Héctor, como siempre.
Excelente Mister Super clara la explicación.
Excelente Héctor!
Muchas gracias bro!
Hermosho…. 😊, todos los días se aprende algo nuevo. Buena explicación, se entendió la idea 💡
Muy clara la info, gracias!!
Excelente Héctor , gracias por la enseñanza
Muy bueno man, si le sabes, gracias por compartir conocimiento
Muchas gracias, ahora todo tiene sentido, por ello tardan un poco los métodos que desarrollo
Excelente, muy ilustrativo y claro el ejercicio
muuuy buen video hector, yo lamentablemente aprendi a tropesones en programacion paralela, me gusto mucho la explicacion queda muy claro
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.
Eres un crack .. muchas veces no nos atrevemos a preguntar y conocer el concepto de fondo.
Muchas gracias, lo he entendido. Pero, la próxima vez explícamelo con cerveza, que así me cuesta un poco😂👍👌
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 explicación... gracias!
Gracias maestro Hector.
Gracias por el video, no entendia muy bien el uso del await y task juntos, ahora entendi como usarlo correctamente, muchas gracias!!!!!
Muy buena explicación sobre await, no sabía cuál era su función. Gracias por brindar tus conocimientos
Gracias por los videos
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
Excelente explicación crack!!!
GENIAL! NO SE ME HABÍA OCURRIDO QUE LOS TASK SE PODÍAN AWAITAR LUEGO. THANX
Wow, Gracias!
muy bueno saludos.
Gracias por hacer este video
Regaño aceptado! Estoy volandolos de un proyecto que hice en Maui y estan jodiendo de mas el proyecto
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.
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 !
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.
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!
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!!
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..
Excelente video.
Al fin lo entendí, muchisimas gracias!! no entendia cuando usar await!
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 ^^
Excelente explicación.
excelente gracias
Gracias profe, me queda mas claro.
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.
muchas gracias jesus
Ufff, me acabas de salvar la vida.
Gracias man! 🤟
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.
Notable!!!!
gracias!!!
La verdad no lo terminé de entender, pero ya sé qué tengo que ponerme a estudiar, muchas gracias
eres un crack!
Tendré que probarlo, que tal se comporta cuando realizas la ejecución de stored procedures.
más de 3 años de experiencia y sentí que no se nada, pero con practica se llegara lejos :)
¡Buenas Héctor! ¿Esto también es válido en JS? Saludos.
Héctor, gran maestro. Que es más recomendado, usar task y guardar la tarea por tarea o un Task.WhenAll?
Excelente.
Hector, que pasa si es la impresion de un archivo? si la coloco en un var, estaria ejecutandose igual?
o hay alguna forma que se ejecute, espere y cuando yo quiera imprima?
Uff genial
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,
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😃)
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
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...!!!!
Maravillosa jugada
Grrracias profeeeeee
Muchas gracias por hacerme dar cuenta de mi error 🙌
En js se pueden lanzar promesas y luego awaitearla mas abajo? Creo q no, cierto?
La forma seria usar promiseall, intuyo
me aclarasre una duda antigua, gracias!
Una duda, y si ponemos el codigo del timeout de 2 segundos (con todo y await) hasta el final del proceso de llamar los endpoints y escribir los archivos , no tendria el mismo resultado? .-.
podrías brindar la diferencia entre usar varios await o usar task.whenAll??
Su cara al final de: si aprendiste Juanito o sigues igual de pendj@? Lo amè
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
Me llego tarde el vídeo, en su momento alguien también me explico ese tema sobre el await😂, pero tu explicación fue excelente.
Me gustaría aprender a implementar este concepto a una aplicación que estoy realizando donde tengo unos datos de entrada y tengo que realiza N tareas y calculos a la vez para así poder generar unas archivos xml, mostrarlos en la interfaz de ususario y tambien exportarlos a excel.