No resuelvas problemas, elimínalos

Rate this content
Bookmark

Los humanos son solucionadores de problemas naturales y somos lo suficientemente buenos en eso que hemos sobrevivido a lo largo de los siglos y nos hemos convertido en la especie dominante del planeta. Debido a que somos tan buenos en eso, a veces también nos convertimos en buscadores de problemas, buscando problemas que podemos resolver. Aquellos que logran sus objetivos de la manera más exitosa son los eliminadores de problemas. Hablemos de la distinción entre resolver y eliminar problemas con ejemplos de dentro y fuera del mundo de la codificación.

This talk has been presented at React Advanced 2021, check out the latest edition of this React Conference.

FAQ

Kent C. Dodds es un ingeniero de software conocido por hablar sobre cómo evitar y eliminar problemas en lugar de solo resolverlos.

El enfoque principal de la charla es discutir cómo eliminar problemas en lugar de simplemente resolverlos, y cómo evitar problemas puede ser aún mejor si es posible.

Un árbol de problemas es una representación de un problema central y los problemas derivados que surgen al intentar resolverlo. Cada nodo extra representa una solución que puede llevar a más problemas.

Kent sugiere primero vivir el problema manualmente antes de crear soluciones automatizadas, para entender realmente todas las complejidades y necesidades antes de desarrollar una solución.

Kent utiliza el ejemplo de los motores de combustión interna y la transición a los motores eléctricos de Tesla, mostrando cómo se pueden eliminar problemas como el escape y la sostenibilidad.

Resolver problemas es abordarlos directamente, eliminar es encontrar una forma de deshacerse del problema por completo, y evitar es no permitir que el problema se presente en primer lugar.

Remix es un framework que Kent C. Dodds destaca por su capacidad para simplificar la creación de sitios web, optimizando la interacción entre cliente y servidor y mejorando la experiencia del desarrollador.

Kent C. Dodds
Kent C. Dodds
39 min
22 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Kent C. Dodds discute el concepto de eliminación de problemas en lugar de simplemente resolverlos. Introduce la idea de un árbol de problemas y la importancia de evitar la creación de soluciones de manera prematura. Kent utiliza ejemplos como el motor eléctrico de Tesla y el marco de Remix para ilustrar los beneficios de la eliminación de problemas. Enfatiza el valor de los compromisos y tomar el camino más fácil, así como la necesidad de reevaluar y cambiar constantemente los enfoques para eliminar problemas.

1. Introducción y Ejercicio de Despertar

Short description:

Hola a todos. Soy Kent C. Dodds, un ingeniero de software, y hoy hablaré sobre cómo podemos eliminar problemas en lugar de simplemente resolverlos. Pero primero, despertemos y hagamos algunos ejercicios juntos. Levántate, extiende tus brazos, agáchate y vuelve a subir. Hagamos 12 repeticiones y estiremos después.

Hola a todos. ¡Sí! Mi nombre es Kent C. Dodds, y soy un ingeniero de software, y voy a hablar sobre cómo deberíamos evitar resolver problemas e intentar eliminarlos en su lugar.

Pero antes de hacer eso, me gustaría que todos despertaran. Así que por favor levántense. Acabamos de almorzar. Tu cuerpo es como, oh, es hora de dormir. No, no lo es. Es hora de levantarse. Levántate. Vamos, vamos. Extiende tus brazos frente a ti así y agáchate y vuelve a subir. Esto es ejercicio, ya sabes. No tuvimos que hacer eso cuando estábamos encerrados en nuestras habitaciones.

Así que vamos a hacer 12 de estos juntos, y quiero que cuentes en voz alta. ¿Listos? Uno, dos. No estás contando. Tres. Ahí vas. Cuatro. Cinco. Seis. Esto es genial. Siete. Tus piernas son como, ¿qué estás haciendo? Nueve. Diez. ¿Eso es 11? ¿Deberíamos empezar de nuevo? 12. No, solo bromeaba. Estira lo más alto que puedas y estira hacia un lado y hacia el otro. Muy bien.

2. Introducción y Relanzamiento del Sitio

Short description:

Ahora, antes de sentarte, simplemente preséntate a la persona que tienes al lado y agradécele por venir. Recientemente reescribí y relancé mi sitio. Cuando estaba construyendo KentCDONS.com es cuando comencé a pensar en cómo queremos eliminar problemas en lugar de resolverlos. Esta masterclass es sobre problemas, soluciones y compensaciones. No se trata necesariamente de código. Es más sobre la vida en general y los problemas.

Ahora, antes de que te sientes, simplemente preséntate a la persona que tienes al lado y agradécele por venir. Y si estás en línea, puedes hablar con tu gato. Gracias. Por eso.

Bien. Primero solo quiero mencionar que reescribí mi sitio y lo relancé recientemente y es realmente genial y quiero que le eches un vistazo. De hecho, incluso tengo los registros funcionando aquí mismo. Así que si quieres hacer que estos registros se vuelvan locos, ve a KentCDONS.com ahora mismo y veremos cosas locas. Por favor. ¿No? Está bien. Bien. Tengo un pequeño error en el servidor, así que eso es bueno. Sí, ahí vamos. De eso estoy hablando.

Entonces, cuando estaba construyendo KentCDONS.com es cuando comencé a pensar en cómo queremos eliminar problemas en lugar de resolverlos. Y llegaré a eso un poco hacia el final. Así que de ahí surgió la idea para esta masterclass. Mi clicker no está funcionando. Es mío. No es de ellos. Es mi culpa. Así que simplemente usaré el teclado.

Entonces, de lo que voy a hablar en esta masterclass es sobre problemas, soluciones y compensaciones y cómo resolver es genial, eliminar es mejor, y evitar es aún mejor si puedes manejar eso. No voy a dar ejemplos de code. Esto no es una cosa de codificación en vivo. Por mucho que disfrute de esas masterclass, sí, de hecho, no se trata necesariamente de code. Es más sobre la vida en general y los problemas. Y sí, no es específico del dominio. Así que sé que estamos en una conferencia de React, pero esto no tiene mucho que ver con React excepto hacia el final donde intentamos aplicarlo. Así que este es un árbol de problemas.

QnA

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

Construyendo Mejores Sitios Web con Remix
React Summit Remote Edition 2021React Summit Remote Edition 2021
33 min
Construyendo Mejores Sitios Web con Remix
Top Content
Remix is a web framework built on React Router that focuses on web fundamentals, accessibility, performance, and flexibility. It delivers real HTML and SEO benefits, and allows for automatic updating of meta tags and styles. It provides features like login functionality, session management, and error handling. Remix is a server-rendered framework that can enhance sites with JavaScript but doesn't require it for basic functionality. It aims to create quality HTML-driven documents and is flexible for use with different web technologies and stacks.
Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Uso efectivo de useEffect
React Advanced 2022React Advanced 2022
30 min
Uso efectivo de useEffect
Top Content
Today's Talk explores the use of the useEffect hook in React development, covering topics such as fetching data, handling race conditions and cleanup, and optimizing performance. It also discusses the correct use of useEffect in React 18, the distinction between Activity Effects and Action Effects, and the potential misuse of useEffect. The Talk highlights the benefits of using useQuery or SWR for data fetching, the problems with using useEffect for initializing global singletons, and the use of state machines for handling effects. The speaker also recommends exploring the beta React docs and using tools like the stately.ai editor for visualizing state machines.
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced 2021React Advanced 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
Concurrencia en React, Explicada
React Summit 2023React Summit 2023
23 min
Concurrencia en React, Explicada
Top Content
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
React Day Berlin 2023React Day Berlin 2023
16 min
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
Top Content
This Talk focuses on effective React state management and lessons learned over the past 10 years. Key points include separating related state, utilizing UseReducer for protecting state and updating multiple pieces of state simultaneously, avoiding unnecessary state syncing with useEffect, using abstractions like React Query or SWR for fetching data, simplifying state management with custom hooks, and leveraging refs and third-party libraries for managing state. Additional resources and services are also provided for further learning and support.

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Consejos sobre React Hooks que solo los profesionales conocen
React Summit Remote Edition 2021React Summit Remote Edition 2021
177 min
Consejos sobre React Hooks que solo los profesionales conocen
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
La adición de la API de hooks a React fue un cambio bastante importante. Antes de los hooks, la mayoría de los componentos tenían que ser basados en clases. Ahora, con los hooks, estos son a menudo componentes funcionales mucho más simples. Los hooks pueden ser realmente simples de usar. Casi engañosamente simples. Porque todavía hay muchas formas en las que puedes equivocarte con los hooks. Y a menudo resulta que hay muchas formas en las que puedes mejorar tus componentes con una mejor comprensión de cómo se puede usar cada hook de React.Aprenderás todo sobre los pros y los contras de los diversos hooks. Aprenderás cuándo usar useState() versus useReducer(). Veremos cómo usar useContext() de manera eficiente. Verás cuándo usar useLayoutEffect() y cuándo useEffect() es mejor.
React, TypeScript y TDD
React Advanced 2021React Advanced 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Masterclass Web3 - Construyendo Tu Primer Dapp
React Advanced 2021React Advanced 2021
145 min
Masterclass Web3 - Construyendo Tu Primer Dapp
Top Content
Featured WorkshopFree
Nader Dabit
Nader Dabit
En esta masterclass, aprenderás cómo construir tu primer dapp de pila completa en la blockchain de Ethereum, leyendo y escribiendo datos en la red, y conectando una aplicación de front end al contrato que has desplegado. Al final de la masterclass, entenderás cómo configurar un entorno de desarrollo de pila completa, ejecutar un nodo local e interactuar con cualquier contrato inteligente usando React, HardHat y Ethers.js.
Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn