Introdución
¿Qué es esto?
Frontend Garage es un lugar donde puedes aprender los fundamentos de la Ingeniería de Software aunque en esencia es mi archivo personal donde guardo aquellas cosas que he aprendido.
Mi principal objetivo es aprender compartiendo, espero que estos recursos te den las bases que necesitas para ser un mejor Ingeniero.
Muchos desarrolladores se centran sólo en las cosas que necesitan para tener un trabajo y creo que eso está bien, pero si quieres ser un mejor Ingeniero debes tener una base sólida de los fundamentos como Algoritmos, Estructuras de Datos, Programación Orientada a Objetos, SOLID, Patrones de Diseño, etc.
Si quieres ser un mejor Ingeniero estás en el lugar correcto, porque compartiré contigo todo lo que creo que nos ayudará a ser mejores.
Fíjate que hay muchos conceptos, no necesitas aprender todo en un mes o un año, estos conceptos son necesarios para toda tu carrera. Así que tómatelo con calma y disfrútalo.
¿Cómo debería aprender estos conceptos?
Empieza con la estructura de datos más básica hasta que entiendas cómo funciona, la complejidad temporal y cómo implementarla. A partir de ahí, tendrás que practicar algoritmos basados en la estructura de datos aprendida y, finalmente, podrás utilizar estos conocimientos para resolver problemas de programación.
Una vez que te sientas cómodo con los algoritmos y las estructuras de datos, deberás empezar a aprender o mejorar el diseño de bajo nivel estudiando y practicando:
- Principios de diseño (DRY, YAGNI, KISS, etc.)
- SOLID
- Programación orientada a objetos (POO)
- Patrones de diseño
Nota: Iré añadiendo estos conceptos a medida que pase el tiempo.
Estructura del sitio web Frontend Garage
Explicaciones en profundidad de los Algoritmos y Estructuras de Datos más comunes.
- Definición
- Analogía (ejemplo de la vida real)
- Casos de uso
- Tiempos de ejecución
- Enlace a la implementación
Implementacines
Las implementaciones estarán en este repositorio.
Cada implementación estará documentada y testeada.