O seu período de teste terminou!
Para acesso total à funcionalidade, pague uma subscrição premium
SY
Системный Аналитик
https://t.me/sys_sa
Idade do canal
Criado
Linguagem
Russo
0.81%
ER (semana)
5.92%
ERRAR (semana)

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

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

Mensagens Estatísticas
Repostagens e citações
Redes de publicação
Satélites
Contatos
História
Principais categorias
As principais categorias de mensagens aparecerão aqui.
Principais menções
Não foram detectadas menções significativas.
Encontrado 58 resultados
15
9
2.8 k
evp.mp4
💚💚💚💚
Пришло время раскрыть потенциал на максимум 🚀

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

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

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

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

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

@godnolytika
22.04.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 или прокси-сервер: что лучше и в чем разница?

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

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

➿➿➿➿➿➿➿➿➿➿

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

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

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

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


#развитие
19.04.2025, 11:51
t.me/sys_sa/564
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
17.04.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, зачем он нужен и как работает

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

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
15.04.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 до конца апреля
14.04.2025, 13:06
t.me/sys_sa/561
73
341
3.4 k
Карта навыков BA/SA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Реклама
9.04.2025, 20:01
t.me/sys_sa/557
9.04.2025, 20:01
t.me/sys_sa/554
46
344
3.4 k
9.04.2025, 20:01
t.me/sys_sa/552
9.04.2025, 20:01
t.me/sys_sa/553
9.04.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++

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

➿➿➿➿➿➿➿➿

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

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

🎟 Оставляй заявку в боте
6.04.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 года

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

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
1.04.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 мск.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

😶Зарегистрироваться на бесплатный вебинар
28.03.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

➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
25.03.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, идемпотентность и не только. 

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

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

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

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

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

🔜 Узнать подробности и зарегистрироваться
21.03.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 и другие

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

➿➿➿➿➿➿➿➿

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

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

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

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

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

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

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

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

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

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

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

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

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

СТОП ❌

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

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

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

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

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

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

https://t.me/+C1fJugfe1JVjMjdi

❗️Настало время перестать теряться и начать уверенно двигаться вперед!
12.03.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 обычные БД

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

➿➿➿➿➿➿➿➿

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

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

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

Подписывайся, чтобы прокачаться и больше зарабатывать❗️
4.03.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. Клиентский кэш данных

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

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
4.03.2025, 11:04
t.me/sys_sa/534
Repostar
176
56
2.9 k
28.02.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 или Кэширование?

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

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
27.02.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 (англ)

#интеграции

➿➿➿➿➿➿➿➿➿➿

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

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

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

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

🎟 Место в IT уже ждет – бери и приходи!
23.02.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


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

➿➿➿➿➿➿➿➿➿➿

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

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

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

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

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

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

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

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

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

P.S. Если нет карты РФ и по любым другим вопросам можно писать сюда: @radale
17.02.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. Неочевидные минусы подходов и их плюсы

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

➿➿➿➿➿➿➿➿➿➿

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

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

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

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

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

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

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

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

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

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

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

Зарегистрироваться
12.02.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. Приемы объектно-ориентированного проектирования. Паттерны проектирования. Хелм Ричард, Влиссидес Джон

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

➿➿➿➿➿➿➿➿➿➿

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

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

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

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

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

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

Реклама
10.02.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 #интеграции

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
8.02.2025, 13:06
t.me/sys_sa/516
Repostar
117
118
3.3 k
7.02.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
7.02.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

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

➿➿➿➿➿➿➿➿➿➿

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

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

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

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

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

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

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

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

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

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

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

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

❤️‍🔥 Подписывайтесь на:
❤@sa_sobes
4.02.2025, 09:33
t.me/sys_sa/512
Repostar
188
153
3.8 k
3.02.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 диаграмм

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

➿➿➿➿➿➿➿➿➿➿

🧑‍🎓 Больше полезного в базе знаний по системному анализу
31.01.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
30.01.2025, 11:00
t.me/sys_sa/509
Os resultados da pesquisa são limitados a 100 mensagens.
Esses recursos estão disponíveis apenas para usuários premium.
Você precisa recarregar o saldo da sua conta para usá-los.
Filtro
Tipo de mensagem
Cronologia de mensagens semelhante:
Data, mais novo primeiro
Mensagens semelhantes não encontradas
Mensagens
Encontre avatares semelhantes
Canais 0
Alta
Título
Assinantes
Nenhum resultado corresponde aos seus critérios de pesquisa