Skip to content

Latest commit

 

History

History
102 lines (88 loc) · 3.92 KB

TODO.md

File metadata and controls

102 lines (88 loc) · 3.92 KB

📋 TODO - java-prep

1. Fundamentos de Java

  • Colecciones (List, Set, Map, Queue, Deque, Concurrent)
  • Añadir ejemplos y diferencias entre Comparable y Comparator
  • Añadir ejemplos y diferencias entre Iterable e Iterator
  • Genéricos
  • Clases abstractas e interfaces
  • Lambdas y Streams
  • Manejo de excepciones (checked/unchecked, buenas prácticas)
  • Concurrencia (synchronized, volatile, locks)
  • ConcurrentHashMap + CopyOnWriteArrayList
  • CompletableFuture, ExecutorService
  • Virtual Threads
  • Garbage Collector (visión general, tuning básico)
  • Revisar base completa

2. Principios y Patrones de Software

  • Principios SOLID
  • Patrones: Singleton, Factory, Builder, Strategy, Observer, Adapter, Decorator

3. Herramientas de build y control de versiones

  • Maven (dependencias, profiles, plugins) → 32-Herramientas-Maven
  • Gradle → 33-Herramientas-Gradle
  • Git (branching, conflictos, GitFlow, PRs) → 31-Herramientas-Git

4. CI/CD y DevOps

  • Pipelines: Jenkins, GitHub Actions, GitLab CI → 30-DevOps-Pipelines
  • Docker (imágenes, redes, volúmenes) → 27-DevOps-Docker
  • Kubernetes (pods, deployments, services, config maps, secrets) → 28-DevOps-Kubernetes
  • Terraform / Ansible (infra as code – básico) → 29-DevOps-IaC

5. Spring Core & Boot

  • IoC y DI → 21-Spring-Core-IoC
  • Beans (ciclo de vida, scopes) → 22-Spring-Core-Beans
  • Starters y autoconfiguración → 24-Spring-Boot-Starters
  • Configuración externalizada (properties / YAML) → 23-Spring-Boot-Config
  • Perfiles de entorno → 25-Spring-Boot-Perfiles
  • Logging con SLF4J / Logback → 26-Spring-Boot-Logging

6. Desarrollo Web

  • Spring MVC (controllers, mappings, ResponseEntity)
  • Validación con Bean Validation
  • Manejo de errores global (@ControllerAdvice, @ExceptionHandler)

7. Persistencia

  • JPA / Hibernate (entidades, relaciones, fetch types)
  • CrudRepository, JpaRepository, queries con @Query
  • Transacciones con @Transactional
  • Migraciones (Flyway / Liquibase) → 35-JPA-Hibernate
  • N+1 problem, batch inserts, caching
  • MongoDB / Redis → 43-NoSQL
  • Spring Cache con Redis → 43-NoSQL

8. Comunicación entre Servicios

  • RestTemplate / WebClient → 39-Microservicios
  • Resilience4j (retry, circuit breaker, bulkhead)
  • Kafka (producers, consumers, topics)
  • Arquitectura basada en eventos
  • Spring Cloud Gateway
  • Eureka / Consul (service registry)
  • Spring Cloud Config (config server) → 39-Microservicios

9. Seguridad

  • Spring Security (SecurityFilterChain, filtros)
  • Autenticación y autorización
  • JWT
  • @PreAuthorize / Method Security
  • OAuth2 / OIDC
  • Keycloak / Auth0 → 37-Spring-Security

10. Observabilidad

  • Micrometer (métricas) → 26-Spring-Boot-Logging
  • Logging estructurado
  • Prometheus + Grafana → 26-Spring-Boot-Logging / 39-Microservicios
  • Tracing distribuido (OpenTelemetry / Zipkin / Jaeger) → 26-Spring-Boot-Logging, 39-Microservicios

11. Asincronía y Scheduling

  • @Async → 22-Spring-Core-Beans
  • @Scheduled → 22-Spring-Core-Beans
  • RabbitMQ / Kafka → 39-Microservicios

12. Testing

  • Unit testing (JUnit5 + Mockito)
  • Integration testing (Spring Boot Test)
  • Testcontainers (DBs, Kafka, RabbitMQ)
  • Contract Testing (Pact) → 36-Testing
  • API Testing (Postman, REST Assured) → 36-Testing
  • Swagger / OpenAPI → 34-Spring-MVC

13. Arquitecturas de Software

  • Arquitectura en capas
  • Clean Architecture
  • DDD (conceptos básicos)
  • Arquitectura hexagonal

14. Buenas prácticas

  • Organización de paquetes y nomenclatura → 40-Arquitecturas
  • Manejo de logs y trazabilidad → 26-Spring-Boot-Logging
  • Clean Code → 40-Arquitecturas
  • 12-factor app → 40-Arquitecturas
  • Performance tuning → 40-Arquitecturas