Me acabo de dar cuenta de algo mientras veo el video, sabes que te diferencia de muchos otros teacher en youtube, incluso de otras plataformas de educación que tu explicas el código, dices de donde salen las cosas, el por que de cada linea de codigo y eso en mi caso me hace click con la explicacion y me ayuda a entender (SOY AUTODIDACTA Y ME GUSTARIA APRENDER A PROGRAMAR Y ME A COSTADO MUCHO, soy solo contra toda la informacion, ni siquiera conozco a nadie que sea programador como para hacerle una pregunta, bueno solo espero tener buenos profesores como tu) en cambio otros profesores solo describen un codigo, que segun ellos de la forma mas sencilla pero no me enseñan nada, solo me dicen que un string se llama string pero no me dicen el por que se llama string, espero haberme hecho entender! SOLO GRACIAS POR LA DEDICACION, me ha servido de mucho!
Para mí eres sinónimo de calidad. Se que sabes de lo que hablas y lo haces ameno, no dejas cabos sueltos y haces la milla extra. Un 10! Me lo he pasado súper bien siguiéndote y aprendiendo. Lo ampliarías a un CRUD entero con autenticación y una DB real? Sería la ostia en patinete y aprendería un montón
Gracias joven. Años fuera del mundillo y uno se reconforta al encontrarse a gente joven que sabe de lo que habla y no son meros charlatanes con canal de UA-cam. Sigue así.
Hombre, simplemente indescriptible la calidad de tu contenido, sos el mejor, viendo sus videos siento que hasta yo lo puedo lograr, te mando un abrazo mi amigo , sos lo máximo, full inspiración viendo tus videos
Es promesa, a penas logre absorber los conocimientos que nos das, seguire el ejemplo de compartir contenido gratuito y de valor para los mas nuevos. en especial, creo que la gente que hace esta labor salva vidas!
demore 3 horas en ver el tutorial mientras escribia el codigo y hacia paso a paso lo que hiciste, y de verdad que no me di cuenta del tiempo que habia pasado, muy entretenido de principio a fin
Eres lo máximo. No quería aprender TS, pero al ver los primeros minutos como explicas ya vi una necesidad de aprender y ver el vídeo completo, saludos, eres un crack.
Te confieso que estuve buscando durante horas por que no reconocia types.d.ts antes de terminar el video. Excelente como siempre Midu. Saludos desde Argentina
Hola quisiera aprender a desarrollar mi API, soy nuevo pero me agrada las prácticas y la idea de estar saludando al mundo. Graciass, eres bueno en lo q haces.
jeje yo que ya habia visto el error desde que probe antes , pero esperando como lo encuentra terrible y no saber como decir ahi esta, ahi ahi (tremendo crack aprendi bastante recien estoy comenzando con typescript y me parecio muy bueno gracias a lo genial que lo explico )
@@midudev buenisimo mano con tu curso la verdad no sabes como has ayudado a personas como yo qeu soy cubano cn tu contenido gratuito y de calidad pk muchas personas hubieran pagado mucho dinero por este bootcamp
Muchas gracias por la sesión - ha sido muy entretenida. Solo una cosita. El try-catch en el servicio post en diaries.ts, ts no me compilaba el error del catch, ya que error era 'unknown object' Tuve que añadirle un if(error instanceof Error) message = error.message , else message = String(error) para que compilara. En el video no se como Miguel Angel lo ha podido compilar admitiendo que el error reciba cualquier cosa que no sea un objeto Error
Si no les auto fixea al guardar como a midu intenten esto en la configuracion de workspace de vscode: { "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "eslint.validate": ["typescript"] } y aseguren tener instalada la extensión eslint de Microsoft
Me encanto este bootcamp, Midudev, seria posible algo asi pero explicando como funciona y todas las opciones de usar authentication con token. Es decir Authorization y Authentication. Jamás nadie lo explica, y es algo que se utiliza mucho pero es dificil encontrar buena información en español al respecto. Estaría eternamente agradecido. }
El tema de las interfaces es que definen qué campos debe tener un objeto, pero no dicen nada de los que NO deben tener. Por eso, cuando usamos Omit, lo único que hace TypeScript es dejar de "garantizar" que ese campo exista. Pero no nos garantiza que NO exista. Hay que tener cuidado con eso.
Hola @midudev, genial tus videos, sólo una consulta, qué herramienta usaste en el minuto 1:13:38, veo que corres javascript y al lado derecho te aparece los resultados, pareciera un terminal de chrome pero creo equivocarme, saludos!
Excelente video muy didáctico, una pregunta tendrás algún vídeo donde muestres como generar el build para producción del proyecto??? Gracias por compartir tu conocimiento. Saludos.
Excelente!!! Ahora una explicación con este mismo código de cómo se hace el deploy a AWS, usando Elastic B o quizás transformar esto a funciones lambda!
Estaría interesante un "walkthrough" por tu setup en vscode, a ver qué tal, veo que utilizas extensiones como "error lenses" que quizás no todos conozcan 🙂
min 48:45 Una pregunta: de que sirve hacer un tipo si de todos modos nos devuelve el objeto que no esperamos? no es más facil trabajar con la interface normal y hacer el return de lo que necesitamos directamente?
Midu, eres un crack, gracias por tus videos y aportes, Saludos desde Mexico. Te invite a teotihuacan cuando veniste pero no me contestaste, la invitacion esta aun.
tengo una duda si escribo el codigo en TS -> se convierte a JS que sentido tiene si node correria es el en start JS y en dev en TS, lo digo en el caso de correr solo TS sin convertir a JS y ya ?
Segui los pasos hasta el minuto 23:00 y ya no pude continuar porque aunque haya puesto en la configuracion resolveJsonModule, de igual manera no me lee los datos del json, me sigue apareciendo el mismo error. Alguien sabe como puedo solucionar?
no soy ningún pro en ts, pero en esta parte 48:28, qué sentido tiene hacer tu propio tipo excluyendo los campos si luego te toca manual especificarlos, no es lo mismo usar `DiaryEnty` y filtrar con map?
Midu una pregunta, ¿tu tenías un video en el que enseñabas a hacer un servidor con node, express, nodemon, morgan y babel? Es que tengo un proyecto que jugararía haberlo hecho viendo ese video y no encuentro el video. Gracias.
Hola brother, he estado intentando crear mi api pero cuando intento ejecutar el archivo package Jason para crear una petición no hay respuesta en la terminal. A qué se debe ésto??
Hola! No se si soy el único pero quedé aquí por días y no logro salir... No logro quitar "comment" en el findById() por este error: Property 'comment' does not exist on type 'DiaryEntry | undefined'.ts(2339)
Genial el vídeo. Así a ojo me ha quedado una duda y es porque las funciones isString e isDate reciben un string, y si no debería ser un any. Por lo demás increíble
Muy buen tuto, muy ameno. No sería mejor en los casos que vas a comprobar si son de un tipo u otro definir los argumentos de esas funciones como any o unknown? Realmente no sabes el tipo de lo que te va a llegar por parámetro y dentro de la función lo que haces es comprobar si son de un tipo o no para retornar algo.
Interesante video, me quedo una duda, cuando tipaste el objeto diaries, tambien es viable realizar un enum con los posibles tipos de clima(weather)? O es una mala practica?
Me acabo de dar cuenta de algo mientras veo el video, sabes que te diferencia de muchos otros teacher en youtube, incluso de otras plataformas de educación que tu explicas el código, dices de donde salen las cosas, el por que de cada linea de codigo y eso en mi caso me hace click con la explicacion y me ayuda a entender (SOY AUTODIDACTA Y ME GUSTARIA APRENDER A PROGRAMAR Y ME A COSTADO MUCHO, soy solo contra toda la informacion, ni siquiera conozco a nadie que sea programador como para hacerle una pregunta, bueno solo espero tener buenos profesores como tu) en cambio otros profesores solo describen un codigo, que segun ellos de la forma mas sencilla pero no me enseñan nada, solo me dicen que un string se llama string pero no me dicen el por que se llama string, espero haberme hecho entender! SOLO GRACIAS POR LA DEDICACION, me ha servido de mucho!
Hola si gustas me puedes escribir yo soy autodidacta y logre tener éxito en mi carrera profesional
@@Civernet00yo tmb estoy en lo mismo actualmente, puedo escribirte?
`[
{
"id":1,
"date":"2017-01-01",
"weather":"rainy",
"visibility":"poor",
"comment":"Pretty scary flight, I'm glad I'm alive"
},
{
"id":2,
"date":"2017-04-01",
"weather":"sunny",
"visibility":"good",
"comment":"Everything went better than expected, I'm learning much"
},
{
"id":3,
"date":"2017-04-15",
"weather":"windy",
"visibility":"good",
"comment":"I'm getting pretty confident although I hot a flock of birds"
},
{
"id":4,
"date":"2017-05-11",
"weather":"cloudy",
"visibility":"good",
"comment":"I almost failed the landing but I survived"
}
]`
Thanks bro! :D
Geniooo!!
Para mí eres sinónimo de calidad. Se que sabes de lo que hablas y lo haces ameno, no dejas cabos sueltos y haces la milla extra. Un 10! Me lo he pasado súper bien siguiéndote y aprendiendo. Lo ampliarías a un CRUD entero con autenticación y una DB real? Sería la ostia en patinete y aprendería un montón
Te quiero mucho midu, eres todo lo que esta bien en el desarrollo de software
Qué bonito. Gracias Carlos. Estos comentarios ayudan mucho. 🥲
Lo leí como el meme del perro
true
Uff bro eres el impulso que me faltaba para continuar estudiando, la forma en la que explicas es excelente !!
😊😊😊 gracias Mateo!!
Gracias joven. Años fuera del mundillo y uno se reconforta al encontrarse a gente joven que sabe de lo que habla y no son meros charlatanes con canal de UA-cam. Sigue así.
Hombre, simplemente indescriptible la calidad de tu contenido, sos el mejor, viendo sus videos siento que hasta yo lo puedo lograr, te mando un abrazo mi amigo , sos lo máximo, full inspiración viendo tus videos
Muchas gracias, Cristian!!!!
Es promesa, a penas logre absorber los conocimientos que nos das,
seguire el ejemplo de compartir contenido gratuito y de valor para los mas nuevos.
en especial, creo que la gente que hace esta labor salva vidas!
demore 3 horas en ver el tutorial mientras escribia el codigo y hacia paso a paso lo que hiciste, y de verdad que no me di cuenta del tiempo que habia pasado, muy entretenido de principio a fin
Eres lo máximo. No quería aprender TS, pero al ver los primeros minutos como explicas ya vi una necesidad de aprender y ver el vídeo completo, saludos, eres un crack.
Te confieso que estuve buscando durante horas por que no reconocia types.d.ts antes de terminar el video. Excelente como siempre Midu. Saludos desde Argentina
llevaba mucho tiempo buscando como incorporar ts a node, gracias buen hombre por su tutorial
Gracias a ti por comentar Matthew! Luchando contra el algoritmo!!!! 🤩
La explicación que se da a partir del 23:30 es magistral. Me ayudó mucho. Gracias!
He pagado por un curso de bettatech sobre esto que ojala pudiera borrarme de la cabeza para ver el tuyo....
Eres bueno midu, un gran referente :)
Alto curso, Midudev...!!! espectacular...!!! Muchas gracias.
es que midu tiene los mejores videos para absolutamente todo, GENIO!
Eres increíble Midu!!!! Siempre se aprenden cosas nuevas en cada video 🚀
Gracias Benjamin! 🤗
Hola quisiera aprender a desarrollar mi API, soy nuevo pero me agrada las prácticas y la idea de estar saludando al mundo. Graciass, eres bueno en lo q haces.
jeje yo que ya habia visto el error desde que probe antes , pero esperando como lo encuentra terrible y no saber como decir ahi esta, ahi ahi (tremendo crack aprendi bastante recien estoy comenzando con typescript y me parecio muy bueno gracias a lo genial que lo explico )
Super bien explicado, genial que dejes los errores para saber como encontrarlos. Muchas gracias Midu
Esperandolo como cosa buena al fin llego eres un grande
En nada y menos publico el de TypeScript + React. Y la semana que viene el de React Native. Y ya tendremos el bootcamp completo. :)
@@midudev buenisimo mano con tu curso la verdad no sabes como has ayudado a personas como yo qeu soy cubano cn tu contenido gratuito y de calidad pk muchas personas hubieran pagado mucho dinero por este bootcamp
Me parece muy claro la forma en la que explicas el código.
Tengo como 4 años de usar este "stack" es super útil.
Midudev, si tendría que ponerte una calificación te habrías sacado: un millón / 100 . Excelente tutorial. gracias
Excelente, aprendo mucho de ti, gracias por todos tus aportes.
Muchas gracias por la sesión - ha sido muy entretenida. Solo una cosita. El try-catch en el servicio post en diaries.ts, ts no me compilaba el error del catch, ya que error era 'unknown object' Tuve que añadirle un if(error instanceof Error) message = error.message , else message = String(error) para que compilara. En el video no se como Miguel Angel lo ha podido compilar admitiendo que el error reciba cualquier cosa que no sea un objeto Error
Yo guardaria el archivo utils.ts dentro de la carpeta libs. Excelente video he aprendido bastante, muchas gracias. 👍
Justo el fin de semana estaba buscando como hacer esto, midu lee mentes dev
Me llegan notificaciones al móvil jajajajaja
@@midudev jajaja crack
Excelente video! Super claro y directo, me ha servido muchísimo como ejercicio para repasar bases de TS! 👏👏
Excelente!
Muy claro y conciso, super util!!! Muchas gracias!
Excelente vídeo!!, tus explicaciones son las mejores
Muy buen video Midu justamente lo que buscaba, muchas gracias!
Excelente Midu, seria genial que hagas mas ejemplos con SOLID o DDD o clean architecture !
Si no les auto fixea al guardar como a midu intenten esto en la configuracion de workspace de vscode:
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": ["typescript"]
}
y aseguren tener instalada la extensión eslint de Microsoft
Gracias!
Hola MIDU muchas gracias por tus explicaciones eres grande ❤
Gracias midu!! Siempre excelente material!!
Gracias a ti por comentar, Martin!
Excelente contenido compadre :D ya sabía las bases de TS pero hoy aprendí mucho con demasiado
Me encanto este bootcamp, Midudev, seria posible algo asi pero explicando como funciona y todas las opciones de usar authentication con token. Es decir Authorization y Authentication. Jamás nadie lo explica, y es algo que se utiliza mucho pero es dificil encontrar buena información en español al respecto. Estaría eternamente agradecido.
}
otro videito de midu a la lista, grande! psdt: una pasada el nuevo ordenador
Estuvo genial este tutorial saludos desde Colombia midu
El tema de las interfaces es que definen qué campos debe tener un objeto, pero no dicen nada de los que NO deben tener. Por eso, cuando usamos Omit, lo único que hace TypeScript es dejar de "garantizar" que ese campo exista. Pero no nos garantiza que NO exista. Hay que tener cuidado con eso.
Hola @midudev, genial tus videos, sólo una consulta, qué herramienta usaste en el minuto 1:13:38, veo que corres javascript y al lado derecho te aparece los resultados, pareciera un terminal de chrome pero creo equivocarme, saludos!
creo que es RunJS
@@juandaniel8828 si, pude encontrarlo, la versión free tiene pocas utilidades, igual es bueno, saludos
Excelente video muy didáctico, una pregunta tendrás algún vídeo donde muestres como generar el build para producción del proyecto??? Gracias por compartir tu conocimiento. Saludos.
Excelente!!! Ahora una explicación con este mismo código de cómo se hace el deploy a AWS, usando Elastic B o quizás transformar esto a funciones lambda!
Estaría interesante un "walkthrough" por tu setup en vscode, a ver qué tal, veo que utilizas extensiones como "error lenses" que quizás no todos conozcan 🙂
Gracias,estaba buscando esa extension.
Eres un crack Midu!! gracias!!
Gracias a ti!
cómo se llama ese tema de color de la tipografía que utilizas? y el tipo de letras también?
Con este cursito entendí mas de typescript
Una pregunta, como hizo lo de guardar y que el linter formateara el codigo
A mi tampoco me funciono
Mírate esto, a mi me ha funcionado:
www.aleksandrhovhannisyan.com/blog/format-code-on-save-vs-code-eslint/#3-formatting-on-save-in-vs-code-with-eslint
@@emilielrubio7065 Gracias!
min 48:45 Una pregunta: de que sirve hacer un tipo si de todos modos nos devuelve el objeto que no esperamos? no es más facil trabajar con la interface normal y hacer el return de lo que necesitamos directamente?
Lo mismo pense pero no encontre respuesta en los comentarios
GRACUAS MIDU
TE NECESITABA
NOS necesitábamos. 🤗
Muy buen video Midu!
Gracias Santi!!! La semana que viene sale el de React :)
Cuando hago la parte de const {comment, restOfDiary} = entry, me dice: Property 'comment' does not exist on type 'DiaryEntry | undefined'.
Intenta poner: const {comment, ...restOfDiary } = diary as DiaryEntry, a mi me funcionó así, la verdad no se como hice Midudev jeje 😅
Midu, eres un crack, gracias por tus videos y aportes, Saludos desde Mexico. Te invite a teotihuacan cuando veniste pero no me contestaste, la invitacion esta aun.
tengo una duda si escribo el codigo en TS -> se convierte a JS que sentido tiene si node correria es el en start JS y en dev en TS, lo digo en el caso de correr solo TS sin convertir a JS y ya ?
muchas gracias por esta clase
Un curso de React con TypeScript seria genial
La próxima clase es esa ☺️
@@midudev Cuando saleeeeeeeeeeeeeeeeeeeeee? :(
Hola Midu! Excelente curso ¿Que extensión usas para que te de una previsualización de lo que te devuelve la función?
Que extensión es la que te dice 0 complementación encima de las interfaces?
Segui los pasos hasta el minuto 23:00 y ya no pude continuar porque aunque haya puesto en la configuracion resolveJsonModule, de igual manera no me lee los datos del json, me sigue apareciendo el mismo error. Alguien sabe como puedo solucionar?
Me paso lo mismo pero reinicie vscode y me funciona
La estoy pasando genial con tus tutos, Cual extension es para ver === como 3 lineas y el => como una flecha real? gracias :)
no soy ningún pro en ts, pero en esta parte 48:28, qué sentido tiene hacer tu propio tipo excluyendo los campos si luego te toca manual especificarlos, no es lo mismo usar `DiaryEnty` y filtrar con map?
Midu una pregunta, ¿tu tenías un video en el que enseñabas a hacer un servidor con node, express, nodemon, morgan y babel? Es que tengo un proyecto que jugararía haberlo hecho viendo ese video y no encuentro el video. Gracias.
Hola brother, he estado intentando crear mi api pero cuando intento ejecutar el archivo package Jason para crear una petición no hay respuesta en la terminal. A qué se debe ésto??
Genial!, consulta el repositorio esta?
hola saludos se puede utilizar la libreria canary para trabajar con con typescript podrías hacer un video sobre la configuración saludos!!!
Gracias Midu Pick y Omit, grandes aliados
¿Porque no haces un short enseñando a configurar la terminal que ulitilizas? Mola mucho.
Hola ! No entiendo al final la diferencia entre haber hecho el map directamente en el getEntries ya que el comment sale tambien el NonSensitive....
Tienes elmismo curso para js? Graacias de antemano
Hola, alguien sabe cómo poner los mensajes del eslint en la misma línea de código como le sale a Midu en su editor?
Typescript es como tener un amigo viéndote escribir código y señalándote posibles errores, me encanta 🤣.
Hola! No se si soy el único pero quedé aquí por días y no logro salir... No logro quitar "comment" en el findById() por este error: Property 'comment' does not exist on type 'DiaryEntry | undefined'.ts(2339)
trata especificando el type como objeto: const {id, comment, ...restOfDiary } = diary as DiaryEntry, a mi me pasó igual 😅
@@calceta888 Muchisimas gracias, tambien andaba atascado ahi ):
Excelente ese Omit y Pick 👍🏻
Cual es esa extension que al sombrear el error/varable/parametro te aparece todas las opciones/tipos disponibles ?
Buenas alguno sabe que terminal es la que usa?. o si esta usando algun tema en particular
Hola una pregunta
Usando TS como transpilador de JS se puede prescindir de Babel.js
Sí
@@midudev me enamore más de TS
Gran de video!
Midu, perdon la pregunta. Que fuente usas???
Hola, que extension usas para que te escriba los errores en rojo a un lado del codigo? saludos!
Alguien sabe ¿por qué cuando compila a js en los imports les quita la extensión js?
Buena infooo Midu!!!
Graciassss
Gracias a ti!!
muchas gracias!!! muy buen video
Genial el vídeo. Así a ojo me ha quedado una duda y es porque las funciones isString e isDate reciben un string, y si no debería ser un any. Por lo demás increíble
al intentar correr a la api con npm star me arroja un error 'MODULE_NOT_FOUND' alguna solucion?
Hola midu, pedazo de video y la explicacion mejor, cual es la extension para remarcar esos warnig y error que mola mucho
dejo ward
Es el linter
cómo se llama la extensión que cuenta cuantas veces se ha implementado la interfaz?
tengo una duda, como imprimir la llamada exacta que hago con el resultado de la petición? Sin usar por ejemplo postman
Me hubiera gustado que levantaras los Unit test ya que es super importante
Que theme usa? me gusta mucho el diseño
Al guardar no se me actualiza nada :( 39:20 Ayudaaa
Hola!!! excelente clases como siempre. me gustaria pregunarte algo, no podemos validar los campos que entran por el Request con una clase Validator??
Muy buen tuto, muy ameno. No sería mejor en los casos que vas a comprobar si son de un tipo u otro definir los argumentos de esas funciones como any o unknown? Realmente no sabes el tipo de lo que te va a llegar por parámetro y dentro de la función lo que haces es comprobar si son de un tipo o no para retornar algo.
Interesante video, me quedo una duda, cuando tipaste el objeto diaries, tambien es viable realizar un enum con los posibles tipos de clima(weather)? O es una mala practica?
Claro. Sería buena idea hacer un enum si los valores del weather son finitos y conocidos.
@midudev: deberías dejar el archivo Json que usas para que los próximos que vienen aprender sigan paso a paso
y no hay una opcion para que no te deje poner los switch :) enhorabuena por los videos !
¿Alguien tendrá la configuración de VSC para que se formatee el código al guardar el archivo?
Muchas gracias MIdu!
¿Donde puedo descargar el JSON?
Vale mil este video!!
🙇♂️ Gracias Dyers!!!!
sos un tipazo
está muy bien el curso pero falta tocar temas de middleware, controllers entre otros