Crear una base de conocimientos con Gatsby, Contentful y AWS

Rate this content
Bookmark

En este masterclass, veremos cómo crear una base de conocimientos utilizando Gatsby, un Framework generador de sitios estáticos que utiliza React y GraphQL, Contentful, un CMS sin cabeza para gestionar el contenido y desplegarlo en AWS S3.

FAQ

Gatsby es un generador de sitios moderno construido sobre React. Se utiliza para construir sitios web que son eficientes en términos de velocidad y optimizados para SEO, generando sitios estáticos que pre-renderizan todas las páginas en el momento de la compilación.

Contentful es un CMS Headless que proporciona una API para integrar contenidos en cualquier plataforma digital. Ofrece una gran flexibilidad y es ideal para proyectos que requieren manejar el contenido de manera independiente del diseño del frontend.

Se puede implementar un proceso de CI/CD utilizando AWS Amplify para conectar el repositorio de código que contiene el proyecto Gatsby. AWS Amplify detecta cambios en el repositorio y despliega automáticamente nuevas versiones del sitio cuando se realizan actualizaciones.

Un webhook es una forma de permitir que las aplicaciones envíen información automatizada a otras aplicaciones en tiempo real. Se utiliza en proyectos de desarrollo web para desencadenar eventos o acciones automáticamente, como la reconstrucción de un sitio cuando se actualiza el contenido en un CMS como Contentful.

AWS ofrece una infraestructura robusta y escalable para alojar aplicaciones web, proporcionando servicios como AWS Amplify que facilitan la implementación, gestión y escalado de aplicaciones, además de integrarse fácilmente con otros servicios AWS para funciones adicionales.

Un generador de sitios estáticos es una herramienta que genera páginas HTML en el momento de la compilación, optimizando tiempos de carga y SEO. Ejemplos de estos generadores incluyen Gatsby, Jekyll y Hugo.

Abdelrhman Adel
Abdelrhman Adel
152 min
04 Jul, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Este masterclass se centra en la creación de una base de conocimientos utilizando Gatsby, Contentful y AWS. Cubre los conceptos básicos de Gatsby, incluyendo la generación de sitios estáticos y el enrutamiento. El masterclass también introduce Gatsby Content Mesh, que proporciona una capa de GraphQL para agregar diversas fuentes de datos. Luego, se demuestra cómo integrar Contentful, un CMS sin cabeza, con Gatsby utilizando el complemento Gatsby-Source-Contentful. El masterclass concluye con el despliegue de la aplicación en AWS Amplify y la configuración de webhooks para la implementación automática.

1. Introducción al Masterclass

Short description:

Hola al Masterclass de construcción de una base de conocimientos utilizando Gatsby, Contentful y AWS. Mi nombre es Abderrahman Aedel. Soy un arquitecto de soluciones en Rangle. Hoy vamos a construir una base de conocimientos utilizando Gatsby, Contentful y AWS.

Así que, hola al Masterclass de construcción de una base de conocimientos utilizando Gatsby, Contentful y AWS. Mi nombre es Abderrahman Aedel. Soy un arquitecto de soluciones en Rangle. Y hoy seré tu guía en este masterclass.

En Rangle, creamos cosas que importan. Creemos en hacer lo correcto, de la manera correcta, y luego mejorarlo. Hemos estado en Toronto y Amsterdam. Desde hace más de nueve años, fundamos en 2013, y tenemos más de 150 miembros en nuestro equipo. Servimos a muchos clientes que están construyendo sus propias capacidades de creación de productos a través de inmersión y sistemas de habilitación.

Hoy vamos a construir una base de conocimientos utilizando Gatsby, Contentful y AWS. Esta es una tabla de contenido de lo que vamos a hacer. Dado que la mayoría de lo que vamos a hacer es codificación en vivo, voy a intentar ir sobre esto muy rápido al principio, y luego podemos pasar directamente al código.

2. Introducción a la Base de Conocimientos y Gatsby

Short description:

Una base de conocimientos es una biblioteca en línea de autoservicio donde se almacenan todos los datos y el conocimiento, todo lo que tienes, ya sea para ayudar a los miembros del equipo o a los clientes. Hoy vamos a construir una página de inicio, una página de categorías y una página para cada categoría, y para cada categoría tendremos una serie de artículos. Los sitios web pueden ser renderizados a través de renderización en el lado del servidor o renderización en el lado del cliente. Surgió un nuevo concepto llamado generadores de sitios estáticos, que toman todas las consultas y las obtienen de antemano, generando páginas HTML reales y construyéndolas en el servidor. Gatsby es un generador de sitios moderno que cumple con la mayoría de los requisitos modernos y está construido sobre React. Te mostraremos lo fácil que es construir algo con Gatsby y lo rápido que es migrar de algo estático a algo dinámico utilizando Contentful.

Primero, vamos a entender qué es una base de conocimientos y por qué elegimos una base de conocimientos en lugar de un blog normal o un sitio web de noticias o algo así. Una base de conocimientos es una biblioteca en línea de autoservicio. Es un lugar donde se almacenan todos los datos y el conocimiento, todo lo que tienes, ya sea para ayudar a los miembros del equipo o a los clientes.

Por ejemplo, si eres una empresa y quieres tener un lugar donde los nuevos empleados puedan ingresar cuando se unan y entender cómo funciona el proceso de incorporación, cómo funciona la comunicación, o algo así, puedes tener una base de conocimientos en su lugar. Si eres una empresa que brinda servicios a clientes y quieres documentar todo lo que deseas en un solo lugar, en lugar de que todos tengan preguntas y pidan servicio al cliente, simplemente puedes crear una base de conocimientos o un centro de ayuda o un lugar donde puedas hacer doble clic en una página y puedes poner todas las preguntas frecuentes y artículos y puedes ponerlos en categorías y cosas así o guías de solución de problemas. Y sí, el cliente o los miembros del equipo simplemente se unirían, ingresarían y encontrarían la respuesta correcta a la pregunta en lugar de molestarte con múltiples preguntas.

Hoy vamos a construir una página de inicio, una página de categorías y una página para cada categoría, y para cada categoría tendremos una serie de artículos que también tendrán una página de contenido enriquecido.

Primero, hablemos de cómo se renderizan los sitios web, porque el concepto de los generadores de sitios estáticos es muy nuevo, o no nuevo, pero mucha gente no sabe cómo funcionan los generadores de sitios estáticos. Así que vamos a empezar desde el principio. ¿Cómo se renderizan los sitios web? Al principio, cuando salió Internet, solo había una forma de renderizar los sitios web, así que se llamaba renderización en el lado del servidor. Bueno, no había un nombre porque era la única forma de hacerlo, donde tienes un servidor y el cliente o el usuario escribe la URL en el navegador y luego envía una solicitud HTTP a un servidor, que hace la magia, genera una página HTML completa con todo lo que necesitarías, y luego lo envía de vuelta al navegador donde el navegador pegaría el HTML y lo renderizaría en el navegador.

Y luego, cada vez que quieres cambiar a otra página, como si estás en la página de inicio y quieres ir a la ayuda o algo así, harías clic en un enlace, en una etiqueta a, que enviaría otra solicitud HTTP, obtendría todo el HTML del servidor y luego reemplazaría todo con este nuevo HTML. El servidor utiliza plantillas para generar dinámicamente páginas HTML completas. Por ejemplo, si tienes un sitio web PHP y envías una solicitud GET a esta página, se manejará y luego se colocarán todas las variables o los datos reales en una plantilla HTML y luego se enviará de vuelta al navegador.

Y después de un tiempo, surgió un nuevo concepto llamado renderización en el lado del cliente. Surgió generalmente con aplicaciones de una sola página o con la generación de envío de solicitudes de API. Aún tienes un cliente y un servidor y luego envías la primera llamada de API al servidor y luego obtienes una página HTML vacía con un montón de scripts de JavaScript adjuntos a ella y luego el cliente o el navegador lo tomaría y daría el control de JavaScript para obtener todo lo que necesitas del servidor con solicitudes de API y luego manipular directamente el DOM o el HTML en la página. Así que en lugar de tener todo enviado de vuelta como antes, ahora obtienes una página HTML de marcador de posición muy vacía que no tiene nada significativo, solo un montón de scripts y luego estos scripts se hacen cargo y generan el HTML real.

Como puedes ver aquí, el cliente renderiza la página vacía y JavaScript renderiza el contenido más tarde. Y si lo miras desde algunos aspectos como el tiempo de renderización, el tiempo de renderización aquí es inconsistente porque el cliente es en realidad el que hace el trabajo real, mientras que con múltiples clientes hay múltiples rendimientos, como si tienes una PC de alta gama es diferente a tener un teléfono móvil de gama muy baja. Y para el SEO, la optimización de motores de búsqueda, fue muy mala cuando salió porque los rastreadores antes de esto, como el rastreador de motores de búsqueda y los rastreadores son como un montón de scripts que los motores de búsqueda utilizan para rastrear la web y archivar sus datos para que cuando busques algo lo tengas todo allí. Entonces, el rastreador iría a un enlace y obtendría una página HTML vacía y no encontraría contenido significativo en ella y de esta manera obtendrías una página vacía que no se archivaría o sería muy mala para el ranking de SEO. Después de un tiempo, muchos rastreadores o muchos motores de búsqueda se adaptaron, pero no fue tan rápido y no funcionaba al 100% hasta hace poco, supongo. El tiempo de compilación fue muy rápido y el almacenamiento en caché solo ocurría en el lado del cliente porque sí, como solo obtienes la misma página cada vez, no hay almacenamiento en caché que pueda ocurrir, pero el cliente estaba almacenando en caché las solicitudes de API en el cliente, depende de cómo lo configures, por supuesto, pero normalmente lo almacenaría en caché pero no lo haría. Y para solucionar este problema, principalmente con el SEO, surgió un nuevo concepto que es una mezcla de la primera cosa, que es la renderización en el lado del servidor y la segunda cosa, la renderización en el lado del cliente. Entonces, para aplicaciones de una sola página, cada vez que envías la primera llamada de API, lo siento, la primera solicitud HTTP en lugar de tener una página HTML muy vacía enviada a ti, tendrías como que el servidor haría la primera renderización como si estuviera sucediendo en el cliente y luego te enviaría la página HTML completa donde el cliente la renderizaría y luego sucedería algo llamado rehidratación donde rehidratarías el estado y funcionarías como una aplicación de una sola página normal. Entonces, JavaScript aún se haría cargo, pero de esta manera, si un rastreador de motores de búsqueda entra en una página como esta, obtendrías todo lo que necesita desde el primer momento, algo diferente. Algunos aspectos de esto son que el tiempo de renderización era lento, por supuesto, más lento porque el servidor aún generaría el HTML o como renderizaría la primera renderización en el tiempo de ejecución, pero esto solucionó el problema porque el rastreador obtendría la página HTML completa. El tiempo de compilación fue rápido porque sí, sigue siendo igual que el de la renderización en el lado del cliente y el almacenamiento en caché se podía hacer en esta etapa utilizando un tercero como Cloudflare y algunos frameworks lo agregaron más tarde, pero no está ahí de serie. Y esto estuvo bien hasta que los sitios web impulsados por contenido se hicieron muy famosos.

Entonces, ¿qué es un sitio web impulsado por contenido? Un sitio web impulsado por contenido es cualquier sitio web en el que principalmente el objetivo principal sea proporcionar contenido en lugar de tener muchas tareas en él. No es un panel de control o una aplicación de redes sociales, no es una aplicación web, sino un sitio web que tiene mucho contenido que principalmente es texto enriquecido, como imágenes y cosas así, como un blog, un sitio web de noticias, un sitio web de una empresa, sitios web de marketing o una base de conocimientos.

Cuando los sitios web impulsados por contenido tuvieron los generadores de sitios estáticos, surgieron.

Entonces, ¿qué es un generador de sitios estáticos? Aún tenemos un cliente y un servidor. Pero algo sucede en el servidor, incluso antes de que solicites la llamada. Solicitas la solicitud HTTP. Entonces, lo que sucede es que haces todo como una aplicación de una sola página normal, pero en lugar de obtener los datos y renderizarlos en el tiempo de ejecución, lo haces en el tiempo de compilación. Entonces, el generador del lado del servidor, el generador de sitios estáticos, tomaría todas las consultas que tienes y las obtendría de antemano, generando páginas HTML reales y construyéndolas en el servidor. Entonces, cada vez que quieras hacer una llamada de API, lo siento, una solicitud HTTP, enviarías la solicitud HTTP al servidor y el servidor te daría esa página HTML prerrenderizada lista para usar. Y luego la operación continúa como de costumbre, la renderización en el lado del servidor. Entonces, la aplicación aún se rehidrataría y la aplicación de una sola página se haría cargo. No solo genera esto, sino que también se encarga del enrutamiento, por lo que generarías un montón de archivos JSON que tienen los datos para otras páginas. Entonces, en lugar de enviar múltiples llamadas de API para obtener también el contenido de las otras páginas, simplemente buscarías este JSON, lo colocarías en la plantilla y listo. Tienes la otra página lista, incluso después de que la aplicación de una sola página comienza a funcionar.

En cuanto a los aspectos aquí, el tiempo de renderización es más rápido porque hay más renderización. La mayor parte del trabajo ya se ha realizado en el tiempo de compilación. El SEO es muy bueno porque los rastreadores ahora pueden obtener los datos más rápido que nunca. El tiempo de compilación es menor, por supuesto, porque estás haciendo muchas cosas y también ocupas más espacio. Pero si hablamos de un montón de páginas HTML, realmente no parece mucho espacio. Y el almacenamiento en caché, por supuesto, es compatible porque las páginas HTML están ahí y la mayoría de los frameworks admiten el almacenamiento en caché de serie. Entonces, para resumir esto, la renderización en el lado del cliente, el tiempo de renderización es inconsistente, el SEO es malo, el tiempo de compilación es rápido y el almacenamiento en caché solo ocurre en el lado del cliente, la renderización en el lado del servidor, el tiempo de renderización es lento, el SEO es bueno, el tiempo de compilación es rápido y el almacenamiento en caché se puede hacer a través de un tercero, como parcialmente compatible. El generador de sitios estáticos tendría un tiempo de renderización más rápido, un buen SEO, un tiempo de compilación lento y el almacenamiento en caché compatible de serie.

Pero la limitación aquí para el generador de sitios estáticos sería que tienes que tener un sitio estático para usar un generador de sitios estáticos, ¿sabes? Está literalmente en el nombre. No puedes hacer esto para un panel de control, no puedes hacer esto para una aplicación que tiene muchas cosas que son muy diferentes, por ejemplo, un nombre de usuario o datos de usuario. No puedes usar esto para una página de perfil para todos los usuarios porque no puedes generar páginas para información confidencial, ¿sabes? Pero puedes hacerlo para un sitio de noticias, para un sitio de blogs o, sí, en nuestro caso aquí, una base de conocimientos.

Y eso nos lleva a Gatsby. Gatsby se autodenomina un generador de sitios moderno, no solo un generador de sitios estáticos porque se ha adaptado a la mayoría de los requisitos modernos y puede ofrecerte casi todo lo que necesitas cuando se trata de sitios web normales. Y lo bueno es que admite la mayoría de las cosas, bueno, sí, casi todo de serie. Está construido sobre React. Entonces, si tienes conocimientos de React, incluso si estás familiarizado con React, la curva de aprendizaje es muy baja para ti y puedes, fácilmente, en un par de días, tener algo funcionando con Gatsby. Es muy fácil. No me llevó mucho tiempo trabajar con ello. Así que debería ser súper fácil.

Y permíteme dejar algo claro aquí, lo que estoy tratando de lograr hoy no es solo mostrar Gatsby o este tipo de escalas, sino que quiero mostrarte lo fácil que es construir algo. Y más tarde, cuando usemos Contentful, también quiero mostrar lo fácil y rápido que es migrar de algo estático a algo súper dinámico. Y también con la implementación, debería ser fácil y directo para ti.

Entonces, eso nos lleva al final de la parte teórica. Y ahora deberíamos pasar al código. Antes de eso, tenemos un panel de preguntas y respuestas que puedes encontrar en Zoom, donde puedes hacer preguntas que solo los panelistas verán y luego podemos responderlas más tarde, o simplemente puedes dejar tu pregunta en el chat. También tenemos con nosotros a Matt Van Voorst, estamos muy contentos de tenerlo aquí, es un ingeniero de software de Contentful y estará encantado de compartir con nosotros o responder cualquier pregunta relacionada con Contentful. Así que, sí, eso es todo, vamos directo al grano.

QnA

Watch more workshops on topic

Construir con SvelteKit y GraphQL
GraphQL Galaxy 2021GraphQL Galaxy 2021
140 min
Construir con SvelteKit y GraphQL
Top Content
Featured WorkshopFree
Scott Spence
Scott Spence
¿Alguna vez has pensado en construir algo que no requiera mucho código de plantilla con un tamaño de paquete pequeño? En esta masterclass, Scott Spence irá desde el hola mundo hasta cubrir el enrutamiento y el uso de endpoints en SvelteKit. Configurarás una API de GraphQL en el backend y luego usarás consultas de GraphQL con SvelteKit para mostrar los datos de la API de GraphQL. Construirás un proyecto rápido y seguro que utiliza las características de SvelteKit, y luego lo desplegarás como un sitio completamente estático. Este curso es para los curiosos de Svelte que no han tenido una experiencia extensa con SvelteKit y quieren una comprensión más profunda de cómo usarlo en aplicaciones prácticas.

Tabla de contenidos:
- Inicio e introducción a Svelte
- Inicializar el proyecto frontend
- Recorrido por el proyecto esqueleto de SvelteKit
- Configurar el proyecto backend
- Consultar datos con GraphQL
- Recuperación de datos en el frontend con GraphQL
- Estilización
- Directivas de Svelte
- Enrutamiento en SvelteKit
- Endpoints en SvelteKit
- Despliegue en Netlify
- Navegación
- Mutaciones en GraphCMS
- Envío de mutaciones GraphQL a través de SvelteKit
- Preguntas y respuestas
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
React Advanced Conference 2022React Advanced Conference 2022
95 min
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
Featured WorkshopFree
Sabin Adams
Sabin Adams
En este masterclass, obtendrás una visión de primera mano de lo que es la seguridad de tipo de extremo a extremo y por qué es importante. Para lograr esto, construirás una API de GraphQL utilizando herramientas modernas y relevantes que serán consumidas por un cliente de React.
Prerrequisitos: - Node.js instalado en tu máquina (12.2.X / 14.X)- Se recomienda (pero no es obligatorio) utilizar VS Code para las tareas prácticas- Un IDE instalado (se recomienda VSCode)- (Bueno tener) *Un conocimiento básico de Node.js, React y TypeScript
GraphQL para Desarrolladores de React
GraphQL Galaxy 2022GraphQL Galaxy 2022
112 min
GraphQL para Desarrolladores de React
Featured Workshop
Roy Derks
Roy Derks
Hay muchas ventajas en utilizar GraphQL como fuente de datos para el desarrollo frontend, en comparación con las API REST. Nosotros, los desarrolladores, por ejemplo, necesitamos escribir mucho código imperativo para recuperar datos y mostrarlos en nuestras aplicaciones y manejar el estado. Con GraphQL, no solo puedes reducir la cantidad de código necesario para la obtención de datos y la gestión del estado, sino que también obtendrás una mayor flexibilidad, mejor rendimiento y, sobre todo, una mejor experiencia de desarrollo. En este masterclass aprenderás cómo GraphQL puede mejorar tu trabajo como desarrollador frontend y cómo manejar GraphQL en tu aplicación frontend de React.
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
WorkshopFree
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.
Modelado de Bases de Datos Relacionales para GraphQL
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Modelado de Bases de Datos Relacionales para GraphQL
Top Content
WorkshopFree
Adron Hall
Adron Hall
En esta masterclass profundizaremos en el modelado de datos. Comenzaremos con una discusión sobre varios tipos de bases de datos y cómo se mapean a GraphQL. Una vez que se haya establecido esa base, el enfoque se desplazará a tipos específicos de bases de datos y cómo construir modelos de datos que funcionen mejor para GraphQL en varios escenarios.
Índice de contenidosParte 1 - Hora 1      a. Modelado de Datos de Bases de Datos Relacionales      b. Comparando Bases de Datos Relacionales y NoSQL      c. GraphQL con la Base de Datos en menteParte 2 - Hora 2      a. Diseño de Modelos de Datos Relacionales      b. Relación, Construcción de Tablas Multijoin      c. Complejidades de Consulta de Modelado de Datos Relacionales y GraphQL
Prerrequisitos      a. Herramienta de modelado de datos. El formador utilizará dbdiagram      b. Postgres, aunque no es necesario instalar esto localmente, ya que estaré utilizando una imagen de Dicker de Postgres, de Docker Hub para todos los ejemplos      c. Hasura
Construyendo una Aplicación de Shopify con React & Node
React Summit Remote Edition 2021React Summit Remote Edition 2021
87 min
Construyendo una Aplicación de Shopify con React & Node
Top Content
WorkshopFree
Jennifer Gray
Hanna Chen
2 authors
Los comerciantes de Shopify tienen un conjunto diverso de necesidades, y los desarrolladores tienen una oportunidad única para satisfacer esas necesidades construyendo aplicaciones. Construir una aplicación puede ser un trabajo duro, pero Shopify ha creado un conjunto de herramientas y recursos para ayudarte a construir una experiencia de aplicación sin problemas lo más rápido posible. Obtén experiencia práctica construyendo una aplicación integrada de Shopify utilizando el CLI de la aplicación Shopify, Polaris y Shopify App Bridge.Te mostraremos cómo crear una aplicación que acceda a la información de una tienda de desarrollo y pueda ejecutarse en tu entorno local.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

De GraphQL Zero a GraphQL Hero con RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
De GraphQL Zero a GraphQL Hero con RedwoodJS
Top Content
Todos amamos GraphQL, pero puede ser desalentador poner en marcha un servidor y mantener tu código organizado, mantenible y testeable a largo plazo. ¡No más! Ven a ver cómo paso de un directorio vacío a una API GraphQL completamente desarrollada en cuestión de minutos. Además, verás lo fácil que es usar y crear directivas para limpiar aún más tu código. ¡Vas a amar aún más GraphQL una vez que hagas las cosas Redwood Easy!
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
¿Cuántas veces has implementado el mismo flujo en tu aplicación: verificar si los datos ya se han obtenido del servidor, si es así - renderizar los datos, si no - obtener estos datos y luego renderizarlos? Creo que lo he hecho más de diez veces yo mismo y he visto la pregunta sobre este flujo más de cincuenta veces. Desafortunadamente, nuestra biblioteca de gestión de estado predeterminada, Vuex, no proporciona ninguna solución para esto.Para la aplicación basada en GraphQL, había una alternativa para usar el cliente Apollo que proporcionaba herramientas para trabajar con la caché. Pero, ¿qué pasa si usas REST? Afortunadamente, ahora tenemos una alternativa de Vue a una biblioteca de react-query que proporciona una buena solución para trabajar con la caché del servidor. En esta charla, explicaré la distinción entre el estado de la aplicación local y la caché del servidor local y haré algo de codificación en vivo para mostrar cómo trabajar con este último.
Un Marco para Gestionar la Deuda Técnica
TechLead Conference 2023TechLead Conference 2023
35 min
Un Marco para Gestionar la Deuda Técnica
Top Content
Seamos realistas: la deuda técnica es inevitable y reescribir tu código cada 6 meses no es una opción. La refactorización es un tema complejo que no tiene una solución única para todos. Las aplicaciones de frontend son particularmente sensibles debido a los frecuentes cambios de requisitos y flujos de usuario. Nuevas abstracciones, patrones actualizados y limpieza de esas viejas funciones - todo suena genial en papel, pero a menudo falla en la práctica: los todos se acumulan, los tickets terminan pudriéndose en el backlog y el código legado aparece en cada rincón de tu base de código. Por lo tanto, un proceso de refactorización continua es la única arma que tienes contra la deuda técnica.En los últimos tres años, he estado explorando diferentes estrategias y procesos para refactorizar el código. En esta charla describiré los componentes clave de un marco para abordar la refactorización y compartiré algunos de los aprendizajes acumulados en el camino. Espero que esto te ayude en tu búsqueda de mejorar la calidad del código de tus bases de código.

Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Como desarrolladores, pasamos gran parte de nuestro tiempo depurando aplicaciones, a menudo código que ni siquiera escribimos. Lamentablemente, a pocos desarrolladores se les ha enseñado cómo abordar la depuración, es algo que la mayoría de nosotros aprendemos a través de la experiencia dolorosa. La buena noticia es que _puedes_ aprender a depurar de manera efectiva, y hay varias técnicas y herramientas clave que puedes usar para depurar aplicaciones de JS y React.
Construyendo un Asistente AI Activado por Voz con Javascript
JSNation 2023JSNation 2023
21 min
Construyendo un Asistente AI Activado por Voz con Javascript
Top Content
En esta charla, construiremos nuestro propio Jarvis utilizando Web APIs y langchain. Habrá codificación en vivo.
Solucionando Problemas de Rendimiento en React
React Advanced Conference 2023React Advanced Conference 2023
22 min
Solucionando Problemas de Rendimiento en React
Top Content
Next.js y otros marcos de trabajo que envuelven a React proporcionan un gran poder en la construcción de aplicaciones más grandes. Pero con gran poder viene una gran responsabilidad de rendimiento - y si no prestas atención, es fácil añadir varios segundos de penalización de carga en todas tus páginas. ¡Vaya! Vamos a recorrer un estudio de caso de cómo unas pocas horas de depuración de rendimiento mejoraron tanto los tiempos de carga como los de análisis para la aplicación Centered en varios cientos por ciento cada uno. Aprenderemos no solo por qué ocurren esos problemas de rendimiento, sino cómo diagnosticarlos y solucionarlos. ¡Viva el rendimiento! ⚡️