- Prácticas del desarrollador- Linux, entornos y automatización- Fundamentos de sistemas tipo Unix- Filosofía Unix y diseño modular
- Sistema de archivos jerárquico y rutas absolutas vs relativas
- Permisos de usuario, grupo y otros
- Propietarios, grupos y modos de archivo (r/w/x)
- Procesos y espacios de usuario vs kernel
- Señales y estados de proceso
- Pipes y redirecciones estándar (stdin, stdout, stderr)
- Scripts ejecutables y el shebang (#!/usr/bin/env ...)
- Diferencias básicas entre Linux, macOS y WSL
- Sistemas de archivos montados y puntos de montaje
 
- Comandos esenciales de línea de comando- Navegación del sistema de archivos (ls,cd,pwd,tree)
- Inspección de contenido (cat,less,head,tail,wc)
- Manipulación de archivos y directorios (cp,mv,rm,mkdir,touch)
- Búsqueda de archivos (find,locate)
- Búsqueda dentro de archivos (grep, flags comunes y regex básicas)
- Transformación de texto (cut,sort,uniq,tr,sed,awk)
- Compresión y empaquetado (tar,gzip,zip,unzip)
- Descarga y transferencia de datos (curl,wget,scp,rsync)
- Gestión de permisos y propiedad (chmod,chown,chgrp)
- Consultar ayuda y manuales (man,--help,info)
- Expansión de comodines y globbing (*,?,{})
- Historial y repetición de comandos
 
- Navegación del sistema de archivos (
- Gestión de paquetes y entornos del sistema- Gestores de paquetes del sistema (apt, dnf, pacman, brew)
- Instalación, actualización y desinstalación de paquetes
- Repositorios oficiales, extras y personalizados
- Dependencias del sistema vs dependencias de proyecto
- Bibliotecas compartidas y versiones de runtimes
- Aislamiento con contenedores ligeros y sandboxes
- Uso de herramientas polyglot (asdf,pyenv,nvm,rbenv)
- Políticas de seguridad al instalar software de terceros
- Auditoría de integridad de paquetes y firmas
- Reproducibilidad y bloqueo de versiones a nivel sistema
 
- Servicios del sistema, tareas programadas y demonios- Procesos en background y foreground
- Administración de servicios con systemd(systemctl start/stop/status)
- Units de systemd(service, timer, socket)
- Registro y reinicios automáticos de servicios
- Tareas programadas con cronycrontab
- Diferencia entre cron jobs y systemd timers
- Demonios personalizados y supervisión
- Ejecución al arranque del sistema
- Políticas de restart y watchdog de servicios críticos
- Gestión y rotación de logs de servicios en background
 
- Variables de entorno y configuración- Variables de entorno globales y locales
- Exportación y alcance (export, subshells)
- Variables estándar (PATH,HOME,SHELL, etc.)
- Rutas de búsqueda de ejecutables (PATH) y prioridad
- Archivos de inicio de shell (.bashrc,.zshrc,.profile, etc.)
- Archivos .envy configuración basada en entorno
- Separación entre secretos y configuración pública
- Inyección de variables de entorno en procesos y servicios
- Carga de variables de entorno en despliegues CI/CD
- Protección de secretos en entornos compartidos / shells multiusuario
 
- Supervisión de procesos y recursos- Listado de procesos (ps,top,htop)
- Uso de CPU, memoria y disco
- Señales a procesos (kill,kill -9,kill -HUP)
- Trazas de procesos (strace,lsof)
- Monitoreo de IO y consumo de red
- Detección de procesos colgados o runaway
- Afinidad de CPU y límites de recursos
- Limitación de recursos por proceso (ulimit)
- Aislamiento y control de consumo con cgroups / namespaces
- Detección de memory leaks y crecimiento anómalo de RSS
 
- Listado de procesos (
- Redes y puertos- Conceptos básicos de red (IP, DNS, routing)
- Inspección de interfaces de red y direcciones IP
- Resolución de nombres y lookup DNS
- Conexiones abiertas y puertos en escucha
- Testeo de conectividad (ping,traceroute,nc)
- Transferencias seguras (ssh, túneles SSH, port forwarding)
- Firewalls locales y reglas de acceso
- Servicios locales vs servicios expuestos públicamente
- Escaneo y verificación de puertos expuestos (auditoría de superficie)
- Diagnóstico de bloqueo por firewall / NAT / routing asimétrico
 
- Seguridad y control de acceso- Usuarios y grupos
- Elevación de privilegios (sudo, política de sudoers)
- Claves SSH y autenticación sin contraseña
- Permisos mínimos necesarios (principio de mínimo privilegio)
- Gestión de llaves privadas y públicas
- Almacenamiento seguro de secretos
- Prevención de ejecución arbitraria (no ejecutar scripts ciegamente)
- Aislamiento de procesos y sandboxing
- Hardening básico del sistema y superficies de ataque
- Auditoría de acceso y rotación periódica de credenciales
 
- Automatización y scripting en la línea de comando- Alias y funciones de shell
- Scripting en Bash y shells compatibles
- Variables, argumentos posicionales y retorno de códigos de salida
- Condicionales y loops en shell
- Procesamiento batch de archivos
- Pipelines encadenados y composición de herramientas pequeñas
- Scripts idempotentes y repetibles
- Manejo de errores y set -euo pipefail
- Interoperabilidad entre shell y otros lenguajes (Python, awk, etc.)
- Ejecución remota de scripts
 
- Personalización del entorno de trabajo- Prompt personalizado y contexto en tiempo real
- Uso de tmux/multiplexores de terminal
- Historial persistente y búsqueda incremental
- Autocompletado avanzado y sugerencias contextuales
- Snippets reutilizables de shell
- Navegación rápida de proyectos y bookmarks de rutas
- Diferencias entre shells (bash, zsh, fish)
- Búsqueda global de símbolos/código desde terminal
- Sincronización y versionado de dotfiles entre máquinas
- Mostrar rama git/estado CI/estado de despliegue en el prompt
 
- Diagnóstico de rendimiento- Cuellos de botella de CPU
- Cuellos de botella de memoria y swapping
- Latencia de disco y uso de IOPS
- Bloqueos por IO vs bloqueo por red
- Perf counters y perf tracing del kernel
- Benchmarks reproducibles
- Análisis de latencia en servicios en segundo plano
- Perfilado de kernel y userland (perf/ftrace/eBPF)
- Pruebas de throughput/red (iperf, etc.)
- Línea base histórica de rendimiento para comparación
 
- Auditoría del sistema y logs- Logs del sistema (journalctl,/var/log)
- Rotación y retención de logs
- Niveles de severidad y filtrado
- Correlación entre eventos de sistema y fallas de servicio
- Detección de patrones de error recurrentes
- Registro de accesos y actividad sospechosa
- Trazabilidad y evidencia para post-mortems
- Alertas tempranas y monitoreo continuo
- Centralización y reenvío de logs a sistemas SIEM
- Retención para cumplimiento normativo y forense
 
- Logs del sistema (
 
- Fundamentos de sistemas tipo Unix
- Fundamentos de lenguajes de programación- Ver rutas de aprendizaje de lenguajes de programación- Python
- JavaScript / TypeScript
- Rust
- Bash / shell scripting
- Go
- Java / JVM
- C / C++
- Kotlin
- SQL y lenguajes de consulta
- Lenguajes orientados a sistemas distribuidos / backend de alto rendimiento
 
- Compiladores, intérpretes y construcción de lenguajes- Análisis léxico, análisis sintáctico, análisis semántico
- Representación intermedia (IR) y optimización
- Generación de código y backend
- Enlace y carga (linking / loading)
- Intérpretes de árbol y máquinas virtuales
- Compilación JIT vs AOT
- Bootstrapping de compiladores
- Generadores léxicos y parsers (lexer/parser generators)
- Optimizaciones específicas de arquitectura (registro, cache, vectorización)
- Administración de memoria y GC en tiempo de ejecución
 
- Diseño de lenguajes- Semántica operacional, denotacional y axiomática
- Visibilidad y alcance léxico / dinámico
- Mutabilidad vs inmutabilidad
- Evaluación estricta vs evaluación perezosa
- Transparencia referencial
- Efectos laterales y efectos controlados
- Seguridad de tipos y memoria
- DSLs (lenguajes específicos de dominio)
- Módulos, encapsulación y control explícito de interfaz pública
- Seguridad de memoria, aislamiento y capacidad de sandboxing
 
- Sintaxis y estructuras básicas- Expresiones y operadores
- Declaraciones y bloques
- Precedencia y asociatividad
- Literales y construcción de valores
- Comentarios y directivas
- Importación de símbolos y alcance de nombres
- Sombra de variables (shadowing)
- Declaración de variables con distintos niveles de mutabilidad (const,let,var)
- Sintaxis para estructuras literales (objetos, dicts, records)
- Reglas de formato/indentación significativa (offside rule)
 
- Tipos de datos y abstracción de datos- Primitivos escalares (numéricos, booleanos, caracteres)
- Estructuras compuestas (registros, structs, tuples)
- Colecciones (listas, arreglos, diccionarios, mapas)
- Tipos algebraicos (suma y producto)
- Enumeraciones etiquetadas
- Tipos abstractos de datos (ADT)
- Encapsulación de representación interna
- Tipos opción / tal vez (Option, Maybe)
- Genéricos paramétricos en estructuras de datos reutilizables
- Tipos resultado / error seguros para señalizar fallos
 
- Control de flujo (condicionales, bucles, manejo de ramificaciones)- if / else / switch / match
- while / for / foreach
- Pattern matching estructural
- Cortocircuito lógico
- Break / continue / return
- Goto y saltos estructurados
- Manejo explícito de ramificaciones y guard clauses
- Abstracciones de control tipo map/filter/reduce
- Excepciones como salto no local
- Pattern guards, backtracking y ramificación declarativa
 
- Funciones, cierres y paso de datos- Funciones de primera clase y funciones anónimas
- Cierres (closures) con captura léxica
- Paso por valor, paso por referencia, paso por nombre
- Currificación y aplicación parcial
- Recursión directa y recursión de cola
- Funciones variádicas
- Callbacks y funciones de orden superior
- Inlining y optimización de funciones pequeñas
- Semántica de movimiento / copia (move semantics / borrow)
- Paso de datos inmutable vs mutable controlado
 
- Paradigmas funcionales- Inmutabilidad
- Funciones puras
- Evaluación perezosa
- Pattern matching
- Tipos algebraicos y sum types
- Mónadas, funtores, applicatives
- Efectos controlados y IO monádico
- Transformaciones sin estado compartido
- Estructuras de datos persistentes
- Programación reactiva funcional y streams declarativos
 
- Programación orientada a objetos (clases, interfaces, herencia, composición)- Clases y objetos
- Encapsulación y visibilidad
- Herencia simple y múltiple
- Polimorfismo de subtipos
- Interfaces y contratos
- Composición sobre herencia
- Mixins y rasgos (traits)
- Métodos virtuales y despacho dinámico
- Metaclases y reflexión orientada a objetos
- Objetos inmutables y value objects (semántica por valor)
 
- Organización en módulos y paquetes- Módulos y namespaces
- Imports / exports explícitos
- Control de visibilidad pública / privada / interna
- Empaquetado y distribución
- Versionado semántico
- Resolución de dependencias
- Árboles de dependencias y deduplicación
- Separación lógica por capa o dominio
- Publicación en registros de paquetes (npm, PyPI, crates.io)
- Compatibilidad binaria / estabilidad de ABI en librerías compartidas
 
- Tipado estático y anotaciones de tipo- Tipado estático vs tipado dinámico
- Inferencia de tipos
- Polimorfismo paramétrico
- Polimorfismo ad-hoc (sobrecarga)
- Tipos nominales vs tipos estructurales
- Genéricos
- Tipos dependientes
- Propagación de null safety / tipos opción
- Mutabilidad tipada e inmutabilidad tipada
- Nullability, flow-sensitive typing y refinamiento de tipos en tiempo de análisis
 
- Manejo de errores y excepciones- Excepciones verificadas vs no verificadas
- Propagación de excepciones
- Tipos resultado (Result, Either)
- Valores centinela y códigos de error
- Panic / abortar ejecución
- Reintentos y recuperación
- Limpieza garantizada post-error
- Retries con backoff y circuit breakers en lógica de negocio
- Logging estructurado de fallos y trazas
- Políticas de resiliencia y aislamiento de fallos
 
- Gestión estructurada de recursos (por ejemplo, scopes y contextos controlados)- RAII
- Destructores / finalizers
- with / using / defer
- Propiedad y préstamo (ownership / borrowing)
- Regiones de vida (lifetimes)
- Recolección de basura
- Pools de recursos
- Reutilización de conexiones y pools de sockets/DB
- Garantías de liberación aun con excepciones
- Recolección determinista vs no determinista
 
- Iteradores, generadores y secuencias consumibles- Iteradores internos y externos
- Generadores con yield
- Corutinas cooperativas
- Secuencias lazy
- Streams y pipelines de datos
- Backpressure y consumo incremental
- Iteración paralela y concurrente
- Iteradores infinitos / streams sin fin
- Materialización diferida y batching
- Generadores con control de flujo y cancelación
 
- Metaprogramación y reflexión- Macros en tiempo de compilación
- Transformación de AST
- Reflection en tiempo de ejecución
- Anotaciones y atributos
- Generación de código (codegen)
- Plantillas / templates genéricas
- Meta-objetos y metaclases
- eval y ejecución dinámica
- Programación orientada a aspectos (AOP)
- Generación automática de SDKs / clientes a partir de contratos
 
- Serialización y deserialización de estructuras- JSON
- XML
- Representaciones binarias (Protocol Buffers, MessagePack)
- Marshaling / unmarshaling
- Versionado de mensajes
- Esquemas y validación
- Compatibilidad retroactiva y hacia adelante
- Normalización de datos y canonical forms
- Compresión y cifrado del payload serializado
- Evolución de esquema sin downtime ni pérdida de datos
 
- Estilo, convenciones y mantenibilidad del código- Convenciones de nombres
- Formato automático y linters
- Documentación integrada y autodocumentación
- Pruebas unitarias y de integración
- Contratos y aserciones
- Revisión de código
- Refactorización continua
- Control de complejidad ciclomática
- Gestión de deuda técnica
- Automatización de refactor y actualización de sintaxis / APIs obsoletas
 
 
- Ver rutas de aprendizaje de lenguajes de programación
- Herramientas y productividad técnica- Entornos aislados y gestión de dependencias- Entornos virtuales por proyecto
- Bloqueo de versiones y archivos de lock
- Reproducibilidad entre máquinas
- Instalación determinista vs instalación flotante
- Aislamiento de intérpretes y runtimes
- Contenedores ligeros para pruebas locales
- Dependencias de sistema vs dependencias de aplicación
- Reproducibilidad en CI/CD y ambientes efímeros
- Pinning de versiones multiplataforma
- Auditoría y escaneo de vulnerabilidades en dependencias
 
- Control de versiones de configuraciones y datos- Versionar configuración del entorno (dotfiles)
- Backups rastreables y reversibles
- Historial de cambios de infraestructura
- Tratamiento de archivos binarios y datos pesados
- Plantillas de configuración parametrizadas
- Manejo de secretos fuera del repositorio
- Versionado de secretos cifrados gestionados (vaults)
- Políticas de retención y expiración de backups
- Control de drift entre infra declarada y estado real
- Auditoría de cambios de acceso / privilegios
 
- Plantillas de proyectos y generación de esqueletos de servicio- Estructuras mínimas recomendadas por tipo de proyecto
- Bootstrapping automático de nuevos repos
- Convenciones de nombres y layout
- Metadata inicial (licencia, README, CI básica)
- Configuración inicial de linting y formateo
- Patrones estándar de logging y manejo de errores
- Versionado inicial y numeración base
- Instrumentación y observabilidad mínima (métricas, logs)
- Chequeo de seguridad inicial (escaneo de dependencias)
- Plantillas de pruebas y cobertura mínima aceptable
 
- Ejecutores de tareas y automatización repetible- Makefiles y targets convencionales
- Scripts de automatización de flujo de desarrollo
- Pipelines locales para build/test/lint
- Orquestación de pasos dependientes
- Automatización de despliegues internos
- Reglas auto-documentadas (make help)
- Jobs reproducibles en distintos entornos
- Pipelines locales equivalentes a lo que corre en CI
- Empaquetado de tareas en contenedores locales
- Caching de resultados intermedios para acelerar iteración
 
- Documentación viva y navegable- Documentación que se genera desde el código
- Documentación que se valida con tests
- Requisitos de instalación y setup reproducible
- Ejemplos ejecutables y notebooks de demostración
- Tablas de verdad de comportamiento esperado
- Diagramas de arquitectura y flujos de datos
- Versionado de la documentación junto al código
- Versionado de docs alineado a cada release
- Catálogo interno de servicios / APIs
- Runbooks operacionales y manuales de intervención (SRE playbooks)
 
- Creación de herramientas de línea de comando para flujos internos- Interfaces consistentes y autodescriptivas
- Estándares para flags, subcomandos y --help
- Manejo de logs y salida estructurada
- Códigos de salida y manejo de errores
- Scripts utilitarios para equipos completos
- Distribución interna de binarios y scripts
- Empaquetado en un solo ejecutable
- Autenticación y manejo seguro de credenciales
- Distribución multiplataforma y binarios firmados
- Telemetría opcional y métricas de uso interno
 
- Integración y configuración avanzada del entorno de desarrollo- Configuración de editores y extensiones críticas
- Integración con linters y formateadores
- Integración con depuradores
- Integración con analizadores de performance
- Ajustes de snippets y refactors automáticos
- Integración con gestores de tareas / issue trackers
- Estándares de workspace compartido en equipos
- Sincronización de configuraciones entre dispositivos / equipo
- Accesibilidad del entorno dev (temas, contraste, legibilidad)
- Scripts de onboarding para nuevos desarrolladores
 
- Perfilado y depuración interactiva- Depuración paso a paso
- Inspección de estado interno en runtime
- Breakpoints condicionales
- Análisis de memoria en ejecución
- Perfilado de CPU y hot paths
- Perfilado de IO / red
- Recolección de volcados (core dumps) y post-mortems
- Heap dumps y diagnóstico de fugas de memoria
- Trazas de sistema en producción de manera segura / limitada
- Comparación histórica entre perfiles para detectar regresiones
 
- Chequeo estático de tipos y análisis estático- Tipado gradual y contratos de interfaz
- Análisis de rutas de ejecución inalcanzables
- Detección temprana de errores comunes
- Revisión automática de convenciones y estilo
- Seguridad: análisis de uso inseguro de datos externos
- Reportes automáticos en CI
- Integración del análisis estático con el editor
- Modelado de amenazas de entrada no confiable
- Alertas de APIs obsoletas / deprecated
- Reportes de cumplimiento y requisitos regulatorios
 
- Formateo automático y validaciones previas al commit- Formateadores automáticos de código
- Linters de estilo y consistencia
- Validación de convenciones de nombres
- Validación de imports, dependencias y licencias
- Revisión rápida de errores obvios antes de subir cambios
- Normalización de finales de línea y codificación de texto
- Hooks locales (pre-commit) compartidos en el equipo
- Escaneo de secretos en el commit
- Validación automática de formato de mensaje de commit
- Smoke tests locales antes de push
 
- Plantillas de integración continua y entrega continua- Pipelines de build y test
- Linting y análisis estático en CI
- Escaneos de seguridad automatizados
- Publicación automática de artefactos
- Deploy automatizado en entornos intermedios
- Checks de calidad antes de merge
- Versionado automático y etiquetado de release
- Deploy canario automatizado
- Rollback automático basado en alertas SLO
- Publicación automática de changelog / docs junto al release
 
- Entornos de desarrollo reproducibles y remotos- Desarrollo en contenedores
- Entornos efímeros por rama
- Dev environments remotos y cloud workspaces
- Sincronización de estado local/remoto
- Aislamiento de recursos pesados (GPU, bases de datos, colas)
- Simulación local de servicios externos
- Políticas de consistencia entre dev / staging / prod
- Depuración remota con breakpoints sobre entornos cloud
- Auditoría y control de acceso a entornos compartidos
- Limpieza y rotación automática de entornos efímeros viejos
 
 
- Entornos aislados y gestión de dependencias
- Control de versiones y colaboración- Fundamentos de control de versiones distribuido- Commits como snapshots inmutables
- Árbol de commits y DAG de historial
- Remotos, clones y forks
- Staging area e índice
- Rastrear cambios vs rastrear archivos nuevos
- Ignorar archivos temporales y secretos
- Reescritura de historial local vs remoto
- Integridad mediante hashes criptográficos y firmas
- Ramas locales vs ramas remotas con tracking
- Recuperación de estados previos (reflog / restore)
 
- Estrategias de ramificación- Trunk-based development
- Feature branches
- Release branches y hotfix branches
- Branches de soporte a largo plazo
- Flujos de integración frecuente vs integración tardía
- Control de estabilidad en ramas críticas
- Relación entre ramas y entornos desplegados
- Uso de feature flags vs ramas de larga vida
- Release trains / cadencia fija de entregas
- Limpieza de ramas zombies / ramas huérfanas
 
- Rebase, merge, cherry-pick y manejo de trabajo en paralelo- Fast-forward merge vs merge commit
- Rebase interactivo para limpiar historial
- Reescritura de mensajes y squash de commits
- Cherry-pick de cambios aislados
- Backport de fixes a ramas antiguas
- Sincronizar ramas divergentes
- Evitar pérdida de trabajo en paralelo
- Evitar merges recursivos muy complejos mediante división temprana
- Preservar autoría y metadata de los cambios
- Riesgos de rebase en ramas compartidas vs merge tradicional
 
- Resolución de conflictos- Tipos de conflictos comunes
- Conflictos en código vs conflictos en archivos de configuración o lockfiles
- Herramientas de merge asistido
- Buenas prácticas para resolver conflictos legibles
- Confirmación y prueba después de resolver conflictos
- Minimizar conflictos mediante división de cambios
- Documentar decisiones tomadas durante la resolución
- Automatización parcial con merge drivers personalizados
- Políticas de decisión cuando hay conflicto funcional / semántico
- Validación de build y tests antes de dar por cerrado el conflicto
 
- Convenciones de commits y gestión semántica de versiones- Mensajes de commit claros y estructurados
- Separar cambios funcionales de cambios cosméticos
- Commits atómicos y reversibles
- Referencias a issues / tickets
- Commits de refactor vs commits de feature vs commits de fix
- Convenciones de prefijos y categorías de cambios
- Relación entre commits y notas de release
- Commits firmados / verificables
- Separar cambios funcionales y refactors en PRs distintos
- Asociación entre commits y trazabilidad legal / cumplimiento
 
- Versionado semántico y etiquetado de lanzamientos- Mayor / menor / parche
- Cambios incompatibles y releases mayores
- Cambios compatibles y releases menores
- Fixes urgentes y releases de parche
- Pre-releases y etiquetas de estabilidad
- Tags firmados y verificables
- Publicación de changelogs
- Estrategias de deprecación gradual de APIs
- Compatibilidad binaria / ABI en librerías
- Herramientas automáticas de bump de versión y tagging
 
- Gestión de submódulos, monorepos y multi-repos- Submódulos y dependencias versionadas
- Sincronización de versiones entre repositorios
- Monorepos con múltiples servicios
- Coordinación de cambios entre múltiples paquetes
- Herramientas para mantener consistencia interna
- Ventajas y costos de monorepo vs multi-repo
- Estrategias de permisos y propiedad de código
- Sincronización de dependencias en monorepos grandes
- Versionado coordinado de contratos / APIs internas
- Políticas de visibilidad / permisos por carpeta o módulo
 
- Hooks y automatización del flujo de trabajo- Hooks locales (pre-commit, pre-push)
- Hooks del servidor (validaciones en el remoto)
- Enforcers de formato y estilo
- Validación de firmas y políticas de seguridad
- Rechazo automático de pushes inválidos
- Generación automática de documentación y changelogs
- Disparadores de CI/CD basados en eventos de repositorio
- Escaneo de vulnerabilidades en dependencias al hacer push
- Enriquecimiento automático del PR con contexto adicional
- Auditoría continua de cumplimiento de políticas internas
 
- Integración con revisión de código e integración continua- Pull requests y merge requests
- Revisión por pares y ownership de módulos
- Checks automáticos en cada PR
- Gatekeepers y responsabilidades de aprobación
- Políticas para cambios urgentes
- Sincronización entre ramas y pipelines de CI
- Validación de seguridad y cumplimiento
- Rotación de revisores y balanceo de carga de review
- Métricas de lead time y tiempo de revisión
- Pruebas de performance / carga en PRs críticos
 
- Políticas de revisión y ramas protegidas- Ramas protegidas y restricciones de push
- Requisitos mínimos de revisión
- Reglas de aprobación obligatoria
- Firmas requeridas y verificación de autoría
- Control de calidad previo a merge
- Registros de quién aprobó qué cambio
- Aprobaciones condicionadas a tests y cobertura
- Políticas distintas según criticidad del repositorio
- Requerir builds reproducibles / verificables
- Auditoría de cambios en configuración sensible / de seguridad
 
- Auditoría del historial y trazabilidad de cambios- Análisis de quién cambió qué y cuándo
- Blame y atribución de líneas de código
- Revertir versiones específicas de forma segura
- Reconstrucción de la línea temporal de un bug
- Cumplimiento normativo y auditorías externas
- Huellas criptográficas y firmas GPG
- Trazabilidad entre código, decisiones y producción
- Reconstrucción de incidentes de seguridad a partir del historial
- Evidencia para certificaciones y cumplimiento legal
- Conservación y archivado de ramas históricas / snapshots estables
 
 
- Fundamentos de control de versiones distribuido
 
- Linux, entornos y automatización
Versión imprimible multipagina. Haga click aquí para imprimir.