Memorias de un Backend es un blog técnico y biblioteca de conocimientos sobre desarrollo de software backend en español. El objetivo es proporcionar contenido actualizado y de calidad sobre principios de diseño, patrones de arquitectura y buenas prácticas en el desarrollo backend.
Dado que hay escasez de contenido actualizado en español sobre estos temas, este sitio busca ser un punto de referencia para desarrolladores de habla hispana.
- Principios SOLID: Los 5 principios fundamentales del diseño orientado a objetos
- Patrones de Diseño: Gang of Four y combinaciones de patrones
- Arquitectura de Software: Estilos arquitectónicos, casos de uso
- Clean Code: Objetos inmutables, modelos anémicos vs enriquecidos
- Buenas Prácticas: TDD, BDD, pre/post condiciones
La organización del contenido utiliza etiquetas (tags) para relacionar publicaciones sobre temas similares, facilitando la navegación y exploración de conceptos relacionados.
- Jekyll - Generador de sitios estáticos basado en Ruby
- Markdown - Formato de contenido para posts y páginas
- Beautiful Jekyll - Template base por Dean Attali
- Kramdown - Motor de procesamiento Markdown
- Rouge - Syntax highlighter para código
- Disqus - Sistema de comentarios
- Google Analytics - Analíticas web
Para ejecutar este proyecto localmente necesitas:
- Ruby (versión 2.7 o superior)
- Bundler (gestor de gemas de Ruby)
- Jekyll (se instala vía Bundler)
macOS:
# Usando Homebrew
brew install rubyLinux (Ubuntu/Debian):
sudo apt-get install ruby-fullWindows: Descarga e instala desde RubyInstaller
gem install bundlergit clone https://github.com/urrestarazu-alejandro/memo-backend.git
cd memo-backendbundle installbundle exec jekyll serveEl sitio estará disponible en http://localhost:4000
# Servir con drafts visibles
bundle exec jekyll serve --drafts
# Servir con auto-reload (por defecto activado)
bundle exec jekyll serve --livereload
# Build del sitio (genera _site/)
bundle exec jekyll build
# Limpiar archivos generados
bundle exec jekyll cleanmemo-backend/
├── _config.yml # Configuración principal de Jekyll
├── _data/ # Datos estructurados (YAML/JSON)
├── _includes/ # Componentes reutilizables (HTML parciales)
├── _layouts/ # Plantillas de página
├── _posts/ # Artículos del blog (YYYY-MM-DD-titulo.md)
├── _site/ # Sitio generado (no editar)
├── assets/ # Recursos estáticos
│ ├── css/ # Estilos personalizados
│ ├── img/ # Imágenes
│ └── js/ # JavaScript
├── pages/ # Páginas estáticas
│ ├── solid.md # Principios SOLID
│ ├── bibliografia.md # Referencias
│ └── mapamental.md # Mapa mental de conceptos
├── aboutme.md # Acerca de mí
├── index.html # Página principal
├── tags.html # Página de etiquetas
├── Gemfile # Dependencias Ruby
└── README.md # Este archivo
- Crear archivo en
_posts/con formato:YYYY-MM-DD-titulo.md - Agregar front matter:
---
layout: post
title: Título del Post
subtitle: Subtítulo descriptivo
thumbnail-img: /assets/img/posts/nombre-imagen.png
tags: [tag1, tag2, tag3]
comments: true
author: Alejandro Urrestarazu
---- Escribir contenido en Markdown
- Probar localmente con
bundle exec jekyll serve
- Crear archivo
.mdenpages/ - Agregar front matter con
layout: page - Actualizar navegación en
_config.ymlsi es necesario
El sitio utiliza cajas especiales para destacar información:
{: .box-success}
Texto destacado en caja verde
{: .box-warning}
Texto de advertencia en caja amarilla
{: .box-error}
Texto de error en caja rojaLas contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'feat: descripción') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Si estás en Argentina y quieres apoyar mi trabajo para seguir generando contenido, puedes invitarme un Cafecito.
- Sitio web: https://memobackend.com.ar/
- GitHub: https://github.com/urrestarazu-alejandro/memo-backend
- LinkedIn: Alejandro Urrestarazu
Este proyecto está basado en el template Beautiful Jekyll por Dean Attali.
Hecho con ❤️ para la comunidad de desarrolladores backend en español.