Сейчас формирую программу интенсивов на сентябрь: будут новые темы и, по запросу, повтор популярных.
Если вы пропустили прошлые занятия из-за нехватки времени или просто не успели записаться – скажите, какие темы актуальны для вас.
Голосуйте в опросе, а самые востребованные включу в расписание.
Описание программ:
🔸Базы данных (с нуля);
🔸Проектирование REST API (junior);
🔸Брокеры сообщений (middle).
Опрос ниже
P.S. Новые темы опубликую чуть позже.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3
Выбираем актуальные темы:
Final Results
28%
Базы данных (с нуля)
26%
Проектирование REST API (junior)
64%
Брокеры сообщений (middle)
22%
Интересуют только новые
1
This media is not supported in your browser
VIEW IN TELEGRAM
ℹ️ SSE (Server-Sent Events) — это механизм, позволяющий серверу асинхронно отправлять данные клиенту через HTTP-соединение.
Важно помнить:
1️⃣ Работает поверх HTTP-протокола. Поддерживает только метод GET.
2️⃣ Для установки соединения клиент должен отправить GET-запрос с заголовком Accept: text/event-stream.
3️⃣ При получении такого запроса сервер возвращает ответ 200, но не закрывает соединение. В это соединение сервер может досылать данные.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7
Напомню концепцию:
Если у вас возникают какие-то вопросы, касающиеся тематики канала, можете задавать их в комментариях.
Сложные кейсы, с которыми столкнулись в работе, теоретические вопросы, вопросы по курсам и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
ℹ️ Long polling — это технология, при которой клиент отправляет запрос к серверу, и сервер удерживает соединение открытым до тех пор, пока не появится новая информация для отправки или не истечёт время ожидания. После этого клиент сразу отправляет новый запрос.
Важно помнить:
1️⃣ В классическом виде работает на HTTP-протоколе.
2️⃣ Зависит от таймаутов. При наступлении таймаута клиент должен открыть новое соединение.
3️⃣ На одну итерацию получения данных требуется одно соединение (запрос-ответ).
P.S. Технология достаточно устаревшая, но всё ещё встречается на проектах.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4
Media is too big
VIEW IN TELEGRAM
Пять, на мой субъективный взгляд, популярных применений технологии:
1️⃣ Онлайн-чаты — вы отправляете сообщения на сервер, сервер передает новые сообщения вам.
2️⃣ Онлайн-игры — ваши действия передаются на сервер, действия других игроков приходят к вам на клиент.
3️⃣ Финансовые биржи — обновление котировок в реальном времени с минимальной задержкой.
4️⃣ Совместная работа — изменения, внесённые разными пользователями, синхронизируются без перезагрузки.
5️⃣ Удалённое управление умным домом — получение данных с устройств и передача команд на устройства. Речь о взаимодействии с пользователем через браузер или приложение.
P.S. Кто пропустил теоретическую часть, жмём сюда.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4
Будем учиться писать ФТ так, чтобы у разработчиков не осталось вопросов :)
Подробнее:
Тема: Функциональные требования.
Уровень: junior.
Требуемые навыки: Работа с ER-диаграммой, понимание принципов работы REST API.
Кол-во участников: до 4.
Программа:
✅ Виды требований;
✅ Какие бывают ограничения и как они влияют на ФТ;
✅ Что включать в ФТ;
✅ Правильная структура ФТ;
✅ Где описывать ФТ.
Практика:
Подготовка ФТ под различные кейсы:
✅ FRONT;
✅ BACK;
✅ Интеграции(синхронные и асинхронные);
✅ Базы данных.
Запись будет открыта одновременно со всеми интенсивами сентября.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
По результатам нашего опроса в программу сентября включил:
🔄 Брокеры сообщений — 2 интенсива;
🔄 Проектирование REST API — 1 интенсив;
🔄 Базы данных — 1 интенсив;
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
Media is too big
VIEW IN TELEGRAM
Три возможных применения технологии:
1️⃣ Уведомления — система отправляет вам уведомление о наступлении нового события. Например, получение письма на почту.
2️⃣ Системы мониторинга — одна система постоянно отправляет метрики в другую систему, которая занимается агрегацией показателей.
3️⃣ Лента новостей — система отправляет события, которые видят все пользователи на клиенте. Например, текстовая трансляция футбольного матча.
P.S. Кто пропустил теоретическую часть, жмём сюда.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
Базы данных:
🔸Понедельник 01.09 19:00
👤Количество мест: 5
ℹ️ Описание интенсива
Функциональные требования:
🔸Воскресенье 07.09 12:00
🔸Понедельник 22.09 19:00
👤Количество мест: 4
ℹ️ Описание интенсива
Брокеры сообщений:
🔸Понедельник 08.09 19:00
🔸Воскресенье 21.09 12:00
👤Количество мест: 5
ℹ️ Описание интенсива
Проектирование REST API:
🔸Понедельник 15.09 19:00
👤Количество мест: 5
ℹ️ Описание интенсива
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
Media is too big
VIEW IN TELEGRAM
⚠️Помните, что технология достаточно устаревшая и лучше от неё отказаться.
Но вот случаи, когда можно и нужно её использовать:
1️⃣ Поддержка старых версий браузеров, которые не поддерживают WS и SSE;
2️⃣ Ограничения безопасности на вашем проекте, при которых вам нельзя использовать WS и SSE;
3️⃣ Интеграция с внешней системой, у которой реализован только Long polling;
4️⃣ Использование Long polling в качестве резервного канала, если при установке WS или SSE возникли ошибки.
P.S. Кто пропустил теоретическую часть, жмём сюда.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Media is too big
VIEW IN TELEGRAM
🚩Сравнение 3-х технологий на одном практическом примере (WS, SSE, Long polling)
Пример: Отправка 1000 уведомлений одному пользователю. Размер 1-го уведомления 100 байт (0.1кб).
WS: 1.2 КБ (запрос) + 0.2 КБ (ответ) + 1000 * 0.1 КБ (сообщение) ≈ 101.4кб
SSE: 1.2 КБ (запрос) + 0.2 КБ (ответ) + 1000 * 0.1 КБ (сообщение) ≈ 101.4кб
Long polling: (1.2 КБ (запрос) + 0.2 КБ (ответ) + 0.1 КБ (сообщение)) * 1000 ≈ 1500 КБ
Системный анализ | Дмитрий Помаскин
Пример: Отправка 1000 уведомлений одному пользователю. Размер 1-го уведомления 100 байт (0.1кб).
WS: 1.2 КБ (запрос) + 0.2 КБ (ответ) + 1000 * 0.1 КБ (сообщение) ≈ 101.4кб
SSE: 1.2 КБ (запрос) + 0.2 КБ (ответ) + 1000 * 0.1 КБ (сообщение) ≈ 101.4кб
Long polling: (1.2 КБ (запрос) + 0.2 КБ (ответ) + 0.1 КБ (сообщение)) * 1000 ≈ 1500 КБ
Системный анализ | Дмитрий Помаскин
🔥10
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера на интенсиве мы подняли интересную тему выбора технологий для проекта.
Что выбрать при проектировании новой фичи(модуля)?
🔸Технология, которая уже используется на проекте, но не совсем подходит для этой задачи.
🔸Новая технология, которой нет на проекте, но она идеально подходит под решение задачи.
Опрос ниже
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
Выбираем технологию⚙️
Final Results
38%
Уже есть на проекте, но не совсем походит
62%
Идеально подходит, но на проекте ранее не применялась
Media is too big
VIEW IN TELEGRAM
Победил вариант: Новая технология, которой нет на проекте, но она идеально подходит под решение задачи.
Выделю стоп-факторы, из-за которых на реальном проекте не получится пойти по этому варианту:
1️⃣ Нехватка ресурсов на развёртывание новой технологии;
2️⃣ Отсутствие компетенций в команде для работы с новой технологией;
3️⃣ Сроки — внедрять новое дольше, чем использовать то, что уже работает.
4️⃣ Ограничения по использованию технологий. Например, ваш проект должен соответствовать требованиям ФСТЭК.
P.S. У меня на проектах всегда присутствуют 2-3 пункта из перечня выше, поэтому чаще приходится использовать имеющийся стэк.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍9🔥5
На новый интенсив "Функциональные требования" в группе 07.09 (воскресенье) осталось 2 места.
Для записи переходите по ссылке
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Media is too big
VIEW IN TELEGRAM
ℹ️ Горизонтальная масштабируемость — это способ увеличить производительность распределённой системы за счёт добавления новых экземпляров сервисов (подов) в вашей системе. Поды ваших сервисов работают параллельно, при этом производительность системы кратно увеличивается.
Пример:
❌ В магазине работает одна касса, и вам приходится долго ждать своей очереди.
✅ В магазине открывают ещё две кассы, и очередь распределяется по всем кассам, покупатели оплачивают покупки гораздо быстрее.
P.S. В следующих видео расскажу о преимуществах и недостатках такого подхода.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Media is too big
VIEW IN TELEGRAM
Если сервис работает в одном поде, то при проблемах с ним перестают работать все функции, за которые он отвечает.
Если сервис работает в нескольких подах, то проблемы с одним из них не оказывают никакого влияния на систему.
Пример:
❌ В магазине работает одна касса, и в какой-то момент она зависает.
Итог: все покупатели ждут, пока придёт сотрудник и её перезагрузит.
✅ В магазине работают три кассы, но одна из них зависает.
Итог: покупатели просто переходят на соседние кассы.
P.S. Кто пропустил первую часть, она тут.
Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
А вот и итоги последнего летнего месяца 🫡
Продолжаем расти, несмотря на отпуска🎉
Статистика без учета интенсивов, так как там ученики повторяются:)
Продолжаем расти, несмотря на отпуска
Статистика без учета интенсивов, так как там ученики повторяются:)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9