Fe de erratas: 1. En Node.js lo que está relacionado con sockets (TCP, UDP) no necesita un hilo aparte, sino que se utilizan mecanismos de monitorización según el sistema operativo, por ejemplo epoll en Linux: docs.libuv.org/en/v1.x/design.html Solo necesitan hilos aparte aquellas tareas que no pueden monitorizarse, como por ejemplo I/O con ficheros y DNS lookups. Por tanto las peticiones de red, si no es necesario hacer un DNS lookup, no necesitan un hilo aparte. El hilo principial pone en marcha la petición pero sin bloquearse, y la próxima vez que intente extraer una tarea de la cola, usará epoll para determinar el evento (llegada de datos en un socket).
Es cierto, los lenguajes de alto nivel tienden a “esconder” o simplificar procesos para hacerlo más rápido de crear , más no necesariamente de ejecutar jeje
La verdad tengo tiempo programando alrededor de 5 años y muchas veces intuyes como funcionan estas cosas pero no profundizas, y tu vas a fondo de cada cosa buscando como entenderla, de verdad que eres un crack man te admiro un montón, deberías hacer un video de tips de como aprender me refiero tips para ser mas pro-activo estoy seguro que tu eres bastante pro.activo. Gracias por el video!
@@danielvera4661 Los apoyo a ambos. Vendría muy bien un vídeo que trate el tema de; Cómo se orgarniza él, para aprender temas a ese nivel de profundidad, con tips y eso.
Gracias! Al fin alguien me explica el porqué no me gusta el comportamiento extraño de JavaScript comparado con otro lenguaje que se ejecuta línea por línea sin dolores de cabeza.
Ver los videos de ti desarrollando, me hace sentir que estoy años luz de llegar a tu experiencia en tantas ramas, pero en mi meta esta tener un dominio tan ampli como tú. Gracias por motivarnos a los que vemos tus videos.
Ésta súper genial tú explicación men, yo cuándo aprendí como funcionaba el escuchador de eventos (Event Loop). Yo me metí de caña con la Libuv para comprender este flujo, y está súper bueno saberlo. Para las entrevistas técnicas esto es un gran filtro. Un punto clave también y es un mundo es la parte que nombras " Las prioridades de tarea" esto en términos del propio Event Loop, se llama Task Queue, que prioriza aquellas tareas en espera por respuesta, como cuándo usamos las promesas ese .then es priorizado primero sí existiese otras tareas dentro de ese Queue, es un tremendo concepto y está súper genial saberlo
La primera vez que implemente código asíncrono y multithreading en C# tuve que leer varias veces la documentación y me costo mucho entender, tu contenido es excelente y facilita bastante el entendimiento de esos conceptos, Gracias
La verdad que deberías tener 1M de seguidores! Que buena explicación.. nada de fanplicit! Es explicación real!! Voy a seguir vendiendo videos tuyos y este lo voy a ver 3 veces más seguro!!
Muy interesante la verdad,, yo pense que programacion iba a ser bastante complicada y que habia que entender conceptos complejos pero tu explicacion como que la capte casi toda entendi el concepto general bastante facil deberias ser profesor bueno ya sos como un profesor para los que te ven pero me refiero asi tipo profesionalmente jaja.. saludos!
Una explicación muy sencilla y acertada. La primera vez que vi nodejs por allá en el 2010 fue porque me compré un teléfono con webOS y me llamó la atención que usaba javascript como lenguaje de aplicaciones. Dado que nodejs estaba casi recién salido del horno decidieron meterlo como parte de SO y estos conceptos que explicas me tomaron como 2 años en comprenderlos completamente. No saben la suerte que tiene la gente que está iniciando en este mundo que haya personas como tú que se tome el tiempo para hacer una explicación muy sencilla pero bien detallada. Tienes un nuevo subs
Excelente explicación. Justo me ayuda en la creación de un simulador de colas de procesos para gestionar transporte público. ¿Puedes comentar que utilizas para la presentación/animación? Saludos.
gran video!!, muchas veces no conocemos comportamiento a fondo que tienen las funciones ,que programamos y usamos diariamente, en el entorno a nivel sistema operativo ni mucho menos su interacción con el kernel y CPU, explicas muy bien y a detalle, gran aporte saludos!!!
Que excelente vídeo. Hace un día atrás justo estaba viendo algo relacionado con esto. xd Aún no me queda claro del todo, pero ya me hago una idea de cómo funciona. Muchas gracias por tan buen contenido. :)
Excelente explicacion! Ya conocia el event loop y asynchronous JavaScript, pero siempre sienta bien repasar los conceptos y has sido muy claro durante toda la explicacion!
Me gustan mucho tus videos, a la vez me deprime porque también estudie ingeniería en software y no estoy ni de chiste a tu nivel, pero prefiero tomarlo como motivación, gracias por compartir conocimiento
Soy del área de desarrollo de software y debo ser honesto. He visto muchos videos sobre explicaciones de x tecnología y hay que reconocer algo, muchos extienden sus explicaciones de forma innecesaria cuando el tema no da para tanto. Hablando propiamente de los videos de tu canal, he notado que el contenido es muy interesante, con explicaciones claras y de lo mejor en habla hispana, sin tanto choro, cómo debe de ser: explicaciones con ejercicios claros. Felicitaciones.
15:16 ¿Hay alguna forma de manipular el flujo del thread pool para evitar que el so genere estas pelas de hilos? Me agrada tu contenido, tus temas teoricos definitivamente complementan mucho el quehacer practico en la programación
Jolín! Y pensar que el sistema operativo ( Linux probablemente ) tiene que organizar y gestionar todo eso para para que el metal lo almacene y lo ejecute ( syscalls )😮 Capas sobre capas 😅 el típico rabbit hole 😂 No creo que llegaré a usar eso en plan amateur así que tiraré del modo declarativo con htmx para consumir APIs en mis proyectos pasatiempos 😊 Gracias por el vídeo que me ayuda a que los conceptos hagan "click" 🎉 PS: Después de un poco de python regrese a explorar un poco más el lenguaje JS. Ahora estoy haciendo "JavaScript the weird parts" by Tony Alicea. La curiosidad me hace meterme en cosas complejas.
la gran falencia de los juniors: aprender solo lo tecnico y no entender el porque de las cosas..... muchas gracias por esta gran explicación, se los compartire a mis alumnos.
Tú vives en un mundo ideal donde todo funciona aunque no sepas, hasta que llega el día en el que intentas hacer algo un poco más complejo de la cuenta y pum te estalla todo esto en la cara XD. Hace poco en un servidor tuve un problema con esta movida y se ejecutaba codigo bloqueante de forma paralela al hilo principal, y los ifs no funcionaban :'v, una movida ajustar eso XD.
Bro he visto videos tuyos antiguos y los comparo con los nuevos y solo de verte me doy cuenta lo orgulloso y arrogante que te has vuelto debido a tu conocimiento. Amigo el conocimiento envanece pero el amor edifica. Dale más suave y con humildad. Recuerda que antes de la destrucción está el orgullo. Así que bájale hombre.saca tiempo para estudiar sobre la humildad. Te lo digo porque te quiero ver bien hombre. Eso es todo.
El concepto de asyn await en otros lenguajes se traduce a Hilos (Thread) todo es cuestión de apreciación, Así lo veo yo , ya que ejecuta órdenes en segundo plano de manera asíncrona si alterar la ejecución normal del programa.
Entiendo por esta explicación que entonces la idea sería las consultas que sean a base de datos que estén lo más depuradas posible y que te filtren todo lo que tú necesites y no hacer nada del lado del backend o hacer el mínimo del lado del Backend dejar las tareas de procesamiento al servidor de base de datos claro las tareas que pueda hacer
Hola Antonio! Estaba viendo tu video del callstack, y, la interfaz que se ve en las transparencias donde corres el código con el event loop y se ve el callstack, queue... es una web que nos puedas compartir, o lo diseñaste tú sólo para las transparencias? Gracias!
Soy nuevo ej JS y tus videos han sido de gran ayuda.Ttu canal es excelente, por lo bien explicado y la diversidad de temas que tratas.( Like and subcribed allready 😆 ) Quería preguntarte referente a este tema que diferencia hay entre las siguientes : async function traerDeInet(url){
let datos = await fetch(url); console.log(datos); } function traerDeInet(url){ var promise= fetch(url); promise.then((datos) => {console.log(datos);}); return promise; } Desde ya muchas gracias y adelante que vas sobre rieles.
Fe de erratas:
1. En Node.js lo que está relacionado con sockets (TCP, UDP) no necesita un hilo aparte, sino que se utilizan mecanismos de monitorización según el sistema operativo, por ejemplo epoll en Linux:
docs.libuv.org/en/v1.x/design.html
Solo necesitan hilos aparte aquellas tareas que no pueden monitorizarse, como por ejemplo I/O con ficheros y DNS lookups. Por tanto las peticiones de red, si no es necesario hacer un DNS lookup, no necesitan un hilo aparte. El hilo principial pone en marcha la petición pero sin bloquearse, y la próxima vez que intente extraer una tarea de la cola, usará epoll para determinar el evento (llegada de datos en un socket).
así funcionan los chats?
"Cuándo uno simplifica conceptos, tiene que omitir detalles... hay gente que esto no le queda muy claro" no se imaginan la paz que me causó esa frase
gran frase... !!! hay personas que quieren ver conceptos super amplios en videos de 30 segundos.. jajaja ..
Frase épica del siglo
Es cierto, los lenguajes de alto nivel tienden a “esconder” o simplificar procesos para hacerlo más rápido de crear , más no necesariamente de ejecutar jeje
Estaba en el RUclips naranja pero me saltó la notificación y tuve que dejarlo a medias para ver esto
Lol
Lol x2
Lol x3
Lol x4
Lol x5
La verdad tengo tiempo programando alrededor de 5 años y muchas veces intuyes como funcionan estas cosas pero no profundizas, y tu vas a fondo de cada cosa buscando como entenderla, de verdad que eres un crack man te admiro un montón, deberías hacer un video de tips de como aprender me refiero tips para ser mas pro-activo estoy seguro que tu eres bastante pro.activo. Gracias por el video!
Pienso lo mismo, ese man le mete un estudio profundo a las cosas. Si debería platicar sobre ese proceso que el hace
@@danielvera4661 Los apoyo a ambos. Vendría muy bien un vídeo que trate el tema de; Cómo se orgarniza él, para aprender temas a ese nivel de profundidad, con tips y eso.
Gracias! Al fin alguien me explica el porqué no me gusta el comportamiento extraño de JavaScript comparado con otro lenguaje que se ejecuta línea por línea sin dolores de cabeza.
Ver los videos de ti desarrollando, me hace sentir que estoy años luz de llegar a tu experiencia en tantas ramas, pero en mi meta esta tener un dominio tan ampli como tú.
Gracias por motivarnos a los que vemos tus videos.
El dominio nunca es amplio jaja, cuando aprendes 2 cosas descubres 4 que sigues sin saber
Gran video, gran explicación y buenísimos aspecto gráfico para que todo se entienda, mis dieses
Ésta súper genial tú explicación men, yo cuándo aprendí como funcionaba el escuchador de eventos (Event Loop). Yo me metí de caña con la Libuv para comprender este flujo, y está súper bueno saberlo. Para las entrevistas técnicas esto es un gran filtro. Un punto clave también y es un mundo es la parte que nombras " Las prioridades de tarea" esto en términos del propio Event Loop, se llama Task Queue, que prioriza aquellas tareas en espera por respuesta, como cuándo usamos las promesas ese .then es priorizado primero sí existiese otras tareas dentro de ese Queue, es un tremendo concepto y está súper genial saberlo
La primera vez que implemente código asíncrono y multithreading en C# tuve que leer varias veces la documentación y me costo mucho entender, tu contenido es excelente y facilita bastante el entendimiento de esos conceptos, Gracias
Justo necesitaba un video que habla de la concurrencia y como maneja las peticiones con hilos en nodejs. Buen video
Genial explicación!! Es la mejor que he escuchado sobre este tema y por fin lo tengo claro. Ya tienes otro suscriptor. Muchas gracias. 👍
x2
La verdad que deberías tener 1M de seguidores! Que buena explicación.. nada de fanplicit! Es explicación real!! Voy a seguir vendiendo videos tuyos y este lo voy a ver 3 veces más seguro!!
Muy interesante la verdad,, yo pense que programacion iba a ser bastante complicada y que habia que entender conceptos complejos pero tu explicacion como que la capte casi toda entendi el concepto general bastante facil deberias ser profesor bueno ya sos como un profesor para los que te ven pero me refiero asi tipo profesionalmente jaja.. saludos!
Una explicación muy sencilla y acertada. La primera vez que vi nodejs por allá en el 2010 fue porque me compré un teléfono con webOS y me llamó la atención que usaba javascript como lenguaje de aplicaciones. Dado que nodejs estaba casi recién salido del horno decidieron meterlo como parte de SO y estos conceptos que explicas me tomaron como 2 años en comprenderlos completamente. No saben la suerte que tiene la gente que está iniciando en este mundo que haya personas como tú que se tome el tiempo para hacer una explicación muy sencilla pero bien detallada. Tienes un nuevo subs
Excelente explicación. Justo me ayuda en la creación de un simulador de colas de procesos para gestionar transporte público.
¿Puedes comentar que utilizas para la presentación/animación? Saludos.
hacia mucho no me gustaba tanto un video teorico/conceptual, muy buen trabajo y gracias !!
Gracias a este vídeo pude entender a fondo el funcionamiento de async y await. Excelente explicación. Muchas Gracias!
gran video!!, muchas veces no conocemos comportamiento a fondo que tienen las funciones ,que programamos y usamos diariamente, en el entorno a nivel sistema operativo ni mucho menos su interacción con el kernel y CPU, explicas muy bien y a detalle, gran aporte saludos!!!
Me estoy cambiando de Java & Spring Boot a NestJs y este video me sirvió muchísimo, te agradezco mucho, muchas felicidades!
Muy buen vídeo. Llevo una temporada viendo vídeos tuyos y me están ayudando bastante a entender mejor conceptos de sistemas. Muchas gracias.
Me ha gustado mucho la explicación, la verdad es que bajo mi punto de vista, la mejor explicación que me he encontrado sobre este tema!
joyita de video, tengo mucho tiempo aprendiendo a programar y siento que subido un escalon muy grande con este video
Grande brother, un crack en todo sentido. Sigue adelante.
Muy muy bueno el video. Gracias por explicar estos conceptos complejos para personas que no estudiamos ingenieria informatica.
Que excelente vídeo. Hace un día atrás justo estaba viendo algo relacionado con esto. xd Aún no me queda claro del todo, pero ya me hago una idea de cómo funciona.
Muchas gracias por tan buen contenido. :)
Excelente explicacion! Ya conocia el event loop y asynchronous JavaScript, pero siempre sienta bien repasar los conceptos y has sido muy claro durante toda la explicacion!
¡Excelente! Es para verlo más de una vez.
Mil gracias.
Holaaa Antonio, crack para el video, saludos desde chile!
Justo hoy estaba buscando acerca de este tema de los workers, async-await, etc... Muy interesante y útil muchas gracias por el video
Excelente video!! Justo ayer me puse a averiguar un poco más del async/await al ver tu video de tips
Me gustan mucho tus videos, a la vez me deprime porque también estudie ingeniería en software y no estoy ni de chiste a tu nivel, pero prefiero tomarlo como motivación, gracias por compartir conocimiento
Grande, estoy con una migración de front a angular y mola saber estas cositas
Excelente video, muy bien explicado como funciona el event loop de JS
Felicidades, explicaste en 20 mninutos lo que uno entiende intuitivamente
Hermano tus videos son una joya, sigue trabajando así 🙌🏼
Muy buen video. Muchos lenguajes ya estan empezando a implementar async y await. Pero javascript es muy especial
Soy del área de desarrollo de software y debo ser honesto.
He visto muchos videos sobre explicaciones de x tecnología y hay que reconocer algo, muchos extienden sus explicaciones de forma innecesaria cuando el tema no da para tanto.
Hablando propiamente de los videos de tu canal, he notado que el contenido es muy interesante, con explicaciones claras y de lo mejor en habla hispana, sin tanto choro, cómo debe de ser: explicaciones con ejercicios claros.
Felicitaciones.
Justo cuando estaba investigando y aprendiendo de sockets y node internals sacas este increíble video muy bien explicado
Tan buen video! (recomiendo mucho ese video sobre los callbacks de dos horas)
Sos un crack Antoniooo. Buen vidio
nuevo video!!!!!. Gracias antonio por tanto contenido este bello noviembre
brutalmente/violentamente informativo y entretenido el video, la crema de la crema, la cereza del pastel
Brillante explicación! Saludos desde Buenos Aires!
Muchas gracias, admiro el tiempo tiempo que le dedicaste y como lo ilustraste, muy bien explicado execelente video.
que complejo y a la vez la explicación es concreta, nomas even loop en los fetch :D
Que gran video te mandaste! Muy buen explicación apoyado por las buenas animaciones
Muy bueno pana, sigue así!!
Está súper interesante este video son raros las personas que explican este tipo de cosas , ojalá hagas más vídeos explicando sobre estos temas
15:16 ¿Hay alguna forma de manipular el flujo del thread pool para evitar que el so genere estas pelas de hilos?
Me agrada tu contenido, tus temas teoricos definitivamente complementan mucho el quehacer practico en la programación
Deberías poner estos vídeos explicativos en una lista de reproducción en el canal
Algún día los ordenaré en listas jaja
Este video es SOBERVIO en lo didatico. Una joya desconocida en cuanto a explicaciones de como funciona NodeJs.
La mejor explicación que he encontrado. Gracias
Muy buen video! Me encanto. Es un tema que no se suele explicar así que muchas gracias!
Tus videos son demasiado buenos, saludos desde Paraguay
Jolín! Y pensar que el sistema operativo ( Linux probablemente ) tiene que organizar y gestionar todo eso para para que el metal lo almacene y lo ejecute ( syscalls )😮
Capas sobre capas 😅 el típico rabbit hole 😂
No creo que llegaré a usar eso en plan amateur así que tiraré del modo declarativo con htmx para consumir APIs en mis proyectos pasatiempos 😊
Gracias por el vídeo que me ayuda a que los conceptos hagan "click" 🎉
PS: Después de un poco de python regrese a explorar un poco más el lenguaje JS. Ahora estoy haciendo "JavaScript the weird parts" by Tony Alicea. La curiosidad me hace meterme en cosas complejas.
Esto es contenido de calidad 🥺 excelente vídeo!
Muy buena explicación 😎👋
Nuevo sub, buen contenido 👌
Muchas gracias por compartir Antonio 🙏
0:24 me ha encantado como se ve tu VS antonio. como se llama la extension?
El tema? Dracula
Muy buen vídeo, con las explicaciones y las animaciones
Esa manera de meter el video del sponsor te ha quedado muy a lo Linus Tech Tips xdd
Que buen contenido, siempre me gusta comprender cómo funcionan las cosas a otro nivel. gracias
Excelente explicación! claps!!. Que programa utilizas para realizar las animaciones?
Grande ing, que maravilla de canal.
Buen contenido, me ayudo bastante a entender lo del async-await
Gracias por documentar esto! gran trabajo.
Felicitaciones, un video impresionante
Excelente explicación! Muy claro,, muy buen video!
Muchas gracias por hacer el video!!! que bien explicado.
El video me pareció muy entretenido y además la explicación con los gráficos muy interesante, gracias a estos videos se aprende algo cada día.
Simplemente excelente tu explicación!!!
Hey excelente explicación, con que software haces las animaciones?
Adobe Premiere, diagrams.net para sacar algunos iconos en SVG, Gimp e Inkscape para editar fotos/iconos. Una combinación de todo eso.
Muy bueno el video. Excelente la explicación. ¿Qué software usas para hacer las animaciones en la explicación?
Me encanto el video, gracias por compartir tu conocimiento.
la gran falencia de los juniors: aprender solo lo tecnico y no entender el porque de las cosas..... muchas gracias por esta gran explicación, se los compartire a mis alumnos.
Que bien explicado!!! Bravo!!!
este video para entender la reactividad en Java es oro
Gracias ! Espero algún día entender este video ! xD
Prueba el vídeo de 2 horas jajaja, este es un resumen
Tu curso de 4tomik lo explica a detalle 😎
He visto que igual C# usa async y await, que Interesante explicación
Por fin alguien que sabe de lo que habla.
Raios !!!... que buen video amigo.
tus vídeos de los hilos con JS son GOD
Excelente video!! Muy buena explicación
Muchas gracias por compartir conocimiento.
Muy buen video, gracias!
Tú vives en un mundo ideal donde todo funciona aunque no sepas, hasta que llega el día en el que intentas hacer algo un poco más complejo de la cuenta y pum te estalla todo esto en la cara XD.
Hace poco en un servidor tuve un problema con esta movida y se ejecutaba codigo bloqueante de forma paralela al hilo principal, y los ifs no funcionaban :'v, una movida ajustar eso XD.
Amo tus videos 😍
Saludos desde El salvador te admiro mucho
Simplemente magistral
Que buena explicacion, ni en la universidad explican asi
Bro he visto videos tuyos antiguos y los comparo con los nuevos y solo de verte me doy cuenta lo orgulloso y arrogante que te has vuelto debido a tu conocimiento. Amigo el conocimiento envanece pero el amor edifica. Dale más suave y con humildad. Recuerda que antes de la destrucción está el orgullo. Así que bájale hombre.saca tiempo para estudiar sobre la humildad. Te lo digo porque te quiero ver bien hombre. Eso es todo.
Mira lo humilde que era antes 😎🥵
ruclips.net/video/VoJOOx2WLy0/видео.html
Excelente explicación
Visto en 04/11/2022
El concepto de asyn await en otros lenguajes se traduce a Hilos (Thread) todo es cuestión de apreciación, Así lo veo yo , ya que ejecuta órdenes en segundo plano de manera asíncrona si alterar la ejecución normal del programa.
Entiendo por esta explicación que entonces la idea sería las consultas que sean a base de datos que estén lo más depuradas posible y que te filtren todo lo que tú necesites y no hacer nada del lado del backend o hacer el mínimo del lado del Backend dejar las tareas de procesamiento al servidor de base de datos claro las tareas que pueda hacer
Gracias por la explicación !👌
Hola Antonio! Estaba viendo tu video del callstack, y, la interfaz que se ve en las transparencias donde corres el código con el event loop y se ve el callstack, queue... es una web que nos puedas compartir, o lo diseñaste tú sólo para las transparencias? Gracias!
4tomik.github.io/event-loop/
Ahí puedes ver las transparencias en tu navegador. Están hechas con reveal.js
revealjs.com/installation/
sentí mucha pasión en el "como cuando la que te gusta te deja en visto" jaja
Soy nuevo ej JS y tus videos han sido de gran ayuda.Ttu canal es excelente, por lo bien explicado y la diversidad de temas que tratas.( Like and subcribed allready 😆 )
Quería preguntarte referente a este tema que diferencia hay entre las siguientes :
async function traerDeInet(url){
let datos = await fetch(url);
console.log(datos);
}
function traerDeInet(url){
var promise= fetch(url);
promise.then((datos) => {console.log(datos);});
return promise;
}
Desde ya muchas gracias y adelante que vas sobre rieles.
No hay ninguna diferencia, es lo mismo. El async-await es para escribir promesas más fácilmente.
@@AntonioSarosi Muchas gracias por tu pronta respuesta Antonio. Saludos desde Argentina, y felicitaciones por el canal.
Podrias crear un video explicando el modelo de concurrencia del lenguaje Go?