Перейти к основному содержимому

IT База

В этом модуле мы должны закрыть все пробелы по основам Software Engineering и по основным темам бэкенд разработки.

про Lite backend development блок

IMFO: Applied AI engineer не должен быть специалистом по бэкенд разработке, но вы сами должны углубиться с уровнем погружения + пропускайте знакомые темы.

  • Хотите быстрее перейти к разработке Агентов? - изучите данные темы поверхностно - возвращаясь к погружению в SWE по ходу промышленной разработки.
    • Для Full-time learners: тратьте 0.5-1 дня на модуль
    • Для Part-time learners: тратьте 1-2 дня на модуль
  • Хотите углубленные знания? - будет полезно будущим архитекторам
    • Для Full-time learners: тратьте 1-2 дня на модуль, поверхностно проходите Extra/Silver секции
    • Для Part-time learners: тратьте 2-4 дня на модуль, поверхностно проходите Extra/Silver секции
инструкция

Так как данные темы не меняются со временем, лучше всего вам изучать их с персональным преподавателем - ChatGPT.

Процесс изучения должен быть следующим:

  • вы составляете системный промпт для ChatGPT (шаблоны), где описываете свой бэкграунд, предпочтения, уровень подробности объяснений и т.д.
  • копируете тему из списка (тройной клик), и просите ChatGPT объяснить вам эту тему
  • при желании углубиться, задаете уточняющие вопросы

На данный момент это самый удобный способ изучения основ. Кроме концептов, вы можете изучать дополнительные материалы в секциях Gold, Silver, Extra.

  1. Gold - стоит обязательно изучить до общения с ChatGPT
  2. Ask AI - задавайте вопросы по каждой малознакомой теме
  3. Silver - второстепенные материалы
  4. Extra - углубленные темы

Gold

1. Не группировано

Замечательная коллекция коротких видео с Merion Academy.
Бинарный поиск (канал)
System Design Fundamentals by ByteByteGo
Видео by ByteByteGo

2. Git и Github

Git и Github

Ask AI

Ask ChatGPT

Темы для последовательного изучения с ChatGPT (сгруппированы по категориям):

Сетевые основы и протоколы

How the internet works
  1. HTTP vs HTTPS: ключевые различия и влияние на безопасность

  2. TCP/IP: базовые принципы работы (кратко)

  3. HTTP коды состояния: практическое применение (2xx, 4xx, 5xx)

    HTTP коды состояния: классификация и использование (2xx, 4xx, 5xx), кратко
  4. WebSockets vs HTTP Long Polling: сравнение подходов (концепт)

  5. CORS: настройка безопасности для кросс-доменных запросов

    CORS in 100 Seconds
Что такое Rest API (http)? Soap? GraphQL? Websockets? RPC (gRPC, tRPC). Клиент - сервер. Вся теория

Архитектура API и веб-сервисов

  1. REST vs SOAP: сравнение для начинающих

  2. Stateless vs Stateful: преимущества для масштабирования

  3. CRUD операции: базовые паттерны работы с данными

  4. RESTful API: 6 ключевых принципов проектирования

  5. API версионирование: стратегии для backward compatibility

  6. OpenAPI/Swagger: автоматизация документации (обзорно)

  7. GraphQL vs REST: критерии выбора технологии

    GraphQL vs REST: когда использовать
  8. Webhooks: реализация асинхронных уведомлений

    Webhooks: механизмы работы и применение
  9. API Gateway: архитектурные паттерны (обзорно)

    API Gateway: роль в микросервисной архитектуре
  10. API rate limiting: защита от DDoS и злоупотреблений

  11. Микросервисы vs Монолит: анализ trade-off

    Микросервисы vs Монолит: когда что использовать
Видео по API

Принципы разработки и тестирование

  1. SOLID: практическое применение в бэкенде

  2. DRY/KISS/YAGNI: антипаттерны и решения

  3. Тестирование в бэкенде: пирамида тестов (сравнение)

    Top 9 Most Popular Types of API Testing
    API Testing Types
  4. TDD: workflow для начинающих

  5. A/B тестирование: архитектурные подходы

  6. Feature flags: управление релизами (кратко)

  7. SemVer: семантическое версионирование на практике

  8. Структурированные логи: best practices

  9. Мониторинг: ключевые метрики SLA

  • Обработка ошибок и логирование: стандартные подходы, middleware
  • Прокси-серверы

Git и CI/CD

  1. Git-flow: стратегии ветвления в команде
  2. CI/CD: пайплайн от коммита до продакшена

Безопасность и аутентификация

  1. JWT: реализация токенов в микросервисах

    JWT токены: структура и способы использования
  2. OAuth2: флоу авторизации для API

    OAuth2: принципы авторизации
  3. Хеширование паролей: современные стандарты безопасности

    Хеширование паролей: безопасное хранение учетных данных
  4. Secret management: Vault и аналоги (обзорно)

12 tips for API security

Асинхронность и параллелизм

  1. Асинхронное программирование: event loop и callbacks (концепт и сравнение с синхронным кодом)
  2. Многопоточность vs Мультипроцессинг: Python специфика (концепт и ключевые отличия)
  3. Python GIL: обзор проблемы и подходы к обходу
  4. asyncio: основы работы с корутинами (практические примеры использования)
  5. Фоновые задачи: очереди и планирование (реализация через Celery/Redis)

Архитектурные паттерны

Архитектурные паттерны
  1. Dependency Injection: Практическое внедрение зависимостей (инверсия контроля)
  2. Фабричный паттерн: Создание объектов через фабрики (концепт и сравнение с другими паттернами)
  3. Singleton: Глобальные ресурсы и антипаттерны (Обзорно для начинающих)
  4. Валидация данных: Pydantic/Schema модели (ключевые библиотеки и подходы)
  5. Сериализация объектов: JSON/Protobuf/MessagePack (форматы и оптимизация передачи)
  6. Идемпотентность API: Гарантия однократного выполнения операций

Дополнительные темы

  • Agile, Scrum, Kanban: базовые методологии разработки (концепт и сравнение)
  • Software Development Life Cycle (SDLC): стадии разработки, планирование, ревью кода (Обзорно для начинающих)
  • DevOps: основные принципы и инструменты (Обзор ключевых аспектов)
  • Load Balancing: базовые принципы и инструменты (концепт и сравнение подходов)

Silver

System Design Fundamentals Playlist - by ByteByteGo

Silver videos

Extra Steps

Extra Steps