Es común cuando queremos hacer algo por primera vez, buscar tutoriales que nos enseñen a hacer eso que necesitamos.
Y está bien, de alguna forma hay que aprender, el problema está en cómo consumimos los tutoriales.
El año pasado me decidí por mejorar todo el sistema de usuarios de mi plataforma. Básicamente creación de cuentas, guardar y encriptar contraseñas, recuperación de contraseñas, etc.
Cuando empecé este proyecto, yo había implementado mi propio sistema, según como yo creía en ese momento, que tenía que manejarse la seguridad. Hasta que me decidí por hacer las cosas como corresponde y me puse a investigar algo que viene "nativo" en .NET que es ASP Identity Core.
Identity Core es un framework de Microsoft que provee una capa de funcionalidades, ya re contra probadas, para todo lo referente a manejo de identidad, autenticación y autorización. De esta forma no tenemos que reinventar la rueda.
El problema está, que me puse a ver la documentación. Y luego de la documentación me puse a ver un video. Pero no encontraba precisamente un video que explique el mismo caso que yo tenía, que era una aplicación web en asp.net, con una base de datos en MySQL SIN usar Entity Framework.
Y como no encontraba un video, me puse a ver otro video, y después otro video, y después otro video y después me dí cuenta que ya había pasado más de 1 mes, todavía no entendía como aplicar Identity Core en mi aplicación, se me estaba pasando el tiempo, y ya andaba todo despeinado por mi casa super estresado. ¿Te das cuenta el problema?
Y mirá que llevo muchos años picando código y haciendo proyectos y programas y sistemas y etc. O sea que es fácil caer en este problema de mirar tutoriales y videos.
¿Cómo lo solucioné?
- Dejé de ver tutoriales en YouTube
- Me hice un proyecto nuevo en asp.net, super básico, limpio, sin nada de mi lógica de negocio
- Me puse a seguir la documentación oficial que hay para implementar lo mas básico de identity core con Entity Framework.
- Me puse a probar y de a poco entender y ver cómo funcionaba el sistema. Depurando con tranquilidad.
- Una vez que entendí como era la cosa, me puse a implementar eso mismo en mi aplicación.
¿Cuánto me llevó eso? 1 semana. Mucho menos tiempo de todo el que me pasé mirando videos y videos y videos y videos y andaba todo frustrado pensando que era super complicado.
Moraleja: Si necesitás aprender algo, busca UN solo tutorial o documentación y PONETE A PRACTICAR LO QUE TE SALGA. No hay más vuelta. A fin de cuenta es lo más fácil y rápido, es lo que realmente te enseña.
Construir, practicar, romper, fallar y dar en la tecla. Es la clave
Y si no entendiste algo de lo que dije y querés revisar algunos de los conceptos que mencioné acá, googleá:
- ¿Qué es Entity Framework?
- ¿Qué es MySQL?
- ¿Qué es ASP.NET?
- ¿Qué es Asp Identity Core?
¡Buena semana!