Новые складчины | страница 34

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

Категории

  1. [IBS] Java Advanced II. Высокопроизводительная Java (Павел Козлов)

    16 май 2024
    [​IMG]

    Курс посвящен повышению производительности Java-приложений. В курсе рассматриваются различные подходы к профилированию, поиску узких мест, тюнингу виртуальной машины, настройки флагов JVM, библиотеки сериализации и кэширования, хранение данных вне кучи, бенчмаркинг, мониторинг и настройка памяти, и другие темы.

    Цели
    • Познакомить слушателей с современными подходами к повышению производительности Java приложений.
    Целевая аудитория
    • Разработчики Java
    • Архитекторы Java
    Предварительная подготовка
    • Уверенное владение Java
    Модуль 1. Обзор тюнинга производительности (теория - 3 ч. + практика - 3 ч.)
    • Общие практики;
    • Стратегии тюнинга производительности;
    • Метрики производительности;
    • Как повысить производительность?
    • Инструменты для измерения производительности;
    • JMeter;
    • Нагрузочное тестирование с помощью JMeter;
    • Как повысить производительность с помощью архитектуры?
    • Повышение производительности с помощью архитектуры: потоки, очереди, микросервисы, облака;
    • Лучшие практики для улучшения производительности кода.
    Модуль 2. Алгоритмы GC (теория - 6 ч.)
    • Использование памяти Java-объектами;
    • Общие подходы и алгоритмы сборщиков мусора;
    • Сборщик мусора Serial GC;
    • Сборщик мусора Parallel GC;
    • Сборщик мусора CMS;
    • Сборщик мусора G1;
    • Сборщик мусора Shenandoah;
    • Тюнинг сборщиков мусора;
    • Инструменты сбора и анализа метрик о сборке мусора;
    • Выбор оптимального сборщика мусора.
    Модуль 3. JIT-компилятор HotSpot (практика - 3 ч. + теория - 2 ч.)
    • JIT компиляция;
    • Java байт-код;
    • Многослойная компиляция;
    • Кэш кода и его тюнинг;
    • Оптимизация кода;
    • Деоптимизация кода и когда она происходит;
    • Инструмент JITWatch для анализа результатов компиляции;
    • Виды оптимизаций;
    • Спекулятивные оптимизации;
    • Настройка компилятора;
    • AOT компиляция;
    • GraalVM.
    Модуль 4. Флаги JVM (теория - 3 ч.)
    • Назначение и категории флагов JVM;
    • Общие флаги;
    • Флаги, связанные со строками;
    • Флаги управления памятью;
    • Safepoints и флаги, связанные с ними;
    • TLAB и флаги, связанные с ними;
    • План тюнинга JVM.
    Модуль 5. Тестирование производительности алгоритмов (benchmarking) с помощью JMH (практика - 2 ч.)
    • Что такое benchmarking;
    • Знакомство с JMH;
    • API JMH;
    • Нетривиальные примеры;
    • Применение JMH на практике.
    • Домашняя работа (2 ч).
    Модуль 6. Использование памяти вне кучи (off-heap memory) и эффективные структуры данных (теория - 2 ч. + практика 2 ч.)
    • Что такое sun.misc.Unsafe;
    • Методы Unsafe;
    • Производительность нативной памяти;
    • Создание структур данных в нативной памяти;
    • Оценка производительности нативной памяти и сравнение с памятью в куче;
    • Примитивные коллекции;
    • Денормализация данных;
    • Перспективный Foreign Memory Access API.
    Модуль 7. Сериализация и сетевая структура (теория - 3 ч.)
    • Сериализаторы JSON (GSON, Jackson);
    • Двоичные сериализаторы (Protobuf, Jackson Smile, Kryo, FST, One NIO);
    • Сравнение производительности различных сериализаторов;
    • Производительность сети при подключении через различные протоколы: HTTP/REST, TCP, Async TCP, RSocket, Netty server/client.
    Модуль 8. Профилирование Java (теория - 3 ч. + практика - 2 ч.)
    • Когда и как делать профилирование?
    • Сэмплирующие и инструментирующие профайлеры;
    • Использование Java VisualVM для профилирования;
    • Профилирование с помощью Spring AOP;
    • Профилирование с помощью IDEA и async profiler;
    • Java Flight Recorder;
    • Анализ логов Java Flight Recorder с помощью Mission Conrol;
    • Создание и логгирование кастомных событий JFR ;
    • Использование Java агентов для внедрения в код и записи любых событий в Java Flight Recorder;
    • Написание программ для автоматического анализа логов JFR;
    • Сбор и анализ SQL запросов с помощью JFR;
    • Сбор и анализ REST запросов с помощью JFR;
    • Средства управления производительностью приложений;
    • Использование Glowroot для профилирования и анализа SQL-запросов и REST-запросов.
    Модуль 9. Мониторинг и анализ данных кучи. Утечки памяти (теория - 3 ч.)
    • Инструменты для анализа динамической памяти;
    • Признаки утечек памяти;
    • Основные причины утечек памяти;
    • Поиск и обнаружение утечек памяти;
    • Слабые и фантомные ссылки;
    • Инструменты IDEA для анализа дампов кучи;
    • Асинхронный профайлер для анализа потребления памяти;
    • Использование числа генераций профайлера VisualVM для обнаружения утечек памяти;
    • Использование MissionControl/JFR для автоматического анализа утечек памяти;
    • Анализатор памяти Eclipse – анализ знаменателей и кучи.
    Модуль 10. Кэширование в приложениях Java (теория - 3 ч.)
    • Шаблоны кеширования;
    • Кеширование HTTP запросов;
    • Конфигурация библиотек кеширования;
    • Популярные библиотеки кэширования: EhCache, Caffeine;
    • Кеширование сервисного уровня;
    • Кеширование Spring сервисов;
    • Буферизация ввода/вывода;
    • Кэш процессора и непрерывная область памяти;
    • Кэширование JPA/Hibernate;
    • Приложения, использующие кэши разных уровней.

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  2. [IBS] Java Advanced I. Функциональное, асинхронное и реактивное программирование (Игорь Судакевич)

    16 май 2024
    [​IMG]

    Курс посвящен современным функциональным и реактивным подходам к разработке на Java, повышающем производительность бекэнда, и включает изучение неблокирующего ввода-вывода NIO2, асинхронных промисов CompletableFuture, библиотек реактивного программирования RxJava и Reactor, интерфейса асинхронного доступа к БД R2DBC, потоковый протокол SSE, реактивные репозитории Spring Data reactive, WebClient, протоколы WebSocket и RSocket, а также практические примеры применения.

    Цели
    • Познакомить слушателей с современными асинхронным и реактивным программированием.
    • Дать примеры применения.
    Целевая аудитория
    • Разработчики Java
    • Архитекторы Java
    Предварительная подготовка
    • Уверенное владение Java, желательно знание Spring
    Модуль 1. Функциональная Java (теория - 2 ч. + практика 1 ч.) ч)
    • Функциональные интерфейсы
    • Ссылки на метод
    • Потоки данных
    • Map / filter / reduce
    • Агрегационные функции
    • Reduce при параллельной и последовательной обработке
    • Цепочки потребителей
    • Потоковые коллекторы
    Модуль 2. Executor framework. Fork-Join pool (теория - 3 ч.)
    • Использование Executors
    • Future интерфейс
    • Использование интерфейса Callable
    • Отмена задач
    • ForkJoin Framework
    • Создание пула задач ForkJoin
    • Параллельные потоки в Java 8+
    • ForkJoin vs. параллельные потоки vs. последовательные потоки
    Модуль 3. Неблокирующий ввод-вывод NIO (теория - 3 ч. + практика - 2 ч.)
    • Основные различия между Java NIO и IO
    • Потоково-ориентированный или буферно-ориентированный
    • Блокирующий против неблокирующего ввода-вывода
    • Java NIO Buffer
    • Java NIO Channel
    • Direct буфер
    • Mapped file буфер
    • Java NIO Selector
    • Асинхронный ввод / вывод с NIO
    • Блокировка файла
    • Cервер NIO
    • Архитектура сервера Netty
    Модуль 4. Асинхронная Java (Completable Future) (теория - 3 ч. + практика - 2 ч.)
    • Проблемы синхронного кода
    • NodeJS архитектура
    • Параллельная обработка потока данных
    • CompletableFuture: sync и async методы
    • Объединение (combine), составление (composing) и быстрейший побеждает (quicker wins)
    • Обработка исключений в CompletableFuture
    • Отмена CompletableFuture
    • Использование CompletableFuture для реального потока данных
    Домашняя работа. Практика (2 часа).

    Модуль 5. Реактивное программирование (теория - 8 ч.)
    • Что такое реактивность?
    • Основы RxJava: наблюдатель и наблюдаемый (Observable и Observer)
    • Реактивные потоки в Java 9 (Java Reactive Streams)
    • Методы для побочных эффектов (side effects)
    • Обработка ошибок
    • Горячие и холодные потоки (hot/cold)
    • Разделяемые и подключаемые потоки (shared/connectable)
    • Освобождение потоков (disposing)
    • Реактивные операторы (полный каталог)
    • Subjects
    • Распараллеливание потоков (Schedulers)
    • Противодавление (backpressure) и интерфейс Flowable
    • Тестирование реактивных потоков
    Модуль 6. Проект Reactor (теория - 4 ч.)
    • Операторы Flux / Mono в Reactor
    • Работа с backpressure в Reactor
    • Reactor и многопоточность (Reactor Schedulers)
    • Parallel Flux потоки
    • Оборачивание синхронных вызовов
    • Тестирование Reactor
    • Процессоры (Reactor processors)
    Модуль 7. Spring WebFlux и практическое реактивное программирование (теория - 6 ч. + практика - 2 ч.)
    • Реактивный доступ к БД
    • Реактивные драйверы R2DBC
    • Spring Data - реактивные репозитории
    • Поддержка страниц (paging) в Spring Data reactive
    • WebFlux: функциональные контроллеры
    • Spring REST контроллеры, возвращающие реактивные данные (Mono / Flux)
    • Spring REST контроллеры, возвращающие SSE (server-sent event)
    • WebClient: получение реактивных данных с сервера
    • SSE и протоколы WebSocket
    • Использование WebSocket для передачи / получения данных JSON
    • Использование WebSocket для передачи / извлечения двоичных данных
    • Протокол RSocket
    • Контроллер RSocket на стороне сервера
    • RSocket клиент: обмен JSON и двоичными данными
    • RSocket с балансировкой нагрузки
    • RSocket с взвешенной балансировкой нагрузки
    • Использование реактивных потоков с брокером сообщений (RabbitMQ)
    • Spring Data MongoDB реактивные репозитории
    • Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
    • Архитектура и шаблоны реактивного программирования
    Домашняя работа. Практика (2 часа).

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  3. [CyberYozh] Андроид-Паноптикум. Тариф Архитектор

    16 май 2024
    [​IMG]


    Это концепция, где только пользователь может наблюдать за всем, что происходит в его смартфоне. Мы научим вас находить и контролировать все слабые места в анонимности и безопасности вашего Android-смартфона.

    Принципы Паноптикума:
    • Централизованное наблюдение. Вы станете центральным наблюдателем всех процессов и уязвимостей вашего смартфона, построив архитектуру контроля безопасности.
    • Анонимность наблюдателя. Вы будете невидимы для корпораций, хакеров и служб. Ваш смартфон не будет знать о вас ничего, а значит не сможет передать личные данные.
    • Полная изоляция наблюдаемых. Каждый сервис, который может угрожать вашей анонимности, будет изолирован от других, чтобы остановить взаимодействие между приложениями.
    Этот курс для вас, если вы:
    Хотите шифровать интернет-активность. Настройте максимальный уровень защиты ваших данных и трафика от контроля со стороны провайдера /оператора / правоохранительных органов.
    Вынуждены защищаться от взлома. Изучите все возможные уязвимости вашего Android-смартфона. Речь пойдёт не только об удаленных атаках на устройство, но про контрфорензике (физическом взломе).
    Хотите превратить смартфон в антидетект. Научитесь подменять идентификаторы вашего смартфона. Это не просто изменение на браузерном уровне, вы научитесь изменять отпечатки сети, ОС и железа девайса.
    Не готовы продавать себя корпорациям. Ваши интересы, контактные данные, фотографии и даже ваш любимый жанр порнографии перепродаётся до 50 раз в день рекламным сетям и маркетплейсам.
    Храните криптовалюту на смартфоне. Обезопасьте хранение криптовалюты на вашем смартфоне. Вы создадите настоящий сейф, и доступ к деньгам будет только у вас и доверенных лиц.
    Работаете с кастомными прошивками. Мы поможем найти оптимальный выбор прошивки под ваши задачи и научим с ней работать. Это важно, если вы не хотите привратить своё устройство в «кирпич».

    Программа Курса

    Длительность обучения: 6 месяцев Количество уроков: 72
    Доступы и идентификаторы
    Модуль 1:Прошивки и получение Root 12 занятий
    Модуль 2:Продвинутое сокрытие метрик и обход антифрод-систем 7 занятий
    Безопасность и анонимность
    Модуль 3:Защита от утечек данных устройства 21 занятиe
    Модуль 4:Контрфорензика и безопасность коммуникаций 8 занятий
    Модуль 5:Автоматизация защиты от атак 8 занятий
    Дополнительно
    Модуль 6:Приложения и сервисы 12 занятий
    Бонус:Нейросети для Android 21 занятиe

    Тариф "Архитектор"
    Прошивки и получение Root
    Настройка Антидетекта
    Защита от утечек
    Контрфорензика
    Защита от атак
    Приложения и сервисы
    Нейросети для Android

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  4. [Thinknetica] Kubernetes для Rails-разработчиков. Тариф Слушатель (Темур Фактулин)

    14 май 2024
    [​IMG]


    Воркшоп для Rails-разработчиков, которые хотят начать использовать Kubernetes для улучшения процессов CI/CD и управления своими приложениями.

    Темы которые будут рассмотрены:
    Основы Kubernetes для начинающих
    • Применение Kubernetes для управления и оркестрации контейнеризированных приложений.
    • Освоение основных компонентов и абстракций, таких как pods, services, deployments и jobs.
    Автоматизация развертывания и управления
    • Настройка и использование GitLab CI/CD для автоматизации процессов развертывания в Kubernetes.
    • Разбор процесса развертывания приложений через Helm и GitLab, упрощение этого процесса с помощью Helm charts.
    Масштабирование и управление ресурсами
    • Освоение методов масштабирования приложений в Kubernetes, включая автоматическое и ручное масштабирование.
    • Настройка запросов и лимитов ресурсов для подов, управление доступными ресурсами для обеспечения оптимальной производительности и стабильности.
    Управление приложениями и сервисами
    • Настройка различных типов сервисов в Kubernetes, таких как ClusterIP, NodePort и LoadBalancer, для обеспечения доступа к приложениям.
    • Применение стратегий обновления приложений, таких как Rolling Updates, для минимизации простоев.

    Работа с фоновыми задачами:
    • Интеграция и управление фоновыми процессами с использованием Sidekiq в Kubernetes.
    • Автоматизация задач по обслуживанию приложений, например, миграций баз данных.
    Управление миграциями баз данных и автоматическое развертывание в разных окружениях
    • инструменты и практики для бесперебойного выполнения миграций в процессе деплоя.
    • применение k8s для стандартизации развертывания приложений в различных окружениях
    • управление конфигурациями и зависимостями

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
  5. [infostart] Транзакции и работа с ними (Павел Макаров)

    14 май 2024
    [​IMG]

    Курс-практикум "Транзакции и работа с ними" - это часть базовых знаний необходимых при разработке в нагруженных или крупных системах. На курсе по транзакциям подробно разбираются ошибки, приводящие к потере данных. При работе с нагруженными системами (от 500 пользователей, 1 Тб) эти знания становятся необходимыми. Они позволят не терять данные из-за неожиданных моментов/ошибок и обеспечить параллельную работу кода.

    Объем курса: теория 1-2 часа, практика до 2 часов.

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

    Теория:
    Ключевые вопросы:
    - зачем нужна
    - свойства транзакций
    - что такое транзакция
    - зачем нужна транзакция
    - где выполняется транзакция и что сохраняет
    - вложенные транзакции
    - проблемы открытой транзакции + правила обработки транзакций

    Практика:
    Ключевые вопросы:
    - свойства транзакций
    - время жизни транзакции: клиент серверный вызов, вложенный серверный вызов
    - восстановимые и не восстановимые ошибки
    - пример изолированности транзакции
    - пример согласованности транзакции
    - откат изменений в транзакции: изменение в памяти
    - вложенные транзакции: откат, откат с фиксацией
    - явные и не явные транзакции
    - проблемы при проверке активности транзакций
    - правила корректной обработки транзакций

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
Наверх