Складчина: новые складчины на курсы и тренинги | страница 34

  1. Все статусы
  2. Открыто
  3. Сбор взносов
  4. Доступно

Категории

  1. [IBS] Микросервисная архитектура (Дмитрий Овчаренко)

    16 ноя 2024
    [​IMG]

    Микросервисная архитектура (МСА) сравнительно недавно завоевала славу самого популярного архитектурного подхода. Ее использование обеспечивает множество преимуществ на различных этапах жизненного цикла продукта. В частности, МСА позволяет получить меньшее время реакции на требования бизнеса, что зачастую обеспечивает ее превосходство над прочими архитектурными стилями.

    Однако, в процессе разработки МСА систем архитектор сталкивается со множеством вызовов, многие из которых заставляют новичков откатываться назад.

    Ошибки декомпозиции могу привести к серьёзному увеличению сложности разработки. Производительность страдает из-за непреодолимых сетевых задержек. Распределенное хранение данных не позволяет использовать транзакционную согласованность. Большое количество взаимодействующих по сети компонент снижает надежность. Сложно обеспечивать безопасность. Кроме того, отдельного разговора требует тестирование и обслуживание распределенной системы.

    Данный курс покажет преимущества и недостатки использования МСА. Поможет принимать обоснованное решение о применимости МСА в зависимости от потребностей бизнеса и возможностей команды.

    В курсе рассматриваются основные проблемы, связанные с реализацией микросервисной архитектуры. Стратегии, механизмы, паттерны, решающие озвученные выше задачи. По каждой рассматриваемой проблеме будут представлены наиболее распространённые инструменты (такие, как Kubernetes, Istio, Histryx, Kibana, и многие другие).
    • 1. Архитектурные стили (2 ч.)
      • Понятия монолита, SOA, MSA.
      • Сравнение и обоснование выбора.
    • 2. Паттерны декомпозиции MSA (2 ч.)
      • Оптимальный размер микросервиса;
      • Разбиение на сервисы по бизнес-возможностям;
      • Разбиение на сервисы по проблемным областям;
      • Практики определения предметных областей;
      • Декомпозиция по техническим и организационным аспектам.
    • 3. Организация разработки под MSA (1 ч.)
      • Организация команд под MSA;
      • Организация репозитория кода под MSA.
    • 4. Интеграция микросервисов (3 ч.)
      • Паттерны взаимодействия;
      • Синхронные и асинхронные механизмы взаимодействия;
      • Оркестровка и хореография;
      • Основные протоколы и технологии (REST, gRPC, GraphQL, Kafka, RabbitMQ и др.);
      • Взаимодействие с внешними системами (API Gateway, BFF);
      • Реактивные системы;
      • Архитектуры управляемые событиями;
      • Разделение команды и запроса.
    • 5. Организация работы с данными в MSA (3 ч.)
      • Паттерны работы с данными;
      • Порождение событий;
      • Справочные данные в MSA;
      • Единый источник истины (Source of Truth) в MSA.
    • 6. Основные шаблоны МСА (9 ч.)
      1. Модифицируемость.
        • Решение проблемы высокой связанности. Версионирование интерфейсов и событий. Типы контрактов. Изменения событийной модели. Паттерны организации запросов. Микросервисное шасси (Microservice chassis). Сетки сервисов (Service Mesh).
      2. Масштабируемость.
        • Паттерны построения балансировщиков. Сервисы обнаружения и паттерны работы с ними.
      3. Производительность.
        • Паттерны производительности в MSA (переборка, изящная деградация и пр.).
      4. Согласованность.
        • Проблемы обеспечения согласованности в MSA. CAP теорема. Решения проблем согласованности. Двухфазные коммиты. Паттерн SAGA. Понижение уровня согласованности.
      5. Надежность.
        • Механизмы отказоустойчивости. Паттерны предохранитель (Circuit Breaker), дросселировка, зависимые таймауты и пр.
      6. Безопасность.
        • Механизмы обеспечения безопасности в MSA. Аутентификация. Авторизация. Защита периметра. Защита каналов связи. Основные протоколы и паттерны (OAUTH2, JWT, привратник, ключ камердинера и пр.).
      7. Тестируемость.
        • Пирамида и квадрат тестирования. Особенность тестирования микросервисов.
        • Модульное тестирование. Интеграционное тестирование. Компонентное тестирование. Тестирование E2E. Паттерны тестирования MSA.
      8. Удобство обслуживания.
        • Возможность наблюдения (Observability). Паттерны наблюдения (распределенная трассировка, агрегация журналов). Мониторинг и журналирование. Конфигурирование микросервисов. Вынесение конфигурации во вне. Поддержка системы.
    • 7. Развертывание микросервисов (2 ч.)
      • Паттерн «Deployment pipeline»;
      • Паттерны развертывания;
      • Использование технологий Docker и Kubernetes;
      • Использование сетки ISTIO;
      • Бессерверное развертывание;
      • Стратегии развертывания (сине-зеленые, канареечные и т.д.).
    • 8. Стратегии миграции от монолита к MSA (2 ч.)
      • Стратегии перехода с монолита на микросервисы;
      • Удушение монолита (Strangler monolith);
      • Паттерны удушения;
      • Связь микросервиса с монолитом;
      • Миграция базы данных.
    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  2. [Thinknetica] Параллелизм и многопоточность в Ruby и Rails. Тариф Слушатель (Денис Савицкий)

    13 ноя 2024
    [​IMG]

    Этот воркшоп для вас если:
    • Ваше приложение не справляется с нагрузкой и начинает медленно обрабатывать запросы по мере увеличения числа пользователей
    • Ваше приложение часто выполняет задачи в фоновом режиме, такие как отправка писем или генерация отчетов
    • Вы работаете с большими объемами данных и сталкиваетесь с продолжительным временем обработки
    • Вы хотите раз и навсегда разобраться с concurrency и параллелизмом в Ruby и научиться использовать их так, чтобы не выстрелить себе в ногу
    Программа воркшопа
    День 1. Основы параллельных вычислений в Ruby
    Рассмотрим способы выявления неэффективных процессов, теория основ параллельных вычислений в Ruby, использование Thread и Fiber.

    Результат: Поймете, как определить проблему производительности и решишь её “в лоб” используя параллельные процессы в Ruby на практике.

    Содержание:

    • Введение в многопоточность и параллелизм: различия и преимущества.
    • Как находить узкие места производительности в Ruby-приложении.
    • Использование потоков (Thread) для параллельных вычислений: создание, управление, проблемы синхронизации.
    • Работа с легковесными процессами: введение в Fiber и его применение.
    • Практические примеры параллельной обработки: простые задачи и многопоточные решения.
    • Проблемы конкурентности: race-conditions, deadlock, и как с ними бороться.
    • Ограничения GIL (Global Interpreter Lock) в Ruby и как его обойти.
    День 2. Параллельные вычисления в Rails
    Узнаем, как параллельные вычисления могут быть интегрированы в веб-приложения на Ruby on Rails, и задействуем второй уровень оптимизации: фоновые задачи и очереди в Sidekiq.

    Результат: Сможете настроить параллельных вычислений в фоновых задачах Rails, контролируемо улучшить производительность выполняя задачи параллельно.

    Содержание:

    • Управление зависимостями и очередь задач в параллельных вычислениях. Обеспечение уникальности выполнения задач, продолжение обработки очереди после ошибки.
    • Советы по оптимизации фоновых процессов: минимизация задержек и контроль параллельных операций, логгирование, профилирование.
    • Метрики производительности для фоновых задач: мониторинг и оптимизация.
    • Подходы к обработке ошибок и ретрай задач в многопоточных системах.
    • Race condition, deadlock, retry failures.
    • Потеря данных при неожиданном завершении.
    • Memory bloat, database contention.
    День 3. Оптимизация работы с базами данных
    Поговорим о том, как параллельные вычисления помогают ускорить работу с большими объемами данных. Рассмотрим подходы к оптимизации SQL-запросов и блокировках, race-condition при параллельной обработке данных.

    Результат: Научитесь оптимизировать запросы к базам данных, минимизировать нагрузку и использовать параллельные вычисления для ускорения работы с большими данными без deadlock и потери данных.

    Содержание:

    • Параллелизм и базы данных: как эффективно распределить нагрузку между процессами и сохранить консистентность данных.
    • Оптимизация SQL-запросов для параллельной обработки: индексирование, версионирование.
    • Управление транзакциями в параллельных вычислениях: как избежать конфликтов и deadlock.
    • Проблемы блокировок (lock) и race-conditions при многопоточности в работе с базами данных.
    • Использование ActiveRecord для параллельных вычислений: как улучшить производительность запросов.
    • Кейсы работы с большими объемами данных: импорты, миграции, анализ данных в фоновом режиме.


    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  3. Большой Курс Python - с нуля до продвинутого. Тариф С поддержкой (Egor Wexler, Ekaterina Wexler)

    13 ноя 2024
    [​IMG]

    Программа курса:


    Модуль 1

    Вступление | Hello World
    • О курсе
    • функция print
    Переменные и типы данных
    • Примитивные типы данных str, int, float, bool
    • Задание переменных разных типов
    • Понятие констант
    О платформе и тренажёре
    • Как подружиться с ботом
    • Как удобнее и эффективнее решать задания
    Правила курса
    Интерпретация и компиляция
    • Что нужно, чтобы компьютер выполнил написанный код?
    • Отличие компиляции и интерпретации
    • Зачем нужно "Установить Python"на компьютер
    IDE
    • Что такое IDE?
    • Зачем нужен IDE?
    Составные типы данных | Часть 1
    • list (список/массив)
    • dict (хеш-таблица)
    • Отличие mutable и immutable
    Обзор первого модуля
    • Посмотрим ещё раз как задавать переменные
    • Как делать коллекции и обращаться к отдельным элементам
    Модуль 2

    Составные типы данных | Часть 2
    • set (набор уникальных элементов)
    • tuple (неизменяемый лист)
    • None
    • Особенности ключей в dict
    Дополнительная практика типов данных
    • Задания на подбор типов данных для различных случаев
    Функции # 1
    • Понятие функции
    • Передача параметров в функции
    • Вызов функций
    • Возврат значений из функций
    • Передача значений из одной функции в другую
    • Опциональные параметры
    • Понятие локальных переменных
    Функции # 2
    • Примеры применения функций
    • Дополнительная практика создания и использования функций
    Условные операторы
    • if, else, elif
    • Логические операторы not, and, or
    • Тонкости сочетания условий между собой
    Математические операторы
    • Описание и практика всех доступных математических операторов
    • Применение математических операторов к различным типам данных
    Ввод данных
    • Как вводить данные в вашу программу с клавиатуры (в консоль)
    • Конвертация типов данных из одного в другой
    Установка Python и IDE
    Установка на Windows
    • Видео-урок по установке Python и PyCharm на Windows
    Установка на MacOS
    • Видео-урок по установке Python и PyCharm на MacOS
    Структура Python программ
    • Как запускать код в PyCharm
    • Как писать код в различных файлах и использовать import
    • Зачем нужен блокif __name__ == '__main__':
    • А заодно:
      1. Как получить текущую дату (модуль datetime)
      2. Как получить цифру из ввода командной строки (и использовать для этого рекурсию)
    Debug в PyCharm
    • Зачем нужен дебаггер
    • Как использовать дебаггер в PyCharm
    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  4. Освоение Tabnine AI для эффективной разработки кода (Metla Sudha Sekhar)

    12 ноя 2024
    [​IMG]

    Вы научитесь:
    Введение в поколение ИИ
    Исследование Gen AI, Tabnine и пользовательских решений AI
    Углубленное понимание Табнина
    Узнайте, как Tabnine поддерживает языки и функции
    Установите и настройте Tabnine для полной интеграции с популярными IDE.
    Узнайте, как Tabnine эффективно генерирует код
    Предложения по сигнатурам основных функций и интеллектуальные
    Используйте Табнин для процессов самовосстановления
    Применение Tabnine в реальных сценариях, генерация кода
    Создайте чат Tabnine AI для серверной части RESTful-сервисов.
    Подкрепите теоретические знания практическими навыками искусственного интеллекта.
    Позиционируйте себя как опытного пользователя Tabnine AI.
    Написание сценариев тестирования автоматизации для быстрого тестирования.

    Раскройте весь потенциал генеративного искусственного интеллекта с помощью нашего онлайн-курса « Освоение искусственного интеллекта Tabnine для эффективной разработки кода ». Этот курс, идеально подходящий для программистов и разработчиков, погружает в мир искусственного интеллекта и знакомит с такими инструментами, как Tabnine, Copilot, Kite, ChatGPT и другими.

    Курс предоставляет практический опыт, помогая учащимся установить Tabnine, интегрировать его с популярными IDE и применить его для генерации кода, от сигнатур функций до процессов самовосстановления. Особое внимание уделяется функциям и возможностям, специфичным для языка, что позволяет участникам получить детальное понимание Tabnine на разных языках программирования.
    Курс на английском языке с русской аудио дорожкой.

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  5. [IT-Academy] Sales Manager в IT (Надежда Кульба)

    6 ноя 2024
    [​IMG]

    Профессиональный курс (для трудоустройства)

    Sales Manager в IT — специалист, который ведет коммуникацию с клиентом от первого контакта с ним и предложения услуг компании до заключения сделки. На старте карьеры Sales Manager в IT зарабатывает от 400-500$, но с развитием скиллов и навыков зарплата вырастает до 2000$.

    Обучиться на менеджера по продажам вы можете в IT-Academy.

    Курс «Sales Manager в IT» — современный подход к работе менеджера по продажам в IT-компаниях. На курсе вы получите полное понимание специфики работы менеджера, узнаете об инсайтах и современных подходах к продажам, о том, как коммуницировать с клиентами, а также научитесь применять стратегии и методики продаж.

    Благодаря программе курса вы точно сможете стать хорошим сейлзом. Практика включает работу с реальными клиентскими сценариями, моделированием продаж IT-продуктов и услуг, а также сопровождением процесса продажи от начала до конца. Такая практика позволяет получить опыт в реальных ситуациях, с которыми могут столкнуться начинающие специалисты в своей Sales карьере, и тем самым приобрести уверенность в будущем.

    Курс будет полезен всем, независимо от опыта и предыдущей сферы деятельности. Главное — желание понять, как работают Sales-менеджеры, и овладеть навыками IT-продаж.

    Для чего этот курс
    • Помочь слушателям сменить сферу деятельности на IT.
    • Дать понимание работы сейлз-менеджера в IT-компаниях.
    • Познакомить со спецификой продаж в айти.
    • Развить у слушателей комплексный набор знаний, навыков и умений, необходимых для успешной карьеры в сфере IT-продаж.
    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
Наверх