Skip to content

luxarts/dev2end-go

Repository files navigation

Dev to End - Go

Una guía para desarrolladores de backend en Go.

✅ Qué es y qué no es

En esta guía vamos a empezar viendo la sintaxis del lenguaje para luego avanzar hacia la parte de backend y bases de datos. Para finalizar veremos buenas prácticas, algoritmos útiles y otras cosas relacionadas con el desarrollo.
Se asume que el lector ya sabe programar en otro lenguaje, por lo que si estás buscando una guía para iniciarte en el maravilloso mundo de la programación, este no es el lugar indicado.
Por lo contrario, si ya sabés programar en otro lenguaje y tenés los conocimientos básicos sobre algoritmos, estructuras de control, variables y funciones, esta guía te va a ayudar a aprender Go y adentrarte en el mundo del desarrollo de backend de APIs REST.

👁‍🗨 Viste algo incorrecto o algo que podría mejorar?

No dudes en enviar un PR con los cambios propuestos. Toda crítica constructiva es bienvenida.


Módulos

A. Aprendiendo Go

  1. Estructura de un programa en Go
  2. Variables, constantes y tipos de datos
  3. Funciones
  4. Sentencias de condición
  5. Sentencias de iteración
  6. Punteros
  7. Estructuras
  8. Interfaces
  9. Paquetes y dependencias
  10. Gorutinas (concurrencia)
  11. Canales
  12. Testing
  13. Mocks

B. Aprendiendo backend

  1. HTTP y APIs REST
  2. Creando un endpoint GET
  3. Haciendo una llamada a un endpoint (API call)
  4. Creando un endpoint POST

C. Aprendiendo bases de datos

  1. Tipos (relacionales y no relacionales)
  2. Persistiendo datos en una base no relacional (MongoDB)
  3. Persistiendo datos en una base relacional (PostreSQL)
  4. Cache

D. Aprendiendo a programar

  1. Patrones de diseño
    • Factory
    • Abstract factory
    • Strategy
    • Singleton
    • Decorator
    • Observer
  2. Estructuras de datos
    • Vector (array)
    • Lista enlazada (linked list)
    • Tabla de hash o mapa (hash table)
    • Pila (stack)
    • Cola (queue)
  3. Complejidad algorítmica
  4. Seguridad de datos
  5. Otros conocimientos
    • Git y gitflow
    • Docker
    • Estrategias de deploy
      • Canary
      • Blue/green
      • All in
    • Balanceador de carga
    • Proxy
    • Integración Continua (CI)
    • Despliegue Continuo (CD)
    • Logs y métricas

Links útiles

About

Guía en español para desarrollar backend en Go

Resources

License

Stars

Watchers

Forks

Languages