Saltar al contenido principal

Base de IT

En este módulo, debemos cubrir todas las lagunas en los fundamentos de la Ingeniería de Software y en los temas principales del desarrollo de backend.

bloque de desarrollo de backend Lite

IMFO: Un ingeniero de IA aplicada no debe ser un especialista en desarrollo de backend, pero usted mismo debe profundizar con el nivel de inmersión + omitir los temas familiares.

  • ¿Quiere pasar más rápido al desarrollo de Agentes? - estudie estos temas superficialmente - volviendo a la inmersión en SWE en el curso del desarrollo industrial.
    • Para estudiantes a tiempo completo: dedique 0.5-1 días al módulo
    • Para estudiantes a tiempo parcial: dedique 1-2 días al módulo
  • ¿Quiere conocimientos profundos? - será útil para los futuros arquitectos
    • Para estudiantes a tiempo completo: dedique 1-2 días al módulo, revise superficialmente las secciones Extra/Silver
    • Para estudiantes a tiempo parcial: dedique 2-4 días al módulo, revise superficialmente las secciones Extra/Silver
instrucción

Dado que estos temas no cambian con el tiempo, lo mejor es estudiarlos con un profesor personal: ChatGPT.

El proceso de estudio debe ser el siguiente:

  • usted crea un prompt del sistema para ChatGPT (plantillas), donde describe sus antecedentes, preferencias, nivel de detalle de las explicaciones, etc.
  • copia el tema de la lista (triple clic) y le pide a ChatGPT que le explique este tema
  • si desea profundizar, haga preguntas aclaratorias

Actualmente, esta es la forma más conveniente de estudiar los fundamentos. Además de los conceptos, puede estudiar materiales adicionales en las secciones Gold, Silver, Extra.

  1. Gold - vale la pena estudiar antes de comunicarse con ChatGPT
  2. Ask AI - haga preguntas sobre cada tema desconocido
  3. Silver - materiales secundarios
  4. Extra - temas avanzados

Gold

1. No agrupado

Fundamentos del diseño de sistemas por ByteByteGo
Vídeo por ByteByteGo

2. Git y Github

Git y Github

Ask AI

Ask ChatGPT

Temas para el estudio secuencial con ChatGPT (agrupados por categorías):

Fundamentos de red y protocolos

Cómo funciona internet
  1. HTTP vs HTTPS: diferencias clave e impacto en la seguridad

  2. TCP/IP: principios básicos de funcionamiento (brevemente)

  3. Códigos de estado HTTP: aplicación práctica (2xx, 4xx, 5xx)

    Códigos de estado HTTP: clasificación y uso (2xx, 4xx, 5xx), brevemente
  4. WebSockets vs HTTP Long Polling: comparación de enfoques (concepto)

  5. CORS: configuración de seguridad para solicitudes entre dominios

    CORS en 100 segundos

Arquitectura de API y servicios web

  1. REST vs SOAP: comparación para principiantes

  2. Stateless vs Stateful: ventajas para el escalado

  3. Operaciones CRUD: patrones básicos de trabajo con datos

  4. RESTful API: 6 principios clave de diseño

  5. Versionado de API: estrategias para la compatibilidad con versiones anteriores

  6. OpenAPI/Swagger: automatización de la documentación (visión general)

  7. GraphQL vs REST: criterios para la selección de tecnología

    GraphQL vs REST: cuándo usar
  8. Webhooks: implementación de notificaciones asíncronas

    Webhooks: mecanismos de funcionamiento y aplicación
  9. API Gateway: patrones arquitectónicos (visión general)

    API Gateway: rol en la arquitectura de microservicios
  10. Limitación de la tasa de API: protección contra DDoS y abusos

  11. Microservicios vs Monolito: análisis de trade-off

    Microservicios vs Monolito: cuándo usar qué

Principios de desarrollo y pruebas

  1. SOLID: aplicación práctica en el backend

  2. DRY/KISS/YAGNI: antipatrones y soluciones

  3. Pruebas en el backend: pirámide de pruebas (comparación)

    Los 9 tipos de pruebas de API más populares
    API Testing Types
  4. TDD: flujo de trabajo para principiantes

  5. Pruebas A/B: enfoques arquitectónicos

  6. Feature flags: gestión de lanzamientos (brevemente)

  7. SemVer: versionado semántico en la práctica

  8. Logs estructurados: mejores prácticas

  9. Monitorización: métricas clave de SLA

  • Manejo de errores y registro: enfoques estándar, middleware
  • Servidores proxy

Git y CI/CD

  1. Git-flow: estrategias de ramificación en equipo
  2. CI/CD: pipeline desde el commit hasta la producción

Seguridad y autenticación

  1. JWT: implementación de tokens en microservicios

    Tokens JWT: estructura y formas de uso
  2. OAuth2: flujo de autorización para API

    OAuth2: principios de autorización
  3. Hashing de contraseñas: estándares de seguridad modernos

    Hashing de contraseñas: almacenamiento seguro de credenciales
  4. Gestión de secretos: Vault y análogos (visión general)

12 consejos para la seguridad de la API

Asincronía y paralelismo

  1. Programación asíncrona: bucle de eventos y callbacks (concepto y comparación con el código síncrono)
  2. Multihilo vs Multiprocesamiento: especificidad de Python (concepto y diferencias clave)
  3. Python GIL: descripción general del problema y enfoques para evitarlo
  4. asyncio: fundamentos del trabajo con corrutinas (ejemplos prácticos de uso)
  5. Tareas en segundo plano: colas y planificación (implementación a través de Celery/Redis)

Patrones arquitectónicos

Patrones arquitectónicos
  1. Inyección de dependencias: Implementación práctica de dependencias (inversión de control)
  2. Patrón de fábrica: Creación de objetos a través de fábricas (concepto y comparación con otros patrones)
  3. Singleton: Recursos globales y antipatrones (Descripción general para principiantes)
  4. Validación de datos: modelos Pydantic/Schema (bibliotecas y enfoques clave)
  5. Serialización de objetos: JSON/Protobuf/MessagePack (formatos y optimización de la transmisión)
  6. Idempotencia de la API: garantía de ejecución única de operaciones

Temas adicionales

  • Agile, Scrum, Kanban: metodologías básicas de desarrollo (concepto y comparación)
  • Software Development Life Cycle (SDLC): etapas de desarrollo, planificación, revisión de código (Descripción general para principiantes)
  • DevOps: principios e instrumentos básicos (Descripción general de los aspectos clave)
  • Balanceo de carga: principios e instrumentos básicos (concepto y comparación de enfoques)

Silver

Lista de reproducción de Fundamentos del diseño de sistemas - por ByteByteGo

Vídeos Silver

Pasos adicionales

Pasos adicionales