Spring Cloud
language: EN
WEBVTT Well, I'll let you talk later. Okay, see you. Take care. You too. Bye.
on 2023-07-31
language: ES
WEBVTT conociendo además, pero bueno, la idea es tratar de seguir lo más que se pueda estos pomodoros, aquí ya también se marca la parte de los descansos y de la parte del del receso, que vamos a estar tomando. Ahorita se puede decir que estamos en nuestro primer pomodoro, como para aplicarlo, entonces 8.55 vamos a estar haciendo una pausa y como les digo, yo les voy a estar avisando de cuando es pausa y cuando regresamos. No sé si tengan alguna duda de cómo vamos a estar aplicando esto del pomodoro. Va a quedar. Bien, entonces, bien, sale. Bueno, entonces, antes de empezar con lo que dicta el temario, de dar la introducción de lo que es SpinCloud y demás, voy a compartir con ustedes en esta en esta lámina lo que es este el producto final, o sea, qué vamos a estar haciendo tangiblemente aquí en esta sesión, sale. Literal, el producto final que vamos a estar haciendo todos en nuestro en nuestro computador al final del curso y a lo largo de este, vamos a crear un sistema, un sistema de gestión de órdenes y productos, sale. Entonces, este literal vamos a estar desarrollando este este sistema, vamos a ocupar es SpinCloud para esto, sí, y también esto este este sistema que se va a desarrollar, pues tiene la característica de que va a estar bajo el sistema de gestión de órdenes y productos, entonces, vamos a configurar ahí balanceadores de carga. Entonces, es un sistema, es un curso bastante práctico, sale. Y pues bueno, ese es básicamente el objetivo de esta sesión, no? Perdón de este curso. Literal, el enunciado, pues es este, no? Una aplicación que permita a usuarios realizar pedidos de productos y no sé si es clara la sentencia de lo que vamos a lograr en el curso, sí? Perfecto. Bien, va que va, sale. Entonces, un poquito de descripción de ese de ese sistema, pues va a estar compuesto por estos microservicios, sí, vamos a vamos a crear un API Gateway, que va a ser un micro, que va a ser el punto de entrada para las solicitudes que hagan los clientes. Se va a encargar de manejar la autenticación, la autorización y sobre todo el enrutamiento de la petición que llega al microservicio correspondiente, va? Literal es un Gateway. Vamos a estar desarrollando otros tres microservicios que estos en sí deben hacer la, vaya el Business Logic, no? Del sistema, por ejemplo, el microservicio de productos se va a encargar de gestionar estos productos que están disponibles, sí? Vamos a hacer un CRUD, literal, no? En cada uno de estos microservicios. En la parte de producto vamos a hacer un Create, un Read, un Update, un Delete. Lo mismo para los usuarios, aquí, pues obviamente son las personas que van a usar el sistema, quienes van a hacer las órdenes de esos productos, no? Y este, bueno, aquí como alcanzamos a ver en el temario, nos dictaba el curso, el curso que en algún momento tenemos que aprovisionar de autenticación y autorización a nuestros microservicios. Aquí, aquí es donde se va a aplicar. Para lograr este objetivo, nosotros vamos a utilizar los componentes de Spring Cloud, no? Que es el framework que vamos a estar revisando. Spring Cloud, pues tiene, como les comentaba, tiene varias, varios subproductos dentro de ellos y los que nos está marcando el temario, pues es el Config Server, que nos va a estar ayudando
on 2023-07-31
language: ES
WEBVTT pero sí, todo esto de lo que estamos hablando viene en el temario del inicio, entonces sí, claro que le vamos a dar una repasada y en la práctica vamos a ver cómo se crea una estructura, una arquitectura básica de este tipo de componentes. Entonces ahorita, qué bueno que me haces la observación, de verdad te lo agradezco, pero bueno, al final ahorita nada más es como la es un vistazo al futuro, por así decirlo, obviamente cuando ya tengamos ese fundamento y ya estemos haciendo la práctica, vamos a regresar a este diagrama para entenderle todavía mejor, entonces perfecto. ¿Alguna otra pregunta? ¿O quién que continuamos? Va que va, entonces si no hay dudas, más bien si no hay preguntas, continuamos con, ahora sí, empezamos con lo que es este, pues ya digamos en materia de lo que es este temario que nos asignaron, y bueno, vamos a empezar por la introducción, ¿sale? Entonces vamos a hablar de lo que es este Spring Cloud, pues bueno, realmente no hay mucho que comentar, es una plataforma que está basada, seguimos hablando de Spring, sí, por ahí ya me escuché que varios están familiarizados con esta parte de Spring, bueno, de hecho quisiera preguntar, todos conocen lo que es este Spring, Spring framework de Java, ok, Alejandro no,
on 2023-07-31
language: ES
WEBVTT Entonces, el siguiente punto a cubrir es la parte de la descripción general de los subproyectos de Spring Cloud. Pues sale, aquí, pues literal, lo más, este, prudente que a mí se me ocurrió, pues fue poner la liga hacia lo que es la documentación oficial de Spring Cloud. Y ese algo es Kafka. Va. Y la parte de Spring Cloud Netflix. No sé si se acuerdan que por ahí lo vimos cuando estuvimos viendo los, los, este, subproductos de Spring Cloud. Netflix se incluye o se habla de Netflix porque Netflix trae todo esto. Netflix trae Hebreka, Ribbon, Fane y Histrix. Entonces, tal vez un poquito no soy muy experto del por qué, pero entiendo que Netflix es una empresa que ya todos conocemos y. Y ellos tienen una plataforma, no una plataforma online de streaming. Entonces, imaginate la cantidad de peticiones que le llega a esa plataforma, no la cantidad de gente que está. Voy al pendiente de que salió su nueva serie o lo que tú quieras. Al final es es es masa, no es son masas que están solicitando recursos a las plataformas de Netflix, a sus nubes, a sus servidores y ellos proponen entre sus buenas prácticas lo que lo que decíamos o retomamos el concepto del framework. Ellos proponen varios mecanismos, varias cosas que a ellos les ha funcionado. Y bueno, luego lo proponen con el nombre de Spring Cloud Netflix. Lo vas a encontrar. Yo me he echado clavados en otros lenguajes y también te encuentras, por ejemplo, la gente que hace Graf QL. Hay por ahí un Apollo, un Apollo Client que bueno, también se tiene configuración con el Gixo, integración con el. Pero bueno, al final nada más es eso. Es una propuesta que Netflix, sí, literal la empresa Netflix hace para ayudarnos a todo esto de entender mejor los o manejar mejor la parte de los microservicios. Dentro de los productos que se ven, que son eureka, ribbon, fein y history, pues aquí está una descripción poquito gorda de cada uno. Spring Cloud de eureka es un servicio de registro y descubrimiento de servicios. O sea, aquí tú vas a meter igual. Es un microservicio en donde vas a registrar los servicios que quieres que se compongan de tu en tu arquitectura. Ellos van a poderse encontrar entre sí. No, no es que se comuniquen, sino que van a saber quién es quién por medio de sus IPs. Va el entorno, pues es un entorno distribuido. Pueden consultar. Los microservicios pueden aquí más bien. Yo diría deben consultar el registro de eureka para descubrir las ubicaciones de otros servicios y posterior llegará el tema de la comunicación. Que hay otro producto por ahí está fein que nos va a ayudar en la comunicación. Aquí tal vez podríamos también. Mencionar si lo hicimos. Ok, bueno, esta parte nada más es eso. Eso es este eureka. Este después viene lo que es Ribbon. Igual es un producto de Spring Cloud y es una proporción, es una biblioteca que nos va a dar balanceo de carga entre microservicios. Va este el balanceo de carga no es más que crear instancias de forma dinámica, de forma inteligente, por así decirlo, a medida que las peticiones van llegando esto con el fin de que el microservicio no se caiga, siempre esté disponible y además, pues esto vas a poder distribuir la carga de de la de trabajo, vamos a decirlo así, de las peticiones que te llegan entre entre las instancias. No sé, esto es lo que eso es lo que viene a ser ribbon. Al final es un balanceo de cargas y eso nos va a ayudar a beneficio, nos va a dar beneficio sobre todo en esta habilidad y en la disponibilidad. Comentaba. Después viene el otro subproducto que se llama Fein. Este. De este no sé si incluso. Me gustaría preguntarle si ustedes ya han desarrollado quienes quienes se dedican al desarrollo. Este Fein, si conocen Fein Client, perfecto. Este, bien, entonces. Pues bueno, Fein es una biblioteca que nos va a permitir hacer comunicación entre microservicios. No es que sea el único mecanismo para comunicar microservicios, o sea, hay muchos otros, pero en este caso permite a gente desarrollador este interactuar con otros micros a través de interfaces. O sea, al final es un cliente de que te permite hacer solicitudes vía REST no vía vía esa esa tecnología. El Fein y el REST y este. Como te digo, no es la única forma de comunicar microservicios, pero bueno, esto es como que la más. Digamos lo que más se recomienda, no. Porque porque hacerlo a través de un REST, un cliente REST sigue con el concepto de que cada cada microservicio es independiente. Aquí sí me gustaría como no sea así rápido, a lo mejor es un que a gente de desarrollo nos nos sirve. Otra de las formas de comunicar servicios, pues es este tú empaquetas tu tu micro y lo construyes en una porque al final es una aplicación construyes el YAR o el WAR no de ese de ese aplicativo y no importas como una librería en otro. Eso al final te va a dejar comunicarte sí, pero ahí estás violando un principio de los microservicios, no, que es el tema de que tienen que ser independientes. Por qué? Porque tú ya estás haciendo que se ya le estás metiendo al meterle una biblioteca, una librería, ya ya lo estás haciendo dependiente de la otra. Entonces la mejor forma de comunicarlo es a través de REST y por eso Fein es es quien es no? Es un estándar de comunicación. Después viene la parte de Hystrix. Que no es más que igual otro otro servicio de Spring Cloud que nos va a dar la tolerancia a fallos y el control de circuitos. Sí, básicamente es un mecanismo es o es proveer de un mecanismo de de de perdón, de fallos contra fallos en nuestro aplicativo en servicios externos. Básicamente es un mecanismo que nos va a permitir hacer con por medio de una estrategia a fallback para cuando un servicio no no esté respondiendo. No, no es más que eso. Y bueno, obviamente ya simplemente alinear así burdamente este concepto, pero se entiende que es este de los más más importantes. Por qué? Porque lo que comentamos al inicio, el desafío de que cuando tú estás trabajando en una arquitectura de microservicios, no nada más es pensar en en separarlo por separarlo, porque va a ser más sencillo de desarrollar o de mantener o para que a mí solamente me deleguen cierto cierto trabajo. O sea, realmente es el desafío pensar en nuevos flujos, porque te vas a dar cuenta que que ahora tienes que pensar en qué va a pasar cuando un microservicio se me caiga y tenía relación con otro microservicio. Ahí es donde viene el reto. Entonces este tipo de de de softwares. Bueno, mejor de bibliotecas o de productos del framework, pues te va a permitir trabajar de mejor forma esto, no? Y pues bueno, vamos a entrar en la parte de la descripción de un ejemplo teórico sale. Es como un caso de de. De la vida real. Este. En este caso, pues vamos a describir lo que es nuestro un poquito más en detalle lo que es nuestro producto final, no lo que hablábamos al inicio de la presentación, que es el. El este el comercio electrónico que queremos este queremos lograr, no? Este. A ver, dan un minutito por favor. Listo, ya no, disculpa. Este pues bueno, nuestro ejemplo que describíamos al inicio, pues eso no es vamos a un comercio electrónico consta de. De de varios otros micros. Bueno, ya los describimos por ahí en una lámina. Vamos a tener el microservicio de productos, el usuarios, el de pedidos. Este o bueno, el de órdenes y estos microservicios se van a comunicar a través de. De una pi, una pi rest. Sale. Aquí vamos viendo que que estaría haciendo cada cada cosa. De las que ya hablamos, por ejemplo, con fixer veribús. Creo que cómo nos va a ayudar en este ejemplo? Nos va a ayudar configurando un archivo, un perdón, un config server, o sea un repositorio de de servidor. De configuración y va a estar centralizado. Por qué? Pues porque al final de cuentas es un repositorio, no? Ahí vamos a almacenar las configuraciones de cada uno de los microservicios, todos los cuatro o cinco microservicios que por ahí vimos. Van a tener un archivo de configuración en este en este repositorio. Ejemplo de qué es? Aquí nos referimos con configuración. Pues, por ejemplo, va a tener la URL de la base de datos o algunos valores de propiedad que son muy inespecíficos, no? Variables de entorno, tal vez. Secretos, no tanto. No es recomendable, si podrías, pero yo creo que es más como enfocado a eso, no? A variables de entorno. A este. Y bueno, a. A ese tipo de de nivel se tiene que pensar cuando se desarrolla un archivo de configuración. El confiser no sé si en ese punto hay alguna duda o pregunta. Perfecto. Pues bueno, esa es la parte del config, no? Luego viene eureka. Eureka es igual, es un es un servicio, es un servidor. Cuando se cuando se inicia, lo que va a hacer es que otros microservicios. Bueno, bueno, todos los microservicios tienen que preguntarle a este servidor. Es que tienen que pasar por aquí en este ejercicio que vamos a hacer. Y para cuál es el fin de esto? Pues preguntar este. Quiénes son los otros microservicios con los que se puede comunicar? Todos los otros microservicios que están involucrados. Esto es el concepto de lo que lo que quiere decir la palabra descubrir. O sea, va a buscar, va a intentar ver quiénes son, digamos, los que tienen disponibles para para comunicarse. Y esto lo va a hacer a través de direcciones y pes. Sí, aquí no soy experto hablando de redes de todo esto, pero este entiendo que, por ejemplo, tú puedes manejar ya sean redes públicas, redes privadas, perdón, este y pes públicas y pes privadas, incluso y pes dedicadas o y pes fijas o dinámicas, perdón. Y todo eso lo puedes manejar con con eureka. Yo los ejemplos que traigo, pues sí, son con y pes que cambian, porque para el ejemplo cumplen su función y este. Y pues bueno, eso es lo que lo que básicamente hace la parte de la parte de la parte de lo que hace eureka. Tienen alguna alguna pregunta o algún este comentario? Algo así, exactamente, exactamente. El ribón es el balanceador en esta arquitectura. Este y lo que hace es eso, no? Vamos a distribuir la carga entre las instancias que va a encontrar disponibles este y va a decidir a qué instancia de cada uno de los microservicios va a mandarla la solicitud. Y eso pues se va a ver reflejado en la en la. Disponibilidad no va a mejorar la disponibilidad, la escala de vida va sale. Después viene otro producto que es este. Es fein. Fein client este. Y bueno, el concepto es ese, no? O sea, nos va a permitir hacer comunicación entre entre microservicios. Soy no es más que una librería que ya Netflix desarrolló. Y hace cuenta cuando tú quieres hacer una petición por medio de la programación hacia otra hacia otros recursos de otro servidor por medio de la de la metodología de de de las APIs. Quieres conseguir un API? Tú haces este desarrollo, hay librerías que te permiten hacerlo fein. No es más que una librería más. Es una librería que te permite por medio de HTTP hacer intercambio de información. Este pues bueno, la configuración de estos este son interfaces las que nos van a permitir hacer esto. Pues es realmente muy, muy, muy, muy sencillo. No sé si más o menos queda explicado el concepto de lo que es este fein client. Sí, exacto, exacto, exacto. Este de hecho ahorita que veamos el ejemplo en la codificación se va a ver cómo como dice este nuestro compañero es una línea de código que tú vas a mandar a escribir y con eso la biblioteca sabe cómo hacer la solicitud. Bueno, obviamente tú le dices ciertas declaraciones y pues bueno, ya todo eso lo va a hacer de forma interna. Y bueno, por último, por último, por último viene His tricks y es lo que hablábamos un ratito de garantizar la tolerancia fallos. Es el formato. No sea cuando un producto, bueno, pero cuando una petición a un microservicio falla por algo porque se colgó, porque se murió el servicio, porque se quedó sin sin aprovisionamiento, porque también pasa este incluso aunque lo tengas en una con un proveedor de nube, este también también se caen. Y His tricks lo que nos permite es darle como que el mecanismo de de. Ah, bueno, si falló, que dame un flujo alterno para que se recupere. No, eso es el concepto, digamos, del fallback. Y pues bueno, es también como uno de los. E cómo decirlo? Digamos de la de la familia es también de los más importantes para mi gusto. Este. Entonces este este fallback que hace, pues va a ser que se aísle. Digamos, lo va a retener el error en vez de propagarlo hacia el aplicativo. Entonces imagínate que puede haber un efecto domino en donde un microservicio tira a otro porque tiene dependencia o porque ya le mandó un dato erróneo, un excepción y el otro no lo puede cachar o no sabe cacharlo o ni siquiera había pensado en esa excepción y truena. Eso es lo que nos va a permitir este His tricks a atacar, no abordar. Entonces, pues sí, es bastante bastante. Dudas con His tricks? Creo que creo que no. Es muy muy muy claro. Esta es la. Luego viene. La parte espringboot. Este digamos ahora sí, es entrar ya en materia, ya ya va a terminar la teoría. Ya vamos a empezar ya con la parte de práctica. Este, pero bueno, vamos a cubrir el último punto teórico que es la parte del framework como tal espringboot. Entonces este. De la documentación, digamos, creo que incluso tengo hace su guarda aquí la la pestañita aquí, aquí también. Vale la pena este revisar que aquí existe también el ecotero ecosistema de springa que existe en todos los productos. Y tabú, aquí está framework. Ahorita vamos a indagar en estos dos porque es muy muy importante entender en cuál de los dos estamos ubicando. Es que es. Bueno, ahorita lo vamos a explicar. Este. Al final es un producto desarrollado por esta empresa que se llama Pivotal. Sale nos permite crear aplicaciones Java de manera rápida y sencilla y la verdad es que así lo es. Así así es. Y bueno, también es una es una plataforma eficiente y ya también se migró esta tendencia en la parte de microservicios. Tú puedes hacer aplicativos webs, servicios, rest desde cero, entre otros. Este está diseñado espringboot hablando espringboot diseñado para ser fácil de usar. Y creo que el concepto más importante. De hecho, por eso mencionaba como que espringboot y espring framework es que este. Tiene mucho que ver la complejidad de la configuración y la implementación, no. Esto hace que los desarrolladores pues se centren más en la lógica del negocio y no en. Pensar en la en los dolores de cabeza que da la infraestructura. A qué me refiero, o sea. Espring espring framework y espringboot. Ambos son frameworks de Pivotal. Ambos te permiten construir aplicaciones microservicios. Ambos te permiten conectarte a una base de datos, hacer una pie un rest happy hacer un modelo controlador. Ambos te permiten hacer. Cuál es la diferencia entonces de esto? Lo que pasa es que quien empezó todo esto fue espring framework. Es digamos como que el primero framework que su producto estrella de. No. Nada más que espring framework, pues resulta que en algún punto se puede volver complejo, se puede volver tedioso, se puede volver. Redundante, porque? Porque espring framework, digamos que es como que una versión viejita, vamos a decirlo entre comillas. Que bueno, no, no, no es tanto que tenga que ver con lo viejito, sino que la idea de los creadores de esto es que le. Permitieran al desarrollador manejar y manipularlo todo por completo, todo en su extensión, todo no. Pero manejarlo todo también tiene un precio, que es la complejidad. En algún momento no, no a todos nos es fácil entender los conceptos que maneja el framework. Y sobre todo la parte de configuración, no hay cosas que es código porque tú ves ahí sentencias de código. Programación, pero no tienen que ver tanto con la lógica de un de un de un aplicativo, no? O sea, son más bien códigos que están enfocados para la configuración del aplicativo o de la infraestructura o demás. Entonces eso de pronto mezclarlo con la aplicación con la que está trabajando se vuelve complejo, no? Entonces por eso nace espring boot espring boot es una propuesta más ligera, más liviana. Más simplificada de spring framework que además de todo lo que va a ser es que te va a permitir este. Desarrollar sin centrarte tanto en pensar cómo tienes que programar esa esa configuración es no ya espring boot. Todo lo va a ser, digamos entre comillas en automático por por el desarrollador. Lo único que sí, pues es que tienes que entender ciertos conceptos que te pide. Spring llámese por ejemplo que tienes que utilizar ciertas nomenclaturas que tienes que meter ciertas ciertos archivos con un nombre específico para que pueda para que el framework lo pueda agarrar y lo pueda reconocer. Que puedas utilizar aquí se ocupa mucho la propuesta de los de las anotaciones que son. No es más que etiquetas, por así decirlo, que le pones o decoras a tu código para que entienda cómo debe de comportarse y esas etiquetas, digamos, ya espring tiene un un concentrado que te deja elegir. O sea, tú quieres elegir, tú quieres hacer un servicio, quieres hacer un controlador, quieres hacer un algo, ya lo decoras, clase con ese con esa etiqueta y se comporta por la magia del framework. Así ya no tienes que configurar bien, ya no tienes que configurar nada. Este xml es etcétera, etcétera. Dentro de los que estamos aquí en la audiencia, alguien le tocó todavía trabajar así o le toca todavía trabajar con el framework a ese nivel. Y. Este dioso, este dioso y complicado, o sea, entonces ya todos estamos brincando aquí, ya todos estamos en este no no no vimos este framework. Nada más que va, sale, digo, nada más era como curiosidad, este, pero bueno. Ah, entonces eso es eso es básicamente este no. Esa es la propuesta que da. Epivotal y y pues literal es esto lo que lo que decíamos. E se centra en la simplicidad y bueno, así es como se se va a ver un ejemplo. De una aplicación que es construida con con la spring framework va, vamos a ocupar este este framework, imagínate que vamos a hacer una aplicación, queremos agarrar el spring framework para para eso. Pero estoy un poquito ronco. Pero bueno. Este y pues bueno, así es, así es como se vería. E vamos a hacer una aplicación que haga que simplemente saludé saludé a través de un este de la petición a un get. Y te va a mandar este mensaje. Entonces para usar spring framework y hacer uso de esta aplicación, perdóname, pero creo que. Ya era el otro. Ah, no tenemos diez minutos. E estamos entonces estamos agarrando si queremos hacer este. Queremos hacer este. Esa aplicación de hecho es un es un este. Es un en bici. Sí, y pues bueno, aquí se aquí se ve una clase que puede funcionar como un controlador que lo que va a hacer es este. Cachar la petición que llega por get. Sí, con este con esta ruta, con esta URL, satún el browser, pones localhost 8080 diagonal hello y te va a devolver esta cadena que dice hola desde spring framework. Ahí se configura el controlador. Sí, y aquí se va configurando. Digamos todo lo que necesita utilizar internamente el aplicativo. Que es básicamente lo que te decía, no todo lo que es una configuración tiene que saber de qué paquetes va a cachar el escaneo para que spring cheque en donde ubicarse como trabajar. Va a utilizar estas rutas. Salen y esto es lo que hablábamos de los xml. Tienes que estar configurando los ser blitz. Tienes que estar configurando cómo se van a comportar los nombres de los parámetros. O sea, es un montón de cosillas que tienes que estar haciendo. Y bueno, esto es una aplicación chiquita y nos tomó de entrada tres ocho. Para la parte de la configuración se creó este este apk. Que es este que tenemos acá que extiende desde esta otra clase del adapter. Sí, ahí se mapea que cuáles son las vistas que van a responder en los archivos JSP y estas anotaciones para el escaneo de los componentes. Y bueno, si mencionar la parte de lo del web xml. Que es lo del dispatcher serbet, que es el controlador de front. De al final. Eso es eso es como que un ejemplo así nada más como burdo de cómo se atacaban aplicaciones. Y si puedes ver algo sencillo con spring framework. Más bien es algo cortito de esa aplicación que queríamos hacer. Ahora vamos a ver cómo sería con Spring Boot Spring Boot. Tú solamente ocupas tu notación GetRest. Sale así le estás diciendo que tú estás haciendo un API Rest. A este se va a comportar ya como un controlador. Estas son de las cosas que te decía que no es que yo quiera llamar a la clase HelloController, sino que tengo que hacerlo. Porque para que el framework detecte que esto es un controlador y sepa ya sepa configurarse con la etiqueta que lo estoy que lo estoy metiendo. Esas son las etiquetas a las que me refería o anotaciones. Bueno, aquí va peor igual el mapping hasta ahí se puede parecer un poquito a lo que es la propuesta de Spring Framework. Pero la diferencia es que en Spring Boot tú ya nada más le dices corre con una clase main y ya. O sea todo lo demás. Ah bueno utilizar esta esta notación que es la. La mágica que es la que encapsula todo lo que vimos en Spring Framework en esta notación. Entonces, con esta notación sabe el framework que esta aplicación tú le estás delegando la parte de la configuración que él entiende o espera de ti que siga sus. Reglas de nomenclatura de anotaciones, etcétera, etcétera, para que la aplicación al momento de compilar no encuentre error alguno y pueda correr y pueda ejecutarse. Entonces, la diferencia es abismal, no sé, realmente son dos cosas las que tú tuviste que hacer y ya tienes la misma API corriendo el mismo endpoint. En los dos enfoques. No es que bajo mi opinión, no es que siempre tengas que usar Spring Boot para todo y que te olvides de Spring Framework para siempre. La verdad es que no se trata de eso. En algún momento te tocará meterte a una aplicación que esté hecha con Spring Framework o incluso migrarla. No quiere decir tampoco que Spring Framework sea viejito. Simplemente es como que a conforme lo quiere tu producto, no tu necesidad. En eso es en lo que se base la propuesta de usar uno u otro. Que es más rápido Spring Boot. Sí, entonces, este. Bueno, de ella tú vas yendo ventajas, desventajas. Hay muchas cosas que Spring Boot no tiene que Spring Framework sí tiene. Como te decía, Spring Boot es una propuesta, es un hijo de Spring Framework. Entonces es un hijo, pero no se llevó todo lo que ofrece Spring Framework, se llevó algunas partes. Entonces ya desde ella tienes una primer desventaja que tienes una un framework tal vez limitado. Pero digamos hablando de microservicios, de webs, de web apps, de fronts, de modelos, vistas controladores, de ese tipo de aplicaciones. Sí que sí que te cubre. Y bueno, de esa parte es lo que hablábamos de la aplicación. Y bueno, aquí es igual el resumen de qué es cada cosa, el controller. Luego la anotación web controller para indicar que la clase va a manejar las solicitudes HTTP y va a devolver las respuestas directamente, no va a ocupar vistas. Este. Y pues bueno, es un poquito como lo que se vio en el ejemplo. Algunas también creo que vale la pena destacar y hacer notar. Pues el inglés, no? Y como ya están escritas, los quedan como que mucha idea, no? De qué va a hacer este cada cosa y básicamente cerramos con esta que es la notación, digamos la mágica que hace que Spring Boot vea el aplicativo o te hace main. Como como una aplicación de Spring Boot y la autoconfiguración la va a este la va a ejecutar por su propia cuenta. Entonces, este tú con este tipo de. Simplemente con una receta, digamos, lo hacía así pequeña, pues puedes construir un API en cuestión de clics. Y pues bueno, ya ahorita sigue el descanso, igual son cinco minutos desde 10 35 a 10 40, si no me equivoco. Ajá, y ya regresando, pues estaríamos viendo en la parte de este. Pues ya del ambientado de nuestra máquina para ya empezar con las prácticas. Pues ya del ambientado de nuestra máquina para ya empezar con las prácticas, hemos de la parte teórica de la de lo que es el día uno, pues ya ya termina. Este y ahora sí, pues ya estaríamos viendo la. La parte de cómo crear nuestra. Nuestra propuesta de microservicios va. Entonces no sé si. Si hay alguna alguna duda o comentarios, sino pues para irnos al. Al descanso de cinco minutos, entonces regresamos. Bueno, bueno. Listo. Bien, entonces, entonces vuelvo a compartir pantalla. Ok, entonces bueno. Esta partida la habíamos visto a ver, nada más repito, reviso la parte del. Modoro para ver aquí, vamos. 10 40 11 25. Va entonces. Digamos que vendría a ser el último pomodoro. Antes de un descanso poquito más prolongado. Va, entonces nos quedamos en esta parte. Vamos a pasar entonces ya la parte. Práctica de. Del objetivo que tenemos de de crear una aplicación. Que básicamente va a ser una arquitectura basada en microservicios. Y que va a simular lo que es un comercio electrónico, no? Ahorita vamos a regresar a ver el diagrama y probablemente ya con la. Con la parte teórica que creo que fue directa. Podemos tener un poquito más de noción de qué es lo que queremos lograr. También. Quiero comentarles. Bueno, primero hay que ver. Voy a pasar el. Los puntos que. Que incluyen este este esta ambientación. Para que podamos trabajar. Y ahorita vamos, no sé si me pueden hacer favor de entrar a esta página. Ah, bueno, es lo que quería ver que ya tuvieran este la. Los. Las máquinas creadas. Igual y si todos pueden ir entrando. Para ver si no hay alguno que tenga. Algún problema, sino para levantar la mano. En teoría, todos tienen que tener acceso a. A una de estas instancias que básicamente estas instancias son una copia. O deberían de ser una copia de mi máquina. Entonces ustedes ya deberían de ver, por ejemplo, ya estoy viendo que Valentín. Tiene acceso a Intel y. Lo cual es correcto. Lo que no sé si todos vamos a tener como que. Los mismos cambios, no sé, según yo, debería de ser. Independientes, pero igual ahorita hacemos la prueba. La verdad es que no había trabajado con esta con esta plataforma, pero igual ahorita hacemos la prueba. O sea, lo que quiero dar a entender es que si yo hago algo, a ustedes no se les tiene que. Que reflejar, no. Porque la idea es que todos sean como que máquinas independientes, pero bueno, a ver, si no ahorita lo hacemos la prueba. Continuando con la presentación. La parte de cómo se va a configurar este ambiente de desarrollo. Aquí viene. Lo que lo que les comento también es que como ustedes hicieron una copia en esta por medio de esta plataforma. Todo todo esto ustedes ya lo tienen. O sea, si ustedes se fijan, ya vieron a Intel y. O sea, no tienen que meterse ahorita a descargarlo. Ya ya todo está configurado, no. Y pero pero si hay algunas cosas que. Que me haría sentido que repasemos como de cómo se hicieron y que no nada más este vean que ahí está el el docker con pose, por ejemplo, y el archivo llame el que lo crea y ya. O sea, creo que da más valor que veamos, aunque sea un poquito el cómo se fue creando. Va entonces este, por ejemplo. El ambiente de desarrollo que se ocupa. Lo que nos va a permitir crear esa esa esa aplicación. Pues en primera es docker desktop. No sé si. Algunos o todos conocen, conocen lo que es docker muy en específico esta esta herramienta de docker desktop o que conozcan lo que es docker. OK. Correcto, correcto, sí. Exactamente. Digamos que la propuesta de docker es digamos voy a poner el ejemplo así como práctico, que creo que es el que todos ya conocen o la mayoría. Lo digo porque creo que también al inicio se habló mucho de que hay gente que es de el equipo de data y demás. Y a lo mejor. Bueno, no sé, tal vez si estén muy familiarizados trabajando así, de hecho, pero pues lo voy a lo voy a dar como un vistazo así rápido. La propuesta de docker es. Estamos en una empresa trabajando y de repente contratan a una nueva persona, no? Este y le dicen oye, necesitas encargarte de tal, tal proyecto. Entonces te pido porfa que ambientes, no? Como nos decían, ambientes tu tu equipo y me avises cuando estés listo, no? Entonces había veces que nos llevamos un día, dos días en la pura ambientación. Y a veces pidiendo permiso, se instalando software que la red está muy lenta y y problemas también más recientes, no? Desarrollando una aplicación de vaquen con como por ejemplo este con ya script con NPM de esto de de no no creas creas una aplicación y y resulta que te descargas ahí todo todo el con el gestor de paquetes te descarga todos los paquetes así digamos de forma bien, pero te vas a otra máquina y o le pasas tu archivo a otra persona y ya no lo descargó bien, no? Algo pasó que la versión la tienes que modificar y son dolor de cabeza o incluso hasta uno me y creo que no da tanta lata, pero no sé ejemplos de esos, no? Aquí no nos pasó cuando vemos la gente de desarrollo y yo me imagino que la parte de otros áreas es lo mismo, no? Cuando les piden ambienta eso es un lión, no? Es un es un a veces un desafío. Entonces, no quiero dice e porque no contenerizamos como ya lo dijo el compañero e vamos a vamos a manejar esto las aplicaciones de forma distribuida, como si fueran componentes aislados y los vamos a poder mandar a llamar a través de un software que es Docker y tú vas a poder crearlo levantarlo como si lo hubieras instalado. No es virtualización porque al final Docker está ocupando los recursos de la máquina en la cual se está se está alojando donde se instala. Va no lo virtualiza, pero lo que hace es que lo desempaqueta más bien, no? De un de un este de una serie de de binarios que existen que están guardadas, digamos, encapsuladas, lo desempaqueta y lo puede abrir y desabrir, más bien abrir y cerrar las veces que tú quieras. Si tú ahorita decides iniciarlo, lo prendes, si decides apagarlo se va se va a guardar. No? Ese es básicamente el concepto de Docker y entonces pues es muy útil para para esto precisamente, no? Que ahorita yo quiero que a todos nos corran los proyectos, el ejercicio y demás. Entonces, este se me ocurre, pues mejor hago un Docker este y se los comparto. Y ya con eso, ustedes lo lo simplemente lo ejecutan y ya con eso van a tener lo mismo que yo hice. Ese es básicamente el concepto de Docker. Vamos a ocupar. No había una limitante realmente de qué versión de Java pudiéramos ocupar. Entonces, este pues traté como de agarrar algo muy reciente. Entonces agarré Java 17. Yo sé que hay versiones otra más nuevas, la Java 20. Por ejemplo, pero esta es bastante buena, es estable. Entonces creo que es este una buena. Una buena forma de empezar con Java. Luego. E pues obviamente es Spring Boot y Spring Cloud van de la mano con esta versión. A qué me refiero? Que tenemos que tener las dependencias adecuadas para para esta versión de Java. Después no podemos desarrollar, pues si no tenemos un IDE. En este caso ocupamos igual uno de los que ya han sido muy este. Muy trabajados en IntelliJ. Una versión Community, obviamente, no? Para que no nos de broncas de licencias y demás. Y pues bueno, es bastante. Con esto estamos bastante sobrados para lo que queremos. También vamos a ocupar lo que es Spring Boot y Spring Cloud. Esto como tal, pues son librerías que se van a agregar en el proyecto de Maven. Cuando nosotros estemos creando la aplicación. Antes de continuar todos, todos saben aquí lo que es Maven. No hay problema cuando me refiero a Maven. Va a acabar. Bueno, entonces, si no hay tema, este es la parte de. Se va a ocupar también Maven. Nos va a ayudar pues para importar las dependencias de lo que. De lo que vamos ocupando, o sea. Yo necesito meter un proyecto con Spring Boot, Spring Cloud, necesito Maven. Bajan la dependencia y ya en automático mi proyecto se convierte en un proyecto de este tipo y me va a permitir gozar de las ventajas que ofrece cada librería. Y bueno, también va a ser el encargado de darle cierto flujo. O cierto ciclo de vida al aplicativo, no? Probar, pasar por los pruebas unitarios, instalar los paquetes, las dependencias. El empaquetado del producto. Este todo eso nos nos nos gestiona esta herramienta. Vamos a ocupar también una base de datos por lo que decíamos en. Igual ahorita retomamos el diagrama, pero no sé si se acuerdan que. Cada uno de los microservicios que proponíamos. Tiene una base de datos propia. Entonces, hablar de base de datos pues ya necesitamos un este. Tanto un vaya un cliente, un servidor de base de datos como un una interfaz gráfica que nos un cliente que nos permita comunicarnos a ese servidor, no? En este caso yo estoy proponiendo usarlo con Postgre. Este creo que no hay. No hay mayor limitante. Es este open source. Y bueno, aquí vamos a usarla para mapear nuestras, nuestras entidades, nuestros modelos para que reaccionen a este. Esta propuesta que tenemos de comercio electrónico. Y el cliente que les decía, pues por ahí creo que instale el pgadmin. Entonces, eso es lo que vamos a estar ocupando. Vamos a estar ocupando también Kafka. Este no, no es para comunicarse entre microservicios porque eso ya sería entrar a otra arquitectura. Además de la arquitectura de microservicios, que sería la arquitectura basada en eventos. No vamos a usar Kafka para manejar eventos y procesar eventos entre los microservicios. No lo vamos a por eso. Lo vamos a ocupar más bien para lo que decíamos del bus en la parte de spin cloud config. Este se ocupa Kafka para notificar este. Para notificar que ha habido un cambio en esa, en ese repositorio de configuración y que todos los microservicios que están suscritos a ese, digamos, ese repositorio. Bueno, los que los que los que lo ocupen. Jalen esa ese cambio y se vuelvan a compilar todo de forma dinámica. O sea, no vamos a detener ningún microservicio, nada. Todo se va a ir haciendo así, no? Quién va a detonar ese evento literal va a ser un comit, puede ser un este un un un endpoint, no? Un post get algo así. Va igual nuevamente este. Hablar de todo esto de microservicios. Bueno, más bien hablar de repositorios de proyectos, pues luego luego se viene a la cabeza aquí, no? Entonces vamos a estar creando una rama cada uno de nosotros para que hagamos nuestra práctica y este y pues bueno, esa es la forma en la que se va a diferenciar, no? Entonces para eso nos va a echar la mano el. Y. Pues bueno, las herramientas ya literal en materia de spring cloud, pues todo lo que que ya hemos repasado, no? Lo que es con fixer, bereureka, ribbon, frame, historyx para utilizar estos patrones que que hemos estado repasando, no? En bueno, creo que ahorita viene la la distribución. Exacto. Antes de eso, no sé si queda alguna duda con lo que se va a ocupar o o. O los procesos que lleva el ambientado, los los los servicios va entonces si no hay no hay dudas, este seguiríamos con. Listo, sería ya la parte de la aplicación con Spring Boot va. Entonces, este como les comentaba al inicio. En este curso de 14 horas. Este se dividió en. En dos días, no? 77. En este primer día. No, no creo que alcanzamos a ver, digamos, todo lo que es el. O sea, no vamos a indagar en la parte práctica de lo que es la nube, no? La parte de Spring Boot Cloud. Perdón, de Spring Cloud. No, no vamos a indagar a detalle con. O sea, no creo que nos dé tiempo de hacer alguna práctica de lo que es Spring Cloud. Este por qué? Porque depende de que estemos. De que terminemos la práctica del microservicio. O sea, nosotros no podemos meter ahorita algo de configuración en la nube. Si no tenemos primero el tema del microservicio desarrollado. Va entonces. Y lamentablemente, pues por el tema de la teoría que nos. Que tuvimos que estar repasando que si fue un poco extensa. No nos fue como quitando ese tiempo, no? Entonces, en este primer día vamos a estar creando desde cero el microservicio. O sea, vamos a plantear la arquitectura de microservicios. Vamos a desarrollar los tres microservicios. Que teníamos en mente que son producto, cliente, órdenes. Y algunos endpoints para cada uno de ellos. Voy a admitir a las personas. Va y. Y este. Y en el día dos. Ahora sí vamos a utilizar la parte de Spring Cloud. Ya más en materia. Sobre el microservicio que ya creamos. Digamos que ya que tengamos un microservicio. Ahora sí vamos a poder explotar todo la propuesta de la nube que trae. Spring Cloud. Uno de los de los primeros este. Componentes que resaltan es la parte de la seguridad. O sea, con Cloud Security. Vamos a poder hacer que el microservicio que ya creamos en la parte de usuarios. Se pueda autenticar. Y también poder dar autorización de ocupar. O de hacer ciertas acciones sobre nuestro sistema. Va. Entonces, este, esta parte de. Por eso como que lo lo partí así. Y lo expongo de esta forma. Para que veamos cuál es el alcance, no. En este primer día vamos a crear los micros y en el en el otro. O sea, mañana vamos a allá aprovechar todo lo que es la parte de. Entonces, listo, ahora sí. Déjenme ver aquí igual y si ya todos. O si no alguien puede levantar la mano. No sé si todos ya tienen. Digamos la máquina. Este encendido.
on 2023-07-31
language: ES
WEBVTT vamos a dar unos dos minutitos para que para ver si me responden y que todos podamos empezar en el mismo punto va mientras voy a hacer una prueba con con Alejandro voy a intentar creo que yo puedo controlar ahí como que tu máquina creo que sí verdad ahí al agarrillo ustedes ya habían trabajado con esta plataforma perdón a perdón me preguntan y yo el concepto que tengo es ese o sea literal yo me puse a hacer o sea a mí me dieron una máquina yo la creé y empecé a ambientar entonces lo que me dijeron fue las personas cuando se conecten van a copiar esa máquina y bueno por ende van a tener esa instancia de todo lo que tú tienes y de hecho aquí como yo voy viendo pues sí todos todos traen eso lo que me daba duda es que si yo por ejemplo hacía algo se les reflejará a ustedes pero parece independientes entonces creo que funcionar como como queremos que funcione nada más que aquí nos hace falta
on 2023-07-31
language: ES
WEBVTT pierde porque al final por la forma en la que vamos a trabajar pues son este es en ramas como les decía en git también pues la sesión se está grabando y no sé si tú puedes seguir tú sigues viendo mi máquina por ejemplo y tú ves mi computadora grande entonces quieres a ver quieres compartir pantalla va a ver si ya se ve bueno en esas ventanas de incógnito te dejo perfecto perfecto alguien más en esa situación hoy estamos todos
on 2023-07-31
language: ES
WEBVTT de lo que se va a ocupar para hacer en la ambientación. Se los voy a ir presentando cómo lo van a ubicar ustedes en sus computadoras o en sus instancias. Y pues lo van viendo, ¿no? Por ejemplo, la parte de Docker. Docker lo vamos a tener. Bueno, aquí es la parte, primero, a mí me está dando lata el idioma, por eso configure también México. Más que nada por el tema del teclado, ¿no? Como estoy en Mac. Y luego es Windows y es un 4P ahí de teclas. Entonces, me acomode con este de en español. No sé si a ustedes también les sirva, pues ahí está la opción. Entonces, Docker, Docker, este, Docker Desktop. Igual así, tal cual lo buscas. Yo siempre acostumo a ejecutar en Windows todo como admin. Y pues ahí para que lo vayan abriendo por si en algún momento algo falla, ¿no? Y ahí también hay que tener un poco de paciencia porque es muy, muy lento, ¿no? Por eso también les decía de no compartir nada. No prender cámaras porque va a estar bien cañón esto del internet. Pero bueno, este es Docker, este es Docker Desktop. Y ahí se va iniciando el motor. Y ahorita vamos a ver que ya se configuraron ahí algunos, este, algunas imágenes, algunos volúmenes. Y ahorita vamos a ver para qué, para qué se ocupó todo eso, ¿no? En lo que eso carga en un, en un CMD, igual lo ejecutas como admin. La versión de, de Java, ¿no? Por ejemplo. Si ejecutas el Java menos version, pues ahí nos va a aparecer que tenemos instalada la A17, ¿no? Que es lo que íbamos diciendo en nuestra, la presentación. Y ahí pues ya cumplimos con que tenemos Docker Desktop, ya tenemos Java 17. Vamos a ver ahora el tema de Intel J. Entonces, para ver Intel J. Igual, vamos aquí en el cuadro de búsqueda. Me doy Intel J y ahí me lo abre. ¿Va? Ahorita, pues yo dejé ahí unos archivos. Igual y ahorita no les hagan caso. Porque igual todo lo vamos a ir haciendo ahorita desde cero. Ahí está Intel J, va, va a ejecutándose. Y bueno, en lo que esto se va cargando. Bueno, estos son los archivos que les digo que ahorita no, no, no, no pellen. Bueno, más bien proyectos. Este ahorita vamos a ir abriendo uno por uno. Porque, pues, llevan un, un orden, ¿no? Este, en la parte de, bueno, yo dejé aquí una carpeta en el escritorio que sí es importante, sobre todo, porta para la parte de, de, digo, de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la parte de la bien entonces pues entonces si no hay dudas pues vamos a detener tantito
on 2023-07-31
language: ES
WEBVTT Pero bueno, ya no le voy a hacer caso. A ver, entonces ahí me ves, no? Perfecto. Vale, entonces sí, porque creo que... A ver, yo te ya agarré... Ya agarré el control de tu máquina. Ah, no. Interactive, ya. Ahora sí. Sale. A ver, entonces cuál era la pregunta, perdón, la duda? Tu rama. Ah, ok. No, mira, lo que tenemos que hacer después de crear en el repositorio la rama, hay que bajarlo, apuntamos a esa rama y desde ahí empezamos a hacer el desarrollo. Empezamos a completar el micro. Entonces, yo aquí estoy en user service, va? Me voy a ir a ver dónde están las ramas. ¿Cuál es tu rama, perdón? Es esta. Ok, perfecto. Entonces, con git ya nada más le digo que lo clone. Me digo clonalo. Ese comando lo que está haciendo es bajarme el código de user service, pero como yo no especificé en ese comando un checkout ni nada, o sea, un cambio de rama, lo va a bajar en main, ¿no? Entonces, esto lo puedo ver porque si yo me voy al user service, yo aquí le puedo decir git status y veo que estoy en la rama main. Esa rama no me, no, o sea, las especificaciones es no hacer nada ni en main ni en development. Entonces, por eso creé mi rama. Entonces, ¿qué es lo que tengo que hacer? Buscar la mía que la tuya me dijiste que era zg009t. Entonces, lo que hago es cambiarme esa rama con el comando git checkout
on 2023-07-31