2999a commited on
Commit
a939902
verified
1 Parent(s): 83abb55

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes. 聽 See raw diff
Files changed (50) hide show
  1. .gitattributes +45 -0
  2. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Desarrollo conversacional con Claude Code para proyectos reales.mp4 +3 -0
  3. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Desarrollo conversacional con Claude Code para proyectos reales.vtt +32 -0
  4. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Lecturas recomendadas.txt +1 -0
  5. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Resumen.html +0 -0
  6. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Flujo profesional para desarrollar features con Claude Code.mp4 +3 -0
  7. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Flujo profesional para desarrollar features con Claude Code.vtt +38 -0
  8. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Lecturas recomendadas.txt +4 -0
  9. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Resumen.html +0 -0
  10. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Instalaci贸n y configuraci贸n b谩sica de Claude Code con npm.mp4 +3 -0
  11. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Instalaci贸n y configuraci贸n b谩sica de Claude Code con npm.vtt +149 -0
  12. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Lecturas recomendadas.txt +2 -0
  13. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Resumen.html +0 -0
  14. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/04-Fundamentos de Claude Code contexto subagentes y herramientas.mp4 +3 -0
  15. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/04-Fundamentos de Claude Code contexto subagentes y herramientas.vtt +95 -0
  16. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/04-Resumen.html +0 -0
  17. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-An谩lisis de arquitectura full stack con Claude Code.mp4 +3 -0
  18. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-An谩lisis de arquitectura full stack con Claude Code.vtt +257 -0
  19. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-Lecturas recomendadas.txt +1 -0
  20. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-Resumen.html +0 -0
  21. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/06-An谩lisis de impacto del feature de ratings con Claude Code.mp4 +3 -0
  22. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/06-An谩lisis de impacto del feature de ratings con Claude Code.vtt +119 -0
  23. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/06-Resumen.html +0 -0
  24. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/07-Creaci贸n de subagentes especializados en Claude Code para planificaci贸n.mp4 +3 -0
  25. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/07-Creaci贸n de subagentes especializados en Claude Code para planificaci贸n.vtt +218 -0
  26. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/07-Resumen.html +0 -0
  27. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Actualizaci贸n de Claude Code a versi贸n 20 y mejoras de Sonnet 45.mp4 +3 -0
  28. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Actualizaci贸n de Claude Code a versi贸n 20 y mejoras de Sonnet 45.vtt +179 -0
  29. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Lecturas recomendadas.txt +5 -0
  30. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Resumen.html +0 -0
  31. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/09-Creaci贸n de subagentes especializados en Claude Code.mp4 +3 -0
  32. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/09-Creaci贸n de subagentes especializados en Claude Code.vtt +158 -0
  33. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/09-Resumen.html +0 -0
  34. Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/10-Quiz.mhtml +0 -0
  35. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/01-Resumen.html +0 -0
  36. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/01-Uso de unit tests para migraciones seguras de base de datos.mp4 +3 -0
  37. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/01-Uso de unit tests para migraciones seguras de base de datos.vtt +221 -0
  38. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/02-Implementaci贸n de ratings en backend con Claude Code y Docker.mp4 +3 -0
  39. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/02-Implementaci贸n de ratings en backend con Claude Code y Docker.vtt +179 -0
  40. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/02-Resumen.html +0 -0
  41. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/03-Implementaci贸n de ratings con estrellas en lista de cursos frontend.mp4 +3 -0
  42. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/03-Implementaci贸n de ratings con estrellas en lista de cursos frontend.vtt +296 -0
  43. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/03-Resumen.html +0 -0
  44. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/04-Integraci贸n de ratings con API usando Claude Code.mp4 +3 -0
  45. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/04-Integraci贸n de ratings con API usando Claude Code.vtt +131 -0
  46. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/04-Resumen.html +0 -0
  47. Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/05-Quiz.mhtml +0 -0
  48. Curso de Claude Code/03-M贸dulo 3 Gesti贸n de Contexto y Comandos/01-Instalaci贸n de servidores MCP en Claude Code.mp4 +3 -0
  49. Curso de Claude Code/03-M贸dulo 3 Gesti贸n de Contexto y Comandos/01-Instalaci贸n de servidores MCP en Claude Code.vtt +272 -0
  50. Curso de Claude Code/03-M贸dulo 3 Gesti贸n de Contexto y Comandos/01-Lecturas recomendadas.txt +6 -0
.gitattributes CHANGED
@@ -563,3 +563,48 @@ Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space
563
  Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space:]]las[[:space:]]Partes[[:space:]]del[[:space:]]Cuerpo/04-Actividad[[:space:]]f铆sica[[:space:]]y[[:space:]]Deportes[[:space:]]en[[:space:]]Ingl茅s/05-worksheet-whose-got-the-ball_04d38340-043f-4ea5-8ec6-f48570ef1840.pdf filter=lfs diff=lfs merge=lfs -text
564
  Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space:]]las[[:space:]]Partes[[:space:]]del[[:space:]]Cuerpo/05-Continua[[:space:]]practicando/01-Recapitulaci贸n[[:space:]]de[[:space:]]Verbos[[:space:]]Sensoriales[[:space:]]y[[:space:]]Actividades[[:space:]]F铆sicas.mp4 filter=lfs diff=lfs merge=lfs -text
565
  Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space:]]las[[:space:]]Partes[[:space:]]del[[:space:]]Cuerpo/05-Continua[[:space:]]practicando/02-Conclusiones[[:space:]]del[[:space:]]Taller[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Repaso[[:space:]]y[[:space:]]Siguientes[[:space:]]Pasos.mp4 filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space:]]las[[:space:]]Partes[[:space:]]del[[:space:]]Cuerpo/04-Actividad[[:space:]]f铆sica[[:space:]]y[[:space:]]Deportes[[:space:]]en[[:space:]]Ingl茅s/05-worksheet-whose-got-the-ball_04d38340-043f-4ea5-8ec6-f48570ef1840.pdf filter=lfs diff=lfs merge=lfs -text
564
  Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space:]]las[[:space:]]Partes[[:space:]]del[[:space:]]Cuerpo/05-Continua[[:space:]]practicando/01-Recapitulaci贸n[[:space:]]de[[:space:]]Verbos[[:space:]]Sensoriales[[:space:]]y[[:space:]]Actividades[[:space:]]F铆sicas.mp4 filter=lfs diff=lfs merge=lfs -text
565
  Curso[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Pr谩ctico[[:space:]]sobre[[:space:]]las[[:space:]]Partes[[:space:]]del[[:space:]]Cuerpo/05-Continua[[:space:]]practicando/02-Conclusiones[[:space:]]del[[:space:]]Taller[[:space:]]de[[:space:]]Ingl茅s[[:space:]]Repaso[[:space:]]y[[:space:]]Siguientes[[:space:]]Pasos.mp4 filter=lfs diff=lfs merge=lfs -text
566
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/01-Desarrollo[[:space:]]conversacional[[:space:]]con[[:space:]]Claude[[:space:]]Code[[:space:]]para[[:space:]]proyectos[[:space:]]reales.mp4 filter=lfs diff=lfs merge=lfs -text
567
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/02-Flujo[[:space:]]profesional[[:space:]]para[[:space:]]desarrollar[[:space:]]features[[:space:]]con[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
568
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/03-Instalaci贸n[[:space:]]y[[:space:]]configuraci贸n[[:space:]]b谩sica[[:space:]]de[[:space:]]Claude[[:space:]]Code[[:space:]]con[[:space:]]npm.mp4 filter=lfs diff=lfs merge=lfs -text
569
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/04-Fundamentos[[:space:]]de[[:space:]]Claude[[:space:]]Code[[:space:]]contexto[[:space:]]subagentes[[:space:]]y[[:space:]]herramientas.mp4 filter=lfs diff=lfs merge=lfs -text
570
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/05-An谩lisis[[:space:]]de[[:space:]]arquitectura[[:space:]]full[[:space:]]stack[[:space:]]con[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
571
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/06-An谩lisis[[:space:]]de[[:space:]]impacto[[:space:]]del[[:space:]]feature[[:space:]]de[[:space:]]ratings[[:space:]]con[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
572
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/07-Creaci贸n[[:space:]]de[[:space:]]subagentes[[:space:]]especializados[[:space:]]en[[:space:]]Claude[[:space:]]Code[[:space:]]para[[:space:]]planificaci贸n.mp4 filter=lfs diff=lfs merge=lfs -text
573
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/08-Actualizaci贸n[[:space:]]de[[:space:]]Claude[[:space:]]Code[[:space:]]a[[:space:]]versi贸n[[:space:]]20[[:space:]]y[[:space:]]mejoras[[:space:]]de[[:space:]]Sonnet[[:space:]]45.mp4 filter=lfs diff=lfs merge=lfs -text
574
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/01-M贸dulo[[:space:]]1[[:space:]]DiscoveryAn谩lisisPlanning/09-Creaci贸n[[:space:]]de[[:space:]]subagentes[[:space:]]especializados[[:space:]]en[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
575
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/02-M贸dulo[[:space:]]2[[:space:]]Implementaci贸n[[:space:]]Backend/01-Uso[[:space:]]de[[:space:]]unit[[:space:]]tests[[:space:]]para[[:space:]]migraciones[[:space:]]seguras[[:space:]]de[[:space:]]base[[:space:]]de[[:space:]]datos.mp4 filter=lfs diff=lfs merge=lfs -text
576
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/02-M贸dulo[[:space:]]2[[:space:]]Implementaci贸n[[:space:]]Backend/02-Implementaci贸n[[:space:]]de[[:space:]]ratings[[:space:]]en[[:space:]]backend[[:space:]]con[[:space:]]Claude[[:space:]]Code[[:space:]]y[[:space:]]Docker.mp4 filter=lfs diff=lfs merge=lfs -text
577
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/02-M贸dulo[[:space:]]2[[:space:]]Implementaci贸n[[:space:]]Backend/03-Implementaci贸n[[:space:]]de[[:space:]]ratings[[:space:]]con[[:space:]]estrellas[[:space:]]en[[:space:]]lista[[:space:]]de[[:space:]]cursos[[:space:]]frontend.mp4 filter=lfs diff=lfs merge=lfs -text
578
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/02-M贸dulo[[:space:]]2[[:space:]]Implementaci贸n[[:space:]]Backend/04-Integraci贸n[[:space:]]de[[:space:]]ratings[[:space:]]con[[:space:]]API[[:space:]]usando[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
579
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/03-M贸dulo[[:space:]]3[[:space:]]Gesti贸n[[:space:]]de[[:space:]]Contexto[[:space:]]y[[:space:]]Comandos/01-Instalaci贸n[[:space:]]de[[:space:]]servidores[[:space:]]MCP[[:space:]]en[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
580
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/03-M贸dulo[[:space:]]3[[:space:]]Gesti贸n[[:space:]]de[[:space:]]Contexto[[:space:]]y[[:space:]]Comandos/02-Control[[:space:]]de[[:space:]]costos[[:space:]]y[[:space:]]modelos[[:space:]]en[[:space:]]Claude[[:space:]]Code.mp4 filter=lfs diff=lfs merge=lfs -text
581
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/03-M贸dulo[[:space:]]3[[:space:]]Gesti贸n[[:space:]]de[[:space:]]Contexto[[:space:]]y[[:space:]]Comandos/03-Instalaci贸n[[:space:]]de[[:space:]]Claude[[:space:]]Code[[:space:]]en[[:space:]]GitHub[[:space:]]con[[:space:]]Actions.mp4 filter=lfs diff=lfs merge=lfs -text
582
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/03-M贸dulo[[:space:]]3[[:space:]]Gesti贸n[[:space:]]de[[:space:]]Contexto[[:space:]]y[[:space:]]Comandos/04-Integraci贸n[[:space:]]de[[:space:]]Claude[[:space:]]Code[[:space:]]en[[:space:]]pull[[:space:]]requests[[:space:]]de[[:space:]]GitHub.mp4 filter=lfs diff=lfs merge=lfs -text
583
+ Curso[[:space:]]de[[:space:]]Claude[[:space:]]Code/03-M贸dulo[[:space:]]3[[:space:]]Gesti贸n[[:space:]]de[[:space:]]Contexto[[:space:]]y[[:space:]]Comandos/05-Desarrollo[[:space:]]conversacional[[:space:]]con[[:space:]]Claude[[:space:]]Code[[:space:]]para[[:space:]]programar[[:space:]]con[[:space:]]contexto.mp4 filter=lfs diff=lfs merge=lfs -text
584
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/01-Estructura[[:space:]]y[[:space:]]reglas[[:space:]]fundamentales[[:space:]]del[[:space:]]谩lgebra.mp4 filter=lfs diff=lfs merge=lfs -text
585
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/02-Partes[[:space:]]de[[:space:]]una[[:space:]]expresi贸n[[:space:]]algebraica[[:space:]]variables[[:space:]]coeficientes[[:space:]]y[[:space:]]t茅rminos.mp4 filter=lfs diff=lfs merge=lfs -text
586
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/03-Leyes[[:space:]]de[[:space:]]los[[:space:]]signos[[:space:]]y[[:space:]]exponentes[[:space:]]en[[:space:]]谩lgebra[[:space:]]b谩sica.mp4 filter=lfs diff=lfs merge=lfs -text
587
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/03-pdf-leyes-de-los-exponentes_7594d357-af54-4766-9f5f-4f05331f30c3_569f2a2d-f061-4b7d-8343-f72a851364a2.pdf filter=lfs diff=lfs merge=lfs -text
588
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/04-Leyes[[:space:]]de[[:space:]]los[[:space:]]radicales[[:space:]]para[[:space:]]simplificar[[:space:]]expresiones[[:space:]]algebraicas.mp4 filter=lfs diff=lfs merge=lfs -text
589
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/04-ley-de-radicales-recurso-1_0f08f8f3-952c-4a21-8bfa-f7e53e7e0452.jpg filter=lfs diff=lfs merge=lfs -text
590
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/04-ley-de-radicales-recurso-1_c79bece6-6e8d-4573-a919-aa3883712faf.jpg filter=lfs diff=lfs merge=lfs -text
591
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/04-ley-de-radicales-recurso-2_6ac6717a-3ade-44c0-873f-6610d4ba37dd.jpg filter=lfs diff=lfs merge=lfs -text
592
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/04-ley-de-radicales-recurso-3_dd9c28b6-8bc8-4466-a810-02a76c628e7f.jpg filter=lfs diff=lfs merge=lfs -text
593
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/01-M贸dulo[[:space:]]1[[:space:]]conceptos[[:space:]]b谩sicos/05-Propiedades[[:space:]]algebraicas[[:space:]]b谩sicas[[:space:]]neutros[[:space:]]inversos[[:space:]]y[[:space:]]distributiva.mp4 filter=lfs diff=lfs merge=lfs -text
594
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/02-M贸dulo[[:space:]]2[[:space:]]monomios[[:space:]]polinomios[[:space:]]productos[[:space:]]notables[[:space:]]y[[:space:]]factorizaci贸n/01-Estructura[[:space:]]y[[:space:]]operaciones[[:space:]]b谩sicas[[:space:]]con[[:space:]]monomios.mp4 filter=lfs diff=lfs merge=lfs -text
595
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/02-M贸dulo[[:space:]]2[[:space:]]monomios[[:space:]]polinomios[[:space:]]productos[[:space:]]notables[[:space:]]y[[:space:]]factorizaci贸n/02-Clasificaci贸n[[:space:]]y[[:space:]]operaciones[[:space:]]b谩sicas[[:space:]]con[[:space:]]polinomios[[:space:]]y[[:space:]]monomios.mp4 filter=lfs diff=lfs merge=lfs -text
596
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/02-M贸dulo[[:space:]]2[[:space:]]monomios[[:space:]]polinomios[[:space:]]productos[[:space:]]notables[[:space:]]y[[:space:]]factorizaci贸n/03-Factor[[:space:]]com煤n[[:space:]]en[[:space:]]expresiones[[:space:]]algebraicas.mp4 filter=lfs diff=lfs merge=lfs -text
597
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/02-M贸dulo[[:space:]]2[[:space:]]monomios[[:space:]]polinomios[[:space:]]productos[[:space:]]notables[[:space:]]y[[:space:]]factorizaci贸n/04-Factorizaci贸n[[:space:]]de[[:space:]]cuadrados[[:space:]]y[[:space:]]cubos[[:space:]]de[[:space:]]binomios.mp4 filter=lfs diff=lfs merge=lfs -text
598
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/02-M贸dulo[[:space:]]2[[:space:]]monomios[[:space:]]polinomios[[:space:]]productos[[:space:]]notables[[:space:]]y[[:space:]]factorizaci贸n/04-pdf-factorizacion-con-cubos-y-cuadrados_62afd4bf-f02c-44f0-9513-026866038b39.pdf filter=lfs diff=lfs merge=lfs -text
599
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/02-M贸dulo[[:space:]]2[[:space:]]monomios[[:space:]]polinomios[[:space:]]productos[[:space:]]notables[[:space:]]y[[:space:]]factorizaci贸n/05-Factorizaci贸n[[:space:]]de[[:space:]]trinomios[[:space:]]cuadrados[[:space:]]perfectos[[:space:]]y[[:space:]]trinomios[[:space:]]generales.mp4 filter=lfs diff=lfs merge=lfs -text
600
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/03-M贸dulo[[:space:]]3[[:space:]]Ecuaciones[[:space:]]e[[:space:]]inecuaciones/01-Diferencia[[:space:]]entre[[:space:]]expresiones[[:space:]]algebraicas[[:space:]]y[[:space:]]ecuaciones.mp4 filter=lfs diff=lfs merge=lfs -text
601
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/03-M贸dulo[[:space:]]3[[:space:]]Ecuaciones[[:space:]]e[[:space:]]inecuaciones/02-Desigualdades[[:space:]]s铆mbolos[[:space:]]intervalos[[:space:]]y[[:space:]]operaciones[[:space:]]b谩sicas.mp4 filter=lfs diff=lfs merge=lfs -text
602
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/03-M贸dulo[[:space:]]3[[:space:]]Ecuaciones[[:space:]]e[[:space:]]inecuaciones/03-Definici贸n[[:space:]]y[[:space:]]resoluci贸n[[:space:]]de[[:space:]]ecuaciones[[:space:]]con[[:space:]]valor[[:space:]]absoluto.mp4 filter=lfs diff=lfs merge=lfs -text
603
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/03-M贸dulo[[:space:]]3[[:space:]]Ecuaciones[[:space:]]e[[:space:]]inecuaciones/04-Funciones[[:space:]]lineales[[:space:]]y[[:space:]]el[[:space:]]plano[[:space:]]cartesiano.mp4 filter=lfs diff=lfs merge=lfs -text
604
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/04-M贸dulo[[:space:]]4[[:space:]]Sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales/01-Tipos[[:space:]]de[[:space:]]sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales[[:space:]]y[[:space:]]sus[[:space:]]soluciones.mp4 filter=lfs diff=lfs merge=lfs -text
605
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/04-M贸dulo[[:space:]]4[[:space:]]Sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales/02-M茅todos[[:space:]]de[[:space:]]resoluci贸n[[:space:]]de[[:space:]]sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales.mp4 filter=lfs diff=lfs merge=lfs -text
606
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/04-M贸dulo[[:space:]]4[[:space:]]Sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales/03-Matrices[[:space:]]definici贸n[[:space:]]operaciones[[:space:]]y[[:space:]]c谩lculo[[:space:]]de[[:space:]]determinantes.mp4 filter=lfs diff=lfs merge=lfs -text
607
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/04-M贸dulo[[:space:]]4[[:space:]]Sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales/04-M茅todos[[:space:]]de[[:space:]]Gauss[[:space:]]y[[:space:]]GaussJordan[[:space:]]para[[:space:]]sistemas[[:space:]]de[[:space:]]ecuaciones.mp4 filter=lfs diff=lfs merge=lfs -text
608
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/04-M贸dulo[[:space:]]4[[:space:]]Sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]lineales/05-Resoluci贸n[[:space:]]de[[:space:]]sistemas[[:space:]]de[[:space:]]ecuaciones[[:space:]]con[[:space:]]la[[:space:]]regla[[:space:]]de[[:space:]]Cramer.mp4 filter=lfs diff=lfs merge=lfs -text
609
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/05-M贸dulo[[:space:]]5[[:space:]]funci贸n[[:space:]]cuadr谩tica[[:space:]]y[[:space:]]logaritmos/01-Caracter铆sticas[[:space:]]y[[:space:]]resoluci贸n[[:space:]]de[[:space:]]funciones[[:space:]]cuadr谩ticas.mp4 filter=lfs diff=lfs merge=lfs -text
610
+ Curso[[:space:]]de[[:space:]]脕lgebra[[:space:]]y[[:space:]]Funciones/06-M贸dulo[[:space:]]5[[:space:]]Funciones[[:space:]]trascendentales[[:space:]]y[[:space:]]logaritmos/01-Diferencia[[:space:]]entre[[:space:]]funciones[[:space:]]algebraicas[[:space:]]y[[:space:]]trascendentales.mp4 filter=lfs diff=lfs merge=lfs -text
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Desarrollo conversacional con Claude Code para proyectos reales.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c8a4e49d98795269ebd80cd187908ed26652a4986ffe5b25ae3380c628a38954
3
+ size 29140835
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Desarrollo conversacional con Claude Code para proyectos reales.vtt ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.000 --> 00:00:08.380
4
+ [Cortinilla musical de fondo]. Cada desarrollador conoce el ciclo: abrir el editor, buscar archivos, escribir, romper y arreglar. Una y otra vez. Pero Claude Code lo cambia todo
5
+
6
+ 00:00:08.380 --> 00:00:17.460
7
+ desde la ra铆z, porque no completa el c贸digo por ti. Analiza el proyecto completo, conecta archivos, entiende el contexto y propone soluciones coherentes con la
8
+
9
+ 00:00:17.460 --> 00:00:27.459
10
+ arquitectura existente. No responde 贸rdenes, conversa. No genera l铆neas, construye contigo. En este curso, no vas a memorizar comandos, vas a aprender a desarrollar conversando,
11
+
12
+ 00:00:27.459 --> 00:00:34.700
13
+ con criterio, con intenci贸n y con una inteligencia que entiende tu proyecto de principio a fin. Vas a formar parte del equipo de PlatziFlix, una
14
+
15
+ 00:00:34.700 --> 00:00:42.299
16
+ plataforma de cursos online. 驴Tu tarea? Implementar un sistema de calificaci贸n de uno a cinco estrellas para los cursos. Un proyecto real con backend en
17
+
18
+ 00:00:42.299 --> 00:00:51.879
19
+ fase API, frontend en Next.js y base de datos con PostgreSQL. Construyes conversando con Claude, que ejecuta, valida y prueba cada cambio. Optimiza y colabora
20
+
21
+ 00:00:51.879 --> 00:01:02.360
22
+ integrando GitHub, testing, performance y seguridad. 驴El resultado? Un feature completo, modelo de base de datos, API, UI, pruebas y validaciones, pero sobre todo una
23
+
24
+ 00:01:02.360 --> 00:01:09.519
25
+ nueva forma de desarrollar. La mayor铆a de cursos de AI te ense帽an a escribir c贸digo m谩s r谩pido. Este te ense帽a a pensar mejor antes de
26
+
27
+ 00:01:09.519 --> 00:01:18.779
28
+ escribirlo. No aprendes prompts, aprendes decisiones. Y cada decisi贸n, parte del an谩lisis, no de la improvisaci贸n. El futuro del desarrollo no pertenece a quienes escriben
29
+
30
+ 00:01:18.779 --> 00:01:28.459
31
+ m谩s c贸digo, sino a quienes piensan mejor el c贸digo que escriben. Claude Code no acelera tu trabajo, lo eleva. [Efecto sonoro].
32
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/claude-code
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/01-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Flujo profesional para desarrollar features con Claude Code.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:53f291bef5143e9c1fd6b4ab8d4c5086dc6b7e725880ac0d964a7865369f2edf
3
+ size 35495055
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Flujo profesional para desarrollar features con Claude Code.vtt ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.079 --> 00:00:09.359
4
+ Cada desarrollador que llega a un proyecto nuevo repite el mismo ritual: clona repositorio, abre carpetas, revisa archivos, toma notas y aun as铆 siente que
5
+
6
+ 00:00:09.359 --> 00:00:17.659
7
+ no entiende nada. Esto no es falta de habilidad, es falta de m茅todo. Por eso, antes de empezar, necesitas saber algo muy claro: este curso
8
+
9
+ 00:00:17.659 --> 00:00:29.020
10
+ es t茅cnico. Si no tienes bases, vas a frustrarte. Necesitas entender qu茅 es la terminal, Git, API REST, bases de datos relacionales y arquitectura cliente-servidor.
11
+
12
+ 00:00:29.020 --> 00:00:37.700
13
+ Trabajaremos con FastAPI, Next. js, Docker y Playwright. No necesitas ser experto, pero s铆 debes saber qu茅 es un endpoint, una migraci贸n o un componente
14
+
15
+ 00:00:37.700 --> 00:00:44.880
16
+ con estado. Si todo esto te suena nuevo, empieza con los cursos base y regresa cuando tengas estos fundamentos. Te dejar茅 en la secci贸n de
17
+
18
+ 00:00:44.880 --> 00:00:52.439
19
+ recursos los enlaces a los cursos que necesitas tomar previamente. Si ya los manejas, este curso te va a dar herramientas profesionales que puedes aplicar
20
+
21
+ 00:00:52.439 --> 00:00:59.380
22
+ desde hoy. Y si a煤n no has instalado Cloud Code, en la secci贸n de recursos tienes el tutorial b谩sico. Cada feature que construyamos seguir谩 un
23
+
24
+ 00:00:59.380 --> 00:01:12.239
25
+ flujo simple pero poderoso: an谩lisis, planificaci贸n y ejecuci贸n. Antes de escribir, entendemos, exploramos el codebase, identificamos modelos, dependencias y puntos de impacto. Un curso t茅cnico
26
+
27
+ 00:01:12.239 --> 00:01:19.419
28
+ con poco c贸digo. Aqu铆 el trabajo no es escribir m谩s, es pensar mejor. Cloud Code genera gran parte del c贸digo. T煤 decides si lo que
29
+
30
+ 00:01:19.419 --> 00:01:29.299
31
+ genera tiene sentido, si respeta la arquitectura y si es eficiente. Cuando analices el codebase, aprender谩s referencias y an谩lisis multiarchivo. Cuando dise帽es un feature, descubrir谩s
32
+
33
+ 00:01:29.299 --> 00:01:38.479
34
+ Think Deeply y agentes especializados. Cuando ejecutes c贸digo, conocer谩s comandos de validaci贸n, prueba y seguridad. Ver谩s c贸mo lo que parec铆a complejo se vuelve claro y
35
+
36
+ 00:01:38.479 --> 00:01:46.319
37
+ controlable. Cloud Code te acompa帽ar谩 en cada paso, como herramienta, como asistente y sobre todo, como tu nuevo colaborador t茅cnico.
38
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Lecturas recomendadas.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ https://www.youtube.com/watch?v=A6oW7SnNq2g
2
+ https://platzi.com/cursos/gitgithub/
3
+ https://platzi.com/cursos/docker-fundamentos/
4
+ https://platzi.com/cursos/reactjs/
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/02-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Instalaci贸n y configuraci贸n b谩sica de Claude Code con npm.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f1f12f811ade326a1a559948ae1720bfb6e72afdcd093a78c727c5371721d87a
3
+ size 104264849
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Instalaci贸n y configuraci贸n b谩sica de Claude Code con npm.vtt ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.080 --> 00:00:09.459
4
+ En esta clase vamos a aprender c贸mo instalar Claude dentro del sistema, c贸mo configurarlo muy b谩sicamente y c贸mo tenerlo entonado para empezar el desarrollo. Vamos.
5
+
6
+ 00:00:09.460 --> 00:00:17.480
7
+ Lo primero que haremos es ir a la documentaci贸n oficial de Claude, que es docs.claude.com. Aqu铆 hay muchos apartados, pero el que m谩s nos interesa
8
+
9
+ 00:00:17.480 --> 00:00:24.700
10
+ es el de Claude Code, que tiene toda la documentaci贸n de c贸mo trabajar con Claude Code, c贸mo instalarlo y cu谩les son los features disponibles que
11
+
12
+ 00:00:24.700 --> 00:00:34.780
13
+ existen para, eh, poder sacarle el mayor provecho. Aqu铆, en la primera p谩gina, que es el overview, est谩n las instrucciones de instalaci贸n. Vemos que lo
14
+
15
+ 00:00:34.780 --> 00:00:41.519
16
+ que se necesita para instalar es npm, que es el manejador de paquetes de node. Si a煤n no lo tienes instalado en tu sistema o
17
+
18
+ 00:00:41.520 --> 00:00:49.500
19
+ no est谩 configurado, te recomiendo que visites el curso de fundamentos de JavaScript en donde aprender谩s a c贸mo instalarlo. Lo 煤nico que se tiene que
20
+
21
+ 00:00:49.500 --> 00:00:59.060
22
+ hacer es copiar esta l铆nea... e ir a la terminal. En la terminal es pegar esta l铆nea y esperar a que se instale el paquete.
23
+
24
+ 00:00:59.060 --> 00:01:08.040
25
+ Vemos que es una instalaci贸n global, por lo que va a estar disponible para cualquier secci贸n dentro de nuestro entorno de desarrollo, no 煤nicamente dentro
26
+
27
+ 00:01:08.040 --> 00:01:16.060
28
+ de la carpeta en la que se instal贸. El segundo paso es entrar al directorio en el que se quiere trabajar. En este caso, nosotros
29
+
30
+ 00:01:16.060 --> 00:01:25.020
31
+ ya estamos dentro del directorio de Claude Code, que es la carpeta en la que vamos a estar trabajando. Y luego, simplemente hay que escribir
32
+
33
+ 00:01:25.020 --> 00:01:32.900
34
+ el comando Claude. Y aqu铆 se va a abrir algo que se llama REPL, que nos va a permitir tener una interfaz con la que
35
+
36
+ 00:01:32.900 --> 00:01:41.780
37
+ podemos interactuar con el modelo. Y aqu铆 nos dice unas peque帽as instrucciones: el comando help para buscar ayuda y entender c贸mo funciona Claude Code, el
38
+
39
+ 00:01:41.780 --> 00:01:50.430
40
+ comando status para ver qu茅 tal est谩 el setup actual de, de, de Claude Code. Vamos a escribir help para entender c贸mo es que funciona
41
+
42
+ 00:01:50.430 --> 00:01:59.500
43
+ un comando y, este, particularmente, lo que nos dice una documentaci贸n o un manual muy b谩sico de c贸mo es que funciona Claude Code. Y aqu铆
44
+
45
+ 00:01:59.500 --> 00:02:06.400
46
+ nos dice que siempre revisemos las respuestas de Claude, etc茅tera. Nos da una lista de cu谩les son los comandos en el modo interactivo que, que
47
+
48
+ 00:02:06.400 --> 00:02:14.100
49
+ est谩n disponibles. Por ejemplo, aqu铆 est谩 el que acabamos de usar, que es help, que nos muestra los comandos disponibles y muestra ayuda. Y hay
50
+
51
+ 00:02:14.100 --> 00:02:23.260
52
+ otro que es el comando doctor, que ese es el segundo comando que quiere introducir, que es, eh, revisar c贸mo est谩 la instalaci贸n de Claude
53
+
54
+ 00:02:23.260 --> 00:02:31.040
55
+ Code y los settings de, de Claude Code. Entonces vamos a darle enter porque es la forma en la que se sale, y escribimos doctor.
56
+
57
+ 00:02:31.040 --> 00:02:37.620
58
+ Y en doctor me est谩 diciendo que todo est谩 correcto, que, que, que est谩 instalado en esta, en esta parte del sistema, que est谩 siendo
59
+
60
+ 00:02:37.620 --> 00:02:45.440
61
+ invocado en este binario y que todo est谩 correcto. No hay mucho m谩s, pero que esto nos va a-- puede ayudar si llega a haber
62
+
63
+ 00:02:45.440 --> 00:02:52.740
64
+ alg煤n problema con la invocaci贸n de Claude, este nos va a dar un indicio de qu茅 puede estar fallando. Y el tercer comando que necesitamos
65
+
66
+ 00:02:52.740 --> 00:03:02.079
67
+ es login. Sin el login no podremos utilizar los modelos disponibles ni utilizarlo para poder generar c贸digo. Cuando le damos login, 茅l nos muestra dos
68
+
69
+ 00:03:02.080 --> 00:03:10.920
70
+ opciones: uno que es utilizar a Claude con la suscripci贸n a Anthropic y otro que es utilizar a Claude con la consola de Anthropic. Tiene
71
+
72
+ 00:03:10.920 --> 00:03:19.980
73
+ sus diferencias. Uno es: si se paga la suscripci贸n, se tiene acceso a la aplicaci贸n de escritorio de Claude y tambi茅n acceso a Claude Code.
74
+
75
+ 00:03:19.980 --> 00:03:26.800
76
+ Si se paga, por ejemplo, el plan pro, que es el m谩s barato, se tiene acceso solo a algunos modelos, en este caso Sonnet, pero
77
+
78
+ 00:03:26.800 --> 00:03:35.020
79
+ no al m谩s avanzado, que es Opus, y a una cantidad limitada de tokens. Versus max, que s铆 ampl铆a el rango a poder utilizar Opus
80
+
81
+ 00:03:35.020 --> 00:03:43.480
82
+ y una mayor cantidad de tokens. Pero esto es personal. Y la de abajo es como si t煤 compraras tokens en la consola de Anthropic.
83
+
84
+ 00:03:43.480 --> 00:03:52.380
85
+ Entonces, ya es c贸mo, eh, est谩 configurado para tu entorno de trabajo, eh, el uso de Claude. Pero lo ideal es que si est谩s trabajando
86
+
87
+ 00:03:52.380 --> 00:03:58.760
88
+ en solitario o eres un solo dev, lo puedes utilizar con la suscripci贸n y si est谩s trabajando para una empresa, que puedas utilizar los tokens
89
+
90
+ 00:03:58.760 --> 00:04:07.320
91
+ de la empresa. En el navegador se nos abrir谩 una pesta帽a como esta, en el que nos pregunta si queremos autorizar a Claude Code para
92
+
93
+ 00:04:07.320 --> 00:04:15.160
94
+ que utilice y cree API keys dentro de la organizaci贸n de Platzi, en este caso. Yo voy a autorizar esto para que se cree el
95
+
96
+ 00:04:15.160 --> 00:04:26.200
97
+ token. Adicionalmente, Claude Code, cuando iniciamos sesi贸n, nos muestra este link. Este link es si, por ejemplo, no se abre un navegador, eh, lo podemos
98
+
99
+ 00:04:26.200 --> 00:04:33.740
100
+ agarrar y copiar e irnos a un navegador en el que tenemos la sesi贸n iniciada de Anthropic. Esta es una segunda forma de poder iniciar
101
+
102
+ 00:04:33.740 --> 00:04:42.960
103
+ sesi贸n. Aqu铆 tambi茅n tenemos que autorizar o declinar. Yo voy a darle a autorizar a esta secci贸n para que vean que aqu铆 aparece un token.
104
+
105
+ 00:04:42.960 --> 00:04:55.020
106
+ Este token se puede copiar y luego se pega en la misma terminal para que se pueda utilizar. Aqu铆, eh, inicia sesi贸n, me dice que
107
+
108
+ 00:04:55.020 --> 00:05:04.500
109
+ listo, que ya estoy logueado con mi cuenta de Platzi y que el login fue exitoso. Excelente. Entonces, ya tenemos a Claude Code instalado en
110
+
111
+ 00:05:04.500 --> 00:05:14.000
112
+ el sistema y ya tenemos, eh, la sesi贸n iniciada para poder utilizar los modelos. Ahora, solo hemos visto c贸mo utilizarlo dentro de la terminal, pero
113
+
114
+ 00:05:14.000 --> 00:05:23.020
115
+ es m谩s poderoso cuando lo unimos con el uso de un editor. En este caso, vamos a utilizar a cursor como editor para poder, eh,
116
+
117
+ 00:05:23.020 --> 00:05:31.500
118
+ integrar a Claude Code dentro de 茅l y tenerlo como herramienta de desarrollo en el mismo editor. Vamos al editor y lo que vamos a
119
+
120
+ 00:05:31.500 --> 00:05:41.560
121
+ hacer es buscar dentro de la secci贸n de, eh, extensiones, la que se llama Claude Code. Se podr铆a utilizar a Claude Code, eh, f谩cilmente dentro
122
+
123
+ 00:05:41.560 --> 00:05:52.320
124
+ de la misma terminal del editor, pero el plugin ofrece unas mejores opciones de poder, eh, pasarle mayor contexto y tener una mejor experiencia. Una
125
+
126
+ 00:05:52.320 --> 00:06:01.380
127
+ vez se instala, va a aparecer el logo de Claude aqu铆 en el mismo editor. Si le damos ac谩, se abre una nueva pesta帽a. Eh,
128
+
129
+ 00:06:01.380 --> 00:06:10.159
130
+ le podemos decir, eh, doctor, para ver qu茅 tal est谩 funcionando, dice que est谩 correcto. Le podemos dar status para certificar qu茅 tal est谩 funcionando.
131
+
132
+ 00:06:10.160 --> 00:06:17.180
133
+ Y aqu铆 me dice que ya la sesi贸n est谩 iniciada con mi correo, como lo hicimos hace un rato, que tenemos, eh, la sesi贸n con
134
+
135
+ 00:06:17.180 --> 00:06:25.040
136
+ este ID. Es decir, Claude Code ya est谩 corriendo dentro del editor. Esta fue una instalaci贸n muy b谩sica y r谩pida de Claude Code, pero que
137
+
138
+ 00:06:25.040 --> 00:06:33.660
139
+ ya es utilizable en el contexto de desarrollo. Si quieres una instalaci贸n m谩s avanzada o conocer a煤n m谩s features, te recomiendo ir al curso de
140
+
141
+ 00:06:33.660 --> 00:06:40.980
142
+ tips y trucos de AI, en donde hay una clase exclusiva de Claude Code. En la pr贸xima clase, vamos a definir cu谩l es la metodolog铆a
143
+
144
+ 00:06:40.980 --> 00:06:47.880
145
+ de trabajo para el resto del curso, c贸mo es que Claude Code nos va a apoyar con sus herramientas para determinar qu茅 tareas hacer y
146
+
147
+ 00:06:47.880 --> 00:06:49.560
148
+ c贸mo hacerlas. Nos vemos all谩.
149
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Lecturas recomendadas.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ https://platzi.com/cursos/trucos-ia/
2
+ https://platzi.com/cursos/javascript/
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/03-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/04-Fundamentos de Claude Code contexto subagentes y herramientas.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:51b7bc14c678c3d71e91f772647443162641712da64b89b9ce57346aada89a1b
3
+ size 86272979
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/04-Fundamentos de Claude Code contexto subagentes y herramientas.vtt ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.180 --> 00:00:07.160
4
+ Antes de empezar a usar a Claude Code dentro del proyecto, necesitas comprender los fundamentos que lo hacen distinto a cualquier otra herramienta de inteligencia
5
+
6
+ 00:00:07.160 --> 00:00:18.759
7
+ artificial. Cinco conceptos determinan c贸mo piensa, c贸mo recuerda y c贸mo colabora contigo. La ventana de contexto, los subagentes, el Model Context Protocol, la CLI y
8
+
9
+ 00:00:18.760 --> 00:00:27.419
10
+ el context engineering. No necesitas ser experto en ninguno, pero entenderlos te permitir谩 usar Claude Code con intenci贸n, precisi贸n y confianza. La ventana de contexto
11
+
12
+ 00:00:27.420 --> 00:00:35.360
13
+ es toda la informaci贸n que Claude puede procesar y recordar al mismo tiempo: tu c贸digo, la conversaci贸n y los resultados que genera. Es, literalmente, su
14
+
15
+ 00:00:35.360 --> 00:00:43.310
16
+ memoria de trabajo. Claude Code maneja doscientos mil tokens en la versi贸n por defecto y tiene una versi贸n de un mill贸n de tokens, suficiente para
17
+
18
+ 00:00:43.310 --> 00:00:52.240
19
+ analizar proyectos medianos o incluso grandes. Cuando esa memoria se llena, Claude empieza a olvidar informaci贸n antigua. Pero no te preocupes, Claude Code gestiona ese
20
+
21
+ 00:00:52.240 --> 00:01:00.680
22
+ espacio autom谩ticamente. Limpia datos irrelevantes y conserva solo lo que sigue siendo 煤til. En la pr谩ctica, esto significa que puedes referenciar archivos con el s铆mbolo
23
+
24
+ 00:01:00.680 --> 00:01:08.310
25
+ arroba en lugar de copiar grandes bloques de c贸digo. Si notas que Claude olvida alguna decisi贸n o contexto, simplemente abre una nueva sesi贸n y vuelve
26
+
27
+ 00:01:08.310 --> 00:01:16.899
28
+ a referenciar los archivos clave. As铆 optimizas la memoria y mantienes la conversaci贸n enfocada. Los subagentes funcionan como miembros especializados de tu equipo. Son versiones
29
+
30
+ 00:01:16.900 --> 00:01:27.320
31
+ de Claude enfocadas en tareas espec铆ficas: backend, frontend, QA, arquitectura, etc茅tera. Cada uno tiene su propio contexto, herramientas y conocimiento t茅cnico. Por ejemplo, el arquitecto
32
+
33
+ 00:01:27.320 --> 00:01:35.780
34
+ analiza la estructura general del sistema, el backend implementa las APIs, el frontend construye los componentes de interfaz y QA se encarga de validar la
35
+
36
+ 00:01:35.780 --> 00:01:43.899
37
+ calidad final. Puedes invocar a cada uno seg煤n la tarea que necesites resolver. Agente de backend para endpoints o agente de frontend para componentes. Mientras
38
+
39
+ 00:01:43.900 --> 00:01:53.660
40
+ trabajan, mantienen sus contextos separados y no saturan la sesi贸n principal. El resultado es un flujo modular, donde cada agente se enfoca en su especialidad,
41
+
42
+ 00:01:53.660 --> 00:02:00.360
43
+ igual que en un equipo de desarrollo real. El tercer concepto es el Model Context Protocol o MCP. Este es el sistema que permite que
44
+
45
+ 00:02:00.360 --> 00:02:07.100
46
+ Claude Code se conecte con herramientas externas. Gracias a MCP, Claude no se limita a leer archivos de c贸digo. Puede acceder a bases de datos,
47
+
48
+ 00:02:07.100 --> 00:02:15.160
49
+ ejecutar pruebas automatizadas, revisar issues en GitHub o incluso interactuar con servicios como Figma o Zapier. Esto significa que puedes pedirle a Claude que corra
50
+
51
+ 00:02:15.160 --> 00:02:22.020
52
+ pruebas en Playwright directamente desde la conversaci贸n, que revise un pull request o que consulte datos de una API sin salir de la terminal. Todo
53
+
54
+ 00:02:22.020 --> 00:02:30.299
55
+ eso ocurre de forma natural, porque MCP integra esas herramientas como si fueran funciones nativas. Solo necesitas configurar cada conexi贸n una vez y a partir
56
+
57
+ 00:02:30.300 --> 00:02:37.980
58
+ de ah铆, cualquier miembro del equipo puede usarlas conversacionalmente. Claude Code se convierte as铆 en el puente que conecta tu proyecto con todo tu ecosistema
59
+
60
+ 00:02:37.980 --> 00:02:45.840
61
+ de herramientas. El cuarto concepto es la CLI, la interfaz donde todo ocurre. Claude Code no tiene una interfaz gr谩fica, vive en la terminal, el
62
+
63
+ 00:02:45.840 --> 00:02:53.720
64
+ mismo lugar donde ya usas Git, Docker o NPM. Esa es precisamente su ventaja. Usa comandos del sistema con el prefijo signo de exclamaci贸n. Claude
65
+
66
+ 00:02:53.720 --> 00:03:01.720
67
+ no te dice qu茅 deber铆as ejecutar, lo ejecuta, analiza los resultados y te ayuda a interpretarlos. Esto mantiene tu flujo limpio: la terminal para Claude,
68
+
69
+ 00:03:01.720 --> 00:03:10.700
70
+ el editor para escribir c贸digo y el navegador para validar resultados. Claude no necesita prompts perfectos, necesita que le construyas un contexto 煤til, un entorno
71
+
72
+ 00:03:10.700 --> 00:03:18.430
73
+ de informaci贸n donde puedas razonar con precisi贸n. No se trata de escribir una gran instrucci贸n, sino de darle los datos adecuados. Eso es el context
74
+
75
+ 00:03:18.430 --> 00:03:28.660
76
+ engineering. Una instrucci贸n vaga genera ruido. Por ejemplo: 芦Ay煤dame con el c贸digo禄. No tiene suficiente informaci贸n. En cambio, una instrucci贸n con contexto produce resultados precisos.
77
+
78
+ 00:03:28.660 --> 00:03:37.580
79
+ El context engineering es usar referencias a archivos en lugar de copiar c贸digo, explicar el prop贸sito de la tarea, indicar qu茅 patrones seguir o evitar
80
+
81
+ 00:03:37.580 --> 00:03:47.360
82
+ y mantener la conversaci贸n limpia de informaci贸n innecesaria. No est谩s haciendo prompting, est谩s dise帽ando un espacio de pensamiento compartido con la inteligencia artificial. Ese espacio,
83
+
84
+ 00:03:47.360 --> 00:03:57.360
85
+ el contexto, es lo que define la calidad del resultado. Estos cinco conceptos resumen la ventaja de Claude Code: el contexto, la especializaci贸n por subagentes,
86
+
87
+ 00:03:57.360 --> 00:04:06.660
88
+ el MCP, la CLI y el context engineering. Claude Code no necesita que aprendas a escribir prompts, necesita que aprendas a crear el contexto donde
89
+
90
+ 00:04:06.660 --> 00:04:14.680
91
+ las decisiones tienen sentido. Durante el curso, ver谩s estos conceptos en acci贸n. El poder de Claude Code no est谩 en escribir m谩s l铆neas de c贸digo,
92
+
93
+ 00:04:14.680 --> 00:04:17.660
94
+ sino en pensar dentro del contexto correcto.
95
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/04-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-An谩lisis de arquitectura full stack con Claude Code.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:73b177b71b854d903bcdb8095dd717fa13b4a9a2d960ab84435bc6eca523d34d
3
+ size 186111505
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-An谩lisis de arquitectura full stack con Claude Code.vtt ADDED
@@ -0,0 +1,257 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.120 --> 00:00:08.840
4
+ En esta clase utilizaremos a Cloud Code para entender la arquitectura de una base de c贸digo ya existente. Y tambi茅n vamos a utilizarlo para configurar
5
+
6
+ 00:00:08.840 --> 00:00:18.940
7
+ el entorno de desarrollo. Vamos al editor. En el editor abriremos el proyecto y veremos que tiene tres carpetas: backend, frontend y m贸vil. Eso significa
8
+
9
+ 00:00:18.940 --> 00:00:26.640
10
+ que este proyecto es un proyecto full stack, pero de primera mano no conocemos c贸mo es la arquitectura. Con Cloud Code vamos a utilizar varias
11
+
12
+ 00:00:26.640 --> 00:00:38.190
13
+ herramientas para poder entenderla. Entonces, abrimos Cloud Code dentro del propio editor y escribimos un prompt sencillo, pero que su fin sea indicarle a Cloud
14
+
15
+ 00:00:38.190 --> 00:00:50.280
16
+ que debe analizar el proyecto y que nos d茅 un resumen de c贸mo es su arquitectura. 芦Analiza el proyecto y entiende c贸mo es la arquitectura
17
+
18
+ 00:00:50.340 --> 00:01:04.200
19
+ que tiene. Es importante que entiendas que hay m谩s de un proyecto contenido en 茅l禄. Y aqu铆 nos vamos a apoyar del feature de Cloud
20
+
21
+ 00:01:04.200 --> 00:01:12.040
22
+ Code, que es mencionar a los archivos. Con el arroba se nos va a dar aqu铆 un peque帽o explorador de archivos en el que podemos
23
+
24
+ 00:01:12.040 --> 00:01:21.700
25
+ mencionar no 煤nicamente folders, sino tambi茅n archivos. Entonces, aqu铆 me interesa, es decirle que tiene o que debe tener el contexto de que existe backend,
26
+
27
+ 00:01:21.700 --> 00:01:44.360
28
+ frontend y m贸vil. 芦Utiliza a estas carpetas para crear un big picture completo de la arquitectura del sistema禄. Excelente. Con esto ya tenemos un prompt
29
+
30
+ 00:01:44.360 --> 00:01:55.460
31
+ b谩sico que nos va a permitir, eh, tener como resultado un an谩lisis de la arquitectura. Le estamos dando contexto sobre qu茅 partes necesitamos que tenga
32
+
33
+ 00:01:55.460 --> 00:02:04.320
34
+ para hacer el an谩lisis de arquitectura, haci茅ndole esta, estos mentions a los folders. Con esto le hacemos enter y ah铆, eh, Cloud Code va a
35
+
36
+ 00:02:04.320 --> 00:02:13.209
37
+ empezar a hacer su trabajo. Aqu铆 lo primero que nos dice es que va a analizar la estructura del proyecto y va a entender la
38
+
39
+ 00:02:13.209 --> 00:02:24.700
40
+ arquitectura completa. Que lo primero que va a hacer es explorar el directorio principal y luego examinar cada componente. Esto puede tardar varios minutos porque
41
+
42
+ 00:02:24.700 --> 00:02:34.580
43
+ necesita tomar el contexto completo del proyecto, enviarlo al LLM y el LLM luego entiende c贸mo es la base de c贸digo. Muchas veces nos vamos
44
+
45
+ 00:02:34.580 --> 00:02:43.640
46
+ a encontrar con que Cloud Code necesita permisos expl铆citos para poder ejecutar una acci贸n. En este caso, va a ejecutar un comando dentro de la
47
+
48
+ 00:02:43.640 --> 00:02:56.959
49
+ terminal que va a ser: encontrar en la carpeta frontend src cualquier archivo que contenga este formato: punto TSX, punto TS, punto JS o punto
50
+
51
+ 00:02:56.960 --> 00:03:05.700
52
+ GSX. Y va a obtener las primeras quince l铆neas de esos archivos. Como es un comando de b煤squeda y es seguro utilizarlo, yo le voy
53
+
54
+ 00:03:05.700 --> 00:03:14.120
55
+ a decir que s铆. Aqu铆 vemos el resultado que dio Cloud Code del an谩lisis completo que hizo del proyecto. Vemos que primero lo que nos
56
+
57
+ 00:03:14.120 --> 00:03:24.700
58
+ est谩 diciendo es un resumen muy r谩pido de qu茅 es este proyecto. Y dice que es un sistema educativo online que siga arquitectura multiplataforma con
59
+
60
+ 00:03:24.700 --> 00:03:35.940
61
+ tres componentes principales: backend, frontend y m贸vil. Y m贸vil tiene las dos plataformas: Android y iOS. Tambi茅n detect贸 cu谩l es el stack de cada uno,
62
+
63
+ 00:03:35.940 --> 00:03:43.960
64
+ en este caso el backend de Python para hacer el API y el frontend con Next.js. Aqu铆 me est谩 haciendo un resumen muy b谩sico de
65
+
66
+ 00:03:43.960 --> 00:03:51.140
67
+ c贸mo es, eh, la, la estructura de carpetas que tiene el, el proyecto en el backend, cu谩l es el framework que est谩 utilizando, que en
68
+
69
+ 00:03:51.140 --> 00:03:59.680
70
+ este caso FastAPI, con la base de datos de Postgres, etc茅tera. Reconoci贸 muy bien cu谩les son las caracter铆sticas de este stack. Me hace una lista
71
+
72
+ 00:03:59.680 --> 00:04:07.600
73
+ tambi茅n de cu谩les son los modelos y cu谩les son los endpoints que est谩n disponibles. Para el frontend, algo muy similar. Me dice cu谩les son las
74
+
75
+ 00:04:07.600 --> 00:04:18.600
76
+ caracter铆sticas que, por ejemplo, tiene Server Side Rendering y Server Side Generation con Next.js. Tiene responsive design utilizando grid al estilo Netflix, tiene una integraci贸n
77
+
78
+ 00:04:18.600 --> 00:04:27.220
79
+ con la API a trav茅s de Fetch nativo y tiene una navegaci贸n din谩mica. Y un an谩lisis muy similar para m贸vil. Esto me parece muy importante
80
+
81
+ 00:04:27.220 --> 00:04:36.860
82
+ porque tambi茅n est谩 identificando c贸mo es que se utiliza o c贸mo es el ciclo de vida del request que sucede. Por ejemplo, la mobile app
83
+
84
+ 00:04:36.860 --> 00:04:44.340
85
+ hace una petici贸n al backend, el frontend tambi茅n hace una petici贸n al backend, el backend a la base de datos, etc茅tera. Es decir, est谩 siendo
86
+
87
+ 00:04:44.340 --> 00:04:50.860
88
+ un end-to-end de c贸mo es que ocurre una petici贸n en cualquiera de los clientes, c贸mo va el backend y luego c贸mo va la base de
89
+
90
+ 00:04:50.860 --> 00:04:59.180
91
+ datos. Eso est谩 muy impresionante, est谩 muy completo y a m铆 me interesa que esto quede dentro del proyecto. Que es lo que yo le
92
+
93
+ 00:04:59.180 --> 00:05:08.920
94
+ voy a pedir ahora, que este resumen y este an谩lisis de arquitectura que acaba de hacer lo guarde dentro del archivo cloud.md, que es el
95
+
96
+ 00:05:08.920 --> 00:05:17.320
97
+ sistema de memoria que tiene Cloud para, eh, poder trabajarlo dentro de un proyecto. Y eso es muy f谩cil, se le puede dar una indicaci贸n
98
+
99
+ 00:05:17.320 --> 00:05:35.580
100
+ a Cloud para que lo pueda guardar. Le decimos primero: 芦Gracias. Excelente an谩lisis de arquitectura. Ahora, con esta informaci贸n que tienes en el contexto, crea
101
+
102
+ 00:05:35.580 --> 00:05:54.860
103
+ el archivo cloud.md para que se pueda utilizar como memoria para el resto de el desarrollo de este proyecto禄. Muy bien, le damos enter y
104
+
105
+ 00:05:54.860 --> 00:06:04.512
106
+ aqu铆 茅l va a utilizar el contexto que ya tiene dentro de su propia memoria y guardarlo en el archivo cloud.md. Vemos que Cloud Code...Eh,
107
+
108
+ 00:06:04.512 --> 00:06:13.752
109
+ como est谩 integrado dentro del propio editor, me est谩 pidiendo que acepte la recomendaci贸n. Esto es un comportamiento que est谩 integrado dentro de los editores.
110
+
111
+ 00:06:13.752 --> 00:06:22.131
112
+ Si lo estuvi茅ramos utilizando 煤nicamente en la terminal, solo tendr铆amos esta caja de texto en el que tenemos que indicar si aceptamos lo que nos
113
+
114
+ 00:06:22.132 --> 00:06:31.111
115
+ dijo, si aceptamos y permitimos cualquier edici贸n durante esta sesi贸n de Cloud Code o si lo rechazamos por completo y le damos feedback. Vamos a
116
+
117
+ 00:06:31.111 --> 00:06:41.232
118
+ leerlo antes de aceptarlo para garantizar que lo que escribi贸 tenga sentido. Describe cu谩l es la arquitectura, muestra cu谩les son los componentes que tiene backend,
119
+
120
+ 00:06:41.232 --> 00:06:51.852
121
+ frontend y m贸vil. Eh, describe cu谩l es el stack. Muestra cu谩l es la estructura del proyecto, cu谩les son las relaciones... O sea, es pr谩cticamente lo
122
+
123
+ 00:06:51.852 --> 00:07:00.472
124
+ mismo que nos dio en la conversaci贸n, pero guardado en el archivo cloud.md. En este caso, yo le voy a dar a aceptar. Podr铆a hacerlo
125
+
126
+ 00:07:00.472 --> 00:07:09.152
127
+ desde ac谩 o podr铆a hacerlo desde ac谩. Yo aqu铆 le puedo decir que s铆, que lo acepto. Y entonces el archivo ya existe como archivo
128
+
129
+ 00:07:09.152 --> 00:07:19.251
130
+ dentro de el proyecto y se llama cloud.md. Muy bien. Ya. 脡l me avisa que termin贸 y que ha creado el archivo en la ra铆z
131
+
132
+ 00:07:19.251 --> 00:07:28.532
133
+ del proyecto y que incluye todo lo que analizamos antes de, de aceptarlo. Ahora, adem谩s de hacer el an谩lisis de arquitectura y hacer ese top
134
+
135
+ 00:07:28.532 --> 00:07:38.751
136
+ de la memoria, me interesa, por lo menos, tener corriendo el backend de este servicio en mi entorno local de desarrollo. Entonces, vamos a pedirle
137
+
138
+ 00:07:38.751 --> 00:07:55.611
139
+ que me ayude a instalar ese servicio aqu铆 en mi computadora. Ahora, ay煤dame a tener el sistema, mejor, el servicio de backend corriendo en mi
140
+
141
+ 00:07:55.611 --> 00:08:07.932
142
+ local. Ver谩s que ya tengo docker instalado y listo para correr. Le dije lo de docker especialmente, 驴por qu茅? Porque Cloud Code puede ejecutar comandos
143
+
144
+ 00:08:07.932 --> 00:08:14.912
145
+ de CLI, como vimos hace un rato, en el que le dimos permiso. 脡l lo que deber铆a hacer es ver primero si docker est谩, eh,
146
+
147
+ 00:08:14.912 --> 00:08:25.202
148
+ funcionando. 驴Por qu茅? Porque antes se dio cuenta de que este proyecto ten铆a un contenedor y est谩 anotado dentro del cloud.md. Efectivamente, lo que me
149
+
150
+ 00:08:25.202 --> 00:08:32.812
151
+ est谩 pidiendo hacer, eh, de primeras es ver cu谩l es la versi贸n de docker que tengo instalado. Yo aqu铆 se lo voy a permitir y
152
+
153
+ 00:08:32.812 --> 00:08:43.972
154
+ de nuevo nos muestra opciones. 驴Qu茅 puedo hacer? Permitir una vez que se ejecute, eh, docker. Permitir y consecutivamente permitir que se ejecuten comandos de
155
+
156
+ 00:08:43.972 --> 00:08:52.872
157
+ docker para este proyecto o decirle que no. Yo en este caso le voy a decir la opci贸n dos, que es que s铆 permita ejecutar
158
+
159
+ 00:08:52.872 --> 00:09:01.912
160
+ comandos de docker para este proyecto. Aqu铆 ve que tengo la versi贸n de docker, eh, dos punto treinta y ocho dentro del sistema y tambi茅n
161
+
162
+ 00:09:01.912 --> 00:09:10.531
163
+ en la versi贸n de docker compose. Eh, aqu铆 est谩 viendo c贸mo es que, eh, se, se, se utiliza el backend. Primero entr贸 a la carpeta
164
+
165
+ 00:09:10.531 --> 00:09:17.531
166
+ y luego le hizo, eh, para saber cu谩l es la direcci贸n, la ruta absoluta de esto. Ah铆 entr贸 y se dio cuenta que hay un
167
+
168
+ 00:09:17.531 --> 00:09:27.232
169
+ archivo make que tiene un comando start. Le vamos a decir que s铆. Okey. Esto es interesante. 驴Por qu茅? Porque el make start est谩 dando
170
+
171
+ 00:09:27.232 --> 00:09:37.372
172
+ un error al levantar el sistema. Esto sirve como contexto. Cada vez que se ejecuta un comando en Cloud Code, se agrega a la conversaci贸n
173
+
174
+ 00:09:37.372 --> 00:09:45.332
175
+ y Cloud tiene de inmediato el feedback de qu茅 est谩 fallando. Entonces, aqu铆 dice que indica que el daemon de docker no est谩 corriendo. Hay
176
+
177
+ 00:09:45.332 --> 00:09:54.812
178
+ que iniciarlo primero. Entonces, vamos a darle que s铆, que haga esto. Eso va a prender docker dentro del sistema, en mi computadora, particularmente. Y
179
+
180
+ 00:09:54.812 --> 00:10:02.052
181
+ aqu铆 es interesante, 茅l hace un slip, es decir, va a esperar diez segundos y luego ejecuta un comando b谩sico de docker que es docker
182
+
183
+ 00:10:02.052 --> 00:10:09.312
184
+ ps, que lo que permite es ver cu谩les son los, los contenedores que est谩n corriendo. Y aqu铆 dice que listo, que docker ya est谩 corriendo.
185
+
186
+ 00:10:09.312 --> 00:10:17.952
187
+ Entonces, efectivamente estamos viendo que 茅l ve que hay un error, toma el feedback y empieza a tomar acciones para corregir ese error. En este
188
+
189
+ 00:10:17.952 --> 00:10:29.191
190
+ caso, fue levantar docker. Aqu铆 ya est谩 haciendo para poder instalar o poner a funcionar los contenedores de este sistema. Me dice que ya est谩n,
191
+
192
+ 00:10:29.192 --> 00:10:39.332
193
+ eh, corriendo. Aqu铆 se est谩 certificando de que est谩 corriendo. Quiere ver los logs. Aqu铆 tiene acceso ya a los logs de este contenedor. En
194
+
195
+ 00:10:39.332 --> 00:10:47.872
196
+ este caso, vemos que ejecut贸 el make logs y Cloud Code se queda esperando a que este comando termine. Pero si vamos a la definici贸n
197
+
198
+ 00:10:47.872 --> 00:10:56.432
199
+ de qu茅 hace el make logs, vemos que siempre se queda esperando por los logs de este contenedor. Es decir, nunca va a terminar de
200
+
201
+ 00:10:56.432 --> 00:11:06.932
202
+ ejecutar. Pero Cloud Code tiene la funcionalidad de poder poner en background esta ejecuci贸n. Aqu铆 dice que con el control B lo podemos mandar al
203
+
204
+ 00:11:06.932 --> 00:11:15.311
205
+ background. Entonces, vamos a mandarlo al background. Y aqu铆 va a continuar con su ejecuci贸n y nos muestra que abajo tenemos algo corriendo que es
206
+
207
+ 00:11:15.311 --> 00:11:22.912
208
+ el main logs. Aqu铆 se dio cuenta de que hay un problema y que debe matar al proceso que estaba ejecutando el main logs para
209
+
210
+ 00:11:22.912 --> 00:11:33.132
211
+ luego ponerlo a funcionar. Aqu铆 vemos que dice que est谩 corriendo la base de datos, que est谩 corriendo la API y que necesita ejecutar migraciones.
212
+
213
+ 00:11:33.132 --> 00:11:42.112
214
+ Vamos a decirle que s铆. Listo, las migraciones se ejecutaron correctamente y va a poblar la base de datos con los datos de prueba. Todo
215
+
216
+ 00:11:42.112 --> 00:11:50.492
217
+ esto es, eh, f谩cil de usar porque el proyecto ya tiene un buen archivo make en el que est谩n expl铆citas los comandos que se pueden
218
+
219
+ 00:11:50.492 --> 00:11:58.932
220
+ utilizar. Entonces, en este caso el seed no funcion贸 porque me dice que ya existe, eh, este email en la base de datos. Esto solo
221
+
222
+ 00:11:58.932 --> 00:12:07.412
223
+ pasa porque yo ya ten铆a el proyecto instalado dentro de mi sistema antes de empezar la clase. Pero eso seguramente no va a pasar cuando,
224
+
225
+ 00:12:07.412 --> 00:12:13.712
226
+ eh, lo intentes hacer por ti mismo. Igual hay un comando que se llama seed fresh, que lo que hace es refrescar esos seeds en
227
+
228
+ 00:12:13.712 --> 00:12:22.602
229
+ la base de datos. Borra todos los datos y los vuelve a crear. Y aqu铆 est谩 haciendo comandos curl, es decir, est谩 haciendo peticiones ya
230
+
231
+ 00:12:22.602 --> 00:12:31.152
232
+ al servicio de API para garantizar que est茅 corriendo. Vamos a darle que s铆. Y efectivamente, todos los endpoints a los que le hizo el,
233
+
234
+ 00:12:31.152 --> 00:12:40.752
235
+ el request est谩n respondiendo con los datos que est谩 esperando. Es decir, Cloud Code se dio cuenta de c贸mo es que debe, eh, utilizar los
236
+
237
+ 00:12:40.752 --> 00:12:50.232
238
+ comandos make para poner a funcionar este proyecto en el entorno local. Yo 煤nicamente revis茅 y certifiqu茅 que los comandos que intentaba ejecutar no eran
239
+
240
+ 00:12:50.232 --> 00:12:59.692
241
+ comandos peligrosos. Por ejemplo, podr铆a, de pura alucinaci贸n, hacer un comando que sea eliminar todos los archivos en el computador. Yo eso no lo voy
242
+
243
+ 00:12:59.692 --> 00:13:06.070
244
+ a aceptar. Pero todo lo que me dio y todos los comandos que me, que me entreg贸 ac谩 y que acept茅 eran comandos que ten铆an
245
+
246
+ 00:13:06.072 --> 00:13:15.372
247
+ sentido. Y de esta forma ya tenemos el backend corriendo exitosamente en el sistema. Cloud Code es una herramienta muy poderosa, con muy pocos prompts
248
+
249
+ 00:13:15.372 --> 00:13:25.531
250
+ y muy sencillos en espa帽ol, ya tenemos dentro del sistema la documentaci贸n necesaria para que Cloud tenga memoria de la arquitectura del servicio. Ya sabemos
251
+
252
+ 00:13:25.531 --> 00:13:34.531
253
+ nosotros cu谩l es la arquitectura del proyecto que nos acaban de asignar y ya tenemos el backend corriendo en el sistema. En la pr贸xima clase,
254
+
255
+ 00:13:34.531 --> 00:13:40.252
256
+ vamos a empezar a utilizar a Cloud Code en el desarrollo de un feature nuevo dentro de esta misma base de c贸digo.
257
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-Lecturas recomendadas.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/platzi/claude-code
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/05-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/06-An谩lisis de impacto del feature de ratings con Claude Code.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f690e07389782085f491ae140f1da9e9f6625f9945fed69fb8bc4255d8a3f4a
3
+ size 83882065
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/06-An谩lisis de impacto del feature de ratings con Claude Code.vtt ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.260 --> 00:00:07.720
4
+ Ahora haremos el an谩lisis t茅cnico del feature de ratings, que fue esta tarea que se nos asign贸 cuando empezamos a trabajar en este proyecto. Nos
5
+
6
+ 00:00:07.720 --> 00:00:15.360
7
+ apoyaremos en Cloud Code y los tres niveles de pensamiento extendido para poder tomar el contexto necesario de qu茅 cambios hay que hacer dentro del
8
+
9
+ 00:00:15.360 --> 00:00:25.900
10
+ proyecto para la implementaci贸n de este feature. Vamos al editor. Abrimos Cloud Code y lo que ya tenemos disponible es la memoria que creamos en
11
+
12
+ 00:00:25.900 --> 00:00:34.020
13
+ la clase anterior, que muestra c贸mo es la arquitectura del sistema y cu谩les son sus componentes. Entonces, ya podemos pedirle que haga cosas m谩s avanzadas
14
+
15
+ 00:00:34.020 --> 00:00:42.240
16
+ porque ya tenemos un contexto suficiente. El primer feature con el que nos vamos a apoyar para pensar en c贸mo hacer la implementaci贸n de los
17
+
18
+ 00:00:42.240 --> 00:00:53.540
19
+ ratings es el Think, que significa 芦pensar禄. Recordemos que Cloud Code utiliza un modelo que tiene pensamiento extendido o razonamiento, y para activarlo tenemos tres
20
+
21
+ 00:00:53.540 --> 00:01:05.280
22
+ palabras claves: think, que piensa de una forma no tan profunda, sino m谩s bien superficial, pero 煤til en ciertos casos. Think deeply, que es pensar
23
+
24
+ 00:01:05.280 --> 00:01:15.500
25
+ m谩s profundamente sobre el problema. Y por 煤ltimo, ultrathink. Vemos que para cada uno de ellos el color de la palabra cambia, especialmente en ultrathink,
26
+
27
+ 00:01:15.500 --> 00:01:28.240
28
+ donde pone este arco iris. Para este caso, vamos a habilitar el think deeply, porque no necesitamos que piense tan profundamente o ultrathinking, ni tampoco
29
+
30
+ 00:01:28.240 --> 00:01:44.700
31
+ tan b谩sicamente como think. Y aqu铆 le dimo-- le damos la instrucci贸n inicial, que es: 芦Necesito implementar un sistema de ratings en este proyecto禄. Y
32
+
33
+ 00:01:44.700 --> 00:01:59.740
34
+ le damos un poco m谩s de contexto. 芦El rating de un curso puede ir desde una estrella hasta cinco estrellas禄. Y aqu铆 le vamos a
35
+
36
+ 00:01:59.740 --> 00:02:15.160
37
+ indicar qu茅 es lo que necesitamos que haga. 芦Tu tarea es analizar el impacto que va a tener la implementaci贸n de este feature en el
38
+
39
+ 00:02:15.160 --> 00:02:36.200
40
+ proyecto. Analiza qu茅 acciones deben hacerse en cada uno de los componentes de el proyecto禄. Aqu铆 entre par茅ntesis vamos a poner backend, frontend y vamos
41
+
42
+ 00:02:36.200 --> 00:02:48.700
43
+ a excluir a m贸vil solo para efectos de prueba, y te lo dejo como tarea. 芦Para implementar el rating禄. 驴En este caso, qu茅 espero? Espero
44
+
45
+ 00:02:48.700 --> 00:02:57.920
46
+ que piense profundamente qu茅 es lo que debe hacer tanto en backend como en frontend para implementar el sistema de rating de, eh, uno a
47
+
48
+ 00:02:57.920 --> 00:03:09.080
49
+ cinco estrellas. Entonces, le damos enter y lo que vamos a ver es un comportamiento distinto al que ten铆amos anteriormente, que es ver el razonamiento
50
+
51
+ 00:03:09.080 --> 00:03:15.740
52
+ que est谩 teniendo el modelo sobre la tarea que le estamos pidiendo. Esto que estamos viendo que est谩 en letra cursiva es lo que 茅l
53
+
54
+ 00:03:15.740 --> 00:03:24.680
55
+ est谩 pensando. Y aqu铆 dice que 芦el usuario me est谩, me pide analizar el impacto de implementar un sistema ratings en el proyecto Platiflix禄. Y
56
+
57
+ 00:03:24.680 --> 00:03:31.560
58
+ este es el razonamiento interno del modelo, no es la salida final, sino lo que est谩 pensando. Y aqu铆 dice que va a analizar el
59
+
60
+ 00:03:31.560 --> 00:03:39.980
61
+ impacto de implementar un sistema ratings. Esto s铆 es su salida. Luego sigue pensando y vemos que sigue, eh, haciendo como-- haci茅ndose preguntas de qu茅
62
+
63
+ 00:03:39.980 --> 00:03:46.660
64
+ es lo que tiene que hacer para poder cumplir con la tarea que yo le estoy pidiendo. En este caso, ya nos dio el resumen
65
+
66
+ 00:03:46.660 --> 00:03:54.220
67
+ final de cu谩l es el an谩lisis de impacto para implementar el sistema ratings. Aqu铆 me da una tabla en el que considera cada uno de
68
+
69
+ 00:03:54.220 --> 00:04:03.020
70
+ los componentes, cu谩les son los archivos que debe, eh, utilizar o afectar, en este caso utiliza ese verbo, cu谩l es la complejidad y cu谩l es
71
+
72
+ 00:04:03.020 --> 00:04:12.200
73
+ el tiempo estimado para cada una de las tareas. Dice cu谩les son las consideraciones cr铆ticas que, que, que analiz贸 o que se dio cuenta, cu谩l
74
+
75
+ 00:04:12.200 --> 00:04:22.019
76
+ es la implementaci贸n recomendada y cu谩l es el impacto estimado. Pero en este caso, y aunque nosotros lo dijimos expl铆citamente en el prompt, lo integr贸,
77
+
78
+ 00:04:22.019 --> 00:04:30.280
79
+ eh, tanto las plataformas m贸viles de iOS y Android en el an谩lisis de impacto. Tenemos que decirle que lo excluyan el, en el informe final,
80
+
81
+ 00:04:30.280 --> 00:04:38.900
82
+ porque esto no es algo que, que es mi misi贸n en este momento, sino simplemente hacer la implementaci贸n tanto en backend como en frontend. Eso
83
+
84
+ 00:04:38.900 --> 00:04:52.720
85
+ es un simple prompt en el que se le necesita decir, eh, no es requerido el an谩lisis de impacto para las plataformas m贸viles, solo con
86
+
87
+ 00:04:52.720 --> 00:05:01.159
88
+ frontend y backend basta. En este caso no le voy a activar los modos de pensamiento porque no es necesario, no es algo en lo
89
+
90
+ 00:05:01.160 --> 00:05:08.100
91
+ que yo necesite que 茅l piense de m谩s ni, ni analice extra, sino que es una instrucci贸n b谩sica que me sirve con lo que ya
92
+
93
+ 00:05:08.100 --> 00:05:17.000
94
+ le estoy indicando. Ya hizo la modificaci贸n necesaria para, en este caso, no tomar en cuenta las plataformas m贸viles, sino simplemente backend y frontend. Muy
95
+
96
+ 00:05:17.000 --> 00:05:25.840
97
+ bien, esto nos sirve como contexto. Este es el inicio del contexto que nosotros necesitamos para poder crear un plan de implementaci贸n, analizar qu茅 es
98
+
99
+ 00:05:25.840 --> 00:05:33.380
100
+ lo que se debe modificar, en qu茅 parte se debe hacer las modificaciones y c贸mo es un an谩lisis inicial de qu茅 es lo que debemos
101
+
102
+ 00:05:33.380 --> 00:05:45.300
103
+ hacer. Pero esto no es suficiente. De esta forma ya tenemos el impacto total de integrar el rating al sistema de Platiflix. Ya vemos que
104
+
105
+ 00:05:45.300 --> 00:05:52.979
106
+ excluy贸 a las plataformas m贸viles tal cual le dijimos en el prompt anterior. Tenemos un an谩lisis inicial y b谩sico de qu茅 es lo que se
107
+
108
+ 00:05:52.980 --> 00:06:00.240
109
+ debe hacer tanto en la base de datos, en el modelo del backend, en los endpoints y tambi茅n qu茅 es lo que se debe hacer
110
+
111
+ 00:06:00.240 --> 00:06:10.380
112
+ en el frontend para poder integrarlo. Aprendimos los tres modos de pensamiento de Cloud Code: Think, Think Deeply y Ultrathink. Los utilizamos para poder tomar
113
+
114
+ 00:06:10.380 --> 00:06:20.080
115
+ contexto y hacer un an谩lisis inicial de qu茅 podemos hacer para integrar el sistema de ratings al servicio de Platiflix. En la pr贸xima clase, utilizaremos
116
+
117
+ 00:06:20.080 --> 00:06:26.500
118
+ este contexto ya construido para crear un plan de implementaci贸n s贸lido que utilizaremos el resto del curso.
119
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/06-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/07-Creaci贸n de subagentes especializados en Claude Code para planificaci贸n.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:860345ce510f39d2241c401d4bb74d15e47243119d473a928c1932cf38446913
3
+ size 160129821
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/07-Creaci贸n de subagentes especializados en Claude Code para planificaci贸n.vtt ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.120 --> 00:00:08.820
4
+ Cloud Code es un agente de codificaci贸n. Esto significa que tiene herramientas y se apoya en modelos grandes de lenguaje para cumplir su tarea. Pero
5
+
6
+ 00:00:08.820 --> 00:00:18.320
7
+ uno de sus features principales es poder crear subagentes especializados en realizar una tarea puntual. En esta clase, vamos a crear un subagente que nos
8
+
9
+ 00:00:18.320 --> 00:00:26.900
10
+ va a permitir crear un plan de implementaci贸n del feature de ratings utilizando el contexto que creamos de la clase anterior. Vamos al editor. En
11
+
12
+ 00:00:26.900 --> 00:00:35.820
13
+ el editor, abrimos a Cloud Code y lo primero que vamos a hacer es aprender a c贸mo retomar el contexto de la conversaci贸n anterior. C贸mo
14
+
15
+ 00:00:35.820 --> 00:00:42.840
16
+ cerr茅 y volv铆 a abrir Cloud, es como si estuviera en una nueva conversaci贸n. Pero hay un comando que se llama resume. Y en resume
17
+
18
+ 00:00:42.840 --> 00:00:51.840
19
+ se me hace una lista de cu谩les fueron las conversaciones que yo he tenido, hace cu谩nto tiempo y sobre qu茅 rama. En este caso, voy
20
+
21
+ 00:00:51.840 --> 00:01:00.180
22
+ a utilizar la segunda, que fue hace, eh, diez minutos, en la que tenemos el contexto que extrajimos y que creamos en la clase anterior,
23
+
24
+ 00:01:00.180 --> 00:01:10.720
25
+ que fue utilizando el ultrathink, el di-- el think deeply y el think para tomar el contexto de las modificaciones del feature de rating. Ahora,
26
+
27
+ 00:01:10.720 --> 00:01:19.400
28
+ para crear el subagente, Cloud Code tambi茅n tiene un comando que se llama agents. Y este tiene una particularidad de-- que es crear un nuevo
29
+
30
+ 00:01:19.400 --> 00:01:29.140
31
+ agente. Voy a seleccionarlo. Voy a elegir en qu茅 contexto quiero que se ejecute. Puede ser para personal, es decir, que est茅 dentro de todos
32
+
33
+ 00:01:29.140 --> 00:01:38.280
34
+ los proyectos en mi computadora o 煤nicamente para este proyecto. Yo lo quiero hacer para el proyecto. Hay dos opciones de generaci贸n: eh, utilizando el
35
+
36
+ 00:01:38.280 --> 00:01:47.880
37
+ mismo code para crearlo o una configuraci贸n manual. Yo voy a elegir la segunda. Hay que darle un nombre 煤nico. En este caso, voy a
38
+
39
+ 00:01:47.880 --> 00:01:57.240
40
+ decirle que se va a llamar Architect. 驴Por qu茅? Porque va a actuar como un arquitecto de software especialista en definir cu谩les son las fases
41
+
42
+ 00:01:57.240 --> 00:02:06.540
43
+ que se deben cumplir para implementar el feature de rating. As铆 que lo llamar茅 Architect. Luego, me pide un system prompt. En este caso, yo
44
+
45
+ 00:02:06.540 --> 00:02:14.940
46
+ voy a dejar aqu铆 simplemente un mensaje inicial b谩sico de system prompt, porque yo ya tengo un prompt preparado que voy a explicar m谩s adelante.
47
+
48
+ 00:02:14.940 --> 00:02:26.860
49
+ Pero, por ahora, basta con decir un system prompt o cualquier prompt, no importa. Luego, me pregunta en qu茅 casos Claude deber铆a, eh, usar este
50
+
51
+ 00:02:26.860 --> 00:02:35.880
52
+ agente. Tambi茅n lo voy a dejar vac铆o, puede ser en cualquier caso. Ya luego lo modificaremos. Aqu铆 me va a mostrar cu谩les son las herramientas
53
+
54
+ 00:02:35.880 --> 00:02:44.320
55
+ que yo quiero permitirle a este agente que puedo utilizar. Y tengo un, una amplia gama de herramientas que yo quiero utilizar o no. En
56
+
57
+ 00:02:44.320 --> 00:02:51.700
58
+ este caso, a m铆 me, me interesa que pueda leer. Eh, o bueno, que sea read only. Eh, no quiero que sea read only, aunque
59
+
60
+ 00:02:51.700 --> 00:03:00.400
61
+ lo podr铆a seleccionar. 驴S铆? Por defecto est谩n todas las herramientas. Quiero que ejecute otras tools. S铆, quiero que edite, s铆. Y vamos a ver cu谩les
62
+
63
+ 00:03:00.400 --> 00:03:09.540
64
+ son las opciones avanzadas. En este caso, se trata m谩s de cu谩les son las herramientas individuales que podr铆a utilizar. Eh, por ejemplo, ejecutar comandos en
65
+
66
+ 00:03:09.540 --> 00:03:19.480
67
+ Bash, poder hacer un grep, poder leer, poder editar, poder editar m煤ltiples veces, etc茅tera. Entonces, me interesa que todo esto est茅 disponible para el agente,
68
+
69
+ 00:03:19.480 --> 00:03:27.840
70
+ aunque si necesito un caso particular, podr铆a restringir, eh, cu谩les son las herramientas a las que accede. Luego me pide cu谩l es el modelo. Hay
71
+
72
+ 00:03:27.840 --> 00:03:36.799
73
+ modelos especialistas en ciertas cosas. Por ejemplo, Sonnet es muy bueno para la mayor铆a de las tareas. Opus es muy bueno haciendo, eh, tareas de
74
+
75
+ 00:03:36.800 --> 00:03:45.650
76
+ razonamiento complejo. Haiku es muy eficiente para tareas simples o simplemente podemos elegir el mismo modelo que estamos teniendo en la conversaci贸n. Yo voy a
77
+
78
+ 00:03:45.650 --> 00:03:54.080
79
+ elegir el n煤mero cuatro. Y luego un color. Esto s铆 es m谩s como para identificar visualmente cu谩l es el agente que est谩 corriendo. Yo lo
80
+
81
+ 00:03:54.080 --> 00:04:04.020
82
+ voy a dar amarillo. Muy bien. 驴Qu茅 significa esto? Eh, que ya tengo el agente pr谩cticamente creado, pero me est谩 dando un warning de que
83
+
84
+ 00:04:04.020 --> 00:04:10.140
85
+ el system prompt est谩 muy corto. Y est谩 bien porque yo lo quiero as铆, porque yo luego lo voy a modificar. Le voy a decir
86
+
87
+ 00:04:10.140 --> 00:04:22.300
88
+ que enter. Bien. Vemos que aqu铆 ya me aparece el, el subagente de architect. Pero todo esto est谩 siendo guardado en la carpeta Cloud, en
89
+
90
+ 00:04:22.300 --> 00:04:33.320
91
+ la carpeta Agents. Y aqu铆 est谩 la definici贸n del agente architect que yo tengo en el proyecto. Vamos a poner esto un poco m谩s grande.
92
+
93
+ 00:04:33.320 --> 00:04:40.760
94
+ Y aqu铆 est谩. Este es el archivo markdown con la definici贸n del subagente de architect. Vemos que est谩 el system prompt, en este caso uno
95
+
96
+ 00:04:40.760 --> 00:04:50.460
97
+ b谩sico que pusimos gen茅rico para ejemplificar c贸mo crearlo. Y est谩 el yaml front matter, que es la, eh, configuraci贸n que se le da al subagente
98
+
99
+ 00:04:50.460 --> 00:04:59.160
100
+ de c贸mo se va a comportar. En este caso, el nombre, la descripci贸n, el modelo y el color. Esta descripci贸n nosotros la pusimos como ejemplo,
101
+
102
+ 00:04:59.160 --> 00:05:06.539
103
+ pero en verdad es muy mala para describir qu茅 es lo que debe hacer este subagente. Yo tengo una descripci贸n preparada en la que se
104
+
105
+ 00:05:06.540 --> 00:05:18.460
106
+ indica qu茅 es el caso en el que este subagente tiene sentido utilizarse. Y aqu铆 estoy especificando que es un especialista en arquitectura de software,
107
+
108
+ 00:05:18.460 --> 00:05:30.080
109
+ dise帽o de sistemas y an谩lisis t茅cnico profundo. Ahora, el system prompt. Este system prompt tampoco muestra bien qu茅 es lo que debe hacer este subagente.
110
+
111
+ 00:05:30.080 --> 00:05:39.220
112
+ Yo tengo preparado por ac谩 un prompt mucho m谩s espec铆fico y claro sobre cu谩les son las tareas que debe cumplir este subagente. Vamos a leerlo.
113
+
114
+ 00:05:39.220 --> 00:05:46.500
115
+ Muestra primero que es un especialista en arquitectura de software, muy similar a lo que est谩 en la descripci贸n. Le dice que es un arquitecto
116
+
117
+ 00:05:46.500 --> 00:05:55.310
118
+ de software especializado en... Le dice cu谩les son los 铆tems en los que est谩 especializado, cu谩les son sus responsabilidades, cu谩l es el contexto del proyecto,
119
+
120
+ 00:05:55.310 --> 00:06:03.940
121
+ que esto es bastante importante que conozca sobre qu茅 est谩 trabajando, cu谩l es la metodolog铆a de an谩lisis, cu谩les son las instrucciones de trabajo y, por
122
+
123
+ 00:06:03.940 --> 00:06:11.220
124
+ 煤ltimo, cu谩l es el formato de salida que va a dar este agente a su tarea. Y, en este caso, es un formato markdown, en
125
+
126
+ 00:06:11.220 --> 00:06:19.864
127
+ el que decimos cu谩l es el an谩lisis t茅cnico de cierto feature.驴Bien? Cu谩l es el problema que se identifica, el impacto, la propuesta de soluci贸n y
128
+
129
+ 00:06:19.864 --> 00:06:27.662
130
+ el plan de implementaci贸n. Muy bien, esto es todo lo que se necesita para un subagente. Lo guardamos y volvemos a la conversaci贸n que ten铆amos
131
+
132
+ 00:06:27.664 --> 00:06:36.282
133
+ con Claude. Para esto, tenemos que reiniciar por completo a Claude, porque si no, no va a tomar el cambio que tenemos en el prompt
134
+
135
+ 00:06:36.284 --> 00:06:46.443
136
+ del agente. Entonces, vamos a abrir Claude, le damos resume. Escogemos cu谩l es el, eh... la conversaci贸n que ten铆amos, que en este caso es la
137
+
138
+ 00:06:46.443 --> 00:06:54.904
139
+ que hab铆amos hecho con los features de thinking y ahora vamos a invocar a este subagente. 驴C贸mo se hace? Se puede hacer con el arroba.
140
+
141
+ 00:06:54.904 --> 00:07:03.364
142
+ Y le decimos architect. Aqu铆 se pone en amarillo porque fue el color que nosotros le dimos. Si presionamos tabulador, se va a poner en
143
+
144
+ 00:07:03.364 --> 00:07:12.823
145
+ el contexto de la conversaci贸n que estamos invocando a este agente arquitecto y podemos darle una especificaci贸n en el que le podemos decir: 芦Utiliza el
146
+
147
+ 00:07:12.823 --> 00:07:31.284
148
+ contexto que tenemos en la conversaci贸n para, eh, el an谩lisis del impacto que debes hacer. Ap贸yate en lo que ya est谩 descubierto y crea el
149
+
150
+ 00:07:31.284 --> 00:07:44.164
151
+ plan de implementaci贸n禄. Excelente. Vemos que aqu铆 se pone en amarillo y el nombre del ar-- del subagente est谩 resaltado. Esto lo que significa es
152
+
153
+ 00:07:44.164 --> 00:07:54.864
154
+ que est谩 trabajando dentro del contexto del subagente de architect. Est谩 haciendo todo el an谩lisis inicial del proyecto, est谩 utilizando el contexto que ya ten铆amos
155
+
156
+ 00:07:54.864 --> 00:08:03.984
157
+ en la conversaci贸n y, como resultado final, va a ver el plan de implementaci贸n. Vemos que ya termin贸 la ejecuci贸n del subagente de arquitecto con
158
+
159
+ 00:08:03.984 --> 00:08:13.183
160
+ estos resultados. Dice que ha creado un plan de implementaci贸n t茅cnicamente s贸lido y detallado que aprovecha completamente el contexto del proyecto Platzi Flix. Y aqu铆
161
+
162
+ 00:08:13.183 --> 00:08:27.544
163
+ tiene los aspectos destacados del plan: arquitectura s贸lida, performance, testing y escalabilidad. Algo que es importante es que el resultado de estos subagentes est茅n documentados
164
+
165
+ 00:08:27.544 --> 00:08:35.843
166
+ dentro del mismo proyecto. Y yo le voy a indicar a Claude Code que el an谩lisis que hizo me lo d茅 con el formato requerido
167
+
168
+ 00:08:35.843 --> 00:08:49.684
169
+ que tiene el architect dentro de un archivo puntual en el proyecto. Esto se logra muy f谩cilmente dici茅ndole: ahora guarda, utilizando el formato que tiene
170
+
171
+ 00:08:49.684 --> 00:09:11.104
172
+ el subagente de architect, el plan de implementaci贸n dentro de el proyecto. Gu谩rdalo en una carpeta en el root que se llame spec y dale
173
+
174
+ 00:09:11.104 --> 00:09:35.304
175
+ un nombre adecuado con esta nomenclatura. Eh... Cero, cero, nombre del spec.markdown. Cero, cero, es un n煤mero que incrementar谩 a lo largo que se creen
176
+
177
+ 00:09:35.304 --> 00:09:43.064
178
+ m谩s specs. Bien, aqu铆 yo le estoy diciendo que todo lo que investig贸 y el plan que cre贸, lo guarde dentro de un archivo en
179
+
180
+ 00:09:43.064 --> 00:09:51.124
181
+ una carpeta espec铆fica. Y aqu铆 le voy a decir que s铆, que cree la carpeta spec. Muy bien, aqu铆 vemos que este es el resultado
182
+
183
+ 00:09:51.124 --> 00:10:00.064
184
+ de la investigaci贸n que tuvo el subagente sobre c贸mo implementar el sistema de ratings para Platzi Flix. Vemos cu谩les fueron los patrones que identific贸, cu谩l
185
+
186
+ 00:10:00.064 --> 00:10:08.223
187
+ es la arquitectura de datos actual, es decir, estaba documentando a la vez que estamos creando, eso es superimportante. Y est谩 el plan de implementaci贸n
188
+
189
+ 00:10:08.223 --> 00:10:15.464
190
+ por fases y aqu铆 me dice que hay fase uno, que es, eh, la modificaci贸n de la capa de base de datos. Dice que es
191
+
192
+ 00:10:15.464 --> 00:10:25.364
193
+ cr铆tica porque es la base de todo el sistema. Me parece importante. C贸mo hacerlo y qu茅 hacer. Excelente. Luego, las consideraciones t茅cnicas, el performance, que
194
+
195
+ 00:10:25.364 --> 00:10:35.243
196
+ es crear 铆ndices para que las queries no sean tan lentas. Esto me parece excelente, eh, porque ya est谩 identificando paso a paso c贸mo vamos
197
+
198
+ 00:10:35.243 --> 00:10:48.294
199
+ a hacer la implementaci贸n de este feature. No 煤nicamente crearlo y ya, sino hacer por fases e inteligentes, secuenciales e incrementales la implementaci贸n. Le voy
200
+
201
+ 00:10:48.294 --> 00:10:59.064
202
+ a dar a aceptar y eso significa que dentro de spec, en la carpeta spec, ya existe un archivo markdown con la especificaci贸n de qu茅
203
+
204
+ 00:10:59.064 --> 00:11:08.064
205
+ es lo que debemos hacer para poder hacer la implementaci贸n de este feature. Este subagente de architect no solamente, eh, puede ser utilizado para crear
206
+
207
+ 00:11:08.064 --> 00:11:16.644
208
+ features, sino tambi茅n, por ejemplo, para hacer el an谩lisis de un feature ya existente y, por ejemplo, indicarle: hay un bug que se debe mejorar
209
+
210
+ 00:11:16.644 --> 00:11:28.503
211
+ y tambi茅n hace toda esta planificaci贸n para mejorar el bug. Los subagentes son herramientas superpoderosas. Se pueden crear much铆simos que tengan una personalidad distinta dependiendo
212
+
213
+ 00:11:28.503 --> 00:11:36.164
214
+ del caso de uso. El architect era el que necesit谩bamos para este caso. En las pr贸ximas clases vamos a utilizar este plan de implementaci贸n que
215
+
216
+ 00:11:36.164 --> 00:11:41.743
217
+ cre贸 el subagente de architect para hacer la implementaci贸n en el c贸digo del feature de ratings.
218
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/07-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Actualizaci贸n de Claude Code a versi贸n 20 y mejoras de Sonnet 45.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8f8c76a2f31f06e68ce1c00998ca20c892fab3bdc3b7f55dfad25b6ddecd6a48
3
+ size 129969356
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Actualizaci贸n de Claude Code a versi贸n 20 y mejoras de Sonnet 45.vtt ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.120 --> 00:00:07.540
4
+ En las clases anteriores aprendimos los features de modos de pensamiento extendido y tambi茅n sobre c贸mo crear subagentes en Cloud Code. En el mundo de
5
+
6
+ 00:00:07.540 --> 00:00:15.380
7
+ AI, es frecuente que las empresas hagan lanzamientos con mejoras incrementales. En esta clase, vamos a aprender c贸mo actualizar Cloud Code a su versi贸n dos
8
+
9
+ 00:00:15.380 --> 00:00:23.460
10
+ y qu茅 features nuevos tiene Cloud Sonnet 4.5 que nos van a ayudar en la mejora del flujo de programaci贸n. Vamos al editor. La actualizaci贸n
11
+
12
+ 00:00:23.460 --> 00:00:32.460
13
+ de Cloud Code no 煤nicamente fue dentro del CLI, sino que tambi茅n se actualiz贸 el plugin para Visual Studio Code. Entonces, vamos por partes. Lo
14
+
15
+ 00:00:32.460 --> 00:00:42.480
16
+ primero que vamos a actualizar es el CLI. Para hacerlo, tenemos que escribir, eh, cloud seguido del comando update. Aqu铆, autom谩ticamente va a revisar cu谩l
17
+
18
+ 00:00:42.480 --> 00:00:50.360
19
+ es la 煤ltima versi贸n disponible, cu谩l es la versi贸n actual y va a actualizarla con la que est谩 m谩s reciente. En este caso, ya estaba,
20
+
21
+ 00:00:50.360 --> 00:00:57.120
22
+ ah, actualizado, por lo que no hubo un cambio. Si lo actualizas de la versi贸n uno a la versi贸n dos, s铆 va a haber una,
23
+
24
+ 00:00:57.120 --> 00:01:05.740
25
+ una serie de modificaciones m谩s importantes que este mensaje. Para el plugin, tenemos que irnos a la lista de plugins, buscar cloud y hacer clic
26
+
27
+ 00:01:05.740 --> 00:01:13.700
28
+ en este para hacer la actualizaci贸n. En este caso, ya tambi茅n est谩 actualizado y pomo-- podemos ver que est谩 en la versi贸n 2.0.14, que es
29
+
30
+ 00:01:13.700 --> 00:01:25.140
31
+ la misma que tenemos en el CLI. 驴Qu茅 es lo m谩s relevante visualmente? Que Cloud Code ya, cuando activamos el plugin, no es una interfaz
32
+
33
+ 00:01:25.140 --> 00:01:34.100
34
+ de CLI que est谩 corriendo en el editor, sino que ya es una versi贸n gr谩fica que ya est谩 renderizando muchos m谩s componentes respecto a la
35
+
36
+ 00:01:34.100 --> 00:01:44.520
37
+ versi贸n anterior. Esto es una mejora visual, pero tambi茅n por detr谩s tiene mejoras en el comportamiento de Cloud Code. Voy a hacer tambi茅n el demo,
38
+
39
+ 00:01:44.520 --> 00:01:52.860
40
+ ah, utilizando el CLI. 驴Por qu茅? Porque tambi茅n cambi贸 la, la forma en la que se trabaja con el CLI y siguen siendo 煤tiles ambas
41
+
42
+ 00:01:52.860 --> 00:02:01.480
43
+ partes, tanto usarlo dentro del editor como utilizarlo dentro de la terminal. 驴Qu茅 es lo m谩s relevante que hizo el equipo de Anthropic en el
44
+
45
+ 00:02:01.480 --> 00:02:10.780
46
+ lanzamiento de Cloud Code 2.0? Implement贸 el sistema de checkpoints, que es la forma en la que cuando Cloud Code est谩 escribiendo c贸digo que nosotros
47
+
48
+ 00:02:10.780 --> 00:02:20.500
49
+ no esperamos como programadores, podemos detener la ejecuci贸n y volver al punto de partida que empez贸 Cloud Code escribiendo ese c贸digo. Esto sin necesidad de
50
+
51
+ 00:02:20.500 --> 00:02:26.720
52
+ tener git, un commit o un app a, a los cambios que se han hecho, sino que Cloud Code ya lo tiene integrado dentro de
53
+
54
+ 00:02:26.720 --> 00:02:34.520
55
+ su sistema. Podemos hacer una demostraci贸n peque帽a de una modificaci贸n que le vamos a pedir a Cloud Code de ejemplo y retornar al punto de
56
+
57
+ 00:02:34.520 --> 00:02:53.180
58
+ partida. Entonces, podemos decir: en el archivo, eh, cero, cero, eh... sistema de ratings, agrega un... una parte en la que expliques c贸mo funciona un
59
+
60
+ 00:02:53.180 --> 00:03:08.710
61
+ LLM. Aqu铆 le vamos a dar el disclaimer de que debe ser un ejemplo corto para, eh, demostrar que es un LLM. Okey. Aqu铆 va
62
+
63
+ 00:03:08.710 --> 00:03:18.000
64
+ a empezar, al igual que la versi贸n uno de Cloud Code, a leer el archivo, est谩 pensando sobre c贸mo hacer la ejecuci贸n de esto y
65
+
66
+ 00:03:18.000 --> 00:03:27.880
67
+ luego va a agregar la secci贸n. Aqu铆 ya tambi茅n vemos diferencias con la forma en la que se estaba mostrando la versi贸n anterior con esta.
68
+
69
+ 00:03:27.880 --> 00:03:36.260
70
+ Por ejemplo, si queremos ver el pensamiento, tenemos que escribir control O. Y aqu铆 ya vemos qu茅 es el razonamiento que le est谩 teniendo con
71
+
72
+ 00:03:36.260 --> 00:03:43.820
73
+ respecto al-- la modificaci贸n que yo le estoy diciendo. Para cerrarlo tambi茅n, con conan-- con control O se puede cerrar. Y aqu铆 ya me hizo
74
+
75
+ 00:03:43.820 --> 00:03:52.660
76
+ un ap茅ndice. Entonces, en una demostraci贸n peque帽a yo le voy a decir que s铆. Muy bien. [inspira] Aqu铆 ya est谩 terminando de hacer la, la
77
+
78
+ 00:03:52.660 --> 00:04:02.520
79
+ ejecuci贸n de lo que le solicit茅. Eh, me est谩 diciendo que estaba pensando. Muy bien, ahora, 驴c贸mo yo veo y c贸mo retorno al punto anterior?
80
+
81
+ 00:04:02.520 --> 00:04:10.880
82
+ Presiono dos veces escape. Con escape yo voy a ver que aqu铆 hay la instrucci贸n que yo le di hace rato y la instrucci贸n que
83
+
84
+ 00:04:10.880 --> 00:04:19.820
85
+ est谩 actualmente sucediendo. Si yo quiero retornar a este punto, lo selecciono con la flecha y presiono enter. En este punto, 茅l me va a
86
+
87
+ 00:04:19.820 --> 00:04:28.700
88
+ dar la opci贸n, si quiere que restaure el c贸digo y la conversaci贸n, si solo quiere que restaure la conversaci贸n o si solo quiero que restaure
89
+
90
+ 00:04:28.700 --> 00:04:35.539
91
+ el c贸digo. Entonces, con esas tres opciones nosotros podemos elegir cu谩l es el comportamiento que queremos. Yo lo que quiero en este caso es demostrar
92
+
93
+ 00:04:35.540 --> 00:04:43.280
94
+ que se puede restaurar el c贸digo y la conversaci贸n. Entonces, la opci贸n uno. 驴Qu茅 va a pasar ac谩? Que ya los cambios que nosotros ten铆amos
95
+
96
+ 00:04:43.280 --> 00:04:53.060
97
+ dentro del archivo cero cero ya no est谩n. Ya no est谩 el apartado de LLMs como le hab铆amos pedido, porque se borraron cuando le solicitamos
98
+
99
+ 00:04:53.060 --> 00:05:03.320
100
+ que, eh, revertiera los cambios. Excelente. Este es el primer paso o este es el primer gran cambio que tiene Cloud Code 2.0. Lo siguiente
101
+
102
+ 00:05:03.320 --> 00:05:11.380
103
+ es que nosotros vimos en las clases anteriores los modos de pensamiento. En las clases anteriores aprendimos que para activar los modos de pensamiento deb铆amos
104
+
105
+ 00:05:11.380 --> 00:05:20.400
106
+ escribir las palabras think o think deeply. Ya esto no ocurre en Cloud Code 2.0, sino que el modo de pensamiento se activa presionando la
107
+
108
+ 00:05:20.400 --> 00:05:29.640
109
+ tecla tabulador. Aqu铆, cuando lo presionamos, se nos muestra que el modo de pensamiento est谩 pre-encendido o apagado, como lo vemos ac谩. Lo que s铆
110
+
111
+ 00:05:29.640 --> 00:05:39.880
112
+ sigue existiendo es el feature de que se piense en el modo ultra think. Aqu铆 ya vemos que se prende con estos colores y eso
113
+
114
+ 00:05:39.880 --> 00:05:47.440
115
+ significa que Cloud Code lo que va a hacer es pensar much铆simo m谩s all谩 en su modo de pensamiento extendido sobre c贸mo implementar lo que
116
+
117
+ 00:05:47.440 --> 00:05:56.140
118
+ se le est谩 solicitando. Pero se simplific贸 eh, presionando la tecla tabulador para activar los modos de pensamiento.Cloud Code ahora es capaz de poder ejecutar
119
+
120
+ 00:05:56.140 --> 00:06:04.660
121
+ tareas por treinta horas consecutivas. Esto no se debe 煤nicamente a una mejora en la forma en la que act煤an sus agentes internos, sino tambi茅n
122
+
123
+ 00:06:04.660 --> 00:06:12.940
124
+ por el modelo de Sonnet 4.5. Podemos ver que aqu铆 en este blog post est谩n los benchmarks que el equipo de Anthropic hace con respecto
125
+
126
+ 00:06:12.940 --> 00:06:24.220
127
+ al resto de modelos existentes. Por ejemplo, comparan con el mismo Opus 4.1, Sonnet 4 y con modelos como GPT5 Codex, GPT5 y Gemini 2.5
128
+
129
+ 00:06:24.220 --> 00:06:34.120
130
+ Pro. En esta prueba controlada con una muestra de quinientas, eh, ejecuciones, podemos ver que Sonnet 4.5 fue sustancialmente mejor que el resto de modelos.
131
+
132
+ 00:06:34.120 --> 00:06:42.200
133
+ En el blog post, tambi茅n el equipo de Anthropic explica por qu茅 este modelo ahora es capaz de poder ejecutar tareas con treinta horas de
134
+
135
+ 00:06:42.200 --> 00:06:52.360
136
+ duraci贸n sin perder contexto y manteniendo una mejora sustancial en la memoria que tiene este modelo. Entonces, es muy interesante lo que explica aqu铆 el
137
+
138
+ 00:06:52.360 --> 00:06:58.960
139
+ equipo de Anthropic. Se los dejo de lectura para que vean cu谩l es el nuevo capability que tiene este modelo. Otra de las mejoras que
140
+
141
+ 00:06:58.960 --> 00:07:08.600
142
+ tiene Cloud Code versi贸n dos, ahora es un comando que se llama usage. Vamos al editor. El comando usage me muestra informaci贸n importante sobre mi
143
+
144
+ 00:07:08.600 --> 00:07:17.230
145
+ sesi贸n actual de trabajo con Cloud Code, cu谩nto he utilizado de mi l铆mite y cu谩ndo se resetea seg煤n mi zona horaria. Este comando solo est谩
146
+
147
+ 00:07:17.230 --> 00:07:25.460
148
+ disponible para cuando se utiliza Cloud Code con la suscripci贸n de Anthropic, no cuando se est谩 utilizando los tokens de la consola, por ejemplo, cuando
149
+
150
+ 00:07:25.460 --> 00:07:33.820
151
+ una empresa da acceso a sus colaboradores para trabajar con los tokens de Cloud Code. Otra mejora que est谩 ahora incluida en el CLI es
152
+
153
+ 00:07:33.820 --> 00:07:43.620
154
+ poder hacer una b煤squeda recursiva sobre el historial de prompts. Y esto se activa presionando la tecla Control R. Aqu铆 nos va a salir una
155
+
156
+ 00:07:43.620 --> 00:07:50.600
157
+ especie de buscador en el que podemos dar un indicio de qu茅 fue lo que nosotros escribimos en ese prompt. Por ejemplo, hace un rato
158
+
159
+ 00:07:50.600 --> 00:07:58.140
160
+ nosotros le pedimos que hiciera un ejemplo de qu茅 es un LLM. Entonces, si yo escribo aqu铆 la palabra 芦un LLM禄, va a pasar que
161
+
162
+ 00:07:58.140 --> 00:08:05.080
163
+ le encuentra que yo le ped铆 ese prompt. Esto es 煤til para cuando quieres buscar un prompt que fue utilizado anteriormente y traerlo a esta
164
+
165
+ 00:08:05.080 --> 00:08:13.679
166
+ nueva conversaci贸n. De esta forma, yo podr铆a darle enter y de nuevo se hace la ejecuci贸n de este prompt con lo que le solicit茅. Igual,
167
+
168
+ 00:08:13.680 --> 00:08:21.500
169
+ se puede interrumpir la ejecuci贸n con la tecla escape. Todos los conceptos y fundamentos que aprendimos en las clases anteriores siguen siendo 煤tiles con esta
170
+
171
+ 00:08:21.500 --> 00:08:28.700
172
+ utilizaci贸n de Cloud Code y se potencian con el lanzamiento de Sonnet 4.5. En la secci贸n de enlaces, deje uno en el que puedes ver
173
+
174
+ 00:08:28.700 --> 00:08:36.740
175
+ el changelog de Cloud Code 2.0 para que puedas ver todos los features adicionales a los que ya present茅 que est谩n en este nuevo lanzamiento.
176
+
177
+ 00:08:36.740 --> 00:08:38.180
178
+ Vamos a la siguiente clase.
179
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Lecturas recomendadas.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ https://www.anthropic.com/news/claude-sonnet-4-5
2
+ https://www.anthropic.com/news/enabling-claude-code-to-work-more-autonomously
3
+ https://www.anthropic.com/engineering/building-agents-with-the-claude-agent-sdk
4
+ https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
5
+ https://www.anthropic.com/news/enabling-claude-code-to-work-more-autonomously
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/08-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/09-Creaci贸n de subagentes especializados en Claude Code.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:139faee5c3cee53d3850fe02ed36e229b21a85d8320692fd26ba242c7fe9fa1a
3
+ size 133010602
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/09-Creaci贸n de subagentes especializados en Claude Code.vtt ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.060 --> 00:00:08.580
4
+ El subagente arquitecto hizo un plan de implementaci贸n a alto nivel para hacer el features de rating en nuestra base de c贸digo. En esta clase
5
+
6
+ 00:00:08.580 --> 00:00:18.140
7
+ vamos a aprender c贸mo crear subagentes especializados para frontend y backend y c贸mo orquestar su ejecuci贸n en paralelo utilizando Cloud Code. Vamos al editor. Los
8
+
9
+ 00:00:18.140 --> 00:00:28.140
10
+ agentes de Cloud est谩n dentro de la carpeta agents en la carpeta punto Cloud. Ya tenemos espec铆fico el comportamiento del subagente de arquitecto y el
11
+
12
+ 00:00:28.140 --> 00:00:37.600
13
+ resultado de la ejecuci贸n que tuvimos en las clases anteriores fue este resumen sobre c贸mo es o c贸mo debe ser la implementaci贸n del sistema de
14
+
15
+ 00:00:37.600 --> 00:00:47.140
16
+ ratings para Platiflix, que es nuestra base de c贸digo. Vemos que el alcance est谩 para backend y para frontend. Ahora, lo que vamos a hacer
17
+
18
+ 00:00:47.140 --> 00:00:56.280
19
+ es crear dos nuevos subagentes: el subagente de backend y el subagente de frontend. Para crear un subagente, recordemos que tenemos el comando agents dentro
20
+
21
+ 00:00:56.280 --> 00:01:03.820
22
+ del Cloud Code con el que podemos darle instrucciones paso a paso a Cloud para que nos ayude creando el subagente. En este caso, yo
23
+
24
+ 00:01:03.820 --> 00:01:11.860
25
+ ya tengo los dos prompts para el subagente de backend y de frontend creados. Entonces, lo que vamos a hacer es 煤nicamente crear dos archivos:
26
+
27
+ 00:01:11.860 --> 00:01:27.420
28
+ backend.markdown y frontend.markdown. Para el agente de frontend vemos que la especificaci贸n del prompt es que es un especialista en desarrollo frontend y explica bien
29
+
30
+ 00:01:27.420 --> 00:01:38.040
31
+ cu谩l es el stack t茅cnico que tiene este proyecto: Next, React, TypeScript, etc茅tera. Vemos que explica tambi茅n cu谩les son las responsabilidades espec铆ficas que tiene este
32
+
33
+ 00:01:38.040 --> 00:01:47.520
34
+ subagente en este proyecto y cu谩l es el contexto. Entonces, la l贸gica detr谩s de este subagente es dar una explicaci贸n o un contexto desde lo
35
+
36
+ 00:01:47.520 --> 00:01:56.380
37
+ m谩s general a lo m谩s espec铆fico, desde el estado del arte de c贸mo es el stack t茅cnico de este proyecto a qu茅 es lo que
38
+
39
+ 00:01:56.380 --> 00:02:04.640
40
+ se debe encargar en la ejecuci贸n de este proyecto. Y para el backend es muy similar. Lo 煤nico que cambia es que claramente, eh, se
41
+
42
+ 00:02:04.640 --> 00:02:15.280
43
+ utiliza, eh, FastAPI, Python y SQLAlchemy, y va desde lo m谩s general a lo m谩s espec铆fico. Vamos a utilizar estos dos subagentes e invocarlos de
44
+
45
+ 00:02:15.280 --> 00:02:25.380
46
+ forma impl铆cita. Esto significa que le vamos a pedir al Cloud Code que sea 茅l quien los invoque para cierta tarea. En Cloud Code podemos
47
+
48
+ 00:02:25.380 --> 00:02:34.820
49
+ hacer la invocaci贸n de subagentes de forma expl铆cita o impl铆cita. La forma expl铆cita es haciendo arroba, seguido de la palabra agent, y aqu铆 nos van
50
+
51
+ 00:02:34.820 --> 00:02:43.380
52
+ a aparecer cu谩les son los agentes que tenemos disponibles. Vemos que se lista el frontend, el backend y el architect. Y la forma impl铆cita es
53
+
54
+ 00:02:43.380 --> 00:02:53.680
55
+ hacerlo a trav茅s del prompt. Entonces, en este prompt vamos a pedir que analice el resultado de la clase anterior, que fue el cero cero
56
+
57
+ 00:02:53.680 --> 00:03:04.519
58
+ sistema ratings cursos, que fue el resultado del an谩lisis de arquitectura del subagente arquitecto. A partir de este contexto, que cree un plan de implementaci贸n
59
+
60
+ 00:03:04.520 --> 00:03:13.220
61
+ para backend y para frontend utilizando estos dos subagentes de forma paralela. Eso lo podemos escribir en el mismo prompt que le damos a Cloud
62
+
63
+ 00:03:13.220 --> 00:03:30.580
64
+ Code. Analiza el cero cero sistema ratings de cursos, que es el an谩lisis que hizo tu subagente de arquitecto. Utilizando esto como referencia, utiliza a
65
+
66
+ 00:03:30.580 --> 00:03:52.480
67
+ los subagentes de backend y de frontend para crear un plan espec铆fico de implementaci贸n. No generes c贸digo, sino que crea 煤nicamente las fases que se
68
+
69
+ 00:03:52.480 --> 00:04:01.500
70
+ har谩n en la implementaci贸n. Aqu铆 vemos que Cloud Code fue capaz de invocar a los dos subagentes para que haga su ejecuci贸n en paralelo. Y
71
+
72
+ 00:04:01.500 --> 00:04:09.240
73
+ aqu铆 vemos que lo que hace Cloud es enviar un prompt creado por 茅l mismo para que el subagente se encargue de la ejecuci贸n de
74
+
75
+ 00:04:09.240 --> 00:04:16.719
76
+ este prompt. Vemos que aqu铆 Cloud nos dice que podemos utilizar control T para mostrar cu谩les son la lista de to dos que 茅l tiene
77
+
78
+ 00:04:16.720 --> 00:04:24.040
79
+ en este momento. Si lo presionamos, vemos que para cada uno de ellos hay un to do y, una vez que lo completa, lo tacha
80
+
81
+ 00:04:24.040 --> 00:04:32.520
82
+ y lo marca como hecho. Lo podemos ocultar y 茅l va a seguir con su implementaci贸n. Este es el plan de implementaci贸n de frontend creado
83
+
84
+ 00:04:32.520 --> 00:04:41.000
85
+ por el subagente especialista en frontend. Lo que vemos es que primero hace un contexto del proyecto analizando cu谩l es la arquitectura actual, cu谩l es
86
+
87
+ 00:04:41.000 --> 00:04:50.120
88
+ la estructura de componentes que tiene este, eh, proyecto y adem谩s cu谩les son los patrones de desarrollo. Luego, empieza explicando cu谩les son las fases de
89
+
90
+ 00:04:50.120 --> 00:05:00.400
91
+ implementaci贸n. Primero, las nuevas interfaces para rating, cu谩les son los, eh, nuevos tipos o interfaces que necesita crear para soportar los ratings, cu谩les son las
92
+
93
+ 00:05:00.400 --> 00:05:08.620
94
+ consideraciones en las cuales tiene que estar consciente al momento de implementarlo y as铆 sucesivamente. Lo que podemos ver es que las fases de implementaci贸n
95
+
96
+ 00:05:08.620 --> 00:05:17.060
97
+ tienen sentido y que cumplen con lo que nosotros le estamos pidiendo, que es la implementaci贸n del sistema de ratings. Entonces, yo voy a decir
98
+
99
+ 00:05:17.060 --> 00:05:27.100
100
+ que s铆 quiero que haga esta edici贸n sobre este archivo. Y, luego, ya termin贸 tambi茅n el subagente de backend y vemos que est谩 haciendo un
101
+
102
+ 00:05:27.100 --> 00:05:37.160
103
+ an谩lisis muy similar. Primero, cu谩les son los patrones identificados en el c贸digo actual, hace la estructura actual de directorios de este, eh, base de c贸digo
104
+
105
+ 00:05:37.160 --> 00:05:45.080
106
+ para el backend y tambi茅n las fases de implementaci贸n. Primero, la base de datos, que es lo esperado. Primero tenemos que crear las migraciones de
107
+
108
+ 00:05:45.080 --> 00:05:52.660
109
+ la base de datos. Eso tambi茅n lo dijo el subagente de arquitecto, que hay que empezar con lo m谩s importante o lo m谩s fundamental, que
110
+
111
+ 00:05:52.660 --> 00:06:05.200
112
+ es la base de datos. Tambi茅n est谩 considerando los comandos que necesita ejecutar para agregar las migraciones, la estructura de la migraci贸n.[comunicaci贸n cruzada] Y tambi茅n, eh,
113
+
114
+ 00:06:05.200 --> 00:06:14.620
115
+ contin煤a explicando qu茅 es lo que debe hacer, por ejemplo, si necesita hacer un rollback, que es el downgrade de este comando. Y as铆 sucesivamente.
116
+
117
+ 00:06:14.620 --> 00:06:24.840
118
+ Como tiene sentido, yo tambi茅n voy a aceptar este plan de implementaci贸n para backend. Muy bien. Aqu铆 me est谩 dando un peque帽o resumen que es
119
+
120
+ 00:06:24.840 --> 00:06:32.900
121
+ que el plan es cien por ciento implementable de forma secuencial. Cada fase puede ejecutarse independientemente. Y el documento no contiene c贸digo, que fue lo
122
+
123
+ 00:06:32.900 --> 00:06:43.200
124
+ que nosotros le pedimos al inicio. Solo especificaciones detalladas de qu茅 y c贸mo debe implementarse. Muy bien. Estos dos archivos est谩n viviendo dentro de la
125
+
126
+ 00:06:43.200 --> 00:06:53.039
127
+ carpeta de spec y vemos que tienen un nombre particular: backend ratings y frontend ratings. Entonces, lo que podemos hacer es, eh, cambiarle la numeraci贸n,
128
+
129
+ 00:06:53.039 --> 00:06:59.530
130
+ por ejemplo, para que el backend sea la fase dos o el spec n煤mero dos y el backend sea el n煤mero uno. De esta forma,
131
+
132
+ 00:06:59.530 --> 00:07:07.200
133
+ pusimos a dos subagentes a ejecutarse en paralelo. El n煤mero de subagentes no es limitado a que sean solo dos, sino que pueden haber varios
134
+
135
+ 00:07:07.200 --> 00:07:14.820
136
+ ejecut谩ndose en paralelo. Cada subagente tiene un contexto de ejecuci贸n aislado del resto y que eso lo podemos ver con el comando de context. Vamos
137
+
138
+ 00:07:14.820 --> 00:07:24.280
139
+ al editor. Con context, 茅l lo que nos va a decir es c贸mo los subagentes est谩n utilizando la memoria del contexto de esta conversaci贸n. Vemos
140
+
141
+ 00:07:24.280 --> 00:07:34.120
142
+ que el system prompt est谩 ocupando dos punto dos mil tokens y que cada uno de los-- eh, las herramientas de este sistema, tambi茅n los
143
+
144
+ 00:07:34.120 --> 00:07:45.200
145
+ MCPS, est谩n consumiendo tokens. Y ac谩 abajo podemos ver cu谩l es la cantidad de tokens que est谩 utilizando cada agente personalizado de este proyecto. A
146
+
147
+ 00:07:45.200 --> 00:07:54.530
148
+ medida que va incrementando la ejecuci贸n de los agentes o cualquier ejecuci贸n, vamos a ver que se incrementa el n煤mero de tokens para esta conversaci贸n.
149
+
150
+ 00:07:54.530 --> 00:08:03.380
151
+ Con estos dos planes de implementaci贸n ya podemos ir a la creaci贸n de c贸digo. Recordemos que todas estas fases preliminares fue para hacer un an谩lisis
152
+
153
+ 00:08:03.380 --> 00:08:11.929
154
+ intensivo de la base de c贸digo existente, la planificaci贸n de la ejecuci贸n y ahora s铆 podemos ver los resultados en c贸digo propiamente. Nos vemos en
155
+
156
+ 00:08:11.929 --> 00:08:12.859
157
+ la pr贸xima clase.
158
+
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/09-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/01-M贸dulo 1 DiscoveryAn谩lisisPlanning/10-Quiz.mhtml ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/01-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/01-Uso de unit tests para migraciones seguras de base de datos.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e8ab7a806ad38057b87dcc6bbe5dc26335e2b69a82986aff9809953ccdb641e1
3
+ size 185985044
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/01-Uso de unit tests para migraciones seguras de base de datos.vtt ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.140 --> 00:00:07.340
4
+ Para hacer la migraci贸n de base de datos de esta base de c贸digo, necesitamos garantizar que funcione. Los unit tests son la herramienta que vamos
5
+
6
+ 00:00:07.340 --> 00:00:14.979
7
+ a utilizar para esto. Antes de avanzar, te invito a que utilizando Cloud Code, puedas analizar y solucionar el error que est谩 sucediendo actualmente en
8
+
9
+ 00:00:14.980 --> 00:00:30.010
10
+ este sistema con los unit tests. D茅jame la soluci贸n en la secci贸n de comentarios. El problema es que para ejecutar los unit tests eran necesarias
11
+
12
+ 00:00:30.010 --> 00:00:42.740
13
+ estas dos dependencias: httpx y pytest-asyncio. Agreg谩ndolas a las dependencias opcionales de este proyecto y luego construyendo UV, era suficiente para que los tests se
14
+
15
+ 00:00:42.740 --> 00:00:49.360
16
+ pudieran ejecutar. Y esta es la soluci贸n al reto que te dej茅 hace un momento. En el plan de implementaci贸n vemos que est谩n muy bien
17
+
18
+ 00:00:49.360 --> 00:00:58.240
19
+ definidas cu谩les son las fases existentes y cu谩les son los checklists que se deben cumplir para garantizar que se termin贸 esa fase. La primera es
20
+
21
+ 00:00:58.240 --> 00:01:05.400
22
+ la de base de datos. Y como dijimos hace un rato, lo que tenemos que garantizar, que el sistema est茅 corriendo a trav茅s de los
23
+
24
+ 00:01:05.400 --> 00:01:15.760
25
+ unit tests. Entonces, abrimos Cloud Code y le vamos a pedir que ejecute el unit test dentro del contenedor. El prompt es bastante sencillo y
26
+
27
+ 00:01:15.760 --> 00:01:30.440
28
+ lo que se le va a decir es que: ejecuta el comando de pytest dentro del contenedor de API para garantizar que el servicio est茅
29
+
30
+ 00:01:30.440 --> 00:01:40.780
31
+ funcionando. Muy bien, excelente. Aqu铆 nos dice que va a ejecutar un comando que es docker compose utilizando el tool de Bash. Este tool de
32
+
33
+ 00:01:40.780 --> 00:01:48.760
34
+ Bash ya es uno de los que trae por defecto Cloud Code y lo que permite es ejecutar comandos como si fuera la terminal. Y
35
+
36
+ 00:01:48.760 --> 00:02:00.800
37
+ en este caso lo que est谩 intentando es ejecutar el comando pytest dentro del contenedor de API. Y aqu铆, esta es el resultado de la
38
+
39
+ 00:02:00.800 --> 00:02:10.000
40
+ ejecuci贸n del unit test dentro del contenedor que nosotros tenemos ejecutando en este momento. Vemos que hay pruebas como de traer todos los cursos, de
41
+
42
+ 00:02:10.000 --> 00:02:17.400
43
+ traer una lista vac铆a, etc茅tera. Es decir, este es el, el set de pruebas que tiene este servicio y est谩n corriendo al cien por ciento,
44
+
45
+ 00:02:17.400 --> 00:02:25.500
46
+ como se puede ver ac谩. Entonces, ya que tenemos este contexto y sabemos que el servicio est谩 funcional, vamos a pedirle que empiece con la
47
+
48
+ 00:02:25.500 --> 00:02:34.519
49
+ implementaci贸n de la fase uno de esta especificaci贸n. Entonces, mencionamos el archivo cero uno y lo que vemos es que no est谩 encontrando este plan
50
+
51
+ 00:02:34.520 --> 00:02:44.200
52
+ de especificaci贸n. 驴Por qu茅? Porque si yo ejecuto ac谩, por ejemplo, el pwd, que es el comando para saber mi ubicaci贸n, veo que estoy dentro
53
+
54
+ 00:02:44.200 --> 00:02:54.380
55
+ de la carpeta de backend. Y este archivo de especificaci贸n est谩 por fuera de ac谩. Entonces, puedo utilizar el bash mode. El bash mode se
56
+
57
+ 00:02:54.380 --> 00:03:04.200
58
+ activa utilizando el signo de exclamaci贸n. Y aqu铆 yo puedo escribir comandos de bash que se van a ejecutar y que Cloud Code va a
59
+
60
+ 00:03:04.200 --> 00:03:14.640
61
+ tener como contexto de su ejecuci贸n. Es decir, si yo necesito regresar una carpeta m谩s arriba, puedo ejecutar este comando, podemos explicar pwd. Y aqu铆
62
+
63
+ 00:03:14.640 --> 00:03:20.680
64
+ lo que me dice es que yo no puedo hacer esto. Entonces, le voy a pedir a Cloud Code que ejecute 茅l el comando para
65
+
66
+ 00:03:20.680 --> 00:03:32.700
67
+ ir a la carpeta de Cloud Code. Necesito estar en este directorio y no en backend. Entonces, veamos qu茅 comando es el que 茅l ejecuta
68
+
69
+ 00:03:32.700 --> 00:03:42.260
70
+ para regresar, porque no me permiti贸 hacer este que est谩 ac谩. Entonces, veamos. Es pr谩cticamente el mismo, pero dice que no puede. Entonces, vamos a
71
+
72
+ 00:03:42.260 --> 00:03:50.900
73
+ ver c贸mo lo soluciona. A ver, pwd no funciona. En este caso, lo m谩s sencillo es que nos salgamos de Cloud Code, hagamos nosotros la
74
+
75
+ 00:03:50.900 --> 00:03:58.300
76
+ ejecuci贸n del comando fuera de Cloud Code y volvamos a empezar. Muy bien. Aqu铆 se nos va a reiniciar la conversaci贸n, pero no pasa nada
77
+
78
+ 00:03:58.300 --> 00:04:09.980
79
+ porque no hab铆amos hecho nada importante. Ahora s铆 lo podemos mencionar. Ocho uno backend. Empecemos la implementaci贸n de la fase uno de este plan. Es
80
+
81
+ 00:04:09.980 --> 00:04:22.580
82
+ necesario que los comandos que vayas a ejecutar sean dentro del contenedor de API. 驴Por qu茅 no? Porque es el lugar en el que est谩
83
+
84
+ 00:04:22.580 --> 00:04:37.239
85
+ siendo ejecutado. Vamos a agregarle m谩s contexto. En el archivo de Make hay varios comandos que resultar谩n 煤tiles para poder re, eh, construir y reiniciar
86
+
87
+ 00:04:37.240 --> 00:04:45.100
88
+ la imagen de Docker si es necesaria. Aqu铆, como es algo que yo quiero que sea muy bien ejecutado y bien planificado, yo lo voy
89
+
90
+ 00:04:45.100 --> 00:04:52.040
91
+ a poner en plan mode. 驴Para qu茅? Para entender qu茅 es lo que 茅l va a hacer antes de ejecutarlo. 驴C贸mo se cambia entre planes?
92
+
93
+ 00:04:52.040 --> 00:05:00.000
94
+ Aqu铆 lo dice muy bien con shift up. Entonces, existen varios tipos de, eh, modos de ejecuci贸n. Est谩 el auto accept, que es que cualquier
95
+
96
+ 00:05:00.000 --> 00:05:06.780
97
+ cosa que haga yo lo acepto por defecto. Est谩 el plan mode, que es ver c贸mo 茅l planifica la ejecuci贸n de esto. Y est谩 el
98
+
99
+ 00:05:06.780 --> 00:05:12.800
100
+ modo por defecto, que es que antes de avanzar me va a pedir confirmaci贸n. Lo vamos a poner en plan mode y le vamos a
101
+
102
+ 00:05:12.800 --> 00:05:20.670
103
+ ejecutar. Aqu铆 me pide entrar a la carpeta backend y ver cu谩les son los contenedores que est谩n corriendo en este momento. Aqu铆 茅l ya tiene
104
+
105
+ 00:05:20.670 --> 00:05:28.420
106
+ en su contexto la lista de contenedores de Docker que est谩n siendo ejecutados. Y as铆 茅l puede saber con cu谩l trabajar para ejecutar los comandos.
107
+
108
+ 00:05:28.420 --> 00:05:37.980
109
+ Lo que vamos a darnos constantemente cuenta es que 茅l va, busca contexto, se da cuenta de cosas y quiere ejecutar nuevos comandos. En este
110
+
111
+ 00:05:37.980 --> 00:05:46.920
112
+ caso, lo que me est谩 pidiendo es que entre la carpeta de backend y ejecute un comando dentro del contenedor de API, que es entrar
113
+
114
+ 00:05:46.920 --> 00:05:55.620
115
+ a app y correr a Alembic para saber cu谩l es el estado actual de estas migraciones. Vamos a darle que s铆. Aqu铆 el problema es
116
+
117
+ 00:05:55.620 --> 00:06:04.392
118
+ que 茅l ya se hab铆a cambiado al directorio de backend en el paso anterior. Entonces, no, no existe en esta situaci贸n.[comunicaci贸n cruzada] Vuelves a mostrar el
119
+
120
+ 00:06:04.392 --> 00:06:12.751
121
+ comando con las modificaciones. Le decimos que s铆 y me dice que ya tiene el contexto necesario para crear la migraci贸n de base de datos.
122
+
123
+ 00:06:12.751 --> 00:06:19.871
124
+ El resultado del plan mode es este. Es una explicaci贸n un poco m谩s espec铆fica de qu茅 es lo que va a hacer antes de que
125
+
126
+ 00:06:19.871 --> 00:06:29.702
127
+ lo ejecute. Entonces, entiende que el objetivo es crear la tabla de course rating en Postgres con los constraints, 铆ndices y migraciones Alembic correspondientes. Entonces,
128
+
129
+ 00:06:29.702 --> 00:06:37.852
130
+ aqu铆 entiende cu谩l es el contenedor que est谩 corriendo, cu谩l es la migraci贸n actual [que es la 煤ltima que se ejecut贸] y un patr贸n de migraci贸n identificado. Entonces, 驴cu谩les son los
131
+
132
+ 00:06:37.852 --> 00:06:46.871
133
+ pasos que va a hacer? Crear la nueva migraci贸n, crear el archivo. Ejecutar la migraci贸n con el comando make que yo le di hace rato
134
+
135
+ 00:06:46.871 --> 00:06:58.871
136
+ como contexto y va a verificar en Postgres si se ejecut贸 correctamente. Entonces, tenemos opciones. 驴C贸mo esperamos que se ejecute? Autom谩ticamente, aceptando las ediciones que
137
+
138
+ 00:06:58.871 --> 00:07:06.751
139
+ haga. Otro paso es que yo manualmente apruebe las ediciones y, si no me gusta el plan, yo aqu铆 le puedo decir c贸mo mejorar. En
140
+
141
+ 00:07:06.751 --> 00:07:11.712
142
+ este caso, a m铆 me gust贸 y lo voy a auto-aceptar, as铆 que presiono el n煤mero uno. Y 茅l va a empezar a hacer su
143
+
144
+ 00:07:11.712 --> 00:07:20.442
145
+ ejecuci贸n. Aqu铆 vemos que cuando quiere hacer la ejecuci贸n de un comando de bash, 茅l me pregunta si quiero proceder o no. Yo puedo confiar,
146
+
147
+ 00:07:20.442 --> 00:07:29.131
148
+ en este caso, de que cualquier cosa que haga va a tener un impacto muy bajo. 驴Por qu茅? Porque va a ser ejecuci贸n sobre el
149
+
150
+ 00:07:29.131 --> 00:07:39.532
151
+ docker compose, sobre una serie de contenedores que est谩n corriendo de forma local. As铆 que yo en este momento voy a decirle que s铆 acepto
152
+
153
+ 00:07:39.532 --> 00:07:46.772
154
+ que proceda y que no me vuelva a preguntar si quiere ejecutar el comando docker compose para este folder en particular. Le voy a decir
155
+
156
+ 00:07:46.772 --> 00:07:53.032
157
+ que dos. Entonces, ya cada vez que 茅l quiera ejecutar un comando de docker compose, no me va a preguntar. Cloud Code ya me est谩
158
+
159
+ 00:07:53.032 --> 00:07:59.371
160
+ diciendo que termin贸 la ejecuci贸n de esta primera fase. Me dice que ya se ha completado exitosamente y aqu铆 est谩 el resumen de lo que
161
+
162
+ 00:07:59.371 --> 00:08:09.642
163
+ hizo. Primero, cre贸 el archivo de migraciones. Podemos ver lo que est谩 ac谩. Y est谩... correcto. Dice que ya tiene la estructura de tabla seg煤n
164
+
165
+ 00:08:09.642 --> 00:08:18.631
166
+ lo que estaba en la especificaci贸n. Tambi茅n me dice que se crearon los constraints, los 铆ndices, que se ejecut贸 la migraci贸n y ya est谩 todo
167
+
168
+ 00:08:18.631 --> 00:08:30.352
169
+ validado en Postgres. 驴Qu茅 falta? Falta pedirle que actualice este plan de implementaci贸n y que los marque como completados. Nosotros tenemos que conectar a Cloud
170
+
171
+ 00:08:30.352 --> 00:08:37.952
172
+ Code con el editor. Nosotros sabemos que ya est谩 conectado porque aqu铆, en la parte de abajo, me muestra en cu谩l archivo estoy dentro del
173
+
174
+ 00:08:37.952 --> 00:08:48.541
175
+ editor. Por ejemplo, si yo cambio de archivo, autom谩ticamente se actualiza. Y yo puedo seleccionar esta, eh, todo este bloque de c贸digo y presiono las
176
+
177
+ 00:08:48.541 --> 00:09:01.692
178
+ teclas command option K. Y aqu铆 lo que me permite es poder mencionar cierto archivo en ciertas l铆neas y d谩rselo como contexto a Cloud Code.
179
+
180
+ 00:09:01.692 --> 00:09:12.771
181
+ Y aqu铆 le voy a decir: marca como finalizadas las tareas que ya lo est谩n. Excelente. Vemos que Cloud Code ya hizo los checks o
182
+
183
+ 00:09:12.771 --> 00:09:22.712
184
+ los agreg贸 a aquellas tareas que ya termin贸 en su plan de ejecuci贸n. Nosotros ya podemos garantizar que esta fase de base de datos est谩
185
+
186
+ 00:09:22.712 --> 00:09:30.771
187
+ culminada y certificada por el propio Cloud Code. Lo que le vamos a pedir es lo mismo que le pedimos al inicio, que es que
188
+
189
+ 00:09:30.771 --> 00:09:45.872
190
+ ahora ejecute el unit test para garantizar que no hayamos da帽ado el servicio. Garantiza que el servicio sigue corriendo, volviendo a ejecutar los unit tests.
191
+
192
+ 00:09:45.872 --> 00:09:53.372
193
+ Ya ejecut贸 los unit tests y se dio cuenta de que funciona correctamente, pero ahora 茅l quiere hacer una validaci贸n adicional, que es ver si
194
+
195
+ 00:09:53.372 --> 00:10:00.551
196
+ el endpoint de health que tiene este servicio funciona correctamente. Yo le voy a decir que s铆, porque es algo importante que 茅l se d茅
197
+
198
+ 00:10:00.551 --> 00:10:09.891
199
+ cuenta de que no es 煤nicamente que los unit tests siguen corriendo, sino que el servicio entero siga funcionando. Entonces, aqu铆 dice que est谩 funcionando
200
+
201
+ 00:10:09.891 --> 00:10:18.752
202
+ correctamente, pero va a hacer una verificaci贸n final de los endpoints principales. Entonces, lo que yo voy a hacer es permitirle que cualquier otro comando
203
+
204
+ 00:10:18.752 --> 00:10:27.992
205
+ o ejecuci贸n de comando curl y de Python tres lo permita. De esta forma, ya Cloud Code pudo validar enteramente el funcionamiento de este servicio,
206
+
207
+ 00:10:27.992 --> 00:10:37.102
208
+ no 煤nicamente con unit tests, sino tambi茅n con una especie de prueba de integraci贸n, haciendo llamados a los endpoints y revisando su respuesta. Vemos que
209
+
210
+ 00:10:37.102 --> 00:10:44.271
211
+ tambi茅n nos da un resumen bastante completo de, eh, qu茅 fue lo que hizo. Dijo que los tests unitarios pasaron, que el estado del contenedor
212
+
213
+ 00:10:44.271 --> 00:10:51.692
214
+ es que est谩 activo y que tambi茅n los endpoints est谩n re-- eh, respondiendo correctamente. Ya terminamos la fase uno de implementaci贸n de los cambios en
215
+
216
+ 00:10:51.692 --> 00:11:00.012
217
+ el backend. El reto es que ahora t煤, utilizando Cloud Code, hagas la implementaci贸n de la fase dos, que es la creaci贸n de los modelos
218
+
219
+ 00:11:00.012 --> 00:11:06.271
220
+ de SQLAlchemy. D茅jame en la secci贸n de comentarios qu茅 retos tuviste y c贸mo los resolviste. Nos vemos en la pr贸xima clase.
221
+
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/02-Implementaci贸n de ratings en backend con Claude Code y Docker.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9ce88d89253978f5c82e5c669a5a96087e6f37f4e231c0ef991ec13d50cbadd8
3
+ size 169721813
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/02-Implementaci贸n de ratings en backend con Claude Code y Docker.vtt ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.080 --> 00:00:08.700
4
+ Ya tenemos configurado la base de datos junto con sus migraciones y los modelos para darle soporte al feature de ratings de Platiflix. El objetivo
5
+
6
+ 00:00:08.700 --> 00:00:17.040
7
+ de este m贸dulo es hacer la implementaci贸n de los planes que hicimos en las clases pasadas, es decir, crear el feature de ratings para todo
8
+
9
+ 00:00:17.040 --> 00:00:26.060
10
+ el sistema de Platiflix. En esta clase vamos a crear la capa de servicios, los endpoints que le dar谩n soporte al frontend para mostrar los
11
+
12
+ 00:00:26.060 --> 00:00:35.019
13
+ ratings y tambi茅n la creaci贸n de pruebas unitarias para garantizar que los cambios del backend no rompan la funcionalidad actual. Vamos al c贸digo. Con Cloud
14
+
15
+ 00:00:35.020 --> 00:00:47.140
16
+ Code, versi贸n dos, y Sonet 4.5, podemos ejecutar sesiones de m谩s de treinta horas. Estas sesiones, eh, cuando se est谩n ejecutando, nosotros constantemente tenemos que
17
+
18
+ 00:00:47.140 --> 00:00:58.340
19
+ aprobar la ejecuci贸n de ciertos comandos. Hay una forma de poder evitar esa solicitud de permisos, que es pas谩ndole el flag de Dangerously Skip Permissions
20
+
21
+ 00:00:58.340 --> 00:01:06.060
22
+ a Claude. Cuando hacemos esto, se nos va a mostrar una pantalla en el que nos va a informar que Cloud Code va a ejecutar
23
+
24
+ 00:01:06.060 --> 00:01:17.680
25
+ cualquier cosa que crea conveniente. Y esto solo debe ser ejecutado en entornos de m谩quinas virtuales o de contenedores con acceso restringido a Internet y
26
+
27
+ 00:01:17.680 --> 00:01:25.720
28
+ que puedan ser restaurados si es da帽ado. Y ese es nuestro caso. Nuestro servicio est谩 corriendo dentro de un contenedor de Docker que si se
29
+
30
+ 00:01:25.720 --> 00:01:34.260
31
+ da帽a no pasa mucho porque tenemos comandos para poder de nuevo, eh, crear la base de datos, crear las semillas de la base de datos
32
+
33
+ 00:01:34.260 --> 00:01:43.420
34
+ y ejecutar los tests. Entonces, esto es un caso conveniente para que nosotros podamos ejecutar a Cloud sin necesidad de que pida permisos. Le voy
35
+
36
+ 00:01:43.420 --> 00:01:53.020
37
+ a decir que s铆, que acepto. Y lo que vamos a hacer es decirle que implemente de la fase tres a la fase cinco del
38
+
39
+ 00:01:53.020 --> 00:02:05.220
40
+ plan de implementaci贸n de ratings en backend. Lo voy a seleccionar, se lo paso como contexto y le voy a decir que implementa estas fases
41
+
42
+ 00:02:05.220 --> 00:02:15.140
43
+ de forma secuencial. Esto es un prompt muy sencillo. 驴Por qu茅? Porque dentro del plan de implementaci贸n ya est谩 la especificaci贸n de qu茅 debe hacer
44
+
45
+ 00:02:15.140 --> 00:02:29.700
46
+ con cada una de las fases. 芦Cuando termines de ejecutar cada fase, m谩rcala como completada en el checklist禄. Vamos a habilitarle el modo de pensamiento
47
+
48
+ 00:02:29.700 --> 00:02:38.980
49
+ y le damos enter para que empiece a ejecutar. Voy a detener la ejecuci贸n en este momento, porque algo importante que yo no le dije
50
+
51
+ 00:02:38.980 --> 00:02:47.600
52
+ de contexto a Claude es que cuando vaya a ejecutar los tests tiene que hacerlo dentro del contenedor de Docker. Lo que vemos es que
53
+
54
+ 00:02:47.600 --> 00:02:58.480
55
+ aqu铆 est谩 intentando ejecutar los tests como si estuvi茅ramos dentro del entorno. Y no es as铆. Entonces le vamos a indicar que los tests y
56
+
57
+ 00:02:58.480 --> 00:03:21.060
58
+ cualquier comando... del archivo make que necesites ejecutar debe ser utilizando a Docker. Es m谩s, hagamos algo relevante. Podemos utilizar un comando que es el
59
+
60
+ 00:03:21.140 --> 00:03:30.210
61
+ hash. Este hash lo que va a hacer es guardar en memoria la instrucci贸n que yo le estoy dando. En este caso, la instrucci贸n va
62
+
63
+ 00:03:30.210 --> 00:03:43.280
64
+ a ser que cuando necesite ejecutar los tests de backend o cualquier migraci贸n, debe ejecutarlos dentro del contenedor de Docker. Cualquier comando que necesites ejecutar
65
+
66
+ 00:03:43.280 --> 00:04:01.880
67
+ para el backend debe ser dentro del contenedor de docker api. Antes de ejecutarlo, certifica que est茅 funcionando el contenedor y revisa el archivo Makefile
68
+
69
+ 00:04:01.880 --> 00:04:14.170
70
+ con los comandos que existen y 煤salos. Entonces, aqu铆 me va a preguntar qu茅 es lo que quiero, que lo guarde en mi memoria como
71
+
72
+ 00:04:14.170 --> 00:04:20.060
73
+ usuario o en la memoria del proyecto. Yo lo voy a guardar en la memoria del proyecto. Y ahora s铆, le voy a indicar: los
74
+
75
+ 00:04:20.060 --> 00:04:35.700
76
+ comandos de test debes ejecutarlos dentro de contenedor de Docker. Aqu铆 vemos que Claude actualiz贸 la fase tres de Service Layer c贸mo completabas cada uno
77
+
78
+ 00:04:35.700 --> 00:04:43.730
79
+ de los 铆tems de esta lista. Tambi茅n termin贸 la fase cuatro, la de Endpoints, y tambi茅n la fase cinco, en el que me dice que
80
+
81
+ 00:04:43.730 --> 00:04:54.320
82
+ todos los tests pasan, treinta y nueve pasaron y uno le hizo skip. Vamos a leer el resumen de qu茅 fue su ejecuci贸n . Me
83
+
84
+ 00:04:54.320 --> 00:05:05.680
85
+ dice que ha completado exitosamente la implementaci贸n de las fases. En el Service Layer implement贸 esto, siete m茅todos que cumplen con lo que yo le
86
+
87
+ 00:05:05.680 --> 00:05:17.640
88
+ ped铆 que implementara ac谩 con esta documentaci贸n. Luego dice que cre贸 los endpoints creando el directorio schemas y el archivo rating con modelos de Pydantic,
89
+
90
+ 00:05:17.640 --> 00:05:29.300
91
+ siguiendo el patr贸n que ya ten铆a este repositorio y ya cre贸 los endpoints y el testing. Esta ejecuci贸n fue muy larga. Y para certificar qu茅
92
+
93
+ 00:05:29.300 --> 00:05:39.440
94
+ tanto contexto consumi贸, podemos utilizar el comando context. Y este context lo que me est谩 diciendo es que casi nos consumimos toda la memoria y
95
+
96
+ 00:05:39.440 --> 00:05:50.260
97
+ nosotros estamos utilizando a Sonet 4.5 de doscientos mil tokens de contexto. Es decir, sesenta y seis por ciento fue utilizado para la construcci贸n de
98
+
99
+ 00:05:50.260 --> 00:06:01.980
100
+ esta implementaci贸n del backend. Utiliz贸 dos MCPs que eran todos relacionados con el editor de c贸digo y utiliz贸 muy pocos los custom agents de Cloud
101
+
102
+ 00:06:01.980 --> 00:06:15.476
103
+ Code. Como los tenemos ya dentro de este sistema.[contin煤a sonido de codificaci贸n] Ahora, como fue creado con el bypass de los permisos, nosotros necesitamos garantizar que el c贸digo
104
+
105
+ 00:06:15.476 --> 00:06:24.196
106
+ que est谩 ac谩 es seguro. Para ello, Cloud Code ya tiene un comando predefinido que es de seguridad, que se llama security review, y lo
107
+
108
+ 00:06:24.196 --> 00:06:32.416
109
+ que va a hacer es revisar los cambios que se han hecho en la rama actual con respecto a la seguridad. Entonces, le vamos a
110
+
111
+ 00:06:32.416 --> 00:06:45.596
112
+ elegir y lo vamos a ejecutar. Lo que esperamos que analice este comando es la seguridad de todo el repositorio. Identifique vulnerabilidades y, dependiendo de
113
+
114
+ 00:06:45.596 --> 00:06:53.946
115
+ eso, hacer los cambios respectivos en la base de c贸digo. Analizando el contexto, nos dimos cuenta que hab铆amos utilizado el sesenta y seis por ciento
116
+
117
+ 00:06:53.946 --> 00:07:02.316
118
+ del contexto disponible. En este caso, cuando nos estamos quedando sin 茅l, Cloud Code nos da un aviso. En este caso, de que tenemos nueve
119
+
120
+ 00:07:02.316 --> 00:07:09.156
121
+ por ciento del contexto, eh, restante. Es decir, nos hemos consumido el noventa y un por ciento. Y aqu铆 nos da la sugerencia de que
122
+
123
+ 00:07:09.156 --> 00:07:20.416
124
+ podemos ejecutar el comando compact para compactar la conversaci贸n y continuar con la ejecuci贸n de nuestra sesi贸n de c贸digo. El comando compact puede ser utilizado
125
+
126
+ 00:07:20.416 --> 00:07:29.456
127
+ de dos formas: solo, en el que Cloud Code toma la decisi贸n de c贸mo compactar la conversaci贸n, o d谩ndole la indicaci贸n de qu茅 es lo
128
+
129
+ 00:07:29.456 --> 00:07:41.536
130
+ que se quiere que conserve en, eh, el contexto. Es decir, yo aqu铆 le puedo decir que compacte la conversaci贸n y que conserva los hallazgos
131
+
132
+ 00:07:41.536 --> 00:07:53.036
133
+ hechos en el an谩lisis de seguridad. No lo voy a ejecutar ahora, pero a trav茅s de este comando podemos reutilizar el contexto de la misma
134
+
135
+ 00:07:53.036 --> 00:08:04.046
136
+ conversaci贸n y llev谩rnoslo a una nueva de cierta manera. Si queremos iniciar una nueva conversaci贸n, tenemos el comando reset. Que con reset lo que vamos
137
+
138
+ 00:08:04.046 --> 00:08:11.556
139
+ es a limpiar por completo la conversaci贸n y tener como si fuera una conversaci贸n nueva. Lo que yo voy a hacer en este momento es
140
+
141
+ 00:08:11.556 --> 00:08:23.736
142
+ pedirle que documente los hallazgos en un nuevo archivo Markdown. Documenta estos hallazgos en un archivo, eh... y le vamos a indicar que sea en
143
+
144
+ 00:08:23.736 --> 00:08:37.096
145
+ spec, con el formato que ya tienen el resto de archivos. Vamos a decirle que en este caso contin煤a con el cero tres. Por ejemplo,
146
+
147
+ 00:08:37.096 --> 00:08:44.116
148
+ 驴qu茅 va a pasar? 脡l los hallazgos que ya encontr贸 de seguridad de este repositorio los va a documentar en un archivo Markdown. Ese archivo
149
+
150
+ 00:08:44.116 --> 00:08:54.676
151
+ Markdown luego puede ser utilizado para mejorar la base de c贸digo, tomando en consideraci贸n las vulnerabilidades que 茅l encontr贸. Cloud Code ya guard贸 dentro de
152
+
153
+ 00:08:54.676 --> 00:09:05.796
154
+ este archivo Markdown el an谩lisis de seguridad que tuvo sobre el backend de este servicio. Vemos que tiene un resumen ejecutivo de cu谩les fueron los
155
+
156
+ 00:09:05.796 --> 00:09:16.676
157
+ hallazgos de, eh, vulnerabilidades que encontr贸, que es un reporte en el que se puede hacer bypass de la autorizaci贸n en las operaciones de rating.
158
+
159
+ 00:09:16.676 --> 00:09:28.396
160
+ Y aqu铆 la cataloga, eh, seg煤n el est谩ndar OWASP como un control de accesos roto con una confianza del noventa y cinco por ciento. De
161
+
162
+ 00:09:28.396 --> 00:09:39.936
163
+ esta forma nosotros podemos ejecutar a Cloud Code de forma que no nos pida aceptar permisos para ejecutar cualquier comando, que 茅l tenga total libertad
164
+
165
+ 00:09:39.936 --> 00:09:47.836
166
+ y plena confianza en 茅l de ejecutar lo que necesite y de crear el c贸digo que necesite, pero tambi茅n nos ofrece la alternativa de luego
167
+
168
+ 00:09:47.836 --> 00:09:55.916
169
+ revisar qu茅 fue lo que cre贸. Ya tenemos la implementaci贸n de los features de backend terminada. Tenemos la migraci贸n de base de datos junto con
170
+
171
+ 00:09:55.916 --> 00:10:04.996
172
+ las tablas, los modelos, el API y las pruebas creadas. Tambi茅n tenemos un an谩lisis de seguridad sobre lo que acabamos de crear. Utiliza a Cloud
173
+
174
+ 00:10:04.996 --> 00:10:13.896
175
+ Code y este nuevo an谩lisis de seguridad para corregir esta vulnerabilidad. D茅jame en la secci贸n de comentarios c贸mo resolviste este problema. Nos vemos en la
176
+
177
+ 00:10:13.896 --> 00:10:14.896
178
+ pr贸xima clase.
179
+
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/02-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/03-Implementaci贸n de ratings con estrellas en lista de cursos frontend.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e1fa1cf9b140a522a0f936d3349e01ab7bf012950e52ccbcd5f10d785f4ba43
3
+ size 252363972
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/03-Implementaci贸n de ratings con estrellas en lista de cursos frontend.vtt ADDED
@@ -0,0 +1,296 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.200 --> 00:00:06.880
4
+ Vamos a implementar el sistema ratings en el frontend. Hemos venido preparando el proyecto para que el backend tenga el API y la base de
5
+
6
+ 00:00:06.880 --> 00:00:16.079
7
+ datos lista para guardar las estrellas de cada curso. Antes de avanzar, te invito a que intentes revisar y solucionar los problemas del frontend antes
8
+
9
+ 00:00:16.079 --> 00:00:23.380
10
+ de esta clase. En el repositorio que est谩 en la secci贸n de enlaces, est茅 ya todo solucionado. Pero utiliza Cloud Code para identificar qu茅 puede
11
+
12
+ 00:00:23.380 --> 00:00:31.640
13
+ estar fallando y solucionarlo. En las clases anteriores, hemos venido preparando los planes de implementaci贸n de ratings tanto en backend como en frontend. En la
14
+
15
+ 00:00:31.640 --> 00:00:41.420
16
+ secci贸n de frontend, tenemos seis fases de implementaci贸n que empezaremos en esta clase. Lo primero que tenemos que hacer para poder empezar la implementaci贸n es
17
+
18
+ 00:00:41.420 --> 00:00:50.600
19
+ correr el servidor. En la carpeta de frontend, tenemos el archivo README.md y usualmente es all铆 en donde se encuentran las instrucciones para poner a
20
+
21
+ 00:00:50.600 --> 00:00:58.900
22
+ correr el servicio. Cuando no est谩 expl铆cito, se puede utilizar al mismo Cloud para que entienda la base de c贸digo y vea una forma de
23
+
24
+ 00:00:58.900 --> 00:01:06.720
25
+ ponerlo a correr. Como esto ya est谩 construido, lo vamos a aprovechar. Entonces, vamos a la terminal y vamos a entrar a la carpeta de
26
+
27
+ 00:01:06.720 --> 00:01:15.759
28
+ frontend. En la carpeta de frontend abriremos la sesi贸n de conversaci贸n con Cloud y vemos que el comando para correr este servicio es con yarn
29
+
30
+ 00:01:15.760 --> 00:01:25.800
31
+ dev. Antes de hacer el yarn dev, necesitamos garantizar que las dependencias est谩n instaladas. Entonces, podemos hacer f谩cilmente un yarn install. Esto es usualmente el
32
+
33
+ 00:01:25.800 --> 00:01:34.120
34
+ paso a seguir cuando se trabaja en el frontend. Se instalan dependencias y luego se pone a correr el proyecto. Entonces, ahora s铆 abrimos Cloud
35
+
36
+ 00:01:34.120 --> 00:01:44.240
37
+ y utilizando el comando de Bash, vamos a escribir yarn dev. De esta manera, nosotros vamos a prender el servidor y Cloud Code va a
38
+
39
+ 00:01:44.240 --> 00:01:51.560
40
+ tener el contexto de lo que est谩 pasando con este servidor, porque cualquier salida que tenga este comando, Cloud Code lo va a tomar como
41
+
42
+ 00:01:51.560 --> 00:02:01.940
43
+ contexto. Entonces, ejecutamos este comando y vamos a ver que se nos habilita la opci贸n de correr esto en background. 驴Por qu茅? Porque cuando se
44
+
45
+ 00:02:01.940 --> 00:02:09.800
46
+ ejecuta este comando, el servicio siempre est谩 corriendo. Es decir, siempre va a haber una salida y siempre va a estar esperando que algo suceda.
47
+
48
+ 00:02:09.800 --> 00:02:17.940
49
+ Si lo mandamos al background, utilizando control B, vamos a ver que abajo se nos va a habilitar una nueva opci贸n, que es que este
50
+
51
+ 00:02:17.940 --> 00:02:28.260
52
+ comando est谩 corriendo y estuvo listo en seiscientos treinta y nueve milisegundos. Si queremos ver la salida de este comando, podemos utilizar Bashes. Y en
53
+
54
+ 00:02:28.260 --> 00:02:35.680
55
+ Bashes se nos va a mostrar cu谩les son las tareas que est谩n en background. Y en este caso solamente tenemos una, que es el servicio
56
+
57
+ 00:02:35.680 --> 00:02:43.380
58
+ de frontend. Y aqu铆 vemos que tiene una salida. El servicio de frontend, en este caso, est谩 corriendo en localhost tres mil. Entonces, vamos a
59
+
60
+ 00:02:43.380 --> 00:02:52.020
61
+ ir al navegador y abrimos esta direcci贸n. En el navegador vemos que se nos muestra un error. Y este error es usualmente porque no puede
62
+
63
+ 00:02:52.020 --> 00:03:01.500
64
+ encontrar la lista de cursos. Esto significa que el servicio de backend no est谩 prendido. Volvamos al editor de texto y pongamos a funcionar el
65
+
66
+ 00:03:01.500 --> 00:03:12.060
67
+ servicio de backend. Como aprendimos en la clase anterior, el servicio de backend tiene aqu铆 una opci贸n para poner a correrlo muy f谩cilmente, que es
68
+
69
+ 00:03:12.060 --> 00:03:20.480
70
+ con el archivo Makefile. Y aqu铆 lo podemos prender. Entonces, vamos a entrar a backend y vamos a ejecutar make start. Y aqu铆 con make
71
+
72
+ 00:03:20.480 --> 00:03:28.660
73
+ start ya vamos a tener los dos servicios importantes del backend, que es la base de datos y el API. Aqu铆 seguimos viendo que, eh...
74
+
75
+ 00:03:28.660 --> 00:03:38.260
76
+ sigue corriendo la tarea de el servidor de desarrollo del frontend. Y podemos ir al navegador nuevamente y recargar. Aqu铆 ya tenemos a PlatziFlix en
77
+
78
+ 00:03:38.260 --> 00:03:47.720
79
+ la secci贸n de frontend corriendo. Con el frontend corriendo, ya podemos empezar la implementaci贸n del feature de ratings. Vamos a utilizar el plan de especificaci贸n
80
+
81
+ 00:03:47.720 --> 00:03:54.860
82
+ que hemos construido a lo largo del curso para que Cloud Code entienda qu茅 debe hacer y lo empiece a ejecutar. Para salirnos de esta
83
+
84
+ 00:03:54.860 --> 00:04:04.200
85
+ pantalla, eh, simplemente presionamos la tecla enter, espacio o escape. Con esto ya nos salimos de la interfaz de bashes y volvemos a la conversaci贸n
86
+
87
+ 00:04:04.200 --> 00:04:13.040
88
+ con Cloud Code. Aqu铆 podemos ver o darle el contexto de que este va a ser el plan de implementaci贸n. Entonces, podemos utilizar dos partes:
89
+
90
+ 00:04:13.040 --> 00:04:24.380
91
+ darlo como contexto utilizando, eh, command option K, y aqu铆 lo ponemos como contexto, o ya como estaba conectado al nave-- al editor de texto,
92
+
93
+ 00:04:24.380 --> 00:04:32.680
94
+ lo podemos utilizar. 驴Qu茅 va a ser la instrucci贸n para que empiece a aplicar este plan de implementaci贸n? Primero, que entienda muy bien cu谩l es
95
+
96
+ 00:04:32.680 --> 00:04:41.440
97
+ el contexto de este plan. 驴Por qu茅? Porque sin el contexto necesario va a poder crear cualquier cosa. Luego de que entienda cu谩l es el
98
+
99
+ 00:04:41.440 --> 00:04:50.940
100
+ plan, le pediremos al subagente de frontend, que ya tenemos construido, que empiece con la implementaci贸n. Entonces, vamos por pasos. Primero, dar contexto y luego
101
+
102
+ 00:04:50.940 --> 00:04:59.920
103
+ s铆 la implementaci贸n. Aqu铆 est谩 el resumen de lo que Cloud analiz贸 y entendi贸 del plan de implementaci贸n que tenemos de ratings. Dice que permite
104
+
105
+ 00:04:59.920 --> 00:05:10.520
106
+ a los usuarios calificar cursos con estrellas de uno cinco y visualizar estad铆sticas agregadas. Incluye backend y frontend. Excelente. Ya entendi贸 el prop贸sito del feature
107
+
108
+ 00:05:10.520 --> 00:05:18.659
109
+ de ratings y entendi贸 muy bien qu茅 es lo que debe hacer. Ahora, vamos a invocar al agente de frontend para que haga la implementaci贸n
110
+
111
+ 00:05:18.660 --> 00:05:28.140
112
+ de los componentes de rating. En este caso, 煤nicamente para la lista de cursos. 驴Por qu茅? Porque te voy a invitar a que t煤 termines
113
+
114
+ 00:05:28.140 --> 00:05:36.560
115
+ la implementaci贸n de ratings tanto para la vista de curso individual como la vista de clases. Al inicio de esta sesi贸n de conversaci贸n del frontend
116
+
117
+ 00:05:36.560 --> 00:05:45.050
118
+ con Cloud Code, nosotros entramos a la carpeta frontend. En la carpeta frontend no est谩n disponibles los subagentes que hemos construido a lo largo de
119
+
120
+ 00:05:45.050 --> 00:05:53.760
121
+ este curso. Entonces, para aprovechar la conversaci贸n que ya tenemos, vamos a utilizar un feature de Cloud Code que permite exportar la conversaci贸n y utilizarla
122
+
123
+ 00:05:53.760 --> 00:06:03.280
124
+ en otra sesi贸n. Vamos al editor. Cloud Code tiene el comando export, que permite exportar la conversaci贸n actual a un archivo o al portapapeles de
125
+
126
+ 00:06:03.280 --> 00:06:11.736
127
+ la computadora. Cuando lo seleccionamos, 茅l nos va a mostrar esas dos opciones.Copiarlo al portapapeles o guardarlo en un archivo. Yo voy a elegir la
128
+
129
+ 00:06:11.736 --> 00:06:22.456
130
+ opci贸n uno. Y ahora, en mi portapapeles, ya tengo disponible esta conversaci贸n. Nos salimos y vamos a la carpeta padre de frontend, que en este
131
+
132
+ 00:06:22.456 --> 00:06:33.076
133
+ caso es el curso de Cloud Code. Abrimos una nueva sesi贸n de Cloud y le vamos a dar una peque帽a instrucci贸n: [tecleo]esta es una conversaci贸n
134
+
135
+ 00:06:33.076 --> 00:06:51.856
136
+ que ten铆a en otra sesi贸n contigo. Util铆zala y entiende el contexto que est谩bamos teniendo en esa conversaci贸n. Y pego. Cuando se pega algo en Cloud
137
+
138
+ 00:06:51.856 --> 00:06:58.936
139
+ Code y es muy extenso, 茅l lo va a comprimir y va a decir un mensaje de que se, eh, peg贸 un texto de m谩s
140
+
141
+ 00:06:58.936 --> 00:07:06.816
142
+ de cien l铆neas. As铆, en, de esta forma, nosotros tenemos una conversaci贸n un poco m谩s ordenada y no un mont贸n de texto. Pero cuando se
143
+
144
+ 00:07:06.816 --> 00:07:15.736
145
+ env铆a la conversaci贸n, s铆 est谩 disponible todo el texto que le pegamos en este caso. Cuando 茅l lea esta conversaci贸n, lo que va a hacer
146
+
147
+ 00:07:15.736 --> 00:07:24.515
148
+ es entenderlo, porque as铆 fue la instrucci贸n que yo le di. Y como ya tiene todo el contexto necesario, ya podemos utilizar al subagente de
149
+
150
+ 00:07:24.515 --> 00:07:36.076
151
+ Agent, del frontend, que lo tenemos construido en las clases anteriores como especialista en desarrollo frontend. Como podemos ver, y yo como abr铆 otra sesi贸n,
152
+
153
+ 00:07:36.076 --> 00:07:45.236
154
+ es posible que el servidor de desarrollo del frontend se haya apagado. Vamos a volver a correrlo utilizando el bash mode de Cloud Code y
155
+
156
+ 00:07:45.236 --> 00:07:55.576
157
+ le damos la instrucci贸n de yarn dev. Aqu铆 lo que me dice es que no se puede correr el servidor de frontend desde esta carpeta.
158
+
159
+ 00:07:55.576 --> 00:08:05.716
160
+ Entonces, lo podemos crear por fuera, es decir, podemos correr el servidor por fuera haciendo un yarn dev y ya va a estar disponible. En
161
+
162
+ 00:08:05.716 --> 00:08:14.876
163
+ este caso, no va a tener el contexto, pero igualmente se podr铆a utilizar el, el servidor de frontend. Y aqu铆 le vamos a decir: [tecleo]
164
+
165
+ 00:08:14.876 --> 00:08:34.116
166
+ utiliza al subagente de frontend para empezar la implementaci贸n de los componentes de rating solamente para la vista, para la lista de cursos. Aqu铆 me
167
+
168
+ 00:08:34.116 --> 00:08:43.076
169
+ est谩 pidiendo que apruebe la edici贸n sobre el archivo rating punto Typescript. Y aqu铆 lo que est谩 haciendo es la implementaci贸n de las interfaces seg煤n
170
+
171
+ 00:08:43.076 --> 00:08:52.616
172
+ el plan que nosotros le dimos ac谩, cuya fase uno es la implementaci贸n de tipos e interfaces de ratings. Entonces, vamos a probarlo y dejamos
173
+
174
+ 00:08:52.616 --> 00:09:01.556
175
+ que contin煤e con la implementaci贸n del feature. Como ya est谩 haciendo varias modificaciones, yo voy a cambiar para que permita cualquier edici贸n durante esta sesi贸n
176
+
177
+ 00:09:01.556 --> 00:09:12.716
178
+ de conversaci贸n. Entonces, presionamos la opci贸n dos. Aqu铆 pas贸 algo curioso, que Claude y cualquier agente de codificaci贸n tiende a hacer, y es que se
179
+
180
+ 00:09:12.716 --> 00:09:22.036
181
+ va mucho m谩s all谩 de lo que le solicitamos. Nosotros en las instrucciones iniciales, aunque no fuimos tan expl铆citos, le pedimos que hiciera la implementaci贸n
182
+
183
+ 00:09:22.036 --> 00:09:30.675
184
+ de la UI del componente de ratings en la lista de cursos. Pero ahorita lo que est谩 haciendo es revisando incluso lo que est谩 definido
185
+
186
+ 00:09:30.675 --> 00:09:39.336
187
+ en el backend. Entonces, paramos la ejecuci贸n y vamos a decirle que se estaba yendo mucho m谩s all谩. Que lo que necesitamos es que se
188
+
189
+ 00:09:39.336 --> 00:09:47.956
190
+ cree el componente de ratings y que aunque el API a煤n no est茅 implementada, pueda mostrar un mock de los valores del rating para ciertos
191
+
192
+ 00:09:47.956 --> 00:09:56.076
193
+ cursos. Entonces, con otro prompt le vamos a indicar que estaba equivocado y que corrija haciendo lo que le vamos a indicar. Entendi贸 mi instrucci贸n
194
+
195
+ 00:09:56.076 --> 00:10:02.956
196
+ y aqu铆 me est谩 diciendo que va a implementar directamente los componentes de UI. Y ante eso, me muestra cu谩les son los to dos que
197
+
198
+ 00:10:02.956 --> 00:10:11.156
199
+ 茅l volvi贸 a pensar y volvi贸 a implementar para este caso. Me dice que ya todo est谩 implementado y que ahora quiere iniciar el servidor.
200
+
201
+ 00:10:11.156 --> 00:10:17.076
202
+ Aqu铆 lo que va a pasar es que como nosotros corrimos el servidor ya en otra terminal, va a decir que no va a poder
203
+
204
+ 00:10:17.076 --> 00:10:24.356
205
+ correrlo. Entonces, claro, el puerto tres mil ya est谩 en uso. Entonces, lo que podemos hacer es parar este servicio ac谩, lo detuvimos y le
206
+
207
+ 00:10:24.356 --> 00:10:34.716
208
+ pedimos a Cloud Code en este caso que vuelva a ejecutar el yarn dev para levantar el servicio. Veamos qu茅 hace. Excelente. Aqu铆 ya corri贸
209
+
210
+ 00:10:34.716 --> 00:10:44.336
211
+ el servicio de frontend, pero en esta sesi贸n de conversaci贸n. Muy bien. Si escribimos bashes, vamos a ver que tenemos dos, eh, instancias corriendo, una
212
+
213
+ 00:10:44.336 --> 00:10:51.596
214
+ que ya no est谩 funcionando y otra que est谩 lista y es el yarn dev. Muy bien. Entonces, vamos al navegador y veamos qu茅 tal
215
+
216
+ 00:10:51.596 --> 00:10:59.266
217
+ qued贸 el componente de ratings en la lista de cursos. Aqu铆 vemos que agreg贸 las estrellas la cantidad e hizo un peque帽o efecto con CSS
218
+
219
+ 00:10:59.266 --> 00:11:08.056
220
+ sobre el rating promedio de este curso. Y as铆 para el resto de cursos. Recordemos que le dimos o le dijimos a Claude que utilizara
221
+
222
+ 00:11:08.056 --> 00:11:16.816
223
+ datos mocked, que no existiera la implementaci贸n o la integraci贸n con el API que hemos hecho a lo largo del curso, sino que, eh, utilizara
224
+
225
+ 00:11:16.816 --> 00:11:26.675
226
+ datos mocked para poder ver c贸mo estaba quedando el componente. Muy bien. Aqu铆 nos podemos dar cuenta de que existen a煤n m煤ltiples mejoras en CSS
227
+
228
+ 00:11:26.675 --> 00:11:36.496
229
+ y lo que vamos a hacer es capturar pantalla y darle contexto a Cloud Code utilizando la imagen que acabamos de capturar. Si capturamos pantalla,
230
+
231
+ 00:11:36.496 --> 00:11:46.656
232
+ podemos capturar solo una secci贸n o capturar la pantalla completa. Cuando capturamos pantalla, en este caso en MacOS, se queda la imagen dentro del portapapeles
233
+
234
+ 00:11:46.656 --> 00:11:57.716
235
+ del, eh, del computador. Eso lo podemos pegar en Cloud Code, pero no utilizando la tecla command, sino la tecla control. Entonces, volvamos al editor
236
+
237
+ 00:11:57.716 --> 00:12:06.435
238
+ y peguemos la imagen. Nos salimos de ac谩 y pegamos la imagen presionando control B. Aqu铆 lo que pasa es que Cloud Code, al igual
239
+
240
+ 00:12:06.435 --> 00:12:12.796
241
+ que cuando copiamos o pegamos un texto muy grande, lo que hace es achicar el contexto. En este caso, no nos muestra la imagen que
242
+
243
+ 00:12:12.796 --> 00:12:18.616
244
+ acabamos de pegar, pero s铆 nos dice que hay una imagen que est谩 pegada. Lo que le vamos a pedir, entonces, es que haga un
245
+
246
+ 00:12:18.616 --> 00:12:26.848
247
+ an谩lisis de esta imagen para ver qu茅 tanto entiende de lo que le acab茅 de decir. [tecleo]Haz un an谩lisis a--Un an谩lisis detallado de la imagen
248
+
249
+ 00:12:26.848 --> 00:12:36.408
250
+ que te acabo de compartir. Aqu铆 voy a aprender el modo de pensamiento extendido para que pueda hacer el an谩lisis detallado como le estoy pidiendo.
251
+
252
+ 00:12:36.408 --> 00:12:49.808
253
+ Tambi茅n, si quisi茅ramos, le podemos decir ultrathink sobre la imagen que te acab茅 de pasar, porque es el componente que acabas de crear. Lo mandamos
254
+
255
+ 00:12:49.808 --> 00:12:57.708
256
+ y vemos que nos va a responder. En este caso, cuando captur茅 pantalla, me captur贸 pantalla de un sitio que no era el que yo
257
+
258
+ 00:12:57.708 --> 00:13:08.148
259
+ esperaba capturar, sino de, en este caso, de otro monitor que yo tengo en este momento. Entonces, volvamos al navegador y capturemos la pantalla que
260
+
261
+ 00:13:08.148 --> 00:13:19.448
262
+ tenemos, pero como si fuera un segmento, no la pantalla completa. Y lo pegamos con control be. Y le decimos: 芦Esta s铆 es la imagen禄.
263
+
264
+ 00:13:19.448 --> 00:13:27.168
265
+ Haz el an谩lisis. Aqu铆 podemos ver el an谩lisis que hizo sobre la imagen que le acabo de pegar. Aqu铆 me dice que ahora s铆 ve
266
+
267
+ 00:13:27.168 --> 00:13:33.988
268
+ el componente de star-rating porque antes le hab铆a pasado otra imagen incorrecta. Y aqu铆 empieza a analizar lo que ve. Lo primero que ve es
269
+
270
+ 00:13:33.988 --> 00:13:41.408
271
+ el curso de React como primera card con la cantidad de estrellas, que en este caso es tres punto cinco. Luego empieza a hacer un
272
+
273
+ 00:13:41.408 --> 00:13:51.268
274
+ an谩lisis m谩s detallado sobre los estilos que acaban de implementar, el contador que acaba de hacer, el modo read-only y los datos moqueados que 茅l
275
+
276
+ 00:13:51.268 --> 00:14:01.308
277
+ hizo para representar este componente. Entonces, de esta forma nosotros podemos darle contexto a Cloud Code, no 煤nicamente del c贸digo que tenemos, sino tambi茅n de
278
+
279
+ 00:14:01.308 --> 00:14:10.648
280
+ las im谩genes que podemos capturar de nuestro entorno. Puede ser no 煤nicamente una captura de pantalla, sino tambi茅n una imagen de referencia. Gu铆ate de esta
281
+
282
+ 00:14:10.648 --> 00:14:19.948
283
+ interfaz para que lo implementes de esta manera. Revisa que los estilos que est谩n dentro de esta captura de pantalla correspondan a este otro que
284
+
285
+ 00:14:19.948 --> 00:14:28.248
286
+ te paso como referencia. Entonces, ah铆 se puede jugar con una gran cantidad de contexto, no 煤nicamente contexto, sino tambi茅n con im谩genes. Ya tenemos el
287
+
288
+ 00:14:28.248 --> 00:14:37.008
289
+ componente de ratings integrado en la lista de cursos. Recuerda hacer el componente, pero en este caso para el detalle del curso y dejarme en
290
+
291
+ 00:14:37.008 --> 00:14:43.928
292
+ la secci贸n de comentarios qu茅 retos tuviste y c贸mo los resolviste. En la pr贸xima clase, en vez de utilizar datos mock, vamos a conectar estos
293
+
294
+ 00:14:43.928 --> 00:14:48.448
295
+ componentes con la API que construimos en las clases de backend. Nos vemos all谩.
296
+
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/03-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/04-Integraci贸n de ratings con API usando Claude Code.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:955ddb2d058a239a1386d54a53a3eeb98b5c701d3133a0aee7a59b7bb2defa6d
3
+ size 109622975
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/04-Integraci贸n de ratings con API usando Claude Code.vtt ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.120 --> 00:00:07.960
4
+ Ya tenemos el esquema de base de datos funcional para que guarde los ratings por curso. Hemos construido los endpoints de la API para que
5
+
6
+ 00:00:07.960 --> 00:00:15.979
7
+ utilice lo que est谩 en la base de datos y nos permita guardar y leer. Tambi茅n, construimos el componente que muestra el rating por curso,
8
+
9
+ 00:00:15.980 --> 00:00:24.380
10
+ pero en la lista de cursos. En esta clase, vamos a terminar la implementaci贸n de ratings, aprovechando todo lo que hemos construido para que el
11
+
12
+ 00:00:24.380 --> 00:00:33.200
13
+ frontend lea del API y muestre la informaci贸n correcta en la pantalla del navegador. Vamos a utilizar un feature de Cloud Code que permite agregar
14
+
15
+ 00:00:33.200 --> 00:00:43.020
16
+ como contexto un nuevo directorio de trabajo. En este caso, servir谩 de ejemplo, porque nosotros tenemos dentro de una misma carpeta ambos proyectos, tanto el
17
+
18
+ 00:00:43.020 --> 00:00:51.180
19
+ backend como el frontend. Pero como nosotros entramos a la carpeta de frontend, no tiene contexto directo de esta carpeta de backend. Y esto va
20
+
21
+ 00:00:51.180 --> 00:00:58.800
22
+ a servir, por ejemplo, si es una carpeta externa que queremos agregar como contexto. Si tenemos dos proyectos que no est谩n contenidos en la misma
23
+
24
+ 00:00:58.800 --> 00:01:07.640
25
+ carpeta, de esta forma es que vamos a darle contexto a cierta conversaci贸n sobre un directorio externo. Entonces, abrimos la terminal y lo que vamos
26
+
27
+ 00:01:07.640 --> 00:01:16.440
28
+ a hacer es buscar cu谩l es la direcci贸n absoluta del directorio que queremos agregar como contexto. En este caso, entramos a backend y, ejecutando el
29
+
30
+ 00:01:16.440 --> 00:01:26.680
31
+ comando pwd, vamos a obtener esta direcci贸n absoluta. La copiamos, vamos a Cloud Code y utilizamos el comando adddir. Con este adddir le vamos a
32
+
33
+ 00:01:26.680 --> 00:01:36.060
34
+ pegar lo que acabamos de copiar de direcci贸n absoluta. Y aqu铆 nos va a decir que ya est谩 accesible como contexto dentro de la conversaci贸n.
35
+
36
+ 00:01:36.060 --> 00:01:45.580
37
+ Como necesitamos hacer que el frontend entienda el backend para hacer la implementaci贸n del API, vamos a pedirle que, con un prompt, haga esa, eh,
38
+
39
+ 00:01:45.580 --> 00:02:02.320
40
+ investigaci贸n en el repositorio de backend. 芦Averigua todo lo que necesites para hacer la integraci贸n del API de ratings en el frontend. Busca los archivos
41
+
42
+ 00:02:02.320 --> 00:02:19.220
43
+ dentro de la carpeta... carpeta backend que tengan relevancia para tu integraci贸n禄. Ya hizo la investigaci贸n dentro del backend y se dio cuenta de todo
44
+
45
+ 00:02:19.220 --> 00:02:26.980
46
+ lo que hemos construido. Y me hace un resumen bastante bueno de qu茅 es lo que encontr贸. En este caso, me muestra el modelo de
47
+
48
+ 00:02:26.980 --> 00:02:37.220
49
+ datos de ratings. Me muestra cu谩les son los endpoints que est谩n disponibles para, eh, los ratings. Tambi茅n me muestra cu谩l es el esquema de respuesta.
50
+
51
+ 00:02:37.220 --> 00:02:46.120
52
+ Es decir, ya tiene un contexto completo a partir del c贸digo que ley贸 e interpret贸. Muchas veces esto no es posible de hacer. 驴Por qu茅?
53
+
54
+ 00:02:46.120 --> 00:02:54.540
55
+ Porque si trabajamos con una API externa y no tenemos acceso al c贸digo fuente, no es posible acceder o hacer lo que acabamos de incluir
56
+
57
+ 00:02:54.540 --> 00:03:03.980
58
+ en la conversaci贸n, que es que vaya y analice el c贸digo que est谩 descrito. Entonces, otra herramienta que tenemos es pedirle que haga llamados al
59
+
60
+ 00:03:03.980 --> 00:03:15.000
61
+ API para que entienda la estructura. Pero al final esto es muy ineficiente. Nosotros sabemos que en el API tenemos la documentaci贸n de esta utilizando
62
+
63
+ 00:03:15.000 --> 00:03:23.940
64
+ algo que se llama swagger. Entonces, vamos al navegador y extraigamos el swagger de este API. Esta es la direcci贸n del API, que es localhost
65
+
66
+ 00:03:23.940 --> 00:03:30.760
67
+ en el puerto ocho mil. Pero si yo voy a docs, aqu铆 vamos a ver que se abre el swagger de PlatziFlix. Y aqu铆 abajo
68
+
69
+ 00:03:30.760 --> 00:03:40.540
70
+ hay un link, que es el openapi.json. Este open api lo que tiene es la definici贸n de todos los endpoints que tenemos en esta API.
71
+
72
+ 00:03:40.540 --> 00:03:54.160
73
+ Como es texto, se puede copiar y d谩rselo como contexto a Cloud Code. Entonces, lo podemos copiar o incluso, mucho mejor, es decirle: 芦haz un
74
+
75
+ 00:03:54.160 --> 00:04:08.670
76
+ curl a esta direcci贸n y extrae todo el contexto que puedas del openapi.json禄. Y le pasamos la direcci贸n. 驴Qu茅 es lo que espero que haga?
77
+
78
+ 00:04:08.670 --> 00:04:18.079
79
+ Que haga el llamado, extraiga el json y lo utilice como contexto. Ya termin贸 de extraer la informaci贸n del openapi.json y aqu铆 me est谩 haciendo
80
+
81
+ 00:04:18.079 --> 00:04:26.540
82
+ un resu-resumen de qu茅 fue lo que encontr贸. Y me hace algunas especificaciones sobre el rating. Como ya tiene contexto tanto del c贸digo como del
83
+
84
+ 00:04:26.540 --> 00:04:37.700
85
+ API, le voy a pedir que haga la implementaci贸n del API en el componente que acaba de crear. 芦Utilizando el contexto, haz la integraci贸n del
86
+
87
+ 00:04:37.700 --> 00:04:46.460
88
+ API para que traiga el rating del curso禄. Y aqu铆 le vamos a hacer muy expl铆cito que es en la lista de cursos. 芦En la
89
+
90
+ 00:04:46.460 --> 00:05:00.719
91
+ p谩gina de lista de cursos para mostrar el valor que viene desde el app, ya que usamos un mock禄. Esto es bastante interesante, porque Cloud
92
+
93
+ 00:05:00.720 --> 00:05:11.300
94
+ Code se dio cuenta que en la lista de cursos, en el endpoint que trae la lista de cursos, no est谩 incluido el rating. Es
95
+
96
+ 00:05:11.300 --> 00:05:20.000
97
+ decir, que para terminar la integraci贸n del frontend con el backend, hay que hacer algo en el backend. Interrump铆 esta ejecuci贸n para mostrar que cuando
98
+
99
+ 00:05:20.000 --> 00:05:30.320
100
+ hacemos esta integraci贸n de varios directorios, somos capaces de hacer modificaciones en ambas partes. Entonces, como ya termin贸 de hacer esta investigaci贸n y tiene el
101
+
102
+ 00:05:30.320 --> 00:05:42.020
103
+ plan de ejecuci贸n, le voy a decir que lo haga. 芦Ejecuta la lista de todos禄. Cloud ya me avisa que termin贸 la integraci贸n del API
104
+
105
+ 00:05:42.020 --> 00:05:49.640
106
+ con el frontend. Esto quiere decir que en el navegador ya tenemos los datos reales que retorna el API. En este caso, para el curso
107
+
108
+ 00:05:49.640 --> 00:05:57.500
109
+ de React, dice que el total ratings es de cuatro, con un promedio de cuatro punto veinticinco. Si vamos al navegador y actualizamos, vamos a
110
+
111
+ 00:05:57.500 --> 00:06:05.859
112
+ ver esos datos. Vemos que el curso de React s铆 tiene efectivamente el rating que est谩 diciendo: cuatro punto cinco con una cantidad de cuatro
113
+
114
+ 00:06:05.860 --> 00:06:15.040
115
+ y el curso de Python con una cantidad de dos. De esta forma concluimos la integraci贸n del backend con el frontend. Hacemos correcciones en ambas
116
+
117
+ 00:06:15.040 --> 00:06:23.820
118
+ direcciones. Cuando estamos integrando el frontend, corregimos qu茅 falta en el backend y tambi茅n podemos hacer que cuando hacemos correcciones en el backend, podemos hacer
119
+
120
+ 00:06:23.820 --> 00:06:33.420
121
+ modificaciones en el frontend. Esto es poderoso porque Cloud Code permite, entonces, tener un flujo completo end to end, full stack, de cierta manera, de
122
+
123
+ 00:06:33.420 --> 00:06:41.840
124
+ desarrollo de c贸digo. Ahora, el reto que tienes es terminar la implementaci贸n de ratings, en el que un estudiante pueda guardar qu茅 tal le apareci贸
125
+
126
+ 00:06:41.840 --> 00:06:48.680
127
+ el curso y mostrar en el detalle del curso cu谩l es el rating para 茅l. D茅jame en la secci贸n de comentarios qu茅 features de Cloud
128
+
129
+ 00:06:48.680 --> 00:06:50.800
130
+ Code utilizaste y qu茅 retos tuviste.
131
+
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/04-Resumen.html ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/02-M贸dulo 2 Implementaci贸n Backend/05-Quiz.mhtml ADDED
The diff for this file is too large to render. See raw diff
 
Curso de Claude Code/03-M贸dulo 3 Gesti贸n de Contexto y Comandos/01-Instalaci贸n de servidores MCP en Claude Code.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:df7c6c0aee0f31fda911313b6b1d47c6a18f5a9efb9b1aadd75ab6039cb810ee
3
+ size 223878507
Curso de Claude Code/03-M贸dulo 3 Gesti贸n de Contexto y Comandos/01-Instalaci贸n de servidores MCP en Claude Code.vtt ADDED
@@ -0,0 +1,272 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WEBVTT
2
+
3
+ 00:00:00.120 --> 00:00:09.620
4
+ Lo m谩s importante cuando trabajamos con un agente de codificaci贸n es contexto. El equipo de Anthropic desarroll贸 el MCP, que es el protocolo de contexto
5
+
6
+ 00:00:09.620 --> 00:00:20.370
7
+ para modelos. Esto, en palabras simples, es la forma est谩ndar que tenemos de proveerle a un modelo de contexto y de capacidades extendidas m谩s all谩
8
+
9
+ 00:00:20.370 --> 00:00:28.900
10
+ para lo que fue fabricado. Cloud Code permite agregar servidores MCPs f谩cilmente y poder utilizarlos. En esta clase vamos a hacer la instalaci贸n de tres
11
+
12
+ 00:00:28.900 --> 00:00:37.980
13
+ servidores MCPs que a m铆 me parecen muy relevantes para tener un flujo de trabajo completo como desarrollador. Vamos al c贸digo. Cloud Code permite hacer
14
+
15
+ 00:00:37.980 --> 00:00:47.040
16
+ la gesti贸n de servidores MCP a trav茅s de la l铆nea de comandos. Si hacemos: 芦cloud mcp help禄, aqu铆 nos va a mostrar la ayuda que
17
+
18
+ 00:00:47.040 --> 00:00:58.960
19
+ necesitamos para poder hacer la gesti贸n de los servidores MCPs. Podemos ver que tenemos c贸mo agregarlos y c贸mo servir servidores MCPs. Tambi茅n listar cu谩les tenemos,
20
+
21
+ 00:00:58.960 --> 00:01:10.980
22
+ remover los que tenemos instalados y as铆 sucesivamente. Hay dos formas de poder agregar servidores MCPs a Cloud Code. Uno es importarlos desde la aplicaci贸n
23
+
24
+ 00:01:10.980 --> 00:01:19.679
25
+ de escritorio de Cloud. Cloud no es 煤nicamente un agente de codificaci贸n, sino tambi茅n es una interfaz en la que podemos tener un chat con
26
+
27
+ 00:01:19.680 --> 00:01:30.840
28
+ el modelo que querramos. Entonces, all谩 tambi茅n se pueden hacer implementaci贸n o instalaci贸n de servidores MCPs. Si lo tenemos configurado, podemos ejecutar este comando y
29
+
30
+ 00:01:30.840 --> 00:01:41.880
31
+ los traer谩 de donde est谩n. Tambi茅n podemos hacer la instalaci贸n de servidores MCPs a trav茅s del comando app. Si nosotros le pedimos la ayuda, aqu铆
32
+
33
+ 00:01:41.880 --> 00:01:50.460
34
+ vamos a ver cu谩les son las formas que tenemos de agregar los servidores MCPs. Hay tres tipos de servidores MCPs: a trav茅s de HTTP, de
35
+
36
+ 00:01:50.460 --> 00:01:58.700
37
+ Server Side Event o del est谩ndar Input/Output. Si quieres conocer m谩s sobre MCPs, te invito a que tomes el curso que tenemos ac谩 en Platzi,
38
+
39
+ 00:01:58.700 --> 00:02:05.920
40
+ que dej茅 el link en la secci贸n de enlaces y de recursos. Como dije al inicio, vamos a hacer la implementaci贸n de tres servidores MCPs
41
+
42
+ 00:02:05.920 --> 00:02:14.520
43
+ que a m铆 me parecen lo suficientemente sencillos de implementar y 煤tiles para tener un flujo de trabajo profesional como desarrollador. El primero es el
44
+
45
+ 00:02:14.520 --> 00:02:24.260
46
+ de Playwright. Entonces, vamos al navegador y veamos la documentaci贸n. El servidor MCP de Playwright lo que permite es abrir un navegador y permitirle a
47
+
48
+ 00:02:24.260 --> 00:02:33.940
49
+ los modelos de lenguaje la navegaci贸n en ciertos sitios webs. Entonces, si quieres m谩s informaci贸n, puedes leer la descripci贸n, pero en este caso nos basta
50
+
51
+ 00:02:33.940 --> 00:02:45.060
52
+ con bajar y buscar la secci贸n de Cloud Code. Y aqu铆 est谩 el comando para poder instalarlo. Lo podemos copiar y regresamos a la terminal.
53
+
54
+ 00:02:45.060 --> 00:02:54.920
55
+ En la terminal, pegamos el comando, presionamos enter. Aqu铆 me dice que ya fue instalado, es decir, fue agregado. 驴C贸mo lo certificamos? Si hacemos: cloud
56
+
57
+ 00:02:54.920 --> 00:03:03.620
58
+ mcp list. Y aqu铆 vamos a ver que est谩 haciendo un checking de cu谩les son los estatus de los servicios MCP que est谩n instalados. En
59
+
60
+ 00:03:03.620 --> 00:03:12.600
61
+ este caso, el de Playwright ya est谩 conectado. Entonces, abrimos a Cloud y gestionamos los MCPs a trav茅s del comando MCP. Aqu铆 me da la
62
+
63
+ 00:03:12.600 --> 00:03:20.600
64
+ lista de cu谩les son los servidores que est谩n disponibles. Y Playwright ya est谩 listo y est谩 conectado. Entonces, 驴c贸mo se utiliza el ser-- el servidor
65
+
66
+ 00:03:20.600 --> 00:03:30.120
67
+ de Playwright? Como permite automatizar y darle la capacidad al modelo de navegar sitios webs, lo que le vamos a pedir es que navegue al
68
+
69
+ 00:03:30.120 --> 00:03:41.500
70
+ local host en la lista de cursos que hemos venido trabajando. 驴C贸mo lo hacemos? Vamos al navegador y copiamos la ruta que hemos estado modificando.
71
+
72
+ 00:03:42.320 --> 00:03:52.720
73
+ Copiamos la ruta y nos devolvemos a Cloud. Y lo podemos hacer expl铆citamente, es decir, decirle a Cloud Code que utilizando el MCP de Playwright
74
+
75
+ 00:03:52.720 --> 00:04:01.600
76
+ visite este sitio web. Para verlo en ejemplo y ver c贸mo funciona, vamos a separar la pantalla y tenemos las dos partes en paralelo, tanto
77
+
78
+ 00:04:01.600 --> 00:04:10.980
79
+ el editor como el navegador. Utilizando el MCP de Playwright, visita este sitio. 驴Qu茅 va a hacer 茅l? Va a abrir el navegador. Aqu铆 me
80
+
81
+ 00:04:10.980 --> 00:04:21.220
82
+ pide permiso. 驴Por qu茅? Porque un servidor MCP se compone de tres cosas importantes: de tools, de resources y de prompts. En este caso, me
83
+
84
+ 00:04:21.220 --> 00:04:28.219
85
+ est谩 pidiendo a m铆 permiso para poder utilizar la tool de navegar a una URL. Yo le voy a decir que s铆 y que lo
86
+
87
+ 00:04:28.220 --> 00:04:37.660
88
+ voy a permitir durante esta sesi贸n. Entonces, aqu铆 se me abre el navegador, lo voy a poner ac谩, 驴y qu茅 est谩 haciendo ac谩? Aqu铆 lo
89
+
90
+ 00:04:37.660 --> 00:04:45.980
91
+ que est谩 haciendo Cloud es utilizar el contexto que est谩 tomando de Playwright y la navegaci贸n que le est谩 haciendo. Esta ventana del navegador la
92
+
93
+ 00:04:45.980 --> 00:04:54.560
94
+ est谩 gestionando autom谩ticamente el MCP de Playwright. Yo no estoy haciendo nada. Veamos qu茅 tantas capacidades tiene y c贸mo podemos hacer esto. Una de las
95
+
96
+ 00:04:54.560 --> 00:05:03.080
97
+ cosas importantes para los que sirve Playwright es para hacer unos tests de funcionalidad. Aqu铆 me est谩 diciendo que no se est谩n cargando las im谩genes
98
+
99
+ 00:05:03.080 --> 00:05:12.140
100
+ y puede incluso tomar contexto de los errores de la consola del navegador. Muy bien. Entonces, como una demostraci贸n, le voy a pedir que haga
101
+
102
+ 00:05:12.140 --> 00:05:26.960
103
+ scroll. 芦Haz scroll del sitio que est谩s visitando y utiliza las im谩genes que puedes capturar para describir qu茅 est谩s viendo禄. Las herramientas que tiene Playwright
104
+
105
+ 00:05:26.960 --> 00:05:33.960
106
+ son muy amplias. Una de ellas es hacer scroll del sitio, es decir, que pueda bajar. Otra cosa que puede hacer es tomar fotos y
107
+
108
+ 00:05:33.960 --> 00:05:44.520
109
+ utilizarlas como contexto. Tambi茅n grabar videos. En clases anteriores vimos c贸mo capturar pantalla y pasarlas como referencia. Playwright permite hacer la automatizaci贸n de ese flujo,
110
+
111
+ 00:05:44.520 --> 00:05:52.530
112
+ revisar qu茅 se est谩 renderizando, pas谩rselo al modelo y que el mismo tome las decisiones sobre qu茅 mejorar. Aqu铆 me est谩 pidiendo permiso para que
113
+
114
+ 00:05:52.530 --> 00:05:59.320
115
+ tome un screenshot. Tambi茅n le voy a decir que s铆 para toda la sesi贸n. 驴Qu茅 sucedi贸 ac谩? Hizo scroll y luego esper贸 dos segundos para
116
+
117
+ 00:05:59.320 --> 00:06:07.940
118
+ revisar si el scroll efectivamente se hab铆a hecho.Yo no estoy coordinando en este momento al navegador, sino que el mismo MCP es quien est谩 haciendo
119
+
120
+ 00:06:07.940 --> 00:06:15.960
121
+ las gestiones a la ventana que est谩 abierta. Aqu铆 ya me est谩 describiendo qu茅 fue lo que pudo ver. Dice que la estructura accesabilidad que
122
+
123
+ 00:06:15.960 --> 00:06:21.800
124
+ est谩 capturando puede escribir lo que ve en este sitio web, que es el que nosotros le pedimos que hiciera. Ve el branding de Platzi
125
+
126
+ 00:06:21.800 --> 00:06:29.160
127
+ Flix y de cursos. Ve el contenido principal y lo empieza a describir, es decir, est谩 utilizando las im谩genes de referencia que captur贸 con el
128
+
129
+ 00:06:29.160 --> 00:06:37.210
130
+ MCP de Playwright como contexto para poder trabajar. El MCP de Notion lo que nos va a permitir es poder leer documentaci贸n que se est谩
131
+
132
+ 00:06:37.210 --> 00:06:45.940
133
+ haciendo en el equipo y traerla como contexto. 驴Qu茅 pasa? Cuando, por ejemplo, un PM o un dise帽ador est谩 describiendo el producto que se debe
134
+
135
+ 00:06:45.940 --> 00:06:55.980
136
+ desarrollar, usualmente crea una documentaci贸n. Notion lo que permite es gestionar esa documentaci贸n de una forma bastante efectiva y bonita y tambi茅n habilita un servidor
137
+
138
+ 00:06:55.980 --> 00:07:03.800
139
+ MCP para dar contexto a los modelos. Vamos al sitio web de Notion para saber c贸mo instalar su servidor MCP. En este enlace, en la
140
+
141
+ 00:07:03.800 --> 00:07:11.360
142
+ secci贸n que est谩 de enlaces y recursos, est谩 la forma de conectarse al servidor MCP de Notion. Aqu铆 nos va a explicar paso a paso
143
+
144
+ 00:07:11.360 --> 00:07:20.400
145
+ c贸mo hacerlo. Tambi茅n en la documentaci贸n de Cloud Code, que tambi茅n est谩 en la secci贸n de enlaces y recursos, est谩n una lista de servidores MCPs
146
+
147
+ 00:07:20.400 --> 00:07:29.580
148
+ y la forma que tenemos para conectarnos a esos servidores MCPs. Aqu铆, en esta lista, est谩 Notion. Entonces, lo podemos buscar y tenemos el comando
149
+
150
+ 00:07:29.580 --> 00:07:39.710
151
+ completo. En este caso, estamos viendo que el transporte que est谩 usando este servidor es HTTP. Entonces, podemos copiarlo, regresamos a la terminal y pegamos
152
+
153
+ 00:07:39.710 --> 00:07:52.740
154
+ este comando . Pegamos el comando , vamos a ver la lista de servidores MCP que tenemos disponible y vemos que tenemos a Playwright y
155
+
156
+ 00:07:52.740 --> 00:08:00.680
157
+ aqu铆 est谩 haciendo el chequeo con Notion y me dice que ya est谩 conectado. Entonces, regresamos a la conversaci贸n que ten铆amos con Claude y vamos
158
+
159
+ 00:08:00.680 --> 00:08:11.840
160
+ a revisar los servidores MCP que est谩n. Aqu铆 pasa algo relevante y es que Notion necesita autenticarse. En cambio, Playwright no tiene una sesi贸n como
161
+
162
+ 00:08:11.840 --> 00:08:20.680
163
+ tal, no es un sitio que necesite estar autenticado. En este caso, Notion permite hacer la reautenticaci贸n de la sesi贸n. Yo puedo hacer un clear
164
+
165
+ 00:08:20.680 --> 00:08:30.280
166
+ tambi茅n. Hagamos el ejemplo . MCP me va a aparecer la lista y aqu铆 en Notion me va a salir la secci贸n para autenticar. Voy
167
+
168
+ 00:08:30.280 --> 00:08:39.600
169
+ a darle clic... Y aqu铆 me sale la lista de los workspaces de Notion con el que yo me quiero conectar. En este caso, voy
170
+
171
+ 00:08:39.600 --> 00:08:47.460
172
+ a acceder a este plan, que es mi plan personal. Yo le digo que s铆 reconozco esto porque esta es la URL que monta Cloud
173
+
174
+ 00:08:47.460 --> 00:08:56.600
175
+ Code para hacer la autenticaci贸n. Le digo que lo reconozco y que contin煤e . Aqu铆 me dice que la autenticaci贸n fue satisfactoria. Entonces, regresemos a
176
+
177
+ 00:08:56.600 --> 00:09:05.319
178
+ la terminal y veamos c贸mo termin贸. Excelente. Dice que ya fue exitosa la autenticaci贸n. Lo podemos certificar e-ejecutando el comando MCP y vemos que ambos
179
+
180
+ 00:09:05.319 --> 00:09:15.520
181
+ est谩n conectados. Ahora, 驴c贸mo se utiliza el MCP de Notion? Podemos decirle, eh, que lea o que utilice el MCP de Notion para leer cierto
182
+
183
+ 00:09:15.520 --> 00:09:24.740
184
+ documento. Aqu铆 hay un archivo de ejemplo en el que yo intent茅 describir c贸mo un product manager o un dise帽ador hace la descripci贸n del feature
185
+
186
+ 00:09:24.740 --> 00:09:32.680
187
+ de ratings. Vemos que tiene una descripci贸n general, cu谩l es el contexto t茅cnico y cu谩l es el componente principal de esta vista. En Notion se
188
+
189
+ 00:09:32.680 --> 00:09:40.940
190
+ puede hacer share y compartir el link. Voy a copiarlo y lo voy a pegar dentro de Cloud Code para ver c贸mo hace la lectura
191
+
192
+ 00:09:40.940 --> 00:09:52.540
193
+ de este archivo. Aqu铆 le doy una instrucci贸n simple: 芦Utiliza el MCP de Notion para traer la documentaci贸n de este link禄. Le pego el link
194
+
195
+ 00:09:52.540 --> 00:10:00.200
196
+ y aqu铆 vemos que va a hacer uso de las herramientas que tiene el MCP de Notion. Aqu铆 me va a pedir permiso para traer
197
+
198
+ 00:10:00.260 --> 00:10:06.780
199
+ un ID de Notion, entonces yo le voy a decir que s铆, que lo puedo utilizar por el resto de la sesi贸n. Y ac谩 vemos
200
+
201
+ 00:10:06.780 --> 00:10:16.319
202
+ que est谩 trayendo un, eh, objeto json con lo que nosotros tenemos dentro de la documentaci贸n de Notion, que es el t铆tulo y el texto.
203
+
204
+ 00:10:16.319 --> 00:10:26.480
205
+ Entonces, ya es una forma de agregarle m谩s contexto al modelo sobre lo que queremos hacer, no 煤nicamente revisarlo con el MCP de Playwright, sino
206
+
207
+ 00:10:26.480 --> 00:10:35.060
208
+ tambi茅n certificar que la expectativa que se nos est谩 dando en la documentaci贸n se cumple. Como 煤ltimo ejemplo, vamos a agregar el MCP de Linear,
209
+
210
+ 00:10:35.060 --> 00:10:43.020
211
+ que es una herramienta de gesti贸n de tareas. Esta es una herramienta que permite hacer la gesti贸n de todos los to do que tenemos por
212
+
213
+ 00:10:43.020 --> 00:10:51.279
214
+ proyecto, algo muy est谩ndar en la industria, que es que se te asigne una tarea y la ejecutas y vas actualizando el estatus de cada
215
+
216
+ 00:10:51.280 --> 00:10:58.860
217
+ una de ellas. En este sitio vemos la documentaci贸n de Linear sobre c贸mo instalar el servidor MCP. El enlace te lo dejo en la secci贸n
218
+
219
+ 00:10:58.860 --> 00:11:07.140
220
+ de recursos y enlaces. Vemos que aqu铆 tenemos la forma r谩pida de llegar a la instalaci贸n de Linear para Cloud. Y aqu铆 abajo est谩 el
221
+
222
+ 00:11:07.140 --> 00:11:15.900
223
+ comando. Entonces, lo vamos a copiar y lo vamos a instalar. Vemos que en este caso el transport que est谩 utilizando ya no es HTTP,
224
+
225
+ 00:11:15.900 --> 00:11:26.370
226
+ sino server side events. Entonces, estamos haciendo la implementaci贸n de distintos servidores MCPs con distinto transporte, pero que tambi茅n funcionan de la misma forma para
227
+
228
+ 00:11:26.370 --> 00:11:41.560
229
+ agregar contexto a la conversaci贸n de Cloud Code. Salimos, pegamos... Entramos de nuevo a la conversaci贸n... Y vemos que, al igual que Notion, Linear necesita
230
+
231
+ 00:11:41.560 --> 00:11:52.839
232
+ una autenticaci贸n. Podemos limpiar la autenticaci贸n y volver a reautenticar. Vamos para ac谩, nos dice que autentiquemos y se nos va a abrir una ventana
233
+
234
+ 00:11:52.839 --> 00:12:01.219
235
+ del navegador. En esta ventana, lo que va a permitir es darle reaccesos a Cloud Code para revisar lo que est谩 dentro de Linear. Yo
236
+
237
+ 00:12:01.220 --> 00:12:10.020
238
+ le voy a decir que s铆, que lo apruebo. Se abre, en este caso, la ventana en el que la autenticaci贸n fue satisfactoria y eso
239
+
240
+ 00:12:10.020 --> 00:12:21.140
241
+ significa que ya podemos utilizar el MCP dentro de Cloud Code. Podemos decirle en un prompt que: 芦Revisa, usando el MCP de Linear, cu谩les son
242
+
243
+ 00:12:21.140 --> 00:12:32.329
244
+ las tareas que tengo asignadas禄. Aqu铆 me pide permiso para traer o utilizar la lista de issues que est谩n asignados a m铆. Yo le voy
245
+
246
+ 00:12:32.329 --> 00:12:37.420
247
+ a decir que s铆, que lo permito por el resto de la sesi贸n y en este caso est谩 vac铆o. Entonces, no hay nada de qu茅
248
+
249
+ 00:12:37.420 --> 00:12:46.440
250
+ preocuparnos. Pero si tuvi茅ramos una lista bastante grande de tareas que hacer, la podemos gestionar desde ac谩. Entonces, el flujo que quiero que te imagines
251
+
252
+ 00:12:46.440 --> 00:12:54.819
253
+ es el siguiente: tengo la documentaci贸n de qu茅 es lo que tengo que hacer en Notion. Lo traigo como contexto a Cloud Code. Con Cloud
254
+
255
+ 00:12:54.819 --> 00:13:03.640
256
+ Code, a partir de los user agents, creo un plan de implementaci贸n completo. Y con ese plan creo las tareas en Linear para hacer la
257
+
258
+ 00:13:03.640 --> 00:13:13.319
259
+ gesti贸n de tickets. Es muy poderoso y es bastante relevante porque simplifica mucho el trabajo de un desarrollador, que no solamente es trabajar o escribir
260
+
261
+ 00:13:13.319 --> 00:13:21.598
262
+ c贸digo, sino tambi茅n hacer todo un an谩lisis completo de qu茅 tengo que hacer y de c贸mo lo tengo que hacer. Los MCPs fueron construidos y
263
+
264
+ 00:13:21.600 --> 00:13:28.980
265
+ dise帽ados para ampliar las capacidades de los modelos de lenguaje. D茅jame en la secci贸n de comentarios qu茅 MCPs conocen y en qu茅 casos te han
266
+
267
+ 00:13:28.980 --> 00:13:37.000
268
+ funcionado. Tambi茅n te dejar茅 un listado de los servidores MCPs m谩s relevantes que hay actualmente en el mercado para que lo puedas revisar, instalar y
269
+
270
+ 00:13:37.000 --> 00:13:39.219
271
+ utilizar. Nos vemos en la pr贸xima clase.
272
+
Curso de Claude Code/03-M贸dulo 3 Gesti贸n de Contexto y Comandos/01-Lecturas recomendadas.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ https://docs.claude.com/en/docs/claude-code/mcp
2
+ https://platzi.com/cursos/mcp/
3
+ https://github.com/microsoft/playwright-mcp
4
+ https://developers.notion.com/docs/get-started-with-mcp
5
+ https://linear.app/docs/mcp
6
+ https://modelcontextprotocol.io/docs/getting-started/intro