{"id":25202,"date":"2023-12-20T13:03:42","date_gmt":"2023-12-20T12:03:42","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=25202"},"modified":"2023-12-20T13:10:36","modified_gmt":"2023-12-20T12:10:36","slug":"la-guia-definitiva-de-los-conceptos-fundamentales-para-devs","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/","title":{"rendered":"La gu\u00eda definitiva del dev en 2023"},"content":{"rendered":"\n<p>En esta completa serie de entrevistas, presentada en colaboraci\u00f3n con nuestros amigos del <strong><a href=\"https:\/\/www.gitbar.it\/\" class=\"ek-link\">podcast GitBar<\/a>,<\/strong> profundizamos en los conceptos fundamentales que los desarrolladores, tanto senior como junior, deber\u00edan conocer para mantenerse actualizados en la industria tecnol\u00f3gica actual.<\/p>\n\n\n\n<p>Desarrolladores destacados han compartido tecnolog\u00edas clave, t\u00e9rminos y enfoques que est\u00e1n dando forma a sus respectivas industrias hoy: desde IA y aprendizaje autom\u00e1tico hasta c\u00f3digo abierto, microservicios y metodolog\u00edas Scrum. \u00a1Aqu\u00ed est\u00e1n sus ideas para que la comunidad de Codemotion disfrute!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-inteligencia-artificial-aprendizaje-automatico-y-aprendizaje-profundo\"><strong>Inteligencia artificial, aprendizaje autom\u00e1tico y aprendizaje profundo<\/strong><\/h2>\n\n\n\n<p>Por <a href=\"https:\/\/www.linkedin.com\/in\/albertomassidda\/?originalSubdomain=uk\" class=\"ek-link\">Alberto Massidda<\/a>, Ingeniero de Producci\u00f3n en @Meta<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ai-ml-y-dl\"><strong>AI, ML y DL<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>AI:<\/strong> Es un concepto general que abarca todo lo relacionado con hacer que una computadora o un software sea &#8220;inteligente&#8221;. La IA puede basarse en reglas preprogramadas o en el aprendizaje (la capacidad de aprender de datos y experiencias).<\/li>\n\n\n\n<li><strong>Machine Learning: <\/strong>Consiste en &#8220;permitir que las computadoras aprendan por s\u00ed mismas&#8221; al darles acceso a un gran conjunto de datos y permitirles establecer reglas y patrones. La salida se genera mediante modelos construidos a trav\u00e9s del aprendizaje de datos de entrenamiento.<\/li>\n\n\n\n<li><strong>Deep Learning (DL): <\/strong>Es un subcampo del aprendizaje autom\u00e1tico que imita el principio de funcionamiento del cerebro biol\u00f3gico. Se basa en procesar informaci\u00f3n a trav\u00e9s de m\u00faltiples &#8220;capas de profundidad&#8221;. Cada capa de una red neuronal procesa un aspecto diferente de los datos y luego transmite lo que ha aprendido a la siguiente capa. La salida refleja el &#8220;punto de vista&#8221; de todas las capas.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modelos\"><strong>Modelos<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modelos Discriminativos en IA: <\/strong>Aprenden l\u00edmites de decisi\u00f3n a partir de datos de entrenamiento y los utilizan para clasificar nuevas entradas. Aplicables a problemas de decisi\u00f3n y predicci\u00f3n, como generaci\u00f3n de precios inmobiliarios, reconocimiento de im\u00e1genes y filtrado de spam.<\/li>\n\n\n\n<li><strong>Modelos Generativos en IA: <\/strong>Estiman la distribuci\u00f3n de los datos de entrenamiento, aprendiendo a generar ejemplos que pertenezcan a subgrupos espec\u00edficos. Se utilizan en diversas aplicaciones, como generaci\u00f3n de im\u00e1genes, s\u00edntesis de voz y traducci\u00f3n autom\u00e1tica.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-aprendizaje\"><strong>Aprendizaje<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Aprendizaje supervisado<\/strong>: Algoritmos que aprenden de un conjunto de datos etiquetados. Cada ejemplo de datos consta de una entrada y la salida deseada correspondiente. El objetivo es crear un modelo que, dado una nueva entrada, pueda predecir la salida correcta.<\/li>\n\n\n\n<li><strong>Aprendizaje no supervisado<\/strong>: Se basa en datos no etiquetados y busca encontrar estructuras o patrones ocultos en los datos. Puede utilizarse para agrupar datos similares (clustering), reducir la dimensionalidad de los datos o descubrir reglas asociativas entre sus caracter\u00edsticas.<\/li>\n\n\n\n<li><strong>Aprendizaje semi-Supervisado<\/strong>: Se encuentra a medio camino entre el aprendizaje supervisado y el no supervisado. Utiliza un conjunto grande de datos no etiquetados para inducir etiquetas autom\u00e1ticas que luego se utilizan para entrenar un modelo supervisado. \u00datil cuando las etiquetas de los datos son costosas o dif\u00edciles de obtener.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-entrenamiento-e-inferencia-en-ia\"><strong>Entrenamiento e Inferencia en IA:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Entrenamiento:<\/strong> Fase en la que un modelo &#8220;aprende&#8221; de los datos ajustando sus par\u00e1metros internos y optimizando su rendimiento.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Inferencia:<\/strong> Fase en la que se utiliza un modelo ya entrenado para hacer predicciones sobre nuevos datos desconocidos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-licencias-de-software\"><strong>Licencias de Software<\/strong><\/h2>\n\n\n\n<p>Por <a href=\"https:\/\/www.linkedin.com\/in\/carlopiana\/\" class=\"ek-link\">Carlo Piana<\/a>, Director \u00danico en @Viva Labs<\/p>\n\n\n\n<p><strong>Licencia de Software<\/strong>: Declaraci\u00f3n legal que define los t\u00e9rminos y condiciones para el uso de un software. Establece los derechos y obligaciones relacionados con el uso del software, adem\u00e1s de los derechos y obligaciones establecidos por la ley.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-licencia-de-codigo-abierto\">Licencia de c\u00f3digo abierto:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acceso al c\u00f3digo fuente:<\/strong> Los usuarios pueden obtener, modificar y distribuir el c\u00f3digo fuente libre y transparentemente.<\/li>\n\n\n\n<li><strong>Libertad de uso y distribuci\u00f3n<\/strong>: Ofrecen la libertad de utilizar, copiar, distribuir, modificar y redistribuir el software sin restricciones, promoviendo la innovaci\u00f3n y el intercambio de tecnolog\u00eda.<\/li>\n\n\n\n<li><strong>Atribuci\u00f3n del autor: <\/strong>Pueden requerir que se d\u00e9 cr\u00e9dito al autor original del software cuando se utilice o distribuya el c\u00f3digo fuente.<\/li>\n\n\n\n<li><strong>Licencia copyleft:<\/strong> Algunas licencias incluyen cl\u00e1usulas copyleft, como la GPL (Licencia P\u00fablica General de GNU), que requieren que el software derivado o modificado se distribuya con la misma licencia de c\u00f3digo abierto del c\u00f3digo original.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-licencia-propietaria\">Licencia Propietaria<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acceso limitado al c\u00f3digo fuente:<\/strong> No proporciona acceso al c\u00f3digo fuente del software. Los usuarios reciben solo el producto final compilado y no pueden acceder, ver ni modificar el c\u00f3digo fuente. No es de c\u00f3digo abierto, es software propietario, aunque sea gratuito.<\/li>\n\n\n\n<li><strong>Licencia de Pago: <\/strong>A menudo requieren el pago de una licencia. Existen diferentes modalidades de licencia, como licencias para usuarios individuales, licencias empresariales o licencias a tiempo limitado.<\/li>\n<\/ul>\n\n\n\n<p><strong>\u00bfY si no aplico una licencia?<\/strong><\/p>\n\n\n\n<p>Cuando se crea software, la ley reserva todos los derechos al autor. Por lo tanto, si se pretende otorgar permisos para hacerlo de c\u00f3digo abierto, es necesario realizar una declaraci\u00f3n p\u00fablica y expl\u00edcita; de lo contrario, todos los derechos permanecen reservados. Esto no significa que el software se convierta en dominio p\u00fablico: de hecho, el titular de los derechos puede permitir el uso libre solo bajo ciertas condiciones, incluidas aquellas de copyleft. Estas condiciones deben cumplir con la Definici\u00f3n de C\u00f3digo Abierto para considerarse &#8220;Open Source&#8221;.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-microservicios\"><strong>Microservicios<\/strong><\/h2>\n\n\n\n<p>Por Mattia Tommasone, Ingeniero Senior de Relaciones con Desarrolladores, Publicidad en Google.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modularidad<\/strong>: son componentes independientes que realizan funciones espec\u00edficas dentro de una aplicaci\u00f3n. Cada uno puede ser desarrollado, implementado y escalado de forma separada de los dem\u00e1s.<\/li>\n\n\n\n<li><strong>Independencia<\/strong>: cada microservicio es aut\u00f3nomo y puede ser desarrollado utilizando diferentes lenguajes de programaci\u00f3n, tecnolog\u00edas y herramientas.<\/li>\n\n\n\n<li><strong>Comunicaci\u00f3n a trav\u00e9s de API<\/strong>: los microservicios se comunican entre s\u00ed a trav\u00e9s de API bien definidas.<\/li>\n\n\n\n<li><strong>Escalabilidad:<\/strong> permiten escalar de forma independiente las diferentes componentes de la aplicaci\u00f3n seg\u00fan las necesidades de carga.<\/li>\n\n\n\n<li><strong>Aislamiento de fallos:<\/strong> gracias a su naturaleza modular, si uno de los microservicios falla, los dem\u00e1s pueden seguir funcionando normalmente.<\/li>\n\n\n\n<li><strong>Desarrollo y distribuci\u00f3n r\u00e1pida: <\/strong>la modularidad de los microservicios facilita el desarrollo paralelo y la implementaci\u00f3n continua. Cada microservicio puede ser desarrollado, probado y distribuido de forma independiente, acelerando el proceso de desarrollo de la aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Facilidad de sustituci\u00f3n y actualizaci\u00f3n<\/strong>: gracias a la separaci\u00f3n de los microservicios, es posible reemplazar uno con una implementaci\u00f3n mejor o actualizarlo sin tener que afectar a los dem\u00e1s. Esto simplifica la evoluci\u00f3n y la actualizaci\u00f3n de las diferentes componentes de la aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Escalabilidad horizontal:<\/strong> los microservicios pueden ser replicados y distribuidos en varios servidores para distribuir la carga y aumentar el rendimiento de la aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>DevOps-friendly:<\/strong> la arquitectura de microservicios se adapta bien al enfoque DevOps, ya que facilita la integraci\u00f3n continua, la entrega continua y la automatizaci\u00f3n de los procesos de desarrollo, prueba y distribuci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-division-en-microservicios\">Divisi\u00f3n en microservicios<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Funcionalidades coherentes<\/strong>: identificar las funcionalidades del sistema que pueden ser aisladas y divididas en microservicios separados. Los microservicios deben ser coherentes, es decir, contener l\u00f3gicas de negocio relacionadas y proporcionar una unidad funcional distintiva.<\/li>\n\n\n\n<li><strong>Granularidad adecuada:<\/strong> encontrar un equilibrio en el tama\u00f1o de los microservicios. Deben ser lo suficientemente peque\u00f1os como para garantizar la modularidad e independencia, pero tambi\u00e9n lo suficientemente grandes como para manejar de manera aut\u00f3noma una parte significativa de la l\u00f3gica de negocio.<\/li>\n\n\n\n<li><strong>L\u00edmites del dominio<\/strong>: identificar los l\u00edmites del dominio, es decir, los l\u00edmites conceptuales entre las diversas responsabilidades de la aplicaci\u00f3n.<\/li>\n\n\n\n<li><strong>Comunicaci\u00f3n e interfaces: <\/strong>definir los modos de comunicaci\u00f3n entre los microservicios. Normalmente se utilizan API RESTful, mensajer\u00eda as\u00edncrona o eventos para permitir la interacci\u00f3n entre los diferentes servicios. Es importante establecer claramente las interfaces y acuerdos de las API para garantizar una comunicaci\u00f3n correcta y coherente.<\/li>\n\n\n\n<li><strong>Aislamiento de datos: <\/strong>considerar c\u00f3mo manejar el acceso a los datos por parte de los microservicios. Se pueden adoptar diversas estrategias, como la propiedad exclusiva de los datos por parte de un microservicio, la replicaci\u00f3n de datos entre los servicios o la adopci\u00f3n de un modelo de consistencia eventualmente consistente.<\/li>\n\n\n\n<li><strong>Gesti\u00f3n de transacciones:<\/strong> evaluar c\u00f3mo manejar las transacciones entre los microservicios. Las transacciones distribuidas pueden ser complejas de implementar y gestionar. Se pueden adoptar enfoques como la compensaci\u00f3n de procesos o el uso de event sourcing y CQRS (Command Query Responsibility Segregation) para garantizar la consistencia de los datos.<\/li>\n\n\n\n<li><strong>Monitoreo y seguimiento:<\/strong> planificar c\u00f3mo monitorear y hacer un seguimiento de las solicitudes y respuestas entre los microservicios. Es importante tener visibilidad sobre el rendimiento y las interacciones entre los servicios para diagnosticar y resolver cualquier problema eventual.<\/li>\n\n\n\n<li><strong>Ley de Conway<\/strong>: Las organizaciones que dise\u00f1an sistemas est\u00e1n destinadas a producir dise\u00f1os que son r\u00e9plicas de las estructuras de comunicaci\u00f3n de sus organizaciones.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-kubernetes\"><strong>Kubernetes<\/strong><\/h2>\n\n\n\n<p>Para Serena Sensini, Arquitecta Empresarial en Dedalus spa.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kubernetes <\/strong>es un sistema de c\u00f3digo abierto para la automatizaci\u00f3n del despliegue, escalabilidad y gesti\u00f3n de aplicaciones contenerizadas. Su objetivo principal es proporcionar un marco para desplegar, mantener y escalar aplicaciones de manera eficiente y confiable en diferentes entornos de alojamiento.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Master Node:<\/strong> El nodo principal que controla y gestiona el cl\u00faster Kubernetes.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Worker Node:<\/strong> Responsable de ejecutar los contenedores (aplicaciones) en el cl\u00faster Kubernetes.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kubelet<\/strong>: Agente que se ejecuta en cada nodo y se asegura de que los contenedores se est\u00e9n ejecutando en un estado deseado.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kube-proxy:<\/strong> Mantiene las reglas de red en los nodos para permitir la comunicaci\u00f3n entre los diferentes servicios.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pod<\/strong>: La unidad m\u00e1s peque\u00f1a y simple en Kubernetes, que representa un solo proceso en un cl\u00faster compuesto por uno o m\u00e1s contenedores.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Service<\/strong>: Una abstracci\u00f3n que define un conjunto l\u00f3gico de pods para permitir la comunicaci\u00f3n a trav\u00e9s de los componentes de red.<br><\/li>\n\n\n\n<li><strong>Deployment<\/strong>: Proporciona actualizaciones declarativas para los pods y los ReplicaSets.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ReplicaSet<\/strong>: Garantiza que se ejecute un n\u00famero espec\u00edfico de copias de un pod en cualquier momento.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ConfigMap y Secret:<\/strong> Mecanismos para proporcionar archivos de configuraci\u00f3n y\/o datos sensibles a los pods.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Namespace<\/strong>: Permite la separaci\u00f3n l\u00f3gica y la definici\u00f3n de una convenci\u00f3n de nomenclatura entre los recursos dentro de un cl\u00faster.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Etcd<\/strong>: Almacena de manera confiable la configuraci\u00f3n del estado del cl\u00faster.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-big-data\">Big Data<\/h2>\n\n\n\n<p>Por Antonio Murgia, Arquitecto de Datos en Agile Labs.<\/p>\n\n\n\n<p>Los datos tienen su propia gravedad. El t\u00e9rmino &#8220;big data&#8221; se refiere a un volumen excepcionalmente grande de datos que pueden analizarse para revelar patrones, tendencias y asociaciones. Este concepto est\u00e1 en constante evoluci\u00f3n y generalmente se refiere a datos que son tan vastos o complejos que los m\u00e9todos tradicionales de procesamiento de datos son inadecuados para manejarlos.<\/p>\n\n\n\n<p><strong>Caracter\u00edsticas del Big Data:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Volumen<\/strong>: Cantidad de datos.<\/li>\n\n\n\n<li><strong>Velocidad<\/strong>: Velocidad a la que se generan nuevos datos y la velocidad a la que los datos se mueven.<\/li>\n\n\n\n<li><strong>Variedad<\/strong>: Diferentes tipos de datos estructurados y no estructurados.<\/li>\n\n\n\n<li><strong>Veracidad<\/strong>: Correcci\u00f3n y confiabilidad de los datos.<\/li>\n\n\n\n<li><strong>Valor<\/strong>: La capacidad y posibilidad de transformar los datos en valor.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-tipos-de-datos\">Tipos de Datos<\/h4>\n\n\n\n<p>Los datos estructurados est\u00e1n organizados en un formato predefinido y f\u00e1cilmente analizable (por ejemplo, bases de datos relacionales).<\/p>\n\n\n\n<p>Los datos no estructurados est\u00e1n desorganizados y no siguen una estructura espec\u00edfica, lo que hace m\u00e1s complejo su procesamiento y an\u00e1lisis, como en el caso de textos, im\u00e1genes o videos.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-etl-y-elt\">ETL y ELT<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ETL (Extract, Transform, Load)<\/strong> son procesos que extraen datos de diversas fuentes, los transforman a un formato compatible y luego los cargan en un almac\u00e9n de datos para el an\u00e1lisis.<\/li>\n\n\n\n<li><strong>ELT (Extract, Load, Transform), <\/strong>en cambio, extraen los datos, los cargan primero en el almac\u00e9n de datos y luego los transforman dentro del propio almacenamiento, a menudo ofreciendo una mayor eficiencia para grandes vol\u00famenes de datos.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-almacen-de-datos-y-data-lake\">Almac\u00e9n de Datos y Data Lake<\/h4>\n\n\n\n<p>Un<strong> data warehouse <\/strong>es un sistema centralizado que almacena datos estructurados y, a veces, semi-estructurados, optimizados para an\u00e1lisis r\u00e1pido e interrogaci\u00f3n.<\/p>\n\n\n\n<p>Un <strong>data lake<\/strong> es un sistema que puede almacenar grandes vol\u00famenes de datos estructurados y no estructurados, manteni\u00e9ndolos en su formato bruto hasta que son necesarios para su uso, ofreciendo mayor flexibilidad.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-datos-bronze-silver-y-gold\">Datos Bronze, Silver y Gold<\/h4>\n\n\n\n<p>Los t\u00e9rminos bronze, silver y gold se refieren a etapas de refinamiento de datos: los bronze data son datos crudos y no procesados, los silver data son datos limpios y transformados pero no listos para el consumo final, y los gold data son datos refinados, confiables y listos para el an\u00e1lisis y reporting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cloud\"><strong>Cloud<\/strong><\/h2>\n\n\n\n<p>Por Andrea Saltarello, CTO en Managed Designs.<\/p>\n\n\n\n<p><strong>Public Cloud: <\/strong>Servicios de nube ofrecidos en Internet por proveedores externos, accesibles para cualquier persona que desee suscribirse o adquirirlos.<\/p>\n\n\n\n<p><strong>Private Cloud: <\/strong>Infraestructura de computaci\u00f3n en la nube dedicada a una organizaci\u00f3n espec\u00edfica, ofreciendo mayor control y privacidad.<\/p>\n\n\n\n<p><strong>Hybrid Cloud: <\/strong>Combinaci\u00f3n de nubes p\u00fablicas y privadas, permitiendo el intercambio y la compartici\u00f3n de datos y aplicaciones entre ellas para obtener una mayor flexibilidad y optimizaci\u00f3n de la infraestructura existente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-private-cloud-vs-on-premises-nbsp\">Private Cloud vs. On-premises&nbsp;<\/h3>\n\n\n\n<p>Las soluciones en sitio (on-premises) est\u00e1n f\u00edsicamente ubicadas y gestionadas dentro de las instalaciones de la organizaci\u00f3n, requiriendo hardware y software dedicado, as\u00ed como personal de TI para el mantenimiento. La nube privada, por otro lado, ofrece un entorno de computaci\u00f3n en la nube dedicado que est\u00e1 alojado de forma remota, gestionado por el proveedor de servicios, pero reservado exclusivamente para la organizaci\u00f3n, proporcionando mayor escalabilidad y flexibilidad en comparaci\u00f3n con una implementaci\u00f3n in situ.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vendor-lock-in-nbsp\">Vendor Lock-in&nbsp;<\/h3>\n\n\n\n<p>El &#8220;vendor lock-in&#8221; en la nube se refiere a la situaci\u00f3n en la que una organizaci\u00f3n se vuelve excesivamente dependiente de un \u00fanico proveedor de servicios en la nube, dificultando o encareciendo la migraci\u00f3n a otro proveedor. Antes de tomar medidas correctivas, es necesario realizar una estimaci\u00f3n de riesgos desde el punto de vista de la probabilidad y del costo en caso de materializaci\u00f3n. Si estos factores son predominantes, se debe implementar una estrategia para limitar su impacto, incluyendo el uso de est\u00e1ndares abiertos y el dise\u00f1o de sistemas con portabilidad en mente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cloud-governance-nbsp\">Cloud Governance&nbsp;<\/h3>\n\n\n\n<p>El conjunto de reglas, pol\u00edticas y procedimientos que una organizaci\u00f3n implementa para gestionar, monitorear y optimizar el uso de los recursos en la nube.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pol\u00edticas y directrices<\/strong>: Definici\u00f3n de reglas y procedimientos claros para el uso de los servicios en la nube.<\/li>\n\n\n\n<li><strong>Seguridad y cumplimiento<\/strong>: Asegurar que los servicios en la nube cumplan con regulaciones legales y requisitos de seguridad de la organizaci\u00f3n.<\/li>\n\n\n\n<li><strong>Gesti\u00f3n de costos<\/strong>: Monitoreo y control de los costos asociados con el uso de la nube para evitar desperdicios y sobrecostos inesperados.<\/li>\n\n\n\n<li><strong>Optimizaci\u00f3n del rendimiento<\/strong>: Garantizar que los recursos en la nube se utilicen de manera eficiente para proporcionar el rendimiento deseado.<\/li>\n\n\n\n<li><strong>Gesti\u00f3n de Riesgos:<\/strong> Evaluaci\u00f3n y mitigaci\u00f3n de los riesgos asociados con la adopci\u00f3n de la nube, como la disponibilidad y la resiliencia.<\/li>\n\n\n\n<li><strong>Integraci\u00f3n e Interoperabilidad<\/strong>: Asegurar que los servicios en la nube se integren de manera uniforme con otros sistemas y tecnolog\u00edas de la organizaci\u00f3n.<\/li>\n\n\n\n<li><strong>Monitoreo e Informes<\/strong>: Uso de herramientas para monitorear el uso, el rendimiento y la conformidad de los servicios en la nube, y crear informes regulares para el liderazgo de la organizaci\u00f3n.<\/li>\n\n\n\n<li><strong>Responsabilidades y roles<\/strong>: Definici\u00f3n clara de roles y responsabilidades dentro de la organizaci\u00f3n para la gesti\u00f3n y gobernanza de los servicios en la nube.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-user-stories-e-product-ownership\">User Stories e Product Ownership<\/h2>\n\n\n\n<p>Por <a href=\"https:\/\/www.linkedin.com\/in\/matteoguidotto\/\" class=\"ek-link\">Matteo Guidotto<\/a>, Senior Growth Product Manager en DaVinci Salute.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-product-owner-y-product-manager\">Product Owner y Product Manager<\/h3>\n\n\n\n<p>El Product Owner tiende a tener un enfoque m\u00e1s t\u00e1ctico y espec\u00edfico del equipo, mientras que el Product Manager tiende a tener un enfoque m\u00e1s estrat\u00e9gico y orientado al mercado. Sin embargo, en algunas organizaciones, los roles pueden fusionarse o tener superposiciones significativas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-rol-guiado-por-la-escucha\">Rol guiado por la escucha<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Escuchando atentamente al negocio, el Product Owner puede comprender sus necesidades, problemas y expectativas, fundamentales para definir y priorizar los requisitos del producto.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El escuchar activamente es esencial para trabajar eficazmente con el equipo de desarrollo, comprender sus desaf\u00edos, preocupaciones y sugerencias, as\u00ed como para asegurar que est\u00e9n en el camino correcto para alcanzar los objetivos del sprint.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Al escuchar a otros stakeholders (gerentes, marketing, &#8230;), el Product Owner puede asegurarse de que el producto est\u00e9 alineado con los objetivos empresariales y las estrategias de mercado.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Una buena escucha es esencial para gestionar y resolver conflictos que puedan surgir entre los stakeholders o dentro del equipo de desarrollo, facilitando la mediaci\u00f3n y la b\u00fasqueda de soluciones compartidas.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La escucha construye confianza entre el Product Owner y los stakeholders. Mostrar empat\u00eda y consideraci\u00f3n puede contribuir a crear relaciones laborales positivas y productivas.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-definition-of-ready-dor\">Definition of Ready (DoR)<\/h3>\n\n\n\n<p>L<strong>a Definition of Ready<\/strong> establece los criterios que un elemento del backlog del producto debe cumplir antes de considerarse listo para ser incluido en un sprint.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Claridad de los requisitos, acuerdo sobre el alcance, estimaciones (cuando est\u00e9n presentes), soluci\u00f3n de todas las dependencias.<\/li>\n<\/ul>\n\n\n\n<p>La <strong>DoR <\/strong>ayuda a prevenir malentendidos y retrasos en el trabajo del sprint, asegurando que el equipo comience con expectativas e informaci\u00f3n claras.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-definition-of-done-dod\">Definition of Done (DoD)<\/h3>\n\n\n\n<p>La <strong>Definition of Done,<\/strong> por otro lado, establece los criterios que un elemento del backlog del producto debe cumplir para considerarse completado, por ejemplo: <strong>c\u00f3digo escrito y probado, c\u00f3digo revisado, documentaci\u00f3n completa, clientes y usuarios finales satisfechos.<\/strong><\/p>\n\n\n\n<p>La <strong>DoD <\/strong>garantiza que cada elemento completado cumpla con un est\u00e1ndar de calidad acordado y que est\u00e9 realmente listo para ser lanzado, si es necesario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-riesgos-de-la-definition-of-ready-dor\">Riesgos de la Definition of Ready (DoR)<\/h3>\n\n\n\n<p>Una DoR demasiado r\u00edgida o detallada puede reducir la flexibilidad y la capacidad del equipo para adaptarse a los cambios. Puede interpretarse de manera que solo el Product Owner es responsable de la preparaci\u00f3n de los elementos del backlog, lo que podr\u00eda reducir la colaboraci\u00f3n y la discusi\u00f3n dentro del equipo sobre estos elementos. Puede dar una sensaci\u00f3n de falsa seguridad, haciendo creer que, si se cumplen todos los criterios, no habr\u00e1 problemas durante el desarrollo, lo cual no siempre es cierto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ui-e-ux-design\">UI e UX Design<\/h2>\n\n\n\n<p>Por <a href=\"https:\/\/www.linkedin.com\/in\/davide-di-pumpo\/\" class=\"ek-link\">Davide Di Pumpo<\/a>, Design Technologist en Amazon, y <a href=\"https:\/\/www.linkedin.com\/in\/pauljesusbenitesromero\/\" class=\"ek-link\">Paul Romero,<\/a> UX &amp; Service Designer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-design\"><strong>Design<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Global Process<\/strong>: Es un proceso m\u00e1s amplio que va m\u00e1s all\u00e1 del simple dise\u00f1o. Incluye la planificaci\u00f3n, la definici\u00f3n de objetivos, la resoluci\u00f3n de problemas, la consideraci\u00f3n de las necesidades del usuario y la implementaci\u00f3n pr\u00e1ctica de un concepto o producto.<\/li>\n\n\n\n<li><strong>Orientado a los Objetivos<\/strong>: Se centra en la obtenci\u00f3n de resultados espec\u00edficos o en el cumplimiento de un objetivo. Puede incluir el pensamiento estrat\u00e9gico, la investigaci\u00f3n de usuarios, la optimizaci\u00f3n funcional y la evaluaci\u00f3n del rendimiento.<\/li>\n\n\n\n<li><strong>Involucra diversas competencias<\/strong>: Suele requerir una gama m\u00e1s amplia de habilidades, que incluyen ingenier\u00eda, arquitectura, psicolog\u00eda del usuario, sostenibilidad y mucho m\u00e1s.<\/li>\n<\/ul>\n\n\n\n<p><strong>El proceso:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Investigaci\u00f3n de mercado y del usuario<\/strong><\/li>\n\n\n\n<li><strong>An\u00e1lisis y definici\u00f3n de requisitos:<\/strong> Definici\u00f3n de casos de uso, creaci\u00f3n de perfiles de usuarios<\/li>\n\n\n\n<li><strong>Ideaci\u00f3n y dise\u00f1o conceptual:<\/strong> Tormenta de ideas, prototipado, pruebas.<\/li>\n\n\n\n<li><strong>Dise\u00f1o de la Interfaz de Usuario (UI):<\/strong> Creaci\u00f3n de esquemas, Dise\u00f1o visual, Creaci\u00f3n de prototipos interactivos.<\/li>\n\n\n\n<li><strong>Pruebas con usuarios e iteraci\u00f3n<\/strong>: Evaluaci\u00f3n con usuarios, An\u00e1lisis de resultados e iteraciones.<\/li>\n\n\n\n<li><strong>Desarrollo e implementaci\u00f3n:<\/strong> Colaboraci\u00f3n con el equipo de desarrollo, Pruebas y control de calidad.<\/li>\n\n\n\n<li><strong>Lanzamiento y monitoreo<\/strong>: Lanzamiento del producto, Monitoreo de la experiencia del usuario.<\/li>\n<\/ol>\n\n\n\n<p><strong>Nota importante:<\/strong> Seg\u00fan el proyecto, algunas de estas fases pueden omitirse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-atomic-design\"><strong>Atomic Design<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u00c1tomo:<\/strong> Son los elementos b\u00e1sicos de la interfaz de usuario, como botones, campos de texto, iconos o colores. Son componentes simples y reutilizables que act\u00faan como bloques fundamentales en la creaci\u00f3n de elementos m\u00e1s complejos.<\/li>\n\n\n\n<li><strong>Mol\u00e9cula<\/strong>: Son grupos de \u00e1tomos que trabajan juntos para formar componentes m\u00e1s avanzados. Un m\u00f3dulo de entrada de datos podr\u00eda ser una mol\u00e9cula compuesta por un campo de entrada, un bot\u00f3n y una etiqueta.<\/li>\n\n\n\n<li><strong>Organismo<\/strong>: Los organismos son componentes de interfaz de usuario m\u00e1s grandes y autosuficientes. Representan secciones complejas de la interfaz como barras de navegaci\u00f3n, encabezados o tarjetas que contienen diversas mol\u00e9culas y \u00e1tomos que trabajan juntos.<\/li>\n\n\n\n<li><strong>Template<\/strong>: Los templates proporcionan una estructura b\u00e1sica para las p\u00e1ginas de la interfaz de usuario. Definen la disposici\u00f3n general de los organismos y mol\u00e9culas en una p\u00e1gina, pero no contienen contenido espec\u00edfico.<\/li>\n\n\n\n<li><strong>P\u00e1ginas<\/strong>: Las p\u00e1ginas representan las instancias concretas de las interfaces de usuario completas, donde se inserta el contenido espec\u00edfico. Son la manifestaci\u00f3n final del dise\u00f1o e incorporan todos los dem\u00e1s elementos, desde los templates hasta los organismos, mol\u00e9culas y \u00e1tomos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-scrum\">Scrum<\/h2>\n\n\n\n<p>Scrum es un marco de trabajo \u00e1gil basado en el empirismo y el pensamiento Lean, presentado por Fabio Panzavolta, Scrum Master Independiente.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-fundamentos\">Fundamentos:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Empirismo<\/strong>: la toma de decisiones se basa en la experiencia y los hechos. Transparencia, inspecci\u00f3n y adaptaci\u00f3n son los tres pilares del empirismo.<\/li>\n\n\n\n<li><strong>Lean Thinking:<\/strong> se centra en crear valor lo m\u00e1s r\u00e1pidamente posible y reducir el desperdicio.<\/li>\n<\/ul>\n\n\n\n<p>Para m\u00e1s informaci\u00f3n, puedes visitar<a href=\"https:\/\/chat.openai.com\/c\/www.scrumguides.org\"> www.scrumguides.org<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-valores\">Valores:<\/h4>\n\n\n\n<p>Scrum se practica en un entorno de Seguridad Psicol\u00f3gica.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coraje<\/strong>: afirmar las propias ideas, no ocultar hechos o informaci\u00f3n relacionada con el producto, respetar los principios y elementos de Scrum.<\/li>\n\n\n\n<li><strong>Enfoque<\/strong>: concentrarse en hacer solo lo que es \u00fatil para la creaci\u00f3n de valor, en el momento m\u00e1s oportuno. Estar presente plenamente en cada evento Scrum.<\/li>\n\n\n\n<li><strong>Apertura<\/strong>: abrazar todas las ideas, de cualquier persona, sin juicio y resistir a lo que la propia experiencia podr\u00eda sugerir. Probar cosas que de otra manera no se probar\u00edan.<\/li>\n\n\n\n<li><strong>Respeto<\/strong>: hacia todas las personas que nos rodean, como individuos competentes y por todas las ideas y propuestas \u00fatiles para mejorar el producto.<\/li>\n\n\n\n<li><strong>Compromiso<\/strong>: dar siempre lo mejor para alcanzar los objetivos establecidos, comprometerse a respetar los eventos Scrum.<\/li>\n<\/ul>\n\n\n\n<p>Puedes obtener m\u00e1s detalles en<a href=\"https:\/\/chat.openai.com\/c\/www.thescrumvalues.org\"> www.thescrumvalues.org<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-responsabilidades\">Responsabilidades<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product Owner<\/strong>: Responsable de maximizar el valor del producto y gestiona el Product Backlog.<\/li>\n\n\n\n<li><strong>Desarrolladores:<\/strong> Profesionales que crean el producto o servicio, autoorganizados y multidisciplinarios. Se comprometen a entregar incrementos de producto completos y listos para su lanzamiento al final de cada Sprint.<\/li>\n\n\n\n<li><strong>Scrum Master<\/strong>: Responsable de la eficacia del Scrum Team, facilita el proceso Scrum, asegura que se respeten las reglas y pr\u00e1cticas del marco, ayuda al equipo Scrum a eliminar obst\u00e1culos y resolver problemas que podr\u00edan impedir el logro de los objetivos del Sprint, promueve la mejora continua y fomenta el crecimiento y la madurez del equipo.<\/li>\n\n\n\n<li><strong>Scrum Team<\/strong>: Compuesto por Product Owner, Desarrolladores y Scrum Master, es autogestionado y multifuncional.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-artefactos\">Artefactos<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product Backlog:<\/strong> Refleja la estrategia del Product Owner y es una lista emergente de trabajo en el producto. Contiene el Product Goal.<\/li>\n\n\n\n<li><strong>Sprint Backlog<\/strong>: Un subconjunto del Product Backlog que representa las actividades y elementos seleccionados por los Desarrolladores para un Sprint espec\u00edfico. Contiene el Sprint Goal.<\/li>\n\n\n\n<li><strong>Incremento<\/strong>: Un paso adelante hacia el logro del Product Goal. Debe cumplir con la Definition of Done, es decir, estar completo, probado y listo para su lanzamiento en producci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-eventos\">Eventos<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sprint<\/strong>: Es el evento central de Scrum, que contiene todos los dem\u00e1s eventos y proporciona la frecuencia regular de inspecci\u00f3n y adaptaci\u00f3n.<\/li>\n\n\n\n<li><strong>Sprint Planning<\/strong>: Evento en el cual el Scrum Team colabora para establecer el Sprint Goal, prever los elementos m\u00e1s importantes del Product Backlog y definir. Los Desarrolladores proporcionan detalles sobre el trabajo necesario para completar al menos los primeros elementos seleccionados del Product Backlog.<\/li>\n\n\n\n<li><strong>Daily Scrum:<\/strong> Evento diario de los Desarrolladores, que permite planificar las pr\u00f3ximas 24 horas y comprender si el trabajo realizado aumenta las probabilidades de alcanzar el Sprint Goal.<\/li>\n\n\n\n<li><strong>Sprint Review: <\/strong>Evento informal y colaborativo en el que el Scrum Team y los Stakeholders inspeccionan el incremento y proporcionan comentarios \u00fatiles para la adaptaci\u00f3n del Product Backlog.<\/li>\n<\/ul>\n\n\n\n<p><strong>Sprint Retrospective:<\/strong> El Scrum Team reflexiona sobre el \u00faltimo Sprint, identifica lo que sali\u00f3 bien y lo que se puede mejorar, y planifica acciones correctivas para el pr\u00f3ximo Sprint.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\u00danete a nuestra comunidad<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">\u00bfQuieres orientar tu carrera para convertirte en un experto en ciberseguridad? En nuestra plataforma de Talent puedes encontrar la forma de llevar tu carrera al siguiente nivel. Entra en nuestra web y encuentra tu trabajo ideal. <a href=\"https:\/\/www.codemotion.com\/talent\/jobs\/\" class=\"ek-link\">\u00c9chale un vistazo.<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Ser parte de la comunidad de Codemotion te permitir\u00e1 potenciar tu experiencia y enfrentar nuevos desaf\u00edos que impulsar\u00e1n tu carrera. Aprender\u00e1s nuevas habilidades t\u00e9cnicas y crecer\u00e1s junto a otros miembros mediante el intercambio de opiniones y la creaci\u00f3n conjunta. Tenemos dos comunidades para ti seg\u00fan tu experiencia:<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Si eres wanna-be-dev, junior-dev o early-mid-dev nuestra comunidad de Discord es para ti. All\u00ed encontrar\u00e1s recursos, eventos, formaci\u00f3n, muchos compa\u00f1eros de viaje y beneficios exclusivos. <a href=\"https:\/\/community-es.codemotion.it\/comunidad\" class=\"ek-link\">S\u00famate aqu\u00ed.<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">Si eres late-mid-dev, senior-dev, Tech Lead o CTO nuestra comunidad de Telegram es para ti. All\u00ed encontrar\u00e1s el mejor networking, art\u00edculos high-tech, debates de tendencias tech y beneficios exclusivos. <a href=\"https:\/\/t.me\/+blEFka3EDodjMTFk\" class=\"ek-link\">S\u00famate aqu\u00ed.<\/a><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">\u00a1Nos vemos en Codemotion!<\/pre>\n\n\n\n<script src=\"https:\/\/codemotion.activehosted.com\/f\/embed.php?id=44\" type=\"text\/javascript\" charset=\"utf-8\"><\/script>\n","protected":false},"excerpt":{"rendered":"<p>En esta completa serie de entrevistas, presentada en colaboraci\u00f3n con nuestros amigos del podcast GitBar, profundizamos en los conceptos fundamentales que los desarrolladores, tanto senior como junior, deber\u00edan conocer para mantenerse actualizados en la industria tecnol\u00f3gica actual. Desarrolladores destacados han compartido tecnolog\u00edas clave, t\u00e9rminos y enfoques que est\u00e1n dando forma a sus respectivas industrias hoy:&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/\">Read more<\/a><\/p>\n","protected":false},"author":64,"featured_media":24932,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10620],"tags":[10664,11487],"collections":[],"class_list":{"0":"post-25202","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-dev-life-es","8":"tag-ia","9":"tag-open-source-es","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>La gu\u00eda definitiva de los conceptos fundamentales para devs<\/title>\n<meta name=\"description\" content=\"Descubre los conceptos fundamentales para los desarrolladores explicados por expertos en colaboraci\u00f3n con el podcast GitBar\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"La gu\u00eda definitiva del dev en 2023\" \/>\n<meta property=\"og:description\" content=\"Descubre los conceptos fundamentales para los desarrolladores explicados por expertos en colaboraci\u00f3n con el podcast GitBar\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-20T12:03:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-20T12:10:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1081\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Codemotion\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Codemotion\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/\"},\"author\":{\"name\":\"Codemotion\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/201bb98b02412383686cced7521b861c\"},\"headline\":\"La gu\u00eda definitiva del dev en 2023\",\"datePublished\":\"2023-12-20T12:03:42+00:00\",\"dateModified\":\"2023-12-20T12:10:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/\"},\"wordCount\":4107,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"keywords\":[\"IA\",\"OpenSource\"],\"articleSection\":[\"Dev life\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/\",\"name\":\"La gu\u00eda definitiva de los conceptos fundamentales para devs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"datePublished\":\"2023-12-20T12:03:42+00:00\",\"dateModified\":\"2023-12-20T12:10:36+00:00\",\"description\":\"Descubre los conceptos fundamentales para los desarrolladores explicados por expertos en colaboraci\u00f3n con el podcast GitBar\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"width\":1920,\"height\":1081,\"caption\":\"Discover the fundamental concepts for devs explained by expert figures in their respective fields in collaboration with the GitBar podcast.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dev life\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/es\\\/dev-life-es\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"La gu\u00eda definitiva del dev en 2023\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/201bb98b02412383686cced7521b861c\",\"name\":\"Codemotion\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/cropped-codemotionlogo-150x150.png\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/cropped-codemotionlogo-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/cropped-codemotionlogo-150x150.png\",\"caption\":\"Codemotion\"},\"description\":\"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/CodemotionIT\"],\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/codemotion-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La gu\u00eda definitiva de los conceptos fundamentales para devs","description":"Descubre los conceptos fundamentales para los desarrolladores explicados por expertos en colaboraci\u00f3n con el podcast GitBar","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/","og_locale":"en_US","og_type":"article","og_title":"La gu\u00eda definitiva del dev en 2023","og_description":"Descubre los conceptos fundamentales para los desarrolladores explicados por expertos en colaboraci\u00f3n con el podcast GitBar","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-12-20T12:03:42+00:00","article_modified_time":"2023-12-20T12:10:36+00:00","og_image":[{"width":1920,"height":1081,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","type":"image\/png"}],"author":"Codemotion","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Codemotion","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/"},"author":{"name":"Codemotion","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c"},"headline":"La gu\u00eda definitiva del dev en 2023","datePublished":"2023-12-20T12:03:42+00:00","dateModified":"2023-12-20T12:10:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/"},"wordCount":4107,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","keywords":["IA","OpenSource"],"articleSection":["Dev life"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/","name":"La gu\u00eda definitiva de los conceptos fundamentales para devs","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","datePublished":"2023-12-20T12:03:42+00:00","dateModified":"2023-12-20T12:10:36+00:00","description":"Descubre los conceptos fundamentales para los desarrolladores explicados por expertos en colaboraci\u00f3n con el podcast GitBar","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","width":1920,"height":1081,"caption":"Discover the fundamental concepts for devs explained by expert figures in their respective fields in collaboration with the GitBar podcast."},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/la-guia-definitiva-de-los-conceptos-fundamentales-para-devs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Dev life","item":"https:\/\/www.codemotion.com\/magazine\/es\/dev-life-es\/"},{"@type":"ListItem","position":3,"name":"La gu\u00eda definitiva del dev en 2023"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c","name":"Codemotion","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","caption":"Codemotion"},"description":"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.","sameAs":["https:\/\/x.com\/CodemotionIT"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x600.png","author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png",1920,1081,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-300x169.png",300,169,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-768x432.png",768,432,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-1024x577.png",1024,577,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-1536x865.png",1536,865,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png",1920,1081,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x600.png",600,600,true]},"uagb_author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_comment_info":0,"uagb_excerpt":"En esta completa serie de entrevistas, presentada en colaboraci\u00f3n con nuestros amigos del podcast GitBar, profundizamos en los conceptos fundamentales que los desarrolladores, tanto senior como junior, deber\u00edan conocer para mantenerse actualizados en la industria tecnol\u00f3gica actual. Desarrolladores destacados han compartido tecnolog\u00edas clave, t\u00e9rminos y enfoques que est\u00e1n dando forma a sus respectivas industrias hoy:&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/25202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=25202"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/25202\/revisions"}],"predecessor-version":[{"id":25208,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/25202\/revisions\/25208"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/24932"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=25202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=25202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=25202"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=25202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}