Your trial period has ended!
For full access to functionality, please pay for a premium subscription
SY
Системный Аналитик
https://t.me/sys_sa
Channel age
Created
Language
Russian
0.69%
ER (week)
5.07%
ERR (week)

Канал для системных аналитиков и не только: подборки полезных материалов на все случаи жизни.

Реклама и сотрудничество @radale

Messages Statistics
Reposts and citations
Publication networks
Satellites
Contacts
History
Top categories
Main categories of messages will appear here.
Top mentions
The most frequent mentions of people, organizations and places appear here.
Found 60 results
15
9
2.8 k
evp.mp4
💚💚💚💚
Пришло время раскрыть потенциал на максимум 🚀

Максимум накопленного опыта, максимум ресурсов, максимум идей и вдохновения. В команде, где создают тренды и раскрывают таланты. В Сбере твои идеи меняют будущее миллионов!

Всё, что казалось мечтой — становится реальностью 💫

Стань частью команды Сбера, где всё возможно 💚
04/24/2025, 15:02
t.me/sys_sa/567
99
26
3.3 k
Какие софтскиллы проверяют на собеседовании аналитика?

Владислав Князев, тимлид из финтеха, собрал в карточках топ скиллов, по которым вас 100% будут оценивать на интервью с командой.

🟧Карточки можно изучить на канале Влада в этом посте.
И не забудь подписаться, у него регулярно выходит полезный и живой контент для айтишников, которые хотят разобраться с бедами с башкой и работать в удовольствие👇

@godnolytika
04/22/2025, 19:19
t.me/sys_sa/566
31
96
3.0 k
✳️ Прокси-сервер

Прокси-сервер – промежуточный сервер между клиентом (пользователем / приложением) и сервером
🔵содержит прокси IP-адреса (индивидуальные IP-адреса для сокрытия реального IP)
🔵принимает запросы от клиента, обрабатывает и передает дальше
🔵может изменять или фильтровать данные

Отличие от балансировщика и VPN

🟠балансировщик нагрузки распределяет входящий трафик между серверами
🟡прокси - "посредник", без распределения нагрузки
🟠VPN (Virtual Private Network) создаёт защищённое соединение между клиентом и сервером, для шифрования и анонимности
🟡прокси может менять IP-адрес и фильтровать трафик, но не всегда шифрует данные


Для чего нужен?

Анонимность и скрытие IP-адреса
🔵пример: для доступа к заблокированному контенту с помощью зарубежного прокси

Кеширование
🔵кэширует веб-страницы и ускоряет загрузку сайтов внутри сети
(!) Кэш может быть не только в прокси. Важно учитывать последствия кэширования на разных уровнях

Контроль и фильтрация трафика
🔵блокирует доступ сотрудников к определенным сайтам

Балансировка нагрузки и защита серверов
🔵скрывает реальные серверы, принимает на себя нагрузку и фильтрует вредоносные запросы
схоже с балансировщиком, но цель другая - доп безопасность, а не отказоустойчивость


Пример работы

1️⃣ клиент отправляет запрос на доступ к ресурсу через прокси-сервер
2️⃣прокси принимает запрос и анализирует его (проверка политики доступа, фильтрация, логирование)
3️⃣©️ если данные есть в кэше, то прокси возвращает их без обращения к внешнему серверу
©️ если нет, то прокси пересылает запрос на целевой сервер
4️⃣сервер обрабатывает запрос и отправляет ответ прокси
5️⃣прокси передает ответ клиенту + может модифицировать его (сжать контент, удалить конфиденциальные данные)


Прямой и обратный прокси

Прямой
Клиент ➡ Прокси-сервер ➡ Интернет-ресурс ➡ Сервер
🟡перенаправляет запросы клиента в интернет, изменяет IP-адрес и фильтрует трафик
©️клиент знает о наличии прокси, и конфигурирует его

Обратный (реверсивный)
Клиент ➡ Интернет-ресурс ➡ Прокси-сервер ➡ Сервер
🟡работает на серверной стороне
🟡принимает запросы, но не передает их напрямую серверу, а перенаправляет на один / несколько серверов
©️ клиент не знает о нем


Примеры интеграции

Интеграция с CDN
▫️работает в связке с сетью доставки контента (CDN), кэширует и оптимизирует раздачу статических ресурсов

Интеграция с WAF (Web Application Firewall)
▫️фильтрует трафик через WAF для защиты веб-приложения от атак на уровне приложения

В микросервисной архитектуре
▫️управляет взаимодействием микросервисов (маршрутизация и балансировка трафика)
пример: сервис-меш с прокси для маршрутизации API-запросов между микросервисами


Пример архитектуры с прокси
[ Клиенты ] → [ Reverse Proxy ] → [ Балансировщик ] → [ Серверы приложений ] → [ БД ]

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


📎 Материалы

1. Прокси
2. Что такое прокси-сервер и как его настроить
3. Прокси-сервер: что это такое и нужен ли он вам?
4. Что такое прокси? Для самых маленьких
5. Что такое прямой прокси и обратный прокси
6. Разница между обратным и прямым прокси
7. Разница между прямым прокси, обратным прокси и балансировщиком нагрузки
8. Типы Прокси HTTP, HTTPS, Socks
9. VPN или прокси-сервер: что лучше и в чем разница?

📚Книги
Безопасность веб-приложений. Разведка, защита, нападение. — Хоффман Эндрю

#проектирование #инфраструктура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
04/22/2025, 11:03
t.me/sys_sa/565
Repost
31
166
2.0 k
Системное мышление. Как создавать и улучшать системы в бизнесе и жизни

✍️ Автор: Донелла Медоуз
🗓 Год издания: 2025
🔤 Язык: русский
📚 Объём: 272 стр.

Автор объясняет, как устроены сложные системы (от экосистем до корпораций) и почему их нельзя понять, просто разбирая на части.
Книга учит видеть скрытые взаимосвязи, предсказывать последствия решений и менять системы – будь то бизнес, экология или личная жизнь.

Она объясняет:
- как работают обратные связи и циклы в системах
- почему мир полон непреднамеренных последствий наших действий
- как принимать решения, которые действительно меняют ситуацию


#развитие
04/19/2025, 11:51
t.me/sys_sa/564
4
4
2.4 k
Muse Group — the team behind Ultimate Guitar, MuseScore, Audacity and more — invites you to an online meetup on how analytics drives top digital products in the creative industry.


🔵 April 22, 6:00 PM (GMT+3)
🔵 Online
🔵 Free


At the meetup, you’ll:

— Utilizeyears of development on your own A/B testing platform.
— Learn how to measure the impact of changes without running experiments.
— Master tools that let you conduct research using p-values and confidence intervals instead of simple "before and after" comparisons.

We’d love to see you there!

Sign up here: https://www.tickettailor.com/events/musemeetup
04/17/2025, 18:03
t.me/sys_sa/563
19
94
2.2 k
✍️ Балансировка нагрузки | продолжение

Ранее писали про балансировку нагрузки
Напомним, балансировка — механизм распределения входящих запросов между серверами

Уровни балансировки в модели OSI

💙сетевой уровень (L3, IP) – балансировка на основе IP-адресов
💙транспортный уровень (L4, TCP/UDP) – маршрутизация запросов по номерам портов и соединениям, без анализа содержимого пакетов
💙прикладной уровень (L7, HTTP/HTTPS) – анализ HTTP-запросов и маршрутизация на основе URL, заголовков или cookies


Типы балансировщиков

Аппаратные (Hardware Load Balancer, HLB)

- физические устройства с сетевыми процессорами (ASIC), которые обрабатывают пакеты быстрее, чем программные решения
- часто используются в крупных дата-центрах
⏩ примеры: F5 Big-IP, Citrix NetScaler

Как работают
➡️клиент отправляет запрос на IP-адрес балансировщика
➡️балансировщик обрабатывает запрос на аппаратном уровне
➡️трафик направляется на нужный сервер с мин задержками


Программные (Software Load Balancer, SLB)

- ПО на сервере, которое выполняет функции балансировки
- гибкое, дешевле аппаратных решений, но требует мощностей сервера
Nginx, HAProxy, Envoy

Как работают
➡️SLB развернут на виртуальной машине / физическом сервере
➡️принимает запросы и перенаправляет их на сервера по заданным алгоритмам
➡️может использовать L4 или L7-балансировку


Виртуальные (Virtual Load Balancer, VLB)
- программные балансировщики, работают в виртуальных средах или в облаке
- поддерживают авто-масштабирование (динамическое изменение кол-ва серверов)
⏩AWS ELB, Yandex Network Load Balancer

Как работают
➡️облачный балансировщик получает запрос
➡️в зависимости от нагрузки создает новые инстансы или перераспределяет трафик
➡️атоматически масштабируется и настраивается
* инстанс (instance) – виртуальная / физическая машина, которая обрабатывает запросы


Методы балансировки

⚪️DNS-балансировка (уровень L3)
DNS-сервер возвращает разные IP-адреса на один DNS-запрос
— не учитывает загрузку серверов и может кэшироваться клиентами (возможны задержки в обновлении маршрутов)
— например, api.example.com может вести на разные серверы

⚪️Через прокси-сервер (L7)
запросы поступают на прокси → он анализирует содержимое и перенаправляет на нужные серверы

⚪️Прямая балансировка (L4)
изменяет MAC-адреса пакетов, направляет их напрямую на backend-серверы

⚪️NAT-балансировка (L3-L4)
изменяет IP-адреса и порты пакетов, направляет трафик на разные серверы онлайн


Примеры методов для разных типов нагрузки

⭐️Статический контент (изображения, видео, CSS, JavaScript)
Пользователь запрашивает изображение с сайта
➡️ DNS-балансировщик (Nginx) направляет запрос на ближайший географически сервер CDN
➡️ CDN отдает изображение из кэша, без загрузки с основного сервера

⭐️API-запросы (REST, GraphQL)
REST API с /auth и /data:
➡️ L4-балансировщик (NAT / HAProxy) направляет трафик API на серверы, распределяет нагрузку
➡️ L7-балансировщик (Nginx) перенаправляет по URL или заголовкам:
/auth — на серверы аутентификации
/data — на серверы обработки данных

⭐️Веб-приложения (динамический контент, пользовательские сессии)
L7-балансировщик (F5 BIG-IP) с алгоритмом Sticky Sessions определяет пользователя по cookie и направляет его запросы на один сервер. Данные сессии (корзина, авторизация) не потеряются

⭐️БД
Кластер PostgreSQL с мастером и 3 репликами
➡️L4-балансировщик (например, Pgpool-II) с алгоритмом Least Connections отправляет запросы на чтение (SELECT) на реплики, чтобы снизить нагрузку на мастер
➡️запросы INSERT/UPDATE идут на мастер


📎 Материалы
1. Балансировка нагрузки: основные алгоритмы и методы
2. Load Balancer и Reverse Proxy в микросервисной архитектуре
3. Load Balancers для систем оркестрации
4. Балансировка нагрузки в Облаках
5. Сетевой балансировщик нагрузки
6. DNS Балансировка нагрузки: что это такое
7. Как работает L3 балансировщик нагрузки
8. Балансировка нагрузки на L3, L4 и L7
9. Что такое Envoy, зачем он нужен и как работает

#проектирование #инфраструктура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
04/15/2025, 11:03
t.me/sys_sa/562
13
11
3.5 k
В основе любого сильного проекта стоит сильный специалист.

В IT-мире сложно представить востребованного специалиста, который не разбирается в том, как работают: архитектура, API, базы данных, алгоритмы.

Без этого никуда.

И не страшно, если вы пока плохо разбираетесь в каких-то современных системах. Хуже, если продолжаете игнорировать свои пробелы в hard skills.

Начните с бесплатных уроков по архитектуре и интеграциям:

▪️мощный инструмент — SOAP UI
▪️подробное описание процесса загрузки сайта
▪️модель TCP/IP и устройства
▪️XML — это вам не ХSD

Присоединяйтесь в чат-боте по ссылке:
👇
@studyit_help_bot

🚀 Скидка на полный курс от канала — 1 000 ₽ на Stepik по промокоду BAMRUS7 до конца апреля
04/14/2025, 13:06
t.me/sys_sa/561
73
341
3.4 k
Карта навыков BA/SA

Очередная карта навыков, найденная здесь.
Ранее мы делали собственную очень объёмную карту навыков системного аналитика.

Ну а разложить теорию в голове по полочкам и намаппить на карту навыков поможет база знаний.

Картинка без сжатия в комментариях
04/12/2025, 17:31
t.me/sys_sa/560
31
61
3.7 k
Как аналитику больше зарабатывать ❓
Как составить хорошее резюме ❓
Как увереннее себя чувствовать при поиске работы ❓
Как хорошо проходить собеседования ❓

Именно об этом Артем, senior системный аналитик в Альфа Банке, рассказывает в своей Академии Аналитиков

🚨 А прямо сейчас Артем проводит бесплатный разбор резюме абсолютно для всех, успей его отправить до 20:00 субботы

📌 Топ постов:
Разбор задачки с собеседований в Тинькофф
🏦
Разбор задачки в Ozon 🔵
Разбор задачки в Сбер 🏦
Гайд "Как не вылететь с испыталки"
Как писать идеальную доку

Подписывайся, чтобы прокачаться и больше зарабатывать❗️
04/11/2025, 19:13
t.me/sys_sa/559
Repost
31
186
2.7 k
Микросервисы. От архитектуры до релиза

✍️ Автор: Ронни Митра, Иракли Надареишвили
🗓 Год издания: 2023
🔤 Язык: русский
📚 Объём: 336 стр.

Книга - практическое руководство по разработке микросервисной архитектуры. Авторы на основе своего опыта и кейсов из индустрии, предлагают системный подход к проектированию, организации команд, созданию инфраструктуры и развертыванию микросервисов.

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

Предназначена для архитекторов и инженеров, работающих с микросервисами, но также будет полезна тем, кто хочет глубже разобраться в их реализации.

Обзор книги на Хабр
Микросервисная архитектура: основные понятия

#микросервисы #архитектура
04/10/2025, 09:37
t.me/sys_sa/558
346
3.5 k
04/09/2025, 20:01
t.me/sys_sa/555
346
3.5 k
Топ-150 вопросов из собеседований бизнес и системного аналитика

Делюсь с вами сборником вопросов, которые чаще всего задают на собеседовании
➿➿➿➿➿➿➿➿➿
💡 На все эти вопросы команда школы System Analyst подготовила проработанные ответы, где все только самое важное, без воды, понятным языком и много примеров

По сборнику с ответами можно готовиться к собеседованиям в сжатые сроки, или сделать себе оттуда шпаргалки. А также хорошо помогает быстро вспомнить всю теорию.

🔹Для подписчиков канала есть промокод "SA" на 10% до конца 13 апреля

Уже более 600 человек купили сборник и успешно воспользовались при подготовке к собеседованиям

Поторопитесь и вы - приобрети сборник можно здесь

Реклама
04/09/2025, 20:01
t.me/sys_sa/557
347
3.4 k
04/09/2025, 20:01
t.me/sys_sa/554
46
344
3.4 k
04/09/2025, 20:01
t.me/sys_sa/552
346
3.4 k
04/09/2025, 20:01
t.me/sys_sa/553
345
3.5 k
04/09/2025, 20:01
t.me/sys_sa/556
42
205
6.4 k
✍️ System Design

System Design (системный дизайн) — процесс проектирования архитектуры системы
🔵направлен на удовлетворение бизнес-целей, пользовательских требований и технических ограничений

🔵это конкретное техническое решение, переход от требований к архитектуре
🔵детализирует, как именно система будет работать, но не определяет стратегию на уровне всей компании и не описывает бизнес-цели


Уровни системного дизайна

🔸 высокоуровневый (High-Level Design, HLD): общая архитектура системы, взаимодействие между компонентами, выбор технологий и структурирование сервисов
🔸низкоуровневый (Low-Level Design, LLD): детализированная информацию о компонентах системы (БД, API, структура данных и тд)


Основные принципы

🔵Масштабируемость 
Проектировать системы так, чтобы могли выдерживать рост нагрузки
➡️ Пример: горизонтальное масштабирование (добавление серверов в кластер) позволяет балансировщику нагрузки распределять трафик между ними, предотвратить перегрузки

🔵Отказоустойчивость
Минимизировать влияние отказов компонентов на всю систему
➡️ репликация БД, для достпуности данных при сбое основной БД

🔵Скорость и производительность 
Оптимизация времени отклика и обработки данных
➡️ кэширование популярных запросов с помощью Redis

🔵Модульность 
Деление системы на независимые части для упрощения разработки и поддержки
➡️ микросервисная архитектура, где каждая служба выполняет отдельную задачу (авторизация, управление товарами)

🔵Балансировка нагрузки
Распределение входящего трафика между несколькими серверами
➡️ CDN-серверы автоматически распределяют нагрузку, направляют пользователей к ближайшему серверу с кэшем

🔵Безопасность
Защита данных и ресурсов системы
➡️ шифрование данных в REST API с использованием HTTPS, механизмы защиты от SQL-инъекций, XSS и CSRF

🔵Мониторинг
Система должна предоставлять метрики для отслеживания проблем
➡️ установка инструментов мониторинга (Prometheus или Grafana)


Системный дизайн  VS архитектура

🔵системный дизайн — детальное проектирование, включая конкретные компоненты (БД, очереди сообщений, API)
❓Как именно это построить
🔵архитектура — высокоуровневое описание системы, основные компоненты, их роли и взаимосвязи
❓Что строим


Краткий пример системного дизайна

Задача: создать масштабируемую систему для загрузки и хранения изображений

Сбор требований: 
🔸максимальный размер изображения — 5 МБ
🔸10 000 пользователей, 100 загрузок в секунду
🔸сохранение резервных копий

Решение
🔸API-шлюз: принимаем запросы на загрузку
🔸балансировщик нагрузки (Layer 7): распределяем запросы между серверами загрузки
🔸серверы хранения: храним изображения в S3-совместимом объектном хранилище (например, MinIO)
🔸кэш: используем CDN (Cloudflare) для ускорения
🔸очереди сообщений: RabbitMQ для обработки изображений (ресайзинг)
🔸БД: метаданные изображений сохраняем в реляционной БД (PostgreSQL)


📎 Материалы
1. Что такое System design?
2. Что такое System Design. Пример System Design для онлайн-магазина, для мобильного приложения
3. System Design для начинающих: всё, что вам нужно
4. System design. Реальный проект vs Интервью
5. System Design. Общие принцип прохождения интервью по проектированию ИТ-систем

📚 Книги
1. System Design. Подготовка к сложному интервью
2. Разработка высоконагруженных систем — очень полезная брошюра по материалам конференции HighLoad++

#архитектура #проектирование #развитие

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
04/09/2025, 11:11
t.me/sys_sa/551
Repost
149
57
4.1 k
04/08/2025, 17:24
t.me/sys_sa/550
47
22
3.9 k
Гарантированное трудоустройство на позицию системного аналитика.

📌 Что тебя ждет?
- Обучаем с нуля. Если имеешь опыт в обучении в it, но не смог трудоустроиться.
- Менторство без лекций – обучение на реальных задачах.
- Тестовое собеседование и основные вопросы для прохождения реальных.
- Оплата только после трудоустройства с ЗП.

🎟 Оставляй заявку в боте
04/06/2025, 12:04
t.me/sys_sa/548
26
91
2.9 k
🙂 Фреймворк

Фреймворк — готовая программная структура (каркас) для разработки ПО, которая
🔘задает базовую архитектуру
🔘часто применяются в разработке мобильных, веб- и десктоп-приложений

У каждого фреймворка свой набор инструментов и свой функционал


Зачем нужен

🟣чтобы снизить время разработки за счет готовых инструментов и шаблонов
🟣для единообразие кода
🟣помогают решать базовые задачи (например, управление сессиями или безопасностью)


Виды фреймворков

🟣фронтенд: для разработки пользовательских интерфейсов
примеры: React (JavaScript), Angular (JavaScript), Vue.js (JavaScript)

🟣бэкенд: для создания серверной части приложений.
примеры: Django (Python), Spring Boot (java), Express.js (JavaScript)

🟣кроссплатформенные: можно писать код для разных платформ (iOS, Android, Windows)
примеры: Flutter (Dart), Xamarin (C#), React Native (JavaScript)


Фреймворк vs библиотека

⭕Фреймворк задает структуру и правила для разработки. Управляет выполнением кода, дает готовый каркас, который нужно достроить
⭕Библиотека: набор готовых функций, которые можно использовать по мере необходимости

⏩ Фреймворк берет управление на себя.
При использовании библиотеки контроль - у разработчика


Пример фреймворка Django

Django — фреймворк для разработки веб-приложений на Python
Состоит из:
〰️Шаблонов MVC: определяют архитектуру приложения (модели, представления, контроллеры)
〰️Модуль ORM: для работы с БД без SQL-запросов
〰️Система маршрутизации: управляет обработкой URL
〰️Встроенные инструменты: аутентификация, админ-панель, обработка форм, защита от CSRF, шаблоны HTML, API
〰️Документации

➡ Пример: создание блога на Django
Используется встроенный ORM для работы с записями, подключаются шаблоны для отображения страниц и настраивается маршрутизация для обработки URL


Минусы фреймворков

🤯нужно следовать правилам и структуре фреймворка
🤯могут быть слишком сложными для простых задач
🤯переход на другой фреймворк или обновление может быть трудоемким


Как аналитик может использовать фреймворки

✅на этапе согласования требований
поможет учитывать их ограничения в согласовании требования с разработчиками
➡️Например, определять, какие задачи фреймворк решит "из коробки", а для каких нужно дорабатывать

✅ прототипирование решений
С помощью фронтенд-фреймворков (React или Angular) можно создать прототип пользовательского интерфейса
➡️для системы управления задачами сделать интерфейс с доской Kanban
Заказчик сможет протестировать функционал на раннем этапе

✅ документирование требований
В ТЗ можно указать, что бизнес-логика реализуется с использованием Django
➡️если нужно разработать REST API, можно описать, какие эндпоинты и модели данных будут поддерживаться, согласно возможностям Django REST

✅анализ интеграций
Предложить выбор подходящего фреймворка
➡️для системы обработки массивов данных поможет обосновать выбор FastAPI (высокая производительность,поддерживает асинхронную обработку запросов)
➡️при разработке архитектуры системы указать использование Spring для создания микросервисов (например, их взаимодействие через API, реализованные в Spring Boot)


📎 Материалы
1. Фреймворк
2. Что такое фреймворк: виды, задачи, правила выбора
3. Фреймворк: особенности, преимущества, архитектура
4. Что такое фреймворк и чем отличается от библиотеки, простое объяснение
5. Для чего нужен фреймворк и как его выбрать
6. Фреймворк: как выбрать подходящий для фронтэнда и бэкэнда
7. Фреймворки в веб-разработке — что это, какие существуют и для чего нужны
8. Как выбрать фреймворк для бэкенда: мнения разработчиков
9. Фреймворки — больше минусов чем плюсов
10. 5 полезных фреймворков и библиотек для начинающего фронтенд-разработчика на конец 2024 года

#инфраструктура

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
04/01/2025, 11:03
t.me/sys_sa/547
23
11
3.2 k
Высшее на новом уровне: онлайн-магистратура от Яндекса и НИЯУ МИФИ для специалистов по работе с данными.

Здесь фундаментальные знания и практика для карьерного роста, а ещё — учёба, которую можно совмещать с работой и жизнью.

Всё о программе — на дне открытых дверей:

— Расскажем про разные траектории обучения и как после выпуска стать ML-инженером, CV-инженером, NLP-инженером, Data Scientist или Data Engineer.

— Обсудим, какие навыки будут у выпускников, чтобы соответствовать рынку и требованиям работодателей.

— Поговорим про поступление: сроки, экзамены, документы, оплата.

Спикеры:

Станислав Павлов, директор по AI, Positive Technologies.

Павел Рябов, академический руководитель программы, заместитель директора Института лазерных и плазменных технологий, НИЯУ МИФИ.

Антон Моргунов, Senior инженер по компьютерному зрению, Базис. Центр, академический руководитель программы, Яндекс Практикум.

Александр Югов, Curriculum Lead профессии «Инженер данных», Яндекс Практикум.
Ждём вас 9 апреля в 19:00 мск.

Зарегистрироваться на встречу
03/31/2025, 15:30
t.me/sys_sa/546
6
1
3.2 k
📌Пройдите тест из 10 вопросов и проверьте, насколько вы готовы к обучению на  курсе «Бизнес-аналитик в IT» от OTUS.

На курсе вы:
+ Освоите навыки использования IT-решений для выявления и решения бизнес-проблем.

+ Научитесь системно анализировать бизнес-процессы и моделировать их в общепризнанных нотациях.

+ Сможете выявлять, формализовать и управлять бизнес-требованиями.

+ Научитесь составлять грамотные технические задания и проектную документацию.

+ Узнаете, как эффективно выстраивать взаимодействие с заказчиками и командой разработки.

🦉В честь дня рождения OTUS, скидка 10% до 01.04
🎁 Дарим вам промо-код на курс «Бизнес-аналитик в IT» со скидкой 5% (суммируется на сайте): BUSINESS_04 до 18.05. Успейте купить выгодно!
🌟 Есть рассрочка

👉ПРОЙТИ ТЕСТ: https://otus.pw/S5sX/?erid=2W5zFJbexjz

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

#реклама
О рекламодателе
03/31/2025, 10:03
t.me/sys_sa/545
Repost
60
413
3.6 k
🏦Tinkoff. Разбор задач отборочного тура трека Системный анализ
03/29/2025, 12:57
t.me/sys_sa/544
6
36
4.1 k
⚡️Разбираем тестовое задание в Альфа Банк на позицию Junior Аналитика данных

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

Чтобы попрактиковаться в этом, приходите на бесплатный вебинар, где будем разбирать реальное тестовое задание, которое дают аналитикам в Альфа Банке.

Что будем делать на вебинаре:
🟠Напишем сложные SQL-запросы для банковских данных;
🟠Вспомним, как правильно использовать оконные функции;
🟠Узнаем, как создавать разметку, из чего она состоит и для чего она нужна;
🟠На реальных данных проведем когортный анализ и сделаем выводы;
🟠Расскажем, как доставать инсайты из данных.

Вебинар проведет Денис Иванов, ведущий продуктовый аналитик

😶Зарегистрироваться на бесплатный вебинар
03/28/2025, 14:00
t.me/sys_sa/543
28
129
2.8 k
🔼 Модель зрелости REST API Леонарда Ричардсона

Модель зрелости REST API Леонарда Ричардсона — концепция, которая оценивает уровень соответствия API принципам REST
◾️показывает эволюцию от простого RPC к полноценным REST API: чем выше уровень в модели, тем лучше выстроено API

Применяется:
🔘для анализа текущего состояния API и для создания REST API, которые легко интегрируются и поддерживаются, что делает их более гибкими для бизнеса

➿➿➿➿➿➿➿➿➿➿
💡 Напомним

URL (Uniform Resource Locator): указывает, где находится ресурс, и как к нему обратиться (например, протокол + адрес)
💙https://example.com/page

URN (Uniform Resource Name): уникальное имя ресурса, независимое от его местоположения.
💙urn:isbn:0451450523

URI (Uniform Resource Identifier): общий термин, включающий как URL, так и URN, т.е. идентификатор ресурса в сети
💙URI может быть как https://example.com, так и urn:isbn:0451450523
➿➿➿➿➿➿➿➿➿➿


Уровни зрелости модели

💙 Уровень: API как удалённый вызов процедур (RPC)
Иногда называется "болото оспы" (The Swamp of POX (Plain Old XML)

API — точка входа, которая принимает параметры и возвращает результат (единственный endpoint).
Действует как обёртка для удалённых процедур, не использует RESTful принципы

🔹один URI, один HTTP метод
🔹HTTP используется только для взаимодействия компонентов распределенной системы
🔹например, это могут быть протоколы XML-RPC и SOAP
🔹действия определяются через параметры запроса,

💙 пример: POST /api с телом запроса {action: "createUser", data: {...}}
Запросы обрабатываются как действия, а не как операции с ресурсами


💙 Уровень: Разделение ресурсов через URL

🔹несколько URI, один HTTP метод
🔹отдельные endpoints для каждого ресурса
🔹действия привязаны к URL

💙 пример: POST /createUser для получения спискапользователей, POST /getUsers для создания.


💙 Уровень: HTTP-методы

🔹несколько URI, каждый поддерживает разные HTTP методы
🔹используются методы HTTP, например, GET, POST, PUT, DELETE
🔹добавлены коды ответа HTTP (например, 200 OK, 404 Not Found). Это делает интерфейс более понятным

💙 пример:
GET /users/123 → возвращает пользователя
DELETE /users/123 → удаляет пользователя


💙 Уровень: HATEOAS для управления состоянием через ссылки

Самый высокий уровень зрелости REST API

🔹сервер предоставляет не только данные, но и гиперссылки. Они показывают клиенту действия, доступные с этим ресурсом
🔹ресурсы сами описывают свои возможности и взаимосвязи

HATEOAS (Hypermedia as the Engine of Application State) — характеристика веб-сервиса возвращать действия, которые могут быть выполнены с ресурсом, в виде URL
Дает возможность менять URI независимо от клиентов

💙 пример применения HATEOAS

Есть API для управления задачами в приложении
Сервер может вернуть ответ на запрос списка задач, в том числе гиперссылки
🔘self — ссылка на текущий ресурс (конкретную задачу)
🔘update — для обновления задачи
🔘delete — для удаления
Клиент может следовать ссылкам, но не знать заранее URL-структуры API

{
"tasks": [
{
"id": 1,
"title": "Buy groceries",
"status": "pending",
"_links": {
"self": "/tasks/1",
"update": "/tasks/1/update",
"delete": "/tasks/1/delete"
}
},


📎 Материалы
1. А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST
2. Richardson Maturity Model – RESTful API (en)
3. REST API — Что такое HATEOAS?
4. REST, что же ты такое?

#api

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
03/25/2025, 11:04
t.me/sys_sa/542
45
54
3.1 k
Хотели порекомендовать канал Senior системного аналитика— Ирины
В данном канале найдёте вопросы с собеседований на вакансии системного аналитика: 

• С вилкой 400 тыс. руб. на руки 

• Вопросы за 280 тыс. руб. (часть1, часть2, часть3)

• Вопросы за 200 тыс. руб. 

• Вопросы за 170 тыс. руб. 

Сможете сравнить вопросы с собеседований за 300 тыс. руб. на вакансию в крупный российский финтех и международный стартап.  Узнаете как некоторые руководители честно рассказывают о минусах своей вакансии.

Найдёте ответы на самые интересные вопросы. Например, недавно был вебинар с разбором двух задач с реального собеседования: построение UML-диаграммы последовательности и построение ER-диаграммы. 
Прочитаете о том, что волнует системных аналитиков, и узнаете статистику о прохождении испытательного срока.  Узнаете какие заметки может сделать hr на hh.ru в вашем резюме.

В канале также систематизированы самые часто встречаемые вопросы на собеседованиях: про UML, JSON, идемпотентность и не только. 

Подписывайтесь на канал Ирины — это кладезь полезной информации.
03/25/2025, 10:42
t.me/sys_sa/541
7
33
2.7 k
System Analysis Meetup SberHealth❤️

Когда: 3 апреля в 18:00
Где: Москва офлайн/онлайн трансляция

В программе доклады от ведущих экспертов SH:
🔘Как описывать требования для мобильных приложений
🔘Как создать сообщество для обмена знаниями

⭐️Севостьянова Анастасия,
Ведущий системный аналитик в Альфа-Банке,
расскажет про мидл слой без хаоса: как сделать документацию понятной и живой

Присоединяйтесь, чтобы прокачать свои навыки и задать вопросы экспертам ⭐️

🔜 Узнать подробности и зарегистрироваться
03/21/2025, 14:03
t.me/sys_sa/540
38
111
2.4 k
💻 PaaS, IaaS, SaaS, CaaS, FaaS

Это различные модели облачных услуг от провайдеров
Предоставляют ИТ-ресурсы через интернет

Для чего нужны?

🟡Снижение затрат
— нет расходов на оборудование, центры обработки данных, их обслуживание
— оплата только за используемые ресурсы

🟡Масштабируемость
— быстрое добавление/уменьшение ресурсов под нагрузку
— универсальные платформы и инструменты для разработки и управления приложениями


Кратко

*️⃣SaaS (Software as a Service) ПО как сервис: готовые приложения через интернет

*️⃣IaaS (Infrastructure as a Service) Инфраструктура как сервис: аренда серверов, сетей, ХД и др ресурсов, которые управляются через облако

*️⃣PaaS (Platform as a Service) Платформа как услуга: платформа для разработки и запуска приложений без управления инфраструктурой

*️⃣CaaS (Containers as a Service) Контейнер как услуга: платформа для развертывания и управления контейнерами (Docker, Kubernetes)

*️⃣FaaS (Function as a Service) Функция как услуга: платформа без сервера для выполнения функций по событиям


SaaS

🔘Провайдер управляет: всем — инфраструктурой, приложениями, обновлениями. Используется ПО через браузер или API
🔘Клиент: только использует приложение

Применение

🟡доступ к CRM, ERP, корпоративным почтовым сервисам
🟡аналитика

Пример

для ведения учета продаж можно:
🟡использовать онлайн-CRM
🟡вносить данные через браузер, управлять клиентской базой и создавать отчеты


PaaS

🔘Провайдер управляет: инфраструктурой, ОС, БД и инструментами для разработки
🔘Клиент: приложениями, кодом

Применение

🟡быстро разработать приложения (микросервисы, мобильные приложения)
🟡протестировать + автоматический деплой (интеграция с CI/CD)

Пример

чтобы разработать приложение для управления задачами, можно
🟡использовать платформу (например, Google App Engine)
🟡на нее загрузить код на Python
🟡платформа автоматически масштабирует приложение и управляет сервером


IaaS

🔘Провайдер управляет: инфраструктурой (серверы, ХД, сеть), виртуальными машинами, системами безопасности
🔘Клиент: ОС, средствами разработки, приложениями

Применение

🟡развертывание виртуальных серверов для веб-приложений
🟡хранение и обработка больших объемов данных
🟡создание тестовых и продакшн-сред
🟡масштабирование инфраструктуры под нагрузку

Пример

для развертывания интернет-магазина можно:
🟡арендовать виртуальные машины через AWS EC2
🟡установить на них веб-серверы (например, Apache) и базы данных (PostgreSQL)
🟡настроить балансировщик нагрузки и хранение файлов


CaaS

🔘Провайдер управляет: инфраструктурой, оркестрацией контейнеров
🔘Клиент: контейнерами, приложениями, кодом

Применение

🟣создание микросервисных приложений
🟣автоматизация CI/CD процессов
🟣переносимость приложений между средами (локальные и облачные)
🟣масштабирование приложений без сложной настройки серверов

Пример

для развертывания микросервисов можно:
🟣создать образы приложений с помощью Docker
🟣развернуть их в кластере Kubernetes через сервис, например, AWS ECS
🟣автоматически масштабировать приложения под нагрузку


FaaS

🔘Провайдер выполняет функцию по событию (HTTP-запрос, изменение файла), ресурсы автоматически выделяются под задачу
🔘Клиент управляет кодом функций, событиями

Применение

🟣 автоматическая обработка данных (например, изображений)
🟣 запуск API или без-серверных приложений
🟣 реакция на события (загрузка файлов, обновление базы)

Пример

для обработки изображений можно:
🟣написать функцию на Python для сжатия изображений
🟣загружать файлы в облачное хранилище, событие запускает функцию через AWS Lambda
🟣функция сжимает изображения и сохраняет их


📎Материалы
1. В чем разница между IaaS, PaaS, SaaS, FaaS и CaaS
2. X-as-a-services: как не погрязнуть в аббревиатурах облачных услуг
3. Что такое IaaS, PaaS и SaaS: объясняем простыми словами
4. Разница между IaaS, PaaS и SaaS: самая понятная статья об облаках в интернете
5. В чем разница между PaaS, SaaS и IaaS?
6. SaaS, PaaS, IaaS: в чем разница
7. Введение в модели облачных сервисов - PaaS, SaaS, IaaS, FaaS и другие

#инфраструктура

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
03/19/2025, 11:04
t.me/sys_sa/539
18
12
3.6 k
"Только в бигтехе ты сможешь построить карьеру, и надо больше работать!"

Такое спорное высказывание можно услышать от своего руководителя, если неудачно попасть на проект с жуткими переработками и фулл-тайм работой в офисе, куда и вляпалась девушка из истории про тёмную сторону корпораций

Есть несколько стульев: продолжить терпеть, вступить в схватку с руководителем или сменить проект/компанию. Что бы выбрали вы в таком случае?

Путь корпората — канал про IT, сферу найма, трешовые собесы, работу в корпорациях и системный анализ. Просто кладезь кулстори не только от автора, но и от подписчиков

Автор — системный аналитик из Сбера, который не боится делиться айтишной внутрянкой, секретами эйчаров и помогает ребятам становиться ценными кандидатами на рынке. Тот редкий случай, когда человек из корпорации не боится писать правду

Атмосфера топ: авторская подача, юмор и угарные комменты от аудитории, состоящей из бизнес, системных, продуктовых, дата аналитиков и других айтишников

Популярные посты на канале:

🟡Я стала эйчаром и вот что выяснила. Правда о том, что творится на рынке IT
🟡Экскурсия по штаб-квартире Сбера
🟡Интервьюеры на собесе в табачную компанию попросили сесть спиной к монитору
🟡Скам от Яндекса
🟡Один день из жизни системного аналитика в Сбере

Но тут не только про веселье. Автор знает, как давать пользу, чтобы:

💩Быть в курсе актуальной ситуации на рынке
💩Обойти 90% кандидатов
💩Не продешевить на собесе и выгодно себя продать

В качестве бонуса от автора забирай файл для подготовки к собесам, который помог получить оффер многим ребятам

Подписывайся на @vitazaebymba
03/18/2025, 09:31
t.me/sys_sa/538
8
8
2.9 k
Чувствуешь, что не хватает знаний технички для уверенности на работе?

Кажется, что перелопатила весь интернет, но так и не пришло понимания, а информация не сложилась в единый пазл? 🤔

СТОП ❌

Если тебе надоело:
❌ бесконечно готовиться и заваливать техсобесы,
❌ ощущать, что не хватает технических знаний, чтобы «соображать» в работе,
❌ не понимать терминологии и о чем идет речь на встречах команды,
❌ не понимать с какого края подступиться к решению рабочих задач,
❌ что не хватает структурности, системности и уверенности,

то есть решение ✅

Канал Александра Нездемина, практикующего системного аналитика с 14летним опытом.

В его канале ты найдешь емкие и структурные разборы задач из собесов, реальные кейсы и понимание, как применять знания сразу на практике 🔥

➡️ Не упусти этот шанс!

Подписывайся на канал и переходи в закреп, там уже ждут разборы задач с собесов, после которых точно закрутятся шестеренки в твоей голове 👇🏻

https://t.me/+C1fJugfe1JVjMjdi

❗️Настало время перестать теряться и начать уверенно двигаться вперед!
03/12/2025, 12:03
t.me/sys_sa/537
21
88
2.7 k
🔵 Data Lake

Data Lake — метод хранения данных системой или репозиторием в сыром (неструктурированном) или частично обработанном виде

✨большой срок хранения данных
✨есть возможность их преобразования
✨поддерживаются разные схемы чтения данных


Как хранятся данные

Сырой (Raw) слой
🔘загружаются без предварительной обработки

Обработанный (Processed) слой
🔘структурируются, очищаются, трансформируются
🔘форматы: табличные, агрегированные данные.

Аналитический (Curated) слой
🔘оптимизированы для аналитики и бизнес-отчетов, например, формируются OLAP-кубы или специализированные наборы данных

Форматы хранения
🔘структурированные: SQL-таблицы, Parquet, ORC.
🔘полуструктурированные: JSON, XML
🔘неструктурированные: видео, изображения, аудиофайлы, логи

Данные сохраняются как есть, структура определяется во время анализа.


Где используется Data Lake?

⏺аналитика Big Data: анализ поведения, прогнозы, сегментация (e-commerce, банки, нефтегаз и тд)
⏺ML и AI: подготовка данных для моделей (рекомендации, NLP, CV)
⏺телекоммуникации: хранения и анализа данных о клиентах, трафике, сетевых устройствах
⏺кибербезопасность, поддержка: логи, аудио, видео, текст
⏺объединение источников: CRM, IoT, соцсети, финтех


Виды интеграций с Data Lake

🔹ETL/ELT-процессы: загрузка данных из источников с минимальной трансформацией или после обработки
🔹API
🔹с BI и ML-платформами: например, Tableau, Power BI, Spark или TensorFlow для обработки данных напрямую из хранилища


Пример работы

Сбор данных о продажах из онлайн-магазина (CSV-файлы), отзывы клиентов (текст), логи веб-сервера (JSON) и записи звонков в службу поддержки (аудио)

➡️ для анализа отзывов используется NLP (извлекает из текстов тональность)
➡️ создаются модели машинного обучения по веб-логам анализиру
➡️ по объединным данным о продажах и звонках создаются отчеты


Чем отличается от СУБД и DWH

⏺СУБД: хранит структурированные данные в таблицах, оптимизирована для транзакций (например, учет заказов)ю Также предназначена для бизнес-логики
💙Data Lake: поддерживает любые форматы данных и предназначен для аналитики

DWH: хранит обработанные и агрегированные данные для аналитики и отчетности
💙Data Lake: сохраняет исходные данные в сыром виде


Плюсы и минусы

➕хранение любых данных (структурированные, полу- и неструктурированные)
➕легко обрабатывать большие объемы данных, быстрый доступ к ним
➕базируются на Open Source решениях

➖риск "болота данных": потеря структуры и полезности данных без управления метаданными
данные требуют дополнительных шагов для анализа (ETL/ELT)
➖сложность реализации контроля доступа
➖для аналитики данные нужно обработать
➖для сбора реляционных данных есть гораздо более удобные решения


📎 Материалы
1. Data Lake
2. Хранилище данных vs. Data Lake. Или почему важно научиться ходить перед тем, как начать бегать
3. Чем озеро данных отличается от базы и зачем оно нужно аналитикам
4. Что такое озеро данных?
5. Распределенное хранилище данных в концепции Data Lake: с чего начать
6. Как мы организовали высокоэффективное и недорогое DataLake и почему именно так
7. Data Lake – от теории к практике. Сказ про то, как мы строим ETL на Hadoop
8. Что в глубинах Data Lake? Строим архитектуру, укладываем слои, распределяем ответственность
9. Озера данных vs обычные БД

#инфраструктура

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
03/11/2025, 11:04
t.me/sys_sa/536
24
133
4.2 k
Как аналитику больше зарабатывать ❓

Именно об этом Артем, senior системный аналитик в Альфа Банке, рассказывает в своей Академии Аналитиков

🔝Топ постов:
Разбор задачки с собеседований в Альфу
🏦 и Тинькофф 🏦
Разбор задачки в Альфу 🏦
Разбор задачки в Сбер 🏦
Гайд "Как не вылететь с испыталки"
Как писать идеальную доку

Подписывайся, чтобы прокачаться и больше зарабатывать❗️
03/04/2025, 19:15
t.me/sys_sa/535
18
145
3.3 k
🔵 Уровни кэширования

Кэширование — временное сохранение данных, чтобы ускорить их повторное использование и уменьшить нагрузку на системы.
Подробнее читать тут

Уровни кэширования — места в цепочке передачи данных, где может происходить кэширование


Клиентский кэш

Хранение данных на устройстве пользователя (например, в браузере) для ускорения доступа к часто запрашиваемым ресурсам
 
Тип данных: статические (изображения, CSS, JavaScript)

💙хранит статические данные (изображения, CSS, скрипты)
💙работает с заголовками HTTP (Cache-Control, ETag, Last-Modified)
💙срок жизни данных ограничен временем в заголовках или ручной очисткой

Проблемы и решения

💙 устаревшие данные: использовать версии URL или кэш-бастинг (например, если файл style.css обновился, к URL добавить параметр style.css?v=2.0)
💙 избыточное кэширование: уменьшить объем кэшируемых данных с помощью заголовков (например, Cache-Control: no-cache для динамических данных, ETag, Last-Modified)


Сетевой кэш

Кэш на промежуточных узлах сети (например, CDN)
Используется для уменьшения задержек и нагрузки на сервер

Тип данных: статические (медиафайлы, страницы) и динамические (обработанные данные с учетом TTL)

⏩хранит данные близко к пользователю (PoP-узлы, точки присутствия) 
⏩уменьшает трафик за счет ускорения доставки статических ресурсов
⏩обновление данных через TTL или инвалидацию

Проблемы и решения

➡несинхронизированные данные: регулярная инвалидация и настройка TTL
Стратегия «push» обновлений помогает предотвратить "протухания"
➡высокая нагрузка на основной сервер при обновлении: расширение сети PoP или  многоуровневый кэш (узлы обновляют данные между собой)


Серверный кэш 

Кэширование данных на сервере (например, в памяти или на диске) для ускорения обработки запросов

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

💙применяется для часто запрашиваемых данных (например, результаты сложных вычислений)
💙примеры: Redis, Memcached
💙кэширование как статических, так и динамических данных

Проблемы и решения

💙 перезапись кэша и потеря данных: использовать алгоритмы управления кэшем, например, LRU (Least Recently Used). Или механизм TTL для периодической очистки.
💙 конкуренция за память: настроить лимиты на использование памяти и использовать высокоэффективные структур данных (например, Bloom filter) для снижения нагрузки на память


Уровень приложения (кэш приложения) 

Кэширование на уровне бизнес-логики приложения, где данные обрабатываются и сохраняются в памяти / специализированных хранилищах

Тип данных: динамические (сессии, промежуточные результаты)

⏩сохраняет промежуточные данные, которые генерируются во время работы приложения
⏩позволяет минимизировать повторные вычисления или запросы к БД
⏩пример: кэширование запросов в БД с помощью ORM

Проблемы и примеры решения

➡избыточное кэширование: кэшировать только те данные, которые повышают производительность
➡неактуальные данные: введение стратегий инвалидации данных с учетом бизнес-логики (например, обновление данных после определенных изменений или событий)


📎 Материалы
1. Что такое кэширование сайта и почему это важно
2. Кэш
3. Чем полезно кэширование сайта и как его настроить
4. Браузерное и серверное кэширование
5. Проектирование эффективной системы кэширования
6. Обзор использования клиентского кэша с распределенным кэшированием
7. Основы клиентского кэширования понятными словами и на примерах. Last-modified, Etag, Expires, Cache-control: max-age и другие заголовки
8. Кеширование. Настроить и проверить параметры кеширования на CDN-серверах
9. Клиентский кэш данных

#архитектура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
03/04/2025, 11:04
t.me/sys_sa/534
Repost
176
56
2.9 k
02/28/2025, 11:23
t.me/sys_sa/533
16
53
2.8 k
✍️ Content Delivery Network (CDN)

CDN (Сеть доставки контента) — сеть серверов, которые
▫️распределены по разным регионам
▫️совместно работают для ускорения доставки контента пользователям
Основная задача: быстро и надёжно доставлять статические и медиа-данные (изображения, видео, стили, скрипты) независимо от местоположения пользователя


Применение

Когда важно быстро и стабильно доставлять контент:
➡️в крупных веб-приложениях
➡️онлайн-магазинах
➡️стриминговых платформах и соц сетях и тд
Примеры: Selectel , CDNCloud, CDN от Яндекса, CloudFront


Основные понятия

*️⃣ Ориджин (Origin): сервер, где хранятся первоначальные файлы или данные, которые распространяются через CDN. При первом запросе контент загружается с него. Может быть несколько

*️⃣ PoP Point of Presence (точка присутствия) или Edge Node (пограничный узел) : кэширующий сервер, размещенный близко к конечным пользователям. Узлы принимают и кэшируют запросы, уменьшают расстояние между пользователем и данными. Это повышает скорость доступа

*️⃣Purge (очистка): удаление контента на пограничных узлах для последующего обновления из ориджинов

*️⃣Restriction (ограничение): кто может /не может получать доступ к содержимому из кэша. Например, разрешение запросов только из определенных доменных зон, регионов или групп IP-адресов

*️⃣Time to Live, TTL (время жизни): период кэширования на пограничном узле (Edge Node, PoP) до нового извлечение данных


Виды контента

🔷динамический: данные изменяются в реальном времени или по запросу пользователя (данные профиля, месторасположение, корзина покупок).
Уникален для каждого пользователя, его нельзя кэшировать. Но CDN позволяет ускорять его передачу за счет:
⭕оптимальных маршрутов к ближайшему PoP-узлу
⭕шифрования / дешифрование SSL на PoP-узлах для сокращения времени обработки
⭕протоколов ускорения: HTTP/2 и QUIC

🔷статический: неизменные в течение указанного TTL (изображения, CSS, JavaScript и тд). Кэшируется и доставляется с PoP


Пример работы CDN

🟣запрос контента (веб-страниц или видео)
🟣браузер проверяет локальный кэш. Если данных нет / устарели, запрос идет к CDN, то есть к ближайшей точке присутствия (PoP) на основе местоположения пользователя и анализа сети (подробнее см ниже)
🟣 PoP проверяет, есть ли запрашиваемый контент в кэше:
⏩если контент уже есть, PoP отправляет его
⏩если нет, запрос передаётся на сервер ориджина (к бэкэнду) для получения контента
🟣PoP кэширует данные для последующих запросов
🟣пользователь получает контент с ближайшего PoP с минимальными задержками


Кэширование в CDN

🟢контент хранится в точках присутствия (PoP) рядом с пользователями
🟢CDN-кэш обновляется через инвалидацию или истечение срока хранения (TTL).
Связь с бэкэнд и фронтенд кэшем:
☀️бэкэнд может отправлять данные в CDN с TTL или правилами инвалидации в заголовке. При обновлении данных на бэке CDN-кэш может очищаться
☀️фронтенд: браузерный кэш использует HTTP-заголовки и часто кэширует содержимое после CDN

Синхронизация: по правилам инвалидации и версиями URL для одновременного обновления всех уровней кэша — от бэка до фронта через CDN


Балансировка нагрузки

Распределяет трафик между PoP-узлами и серверами внутри них

Для направления запросов к ближайшему PoP-узлу используются способы:
♥️GeoDNS, который ориентируется на геолокацию пользователя
♥️Anycast — на сетевое расстояние до ближайшего узла

Внутри PoP-узлов: локальный балансировщик распределяет трафик между серверами в узле, учитывает их загрузку и задержки


📎 Материалы
1. CDN
2. CDN: что такое и как работает технология
3. Что такое CDN: смотрим на примерах
4. Что такое CDN и как это работает?
5. 10 интересных фактов про CDN и скорость сайтов
6. Разбираемся в статусах кеша CDN
7. CDN или Кэширование?

#архитектура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/27/2025, 11:04
t.me/sys_sa/532
38
146
2.6 k
✍️ Транзакции в Apache Kafka

Kafka поддерживает транзакции, чтобы гарантировать выполнение операций по принципу «всё или ничего»
Такая гарантия доставки называется exactly-once

Подробнее о других типах гарантии доставки тут

Когда применяется

🔘если требуется согласованность между несколькими топиками
🔘в операциях, где частичное изменение данных недопустимо (в финансовых приложениях, логистике, управлении запасами и заказами


Как работают транзакции в Kafka

⭕продюсер начинает транзакцию, присваивает  уникальный transactional.id. Это идентификатор, который отличает записи транзакций
⭕продюсер отправляет сообщения в одну / несколько очередей с пометкой "транзакционные"
⭕продюсер подтверждает данные (коммит) или отменяет (откат)
Коммит фиксирует сообщения, и они становятся видимы потребителям, в противном случае --  откатываются


ACID в Kafka

◾️атомарность (Atomicity): вся группа сообщений фиксируется сразу
◾️согласованность (Consistency): контроль за статусами сообщений в метаданных
◾️изолированность (Isolation): с помощью настройки read_committed (на стороне консьюмера) потребители могут видеть только зафиксированные данные, пока транзакция не завершена
◾️долговечность (Durability): достигается за счёт репликации и журналов с зафиксированными сообщениями


Плюсы и минусы

💚гарантия целостности операций с использованием ACID
💚защита от дублирования и конфликтов через изоляцию транзакций

💚требуют больше ресурсов, что может снизить производительность
💚поддерживаются с 0.11.0 версии Kafka


Пример транзакции в Kafka

Система обработки заказов. Нужно записать информацию сразу в несколько топиков для сгласованности данных

Есть два топика в Kafka:
— orders: хранит общую информацию о заказе
— inventory: содержит информацию об изменении запасов после заказа

Шаги для транзакции:
🟡создать продюсера с transactional.id 
🟡отправить сообщения в транзакции: записать детали нового заказа в оба топика orders и inventory
⏩ если успешно, фиксируется (коммит) транзакция: сообщения видны для потребителей обоих топиков
⏩ если ошибка, транзакция откатывается: ни одно сообщение не попадёт в топики

Результат: транзакция гарантирует, что потребители прочтут согласованные данные


📎 Материалы
1. Изоляция транзакций в Apache Kafka при потреблении сообщений
2. Семантика exactly-once в Apache Kafka
3. Транзакции в Apache Kafka: атомарность публикации сообщений
4. Что такое гарантия доставки сообщений или как избавиться от дублей и потерь в Apache Kafka и других Big Data брокерах

📚 Книги
1. Kafka в действии -- Дилан Скотт, Виктор Гамов и Дейв Клейн
2. Apache Kafka. Потоковая обработка и анализ данных -- Гвен Шапира, Тодд Палино, Раджини Сиварам, Крит Петти
3. Effective Kafka: A Hands-On Guide to Building Robust and Scalable Event-Driven Applications with Code Examples in Java -- Emil Koutanov (англ)

#интеграции

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/24/2025, 11:11
t.me/sys_sa/531
41
7
3.1 k
🚀 IT без кода? Да, реально!

💡 Думал, в IT без программирования не попасть?
😎 А мы нашли для тебя лазейку!

⚡️ Аналитик – профессия для тех, кто любит разбираться, но не любит писать код!
📊 Собираешь требования, продумываешь процессы, влияешь на проекты.

📌 Что тебя ждет?
✅ Обучаем с нуля! Даже если твой единственный опыт анализа – рилсы с обзором it трендов.
✅ Менторство без занудных лекций – ты сразу работаешь, а не просто учишься.
✅ Вместе ищем работу! Наставники + подготовка к собесам = оффер в IT. 💸
✅ Подготовка к собесам – ответишь, даже если HR спросит «кем ты видишь себя через 5 лет».
✅ И самое главное – платить будешь ТОЛЬКО после трудоустройства! 🪙

🎟 Место в IT уже ждет – бери и приходи!
02/23/2025, 12:02
t.me/sys_sa/530
16
114
3.1 k
🙂 Архитектурные паттерны (MV(X)

Архитектурные паттерны — шаблоны для высокоуровневой организации системы.
Определяют основные компоненты системы, их взаимосвязи и взаимодействия

Паттерны MV(X) используются в
🟡мобильных и веб приложениях
🟡банкинге и финансовых системах, где важны четкая структура и гибкость
🟡в играх и графических интерфейсах (для отделения логики от UI и управления сложными связями)

MV(X) — семейство паттернов со схожей структурой
Разделяют приложения на основные компоненты:
⏩ Model — отвечает за данные, бизнес-логику, сервисы для работы с БД и сетью (например, класс в ООП, API, библиотека, микросервис и тд)
⏩ View — визуальное представление для пользователя, отображение данных из Model
❕эти компоненты выполняют одни и те же роли во всех паттернах MV(X)
⏩ Presenter / Controller / ViewModel - меняются в зависимости от паттерна

✅ Чем лучше разделение обязанностей между компонентами,
тем проще управлять проектом, добавлять и тестировать компоненты

Рассмотрим некоторые из них:

MVC (Model-View-Controller)

Controller: логика, которая связывает model и view
➡ направляет данные от пользователя к системе и наоборот
➡ напрямую обновляет view

Подходит для небольших / средних приложений
Чем проще Controller, тем лучше

Пример

В веб-приложении для управления библиотекой:
🟡Model: класс Book с полями title, author и методами для работы с книгами
🟡View: HTML-страница с формой для добавления книг и списком всех книг
🟡Controller: обработчик, который принимает POST-запросы на добавление книг и обновляет Model и View

Недостатки

✖ в больших приложениях Controller объемный ➡ сложнее поддержка кода
✖ View и Model разделены, но View и Controller тесно связаны ➡ тяжелее масштабировать каждый из этих компонентов
✖View и Controller тестировать сложно из-за тесной связи ➡ тестируется в основном Model


MVP (Model-View-Presenter)

Presenter: полностью управляет логикой view
➡ обрабатывает ввод
➡ взаимодействует с моделью
➡ обновляет view через интерфейс, не зависит от конкретной реализации view (как у controller)

Отличие от MVC: связь view и model идет через presenter, а не напрямую

Эффективен в приложениях с высокой нагрузкой на UI,
и где необходимы модульные тесты, т.к. Presenter можно тестировать

Пример

В Android-приложении для управления задачами:
🟡Model: класс task, представляет задачу с полями title, description и методами для изменения состояния
🟡View: UI для отображения списка задач и формы для добавления новой задачи
🟡Presenter: объект, который запрашивает список задач из Model и обновляет View при изменениях

Недостатки
✖ требует создания доп классов и интерфейсов ➡ может перегружать простые приложения


MVVM (Model-View-ViewModel)

View взаимодействует с ViewModel через привязку данных

ViewModel
🟡содержит свойства и команды, к которым привязывается View
🟡взаимодействует с Model для извлечения или обновления данных

Эффективен для приложений со сложными структурой данных и интерфейсом

Пример

В WPF-приложении для управления контактами:
⭕Model: класс Contact содержит информацию о контакте
⭕View: UI, показывает список контактов и формы для добавления/редактирования
⭕ViewModel: объект, который загружает данные из Model и обновляет View, а также обрабатывает команды от View

Недостатки
✖ сложно настроить привязку данных
✖ ViewModel может перегружаться лишней логикой


📎 Материалы
1. MVC
2. Достоинства использования MVC архитектуры в разработке клиент-серверного интернет-магазина
3. Что такое MVP архитектура
4. Реализация MVC паттерна на примере создания сайта-визитки на PHP
4. MVC против MVVM — разница между ними
5. Понимание различий: MVC и MVVM
6. Шпаргалка по MV-паттернам для проектирования веб-приложений
7. Архитектурные шаблоны: объяснение MVC, MVP и MVVM
8. Паттерны для новичков: MVC vs MVP vs MVVM


#архитектура #проектирование

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/20/2025, 11:04
t.me/sys_sa/528
29
62
5.7 k
🔹 БАЗА ЗНАНИЙ ПО СИСТЕМНОМУ АНАЛИЗУ 🚀

Все посты из канала за всё время разложены по полочкам в едином месте — базе знаний 🤓

Наша цель — сделать кладезь знаний системного аналитика 🧠

Какие плюшки вас ждут:

🗂 Все знания в едином месте: кратко, ёмко, без воды и с подборками полезных материалов 🔥

🔎 Удобный поиск и навигация: все наши конспекты структурированы по группам навыков СА и есть поиск по тексту — вы не утоните в тоннах воды и часах гуглинга

🆕 Всегда актуально: мы регулярно добавляем новые материалы и улучшаем базу, при этом стараемся обновлять уже опубликованный контент

📝 Контент на заказ бесплатно: хотите материал на конкретную тему? Любой покупатель может оставить запрос, и мы сделаем обзор с исчерпывающей подборкой материалов абсолютно бесплатно!

➡️ Приобрести вечный доступ к постоянно обновляемой Базе знаний по цене айтишниой книги можно тут — всего 4900 ₽

P.S. Если нет карты РФ и по любым другим вопросам можно писать сюда: @radale
02/17/2025, 17:41
t.me/sys_sa/527
22
106
2.9 k
✍️ ESB / MOM / MQ

🟣ESB (Enterprise Service Bus, шина данных) — посредник для обмена данными между системами. Объединяет системы и приложения в единую интеграционную архитектуру. Управляет бизнес-логикой и маршрутизацией данных

🟡MOM (Message-Oriented Middleware) — промежуточное ПО для асинхронной передачи сообщений между приложениями

🟣MQ (Message Queue) — реализация системы очередей, частный случай MOM

MOM/MQ — не шины данных, но могут быть частью решения, основанного на шине


ESB (Enterprise Service Bus)

🟣управление данными идет через одну точку позволяет контролировать потоки данных
🟣применяется для большого количество приложений с разными протоколами и форматами данных
🟣обеспечивает маршрутизацию, трансформацию и оркестрацию сообщений между ними
🟣часто используется с легаси-системами для интеграции старых приложений с новыми
🟣может направлять сообщения между системами через MOM или MQ

Как работает

1. приложение отправляет данные на ESB через адаптер (например, для БД или веб-сервиса)
2. ESB преобразует формат данных, если требуется
3. шина маршрутизирует сообщение в нужное приложение
4. получатель получает сообщение и обрабатывает его


Шина данных считается устаревшим видом интеграции:

🟣требует сложной настройки и поддержки, т.к. нужно интегрировать много систем с разными протоколами и форматами данных
🟣труднее масштабировать: централизованная шина может не справляться с нагрузкой, в отличие от микросервисов — легко масштабируются независимо.
🟣центральная точка, сбой может привести к остановке всего обмена данными
🟣альтернативы: микросервисы и очереди сообщений (MQ). Они более гибкие: каждое приложение управляет своими связями без централизованного посредника

Пример: Apache Camel, MuleSoft


MOM (Message-Oriented Middleware)

🟣может поддерживать очереди (MQ), публикацию/подписку (Pub/Sub), маршрутизацию, обработку событий
🟣используется, когда не нужно дожидаться ответа от другой системы
🟣полезен в микросервисной архитектуре, чтобы разгрузить приложение и повысить отказоустойчивость

Как работает

1. приложение отправляет сообщение посреднику (MOM)
2. посредник сохраняет сообщение в буфере до тех пор, пока приложение-получатель не будет готово его принять
3. получатель обрабатывает сообщение, когда готов
4. MOM удаляет сообщение из буфера только после его успешной доставки

Пример: ActiveMQ, RabbitMQ - поддерживают и очереди, и другие модели, такие как Pub/Sub


MQ (Message Queue)

🟣используется для гарантированной доставки сообщений между приложениями, например, в платежных системах
🟣 сообщения обрабатываются по принципу FIFO (первый пришел, первый ушел) и удаляются после их получения
🟣позволяет передавать данные без ожидания мгновенного ответа

Пример: IBM MQ


📎 Материалы
1. От хаоса к порядку: как легко интегрировать сервисы с помощью Enterprise Service Bus
2. Шины данных (ESB): зачем компаниям использовать этот инструмент
3. Почему технари против шин данных: middleware, ESB, брокеров сообщений?
4. Как я 10 лет строю интеграцию в банке: от ESB-монолита к целой линейке систем
5. Уже поменяли шину? Наш опыт «переобувания» и разработки интеграционной платформы
6. ESB интеграция: объяснение и цель
7. Что такое MQ? Основные понятия
8. Интеграция на основе сообщений. Преимущества и отличия от других подходов
9. Кафка это шина? API, MQ, шины/ESB. Неочевидные минусы подходов и их плюсы

#проектирование #архитектура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/17/2025, 11:04
t.me/sys_sa/526
14
82
2.6 k
Для чего современным компаниям на самом деле нужен системный аналитик?

В новом выпуске Sravni Podcast поговорили со Светланой Амелькиной, системным аналитиком Сравни. О том, что SA представляет собой в 2025 году — глазами самого специалиста, разработки и бизнеса.

Внутри видео:

- О скиллах: что важно знать и уметь SA для успешной карьеры
- Взаимоотношения SA с другими командами (разработкой, QA, продактами)
- Мифы о системных аналитиках, в которые пора перестать верить
- Трудоустройство SA: как и зачем интервьюировать работодателя

Посмотреть или послушать выпуск можно здесь:

✅YouTube
✅RUTUBE
✅VK
Яндекс Музыка
02/15/2025, 18:01
t.me/sys_sa/525
154
2.5 k
02/14/2025, 14:08
t.me/sys_sa/521
154
2.5 k
02/14/2025, 14:08
t.me/sys_sa/522
57
216
3.8 k
Сравнение способов асинхронного взаимодействия API

🧑‍🎓 Описание каждого метода и материалы можно найти в базе знаний по системному анализу

#интеграции #async
02/14/2025, 14:08
t.me/sys_sa/520
154
2.6 k
02/14/2025, 14:08
t.me/sys_sa/523
156
2.6 k
02/14/2025, 14:08
t.me/sys_sa/524
4
6
2.5 k
Вебинар «Как консолидировать данные из разрозненных хранилищ с помощью Tarantool CDC»

Узнайте, как работать с инструментом near real-time репликации данных Tarantool CDC (Change Data Capture). Разберем проблемы роста нагрузки на core-системы при цифровой трансформации, низкой доступности данных разного формата из нескольких источников, отсутствия поддержки западных вендоров СУБД.    
Дата и время: 13 февраля, 15:00.

Основные темы вебинара
·Консистентность данных в ИТ-контуре 
·Мигрирация из проприетарных СУБД 
·Аналитическая отчетность
·Кэш-витрины Tarantool для RTDM-сервисов
·Двусторонняя репликация Tarantool ↔️ PostgreSQL
·Синхронизация Tarantool с другими базами данных 
·Качество данных для ML и AI

Вебинар будет полезен: 
·архитекторам систем, работающим над интеграцией и управлением данными,
·DevOps-инженерам, которые настраивают инфраструктуру обмена данными,
·менеджерам ИТ-проектов, заинтересованным в эффективности и надежности инфраструктуры.

Зарегистрироваться
02/12/2025, 14:04
t.me/sys_sa/519
33
131
5.6 k
✅ SOLID

SOLID — набор принципов проектирования объектно-ориентированных систем.
Помогает создавать гибкую, поддерживаемую и масштабируемую архитектуру.
Нужны для улучшения структуры и качества кода.


SOLID и ООП: в чём разница? 

🔷ООП —  методология или стиль программирования ( с основными свойствами: инкапсуляция, наследование и полиморфизм)
🔴SOLID — набор рекомендаций, как правильно использовать принципы ООП, чтобы создать код, который будет легче поддерживать и расширять
ООП даёт инструменты, а SOLID помогает применять их эффективно.


Принципы SOLID

❤️ — Single Responsibility Principle (Принцип единственной ответственности) 
Каждый класс должен решать одну задачу
делай модули меньше
🟢Пример: класс "Order" отвечает только за управление заказом, а уведомления отправляются другим классом

♥️Связь с ООП: связан с инкапсуляцией — каждый объект скрывает детали своей реализации и выполняет только одну функцию

❤️— Open/Closed Principle (Принцип открытости/закрытости) 
Класс должен быть открыт для расширений, но закрыт для изменений
делай модули расширяемыми

🟢чтобы добавить новый тип отчёта, создаём новый класс, не изменяя существующий код

♥️использует наследование - создание новых классов на основе существующих;
и полиморфизм - способность объектов разных типов использовать общий интерфейс для выполнения различных действий

❤️— Liskov Substitution Principle (Принцип подстановки Барбары Лисков) 
Подклассы должны заменять родительские классы без ошибок
наследуйся правильно
🟢 если класс "Bird" имеет метод "fly", класс "Penguin" не должен его наследовать, так как пингвины не летают

♥️связан с принципом наследования. Подклассы должны правильно реализовывать поведение родительских классов, не нарушать полиморфизм

❤️ — Interface Segregation Principle (Принцип разделения интерфейса) 
Узкие специализированные интерфейсы лучше, чем один общий
дроби интерфейсы
🟢вместо общего интерфейса "Animal" создаём отдельные интерфейсы "Flyable", "Swimmable", "Runnable"

♥️поддерживает полиморфизм и инкапсуляцию. Это делает классы более гибкими и позволяет  зависеть только от нужных методов

❤️ — Dependency Inversion Principle (Принцип инверсии зависимостей) 
Модули должны зависеть от абстракций, а не от конкретных реализаций
используй интерфейсы
🟢класс "UserService" зависит от интерфейса "Database", а не от конкретной реализации БД

♥️использовании абстракций (отделения концепции от её реализации);
и полиморфизма для уменьшения зависимости между модулями


❗Нарушение SOLID приводит к антипаттернам, таким как "God Object" (класс с множеством задач) или "Spaghetti Code" (запутанный код)


Зачем аналитику SOLID? 

➡️ поможет оценить архитектуру на этапе проектирования
🟢например, при добавлении новых способов оплаты система не должна требовать переписывания основного кода (принцип ❤️)

➡️ для составления требований к разработке и задач рефакторинга
🟢 если каждая функция изолирована, то изменения не затронут другие модули (принцип ❤️)

➡️ для согласования архитектурны с разработкой
🟢 корректное использование интерфейсов предотвратит сложную интеграцию с новыми системами в будущем (принцип ❤️)


📎 Материалы
1. Принципы SOLID в программировании — что это такое
2. SOLID
3. Простое объяснение принципов SOLID
4. SOLID принципы: что это такое и зачем они нужны?
5. SOLID — это несложно. С примерами на Python
6. SOLID == ООП?

📚Книги
1. Чистая архитектура — Роберт Мартин
2. Объектно-ориентированный анализ и проектирование с примерами приложений - Грэди Буч
3. Объектно-ориентированное мышление - Мэтт Вайсфельд
4. Приемы объектно-ориентированного проектирования. Паттерны проектирования. Хелм Ричард, Влиссидес Джон

#проектирование

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/11/2025, 11:04
t.me/sys_sa/518
7
9
3.3 k
⚡️ Внимание, аналитики и будущие специалисты!

Мы рады предоставить вам возможность стать частью мира системного анализа, а также улучшить свои навыки вместе с МАИ и Т1! 🚀

Мы подготовили для вас Квиз, который поможет найти ответы на вопросы:
✅ Подходит ли вам профессия системного аналитика?
✅ Какие навыки нужно развивать, чтобы добиться успеха?
✅ Как быстро вы сможете достичь успеха в этой сфере?

⚡️ После прохождения Квиза вы получите:
- Персональную оценку ваших возможностей в роли системного аналитика.
- Полезные советы по развитию ключевых навыков.
- Скидку 50% на трехмесячный курс "Системный аналитик" от МАИ и Т1.

Начните путь к успешной карьере с первого шага – пройдите Квиз и оставьте заявку на курс "Системный аналитик" со скидкой 50%! 🚀

👉🏻 ПРОЙТИ КВИЗ 👈🏻

Реклама
02/10/2025, 16:33
t.me/sys_sa/517
48
134
6.0 k
✍️ Server-Sent Events (SSE)

Server-Sent Events (SSE) —  технология, при которой сервер отправляет клиенту обновления по мере их появления.
Клиенту не нужно отправлять повторяющиеся запросы
Соединение одностороннее: от сервера к клиенту

◾️Для поддержания соединения открытым, сервер может отправлять пустые события с определенной периодичностью, чтобы не закрылось соединение браузером из-за таймаута.

◾️Относится к асинхронным методам, т.к. позволяет получать данные от сервера, как только они становятся доступны, без задержек и постоянных перезапросов.


Как работает

😈клиент делает HTTP-запрос на сервер и  остается подключенным к серверу
😈сервер открывает однонаправленный поток данных, отправляет обновления на клиент в формате текстовых событий
😈онлайн клиент получает данные по мере их поступления с сервера


Где применяется

Когда сервер должен регулярно обновлять информацию на веб-странице.
Например:
🔘в системах мониторинга (получение обновлений о состоянии системы)
🔘чатах (получение новых сообщений)
🔘торговых приложениях (обновления котировок)
🔘лентах новостей и социальных сетях
🔘push-уведомления из веб-приложения


Пример работы SSE для мониторинга системы

💙 Сервер отслеживает метрики системы (загрузка CPU, ошибки, статус сервера)
💙 Клиент подключается через SSE и получает обновления об изменении состояния системы в реальном времени
💙 Как только сервер получает новые данные, он отправляет их клиенту


Плюсы и минусы

➕интегрируется через стандартные HTTP-запросы
➕только сервер инициирует обновления,не нужно постоянно отправлять запросы от клиента на сервер (polling). Это снижает нагрузку
➕автоматически восстанавливает соединение при его потере

➖однонаправленность — только от сервера к клиенту
➖работает только через HTTP, менее гибко по сравнению с WebSocket
➖может не поддерживаться старыми браузерами (работает только с UTF-8)
➖нет возможности передать свои заголовки в запрос


📎 Материалы

1. Асинхронный веб: WebSocket, Server-Sent Events, Long Polling и Short Polling
2. Подписки на GraphQL: Почему мы используем SSE/Fetch вместо Websockets
3. Вам посылка, или Как мы доставляем сообщения с сервера на клиент в реальном времени
4. Server-Sent Events: пример использования
5. Потоковое обновление с событиями, отправленными сервером
6. Server Sent Events
7. WebSockets vs SSE: особенности и сценарии использования

📚Книги
1. Сергей Константинов. API
2. Джей Гивакс. Паттерны проектирования API
3. Арно Лоре. Проектирование веб-API


#api #интеграции

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/08/2025, 13:06
t.me/sys_sa/516
Repost
117
118
3.3 k
02/07/2025, 17:45
t.me/sys_sa/515
7
41
4.0 k
30 собеседований за 1 месяц 🔝

Именно столько технических интервью прошел автор канала «Пасека аналитика» и сейчас делится информацией об этом: статистика, подготовка и советы.

Интересные посты:⚠️

🕗Границы работы SA 1/2
🕗Границы работы SA 2/2
💵Зарплаты SA в 2024
👋Рабочие встречи 1/2
👋Рабочие встречи 2/2

Подписывайтесь! ✔️
https://t.me/apiaryanalyst
02/07/2025, 12:38
t.me/sys_sa/514
31
165
6.8 k
📂 Стратегии работы с кэшем

Ранее описывали процесс кэширования
Рассмотрим подходы к работе с кэшем


Стратегии чтения данных

⏩ Кэширование на стороне (Cache Aside) 

🟡приложение запрашивает данные из кэша
🟡если данные отсутствуют в кэше, приложение запрашивает их из БД
🟡после получения, приложение записывает их в кэш для следующих запросов

Обновление кэша: обновляется только после запроса данных из БД

✅ просто реализовать, контроль за кэшированием на уровне приложения
✖ если данные изменяются в базе, кэш может стать устаревшим

➡Пример: каталог товаров в интернет-магазине, который редко изменяется.
Пользователь запрашивает карточку товара: приложение сначала проверяет кэш.
Если информации нет, данные запрашиваются из базы и сохраняются в кэш


⏩ Сквозное чтение (Read Through) 

🟡приложение запрашивает данные только из кэша
🟡если данных нет, кэш сам обращается к БД, извлекает данные и возвращает их приложению, одновременно сохраняя их в кэше

Обновление кэша: автоматически при отсутствии данных в нём, во время запроса из БД

✅облегчает работу приложения, данные автоматически кэшируются при первом запросе
✖ задержка при первом запросе

➡ Новостной сайт, где кэш хранит статьи. Приложение запрашивает статьи из кэша.
Если статьи нет, кэш автоматически получает её из БД, обновляет кэш и передаёт статью пользователю


Стратегии записи данных

⏩ Сквозная запись (Write Around) 

🟡приложение записывает данные напрямую в БД
🟡данные в кэше при этом не обновляются
🟡последующие чтения могут вызвать обновление кэша через механизм Cache Aside

Обновление кэша: приложение запрашивает данные из БД. Получает и записывает их в кэш

✅подходит для данных с редкими операциями чтения
✖кэш может быть неактуальным, при первом запросе данные не кэшируютя сразу

➡ В системе учёта заказов приложение напрямую записывает новые заказы в БД, не обновляя кэш.
Кэш обновляется только при последующем чтении. Изменения редки и не требуют моментальной синхронизации с кэшем


⏩ Сквозная запись (Write Through) 

🟡приложение записывает данные сначала в кэш
🟡кэш автоматически обновляет данные также в БД, синхронизируя их

Обновление кэша: кэш и БД всегда синхронизированы, так как данные записываются одновременно в в БД и в кэш

✅согласованность данных между кэшем и базой
✖более медленные операции записи, т.к. кэш обновляет базу в реальном времени

➡ Банковская система, где каждая финансовая транзакция одновременно записывается в кэш и БД для согласованности.
При запросах транзакции всегда можно получить актуальные данные как из кэша, так и из базы


⏩ Обратная запись (Write Back) 

🟡приложение записывает данные в кэш
🟡кэш откладывает обновление БД, выполняет его асинхронно через определенные интервалы времени / по необходимости

Обновление кэша: данные в кэше актуальные, но БД обновляется позже, асинхронно

✅быстрая запись данных, поскольку операция записи в БД откладывается
✖риск потери данных в случае сбоя кэша до того, как БД будет обновлена

➡ В соц сети, когда пользователь редактирует профиль, изменения сохраняются в кэш.
Кэш откладывает запись в БД на попозже для асинхрона.
Помогает быстро сохранить изменения пользователя без задержек, хотя БД обновляется с задержкой


Хранение кэша

Кэш в архитектуре приложения обычно хранится в памяти, либо на выделенных серверах для кэширования. Их располагают ближе к приложению для быстрой обработки запросов.
Например,
🟡внутри приложения — локальный кэш
🟡на внешнем сервере / группе серверов — распределённый кэш


📎 Материалы
1. [По полочкам] Кэширование
2. SE: Проектирование эффективной системы кэширования
3. Стратегия кеширования в приложении
4. Все о кэшировании: стратегии, проблемы и оптимизация
5. Все о кэшировании и кэшах
6. Основные принципы кэширования веб-приложений
7. Проектирование эффективной системы кэширования для высоконагруженной системы
8. Cache-aside паттерн
9. Введение в кэширование со сквозным чтением с помощью NCache
10. Продуманные запросы: стратегии кэширования в век PWA

#проектирование #архитектура

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
02/05/2025, 11:04
t.me/sys_sa/513
17
88
3.6 k
Нужны вопросы с собеседований на системного/бизнес аналитика или архитектора ?

SA | Собеседования - канал с разборами собеседований и интервью со специалистами из найма.

✅Разбор собеседований:

🔵На разные позиции (junior, middle, senior)
🔵C вопросами в части: API, БД, интеграций и архитектуры
🔵В разрезе разных областей (финтех, ритейл, кибербез)
🔵С указанными вилками. Недавно автор обозревал собес с жалованьем 530 000 на руки.
🔵С комментариями от бывшего системного аналитика и ныне архитектора.

Интервью со специалистами из смежных областей для понимания:

🔵Как устроен рынок с точки зрения работодателя ?
🔵Какие кандидаты являются наиболее привлекательными ?
🔵Как быстрее продвинуться по карьерной лестнице ?

Вебинары по вопросам найма от подписчиков:

🔵Как лучше писать резюме ?
🔵Как устроиться в финтех с погашенной судимостью ?
🔵Как стать solution архитектором ?

Подпишись, если хочешь:

🚬 Отсобесить интервьюера

💸 Выбить достойный уровень жалованья

💪 Быть готовым к самому сложному техническому интервью в твоей жизни

❤️‍🔥 Подписывайтесь на:
❤@sa_sobes
02/04/2025, 09:33
t.me/sys_sa/512
Repost
188
153
3.8 k
02/03/2025, 11:19
t.me/sys_sa/511
83
334
9.2 k
▶️ ER-диаграмма (Entity-Relationship Diagram)

ER-диаграмма (Entity-Relationship Diagram, ERD) — диаграмма "сущность-связь",  которая применяется для:
🔘проектирования БД, описания процессов и бизнес-логики
🔘моделирования структуры данных и их связей в системах или приложениях
🔘документирования требований

Состоит из элементов

⏩Сущности — объекты (например, пользователь, заказ)
⏩Атрибуты — характеристики сущностей (имя, дата заказа)
⏩Связи — отображают, как сущности связаны друг с другом ( пользователь делает заказ)


Типы связей между сущностями

🟡Один-к-одному (1:1): каждая запись в одной сущности соответствует одной записи в другой
🟡Один-ко-многим (1:M): одна запись в сущности соответствует нескольким записям в другой
🟡Многие-ко-многим (M:M): каждая запись в одной сущности связана с несколькими записями в другой, и наоборот


Пример ERD для интернет-магазина

*️⃣Сущности: пользователь, заказ, товар

*️⃣Атрибуты:
— пользователь: ID, имя, email
— заказ: ID заказа, дата, сумма
— товар: ID товара, название, цена

*️⃣Связи:
— пользователь делает заказ (один пользователь может сделать много заказов — связь "один ко многим")
— заказ содержит товары (один заказ может включать много товаров — связь "многие ко многим")


Уровни ER-диаграмм

ER-диаграммы делятся на 3 уровня в зависимости от уровня детализации

🟡Концептуальный: описывает общую структуру данных без технических деталей.
Показывает, какие сущности и связи существуют
➡ применяется на стадии сбора требований и анализа для обсуждения с бизнесом и заказчиками.

🟡Логический: уточняет атрибуты сущностей и типы связей.
Детализирует модель, но не привязан к конкретной СУБД
➡ используется на этапе уточнения требований и согласования структуры данных

🟡Физический: описывает, как данные будут реализованы в БД, с учётом таблиц, индексов, первичных и внешних ключей.
➡ используется на этапе реализации и разработки БД


Нотации ERD

ER-диаграмма —  визуальная модель или схема,
а нотации — методы, с помощью которых она строится

🟡Нотация IDEF1X: фундаментальная, используется для физического уровня, ориентирована на стандарты реляционных БД. Редко используется на практике
⏩сущности: прямоугольники с именем сущности
⏩связи: линии с символами "лапками" для связи один-ко-многим, "палка" для связи один-к-одному
⏩атрибуты: внутри прямоугольников сущностей

🟡Нотация Чена: классическая нотация, часто используют для концептуальных моделей
⏩сущности: прямоугольники
⏩связи: ромбы, соединены линиями с сущностями
⏩атрибуты: овалы, соединены линиями с сущностями

🟡Нотация Мартина («воронья лапка»): компактнее нотации Чена, используют для логического уровня, когда нужно описать все атрибуты сущностей

⏩сущности: прямоугольники с атрибутами внутри
⏩связи: линии с "лапками вороны" для связи один-ко-многим и палочкой для связи один-к-одному
⏩атрибуты: внутри сущностей, первичные ключи выделены отдельной строкой


Отличия от других инструментов

🔵UML-диаграммы классов

Нужны для моделирования объектов и их поведения в объектно-ориентированном программировании, а не для реляционных БД
⏩UML отражают методы (функции) классов
⏪ERD показывают только структуру данных и их взаимосвязи

🔵BPMN

Моделируют бизнес-процессы и последовательность действий, а не данные
⏩BPMN отображает шаги процесса и участников
⏪ERD — только структуру данных и их отношения внутри системы


📎 Материалы

1. Сущности и связи: как и для чего системные аналитики создают ER‑диаграммы
2. Что такое ER-диаграмма и как ее создать?
3. Проектирование ER-диаграммы
4. Что выбрать для проектирования БД: сравнение UML-диаграммы классов и ER-диаграммы
5. Модель диаграммы Entity Relations (ER) с примером СУБД
6. Пример построения ER-модели и SQL-запросов к ней
7. Учимся проектированию Entity Relationship-диаграмм
8. Как создать ER-диаграмму
9. Методика построения ER-диаграммы для базы данных
10. Диаграммы «сущность – связь» (ERD). Типы отношений. Построение схемы базы данных на основе ERD диаграмм

#проектирование

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
01/31/2025, 11:05
t.me/sys_sa/510
6
13
3.1 k
Оценка стартапа: интуиция VS аналитика

Каждый стартап начинается с громких обещаний, но инвесторы хотят видеть реальную картину и призывают аналитика. На что он смотрит?

Рынок. Сколько из заявленного реально доступно? Если аудитория узкая или продукт дублирует существующий, шансы невелики.

Продукт. Должен решать проблему и выделяться. Если уникальность неочевидна — это риск.

Команда. Опыт основателей, наличие ключевых специалистов. Без них шансы на успех снижаются.

Юнит-экономика. LTV должен превышать CAC минимум в 3 раза. Если экономика не сходится, проект не выживет.

Финансы. Как тратятся деньги, есть ли чёткий план? Без этого перспективы туманны.

Вывод: оценка стартапа — это аналитика, а не интуиция. Поняв рынок, продукт и цифры, вы принимаете решения, а не играете в лотерею.

Хотите разбираться в аналитике? Вам в онлайн-школу Changellenge >> Education!

На программе вы:
➔ получите 11 ключевых аналитических навыков (Excel, Python, SQL, BI-системы и др.) для развития в любой сфере: от маркетинга и финансов;
➔ решите 13 индивидуальных и 7 командных проектов и по каждому получите обратную связь;
➔ узнаете лайфхаки экспертов из компаний уровня Avito, BCG, Google, McKinsey, VK;
➔ пройдете консультации с HR-специалистами и составите персональный карьерный трек.

Сейчас в Changellenge >> Education стартовала Кибернеделя аналитики! Успейте зарегистрироваться на обучение со скидкой 20 000 руб. по промокоду CYBERWEEK до 31 января и станьте востребованным аналитиком уже в ближайшем будущем!

Оставьте заявку на сайте: https://u.to/2guVIQ
01/30/2025, 11:00
t.me/sys_sa/509
58
194
9.3 k
🔵 Интеграция через общую базу данных

Рассмотрим еще один способ интеграции, менее популярый: интеграция через общую БД
Этот подход имеет свои преимущества, но не всегда является лучшим выбором из-за сложностей с согласованностью данных и производительностью

При интеграции через общую БД несколько систем используют одну и ту же БД для обмена данными

Принцип работы

🤤 все подключено к одной БД, ее используют для обмена информацией
🤤 системы читают и пишут данные напрямую через SQL-запросы или с помощью API, коннекторов

Особенности

💙системы должны согласовать структуру данных (схему БД), чтобы все понимали формат и правила работы с данными
💙одновременный доступ разными системами может приводить к блокировкам
Чтобы избежать используются механизмы синхронизации транзакций
💙изменения сразу видны другим системам


Способы интеграции

😮‍💨 Коннекторы (Database Connectivity, DBC)

Например, ODBC/JDBC-драйверы.
🟧JDBC — интерфейс для подключения Java-приложений к БД, позволяет выполнять SQL-запросы
🟧ODBC — универсальный интерфейс для подключения приложений на разных языках к БД, также использует SQL-запросы

Работают как посредники между приложением и БД.
Принимают запросы от приложения, преобразуют их в SQL-команды для БД, выполняют запросы и возвращают результат

😮‍💨 API

Приложения взаимодействуют с БД через REST или SOAP API
Отправляют HTTP-запросы, которые преобразуются в SQL-запросы внутри базы

😮‍💨 Прямое подключение

🤤 через SQL-запросы
Прямое подключение через SQL-запросы: приложение отправляет SQL-команды напрямую в базу данных по сети (например, через TCP/IP), без использования посредников.

🤤 через сетевые драйверы
Используются драйверы для установления связи с БД по сети (например, TCP/IP), затем приложение отправляет SQL-запросы напрямую

В обоих случаях идет работа с БД напрямую.
Но сетевые драйверы (например, для PostgreSQL или MySQL) обеспечивают управление сетевым соединением

🤤 через представления

Создаются виртуальные таблицы (представления), которые объединяют данные из нескольких таблиц.
🟧приложения не изменяют основные таблицы
🟧они выполняют SQL-запросы к представлениям, как к обычным таблицам
🟧выдаются права на чтение нужных представлений


Когда использовать общую БД

💙интеграция внутренних систем (например, системы из одной корпоративной платформы: ERP, CRM и т.д.)
💙для объединения данных из разных источников
💙надо сразу видеть изменения в системе
💙для минимизации повторного хранения данных
💙для интеграции Legacy-систем или самописных систем


Пример работы

В компании несколько систем: интернет-магазин, система управления складом и бухгалтерия

⏩ интернет-магазин: клиенты оформляют заказы, данные сразу записываются в общую Д
⏩ система управления складом: получает информацию о заказах из той же БД и обновляет количество товара на складе
⏩ бухгалтерия: автоматически подтягивает данные о продажах из общей БД для учёта финансов

Все системы работают с одной БД, не нужно синхронизировать данных между ними, данные актуальны во всех системах


Недостатки

❌ проблемы с согласованностью, если несколько систем одновременно изменяют данные.
❌ увеличение нагрузки -> снижается производительность
❌ изменения в структуре данных требуют координации между всеми системами
❌ уязвимость к атакам
❌ сложнее поддерживать и обновлять систему из-за её зависимостей


📎 Материалы

1. Основы интеграции информационных систем
2. Архитектура приложений и интеграций: гайд по основным понятиям простыми словами
3. Современные стандарты информационного взаимодействия систем
4. Простой пример JDBC для начинающих
5. Две альтернативы JDBC
6. PostgreSQL и JDBC выжимаем все соки
7. Доктор, у меня легаси: лечим устаревшие ИТ-системы
8. Legacy-системы
9. Общая информация о ODBC и Connector/ODBC
10. Почему интеграционная бд это отстой

#интеграции

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
01/27/2025, 18:13
t.me/sys_sa/508
9
21
3.4 k
Бесплатный вебинар по прокачке LinkedIn!

Твой LinkedIn выглядит как резюме динозавра? 🦖
А ты хочешь быть на шаг впереди?

Тогда приходи на вебинар: «Как привлечь внимание работодателя в 2025 году»
⏰ 30 января в 20:00 по Москве/ 18:00 по Берлину

Что будет на вебинаре:
⚡️ Разберёмся с Job matching и январскими обновлениями LinkedIn.
⚡️ Перепишем About и Headline так, чтобы они цепляли внимание рекрутеров.
⚡️ Узнаем, как проверять жизненно важные метрики для офферов.
⚡️ Поймём, как видят твой профиль рекрутеры и почему тебя зовут (или не зовут) на интервью.

Спикер — Александр Лепёшкин из Берлина, ex-директор проектных офисов Ozon и Lamoda, эксперт по трудоустройству в Европе и MENA (150+ успешных кейсов).

9️⃣0️⃣ минут полезной информации о настройке профиля совершенно бесплатно. Карьерные коучи берут за это большие деньги 💰

🔗 Регистрируйся в боте по ссылке

А если хочешь больше инсайдов о жизни и работе в Европе и MENA?
👉Подпишись на канал LinkedIn & Career|Alex Lepeshkin
01/27/2025, 11:03
t.me/sys_sa/507
Search results are limited to 100 messages.
Some features are available to premium users only.
You need to buy subscription to use them.
Filter
Message type
Similar message chronology:
Newest first
Similar messages not found
Messages
Find similar avatars
Channels 0
High
Title
Subscribers
No results match your search criteria