API. Архитектура. Веб-сервисы
3.36K subscribers
239 photos
50 videos
10 files
276 links
Канал для тех, кто хочет начать карьеру в IT или прокачать свои знания

Автор: Глеб Учитель glebteach.ru и его IT-команда.
🔹Обучили более 2000 учеников
🔹Подходит ли тебе проектирование интеграций/веб-сервисов? Узнаешь в боте @studyit_help_bot
Download Telegram
Ловите секретное оружие аналитика: 10 вопросов, которые спасут проект от краха🔥

Искусство задавать правильные вопросы - это навык💯 Давайте его прокачивать.

Начнем с классики: ТЗ прилетело, а вопросов больше, чем ответов? Вместо требований - набор магических заклинаний от продакта:

"Нужна интеграция с REST API партнера, чтобы все было быстро и красиво. Детали уточните сами"🙈

Знакомо? А потом начинается:

Разработчики хлопают глазами: "А где спецификация? А если 500 ошибка?"

Тестировщики тихо плачут: "А как это проверить? Какие кейсы?"

Руководитель требует оценки "вчера"...

А ты чувствуешь себя переводчиком с языка "хочушек" на язык технических спецификаций.

Давайте признаем: больные места есть у всех.

✔️Руководители часто не технари. Они видят цель (интеграция с API), но не видят путь.

✔️Разработчики ненавидят расплывчатые требования. Им нужны четкие контракты, статусы ошибок и условия retry.

✔️Тестировщики хотят понимать, что тестировать, а не гадать на кофейной гуще.

Что делают крутые аналитики в 2025?

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

Самые мощные вопросы для уточнения ТЗ (берите в копилку и отправляйте друзьям):

1️⃣ К руководителям (чтобы понять бизнес-цель):

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

- Что будет, если это не сделать? (оцениваем критичность)

- Какие метрики покажут, что все работает? (например, снижение времени обработки заказа на 30%)

2️⃣ К разработчикам (чтобы понять технические нюансы):

- Какой стек технологий использует партнер? (REST, GraphQL, gRPC?)

- Нужна ли аутентификация? (OAuth, API-keys, JWT?)

- Как обрабатывать ошибки? (Retry logic, fallback-механизмы?)

- Какие лимиты по RPS (requests per second)?

3️⃣ К тестировщикам (чтобы предусмотреть сценарии):

- Какие сценарии самые критичные? (например, проверка ответа при timeout)

- Как будем тестировать негативные кейсы? (например, отключение сервиса партнера)

- Нужны ли моки/стабы для тестирования?

💡 Почему это работает?

Вы перестаете быть посредником и становитесь архитектором решений (про то, что системный аналитик - архитектор будущего ▶️ рассказали ТУТ)

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

Проекты идут быстрее, потому что требования ясны с самого начала.

А вы как справляетесь с расплывчатыми ТЗ?
Делитесь в комментариях своими лайфхаками - поможем друг другу делать мир IT понятнее👇
🔥14❤‍🔥3
Поддерживаете такой критерий отбора в команду?😂

Какой еще креативный способ найти классных спецов знаете?)👇
😁34🔥5👏4👍1
"Я отговариваю бизнес-аналитиков идти на курсы по системному анализу. Вот почему"👆

Это слова нашего ученика, который прошел путь от системного аналитика к архитектору.

Такие отзывы заряжают энергией всю нашу команду и доказывают: правильные знания = самый короткий путь к росту💯

#ученикиговорят

Очень пригодились знания, как в части интеграций, так и в части архитектуры. В течение года после курса очень часто обращался. У вас крутой курс.


Наш ученик уже движется в сторону системной и solution-архитектуры🔥

А этот момент - в самое сердечко❤️
«Я бизнес-аналитиков с опытом отговариваю, чтобы они шли на курс системного анализа. Лучше взять ваш курс».

Наш курс действительно не просто про теорию, мы даем реальные инструменты и примеры документации, которые работают Здесь и Сейчас.

Что вы получите от курса?

Переход от бизнес-анализа к системному: без воды и ненужной теории;

Практические навыки по интеграциям и архитектуре: как будто вас взяли на стажировку в крутой IT-проект;

Готовые примеры документов: берите и меняйте под себя;

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

Курс Глеба уже помог многим сменить профессию, повысить экспертизу и уверенно двигаться в архитектуру. Присоединяйтесь: вы сможете так же уверенно расти в IT👍
🔥12❤‍🔥3👏1
Финтех-лайфхак: как мы убили 30% обращений в поддержку одной архитектурой

Представьте: три банка, СБП, мерчанты и вечно глючащая сеть...

А потом▶️ 2 секунды на платеж и ноль дублей. Как?

🎧Слушайте кейс-подкаст Глеба Учителя и делитесь полезным материалом от @openstudyit с друзьями/коллегами.

А вам приходилось сталкиваться с подобными задачами? Как бы вы решили проблему дублей платежей? Пишите в комментариях👇
🔥11👍3
Аналитик - не предсказатель и не курьер на минималках. Он - супергерой, который спасает проекты до их начала.

На связи Глеб Учитель👍

Отличные комментарии прилетели под постом про вопросы от аналитика👆

Давайте рассуждать. Я руководствуюсь своим опытом и пониманием выстраивания бизнес-процессов.

Зона ответственности аналитика простая: поднять правильные темы ▶️ подсветить фонариком всё что не увидели другие ▶️ собрать ответы от разных стейкхолдеров ▶️ свести всё в связную картину и зафиксировать решения.

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

Аналитик должен не только спрашивать, но и предлагать. Спросили ▶️ проанализировали ▶️ предложили решение.

Например: поднимаю тему аутентификации, приношу 1‑2 рабочих варианта из практики компании, сверяю с безопасностью и архитектором, фиксирую выбор.

Критичные тест‑кейсы/критерии приёмки: стартовый список может спокойно формировать аналитик, дальше его расширяют QA. Это командная работа, а не игра в угадайку. Конечно, классно когда QA сам бывший аналитик и по черновикам вашего ТЗ накидывает уже все кейсы сам).

Почему аналитику важны моки, RPS, и другие технические детали? Потому что это про сроки, риски и деньги.

Если партнер дает тестовый контур через 3 недели, без моков и понимания как тестировать - все встанет. Если лимит партнера 100 rps, а бизнес ждет 300 на акции, мы поймаем отказы сразу же.

В реальном мире, не идеальном - разработчик не обязан знать трафик по продукту, а бизнес не всегда знает технические лимиты партнера. Аналитик склеивает эти мультивселенные и заранее вшивает ограничения\требования в план.

⁉️Как можно действовать на любом проекте:

1 шаг: бизнес. Зачем меняем процесс, на что влияем, как меряем успех.

2 шаг: партнер. Документация, доступы, версии, лимиты, SLA.

3 шаг: команда. Контракты, ошибки, идемпотентность, ретраи, логирование.

4 шаг: тестирование. Моки, негативные сценарии, данные, конфиденциальность.

5 шаг: план выкатки. Фича‑флаг, миграции, откат, обратная совместимость.

Кто и кому задает какие вопросы:

✔️ К заказчику: цель, метрики успеха, объемы и пики, неподвижные правила и дедлайны.

✔️К партнеру: спецификация, окружения, аутентификация, коды ошибок, лимиты, таймауты.

✔️К разработке: формат контрактов, идемпотентность, ретраи, схема логов и трассировка.

✔️К QA: критичные сценарии, негатив, моки, тестовые данные.

Аналитик инициирует все блоки и закрывает хвосты в идеальном мире))

🔥 Ловите десятку вопросов, которые реально экономят недели:

1. Зачем это бизнесу и как поймем, что получилось: одна цифра успеха.

2. Объемы и пики: в день, в час, на акции. Что будет при 2x нагрузки.

3. Источник правды по данным: чья схема главная и что делаем при расхождении.

4. Где спецификация и контакты партнера: dev, stage, prod, сроки выдачи доступов.

5. Аутентификация и авторизация: чем подписываемся, кто выдает ключи, срок жизни.

6. Контракты и ошибки: примеры запросов и ответов, коды, идемпотентность, ретраи.

7. Лимиты и таймауты: rps, burst, окно rate limit, SLA по ответу.

8. Тестирование: нужны ли моки, кто делает и где хостим, набор тестовых данных.

9. Негативные сценарии: 429, 500, timeout, недоступен партнер. Что видит пользователь.

10. План релиза: фича‑флаг, обратная совместимость, миграции, быстрый откат.

Где аналитик не только спрашивает, но и говорит.

— про типовые вещи компании. Тут не обсуждаем с нуля, приносим готовый шаблон.

— про тестирование и план релиза. Это не прихоть, это ваша страховка.

И это вопросы не ради галочки❗️

Они превращаются в конкретные решения в документе.

Ответственность на аналитике: собрать всё воедино и донести до всех, как будет это работать.

Но самое главное: это командная работа. Аналитик не тянет всё на себе - он делает так, чтобы каждый понимал:

Разработчик знает лимиты партнёра;

QA видит критические сценарии;

Бизнес получает метрики вместо сюрпризов.

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

Что думаете, коллеги?👇
🔥13👍8
Ребята, забыл вам рассказать...

На связи Глеб Учитель👍

Пригласили на Stepicon 2025 – конференция от платформы Stepik, прошла 19-20 сентября в Москве. Сам приболел - дома онлайн смотрел, но команду отправил в разведку)

Что новое узнали про тренды:

✔️что учить в эпоху ИИ;

✔️ какие навыки действительно нужны рынку, а что устарело;

✔️ пару фишек взяли от HR и экспертов по корпоративному обучению (внедрим в курс)

И кормили там отлично, ребята мои еще и поели🔥😂

Планирую эфир живой провести - напишите в комментариях, какую тему осветить сейчас актуальнее всего, что вам поможет сейчас в работе/карьере👇
🔥18😍2
Найди пользователей по этой схеме👇

И получи консультацию Глеба Учителя в подарок🎁

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

Задача.
Найти пользователей, которые сделали хотя бы одну покупку в январе 2025 и ни одной покупки в феврале 2025. Под покупкой считаем только заказы со статусом paid.

Что вернуть. Один столбец user_id, отсортированный по возрастанию. Дубликаты не нужны.

Границы месяцев
Январь 2025: >= 2025-01-01 00:00:00 и < 2025-02-01 00:00:00
Февраль 2025: >= 2025-02-01 00:00:00 и < 2025-03-01 00:00:00
Временная зона не важна, берите как есть.

Важно
Учитываем только status = 'paid'. Статусы canceled и refunded не считаются покупкой.
Таблица users дана для контекста, join не обязателен.

Схема
-- Таблицы
CREATE TABLE users (
user_id INT PRIMARY KEY,
created_at DATE,
channel VARCHAR(50)
);

CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
order_ts TIMESTAMP,
status VARCHAR(20),
amount NUMERIC(10,2)
-- FOREIGN KEY (user_id) REFERENCES users(user_id)
);

-- Данные
INSERT INTO users (user_id, created_at, channel) VALUES
(1, '2024-12-15', 'organic'),
(2, '2024-12-20', 'ads'),
(3, '2025-01-10', 'ads'),
(4, '2025-01-01', 'referral'),
(5, '2024-11-30', 'organic'),
(6, '2024-09-01', 'ads'),
(7, '2024-12-31', 'organic'),
(8, '2025-01-05', 'influencer'),
(9, '2024-11-11', 'referral'),
(10,'2025-02-01', 'ads'),
(11,'2024-10-20', 'organic'),
(12,'2025-01-31', 'organic');

INSERT INTO orders (order_id, user_id, order_ts, status, amount) VALUES
(1001, 1, '2025-01-05 10:00:00', 'paid', 50.00),
(1002, 2, '2025-01-10 09:30:00', 'paid', 20.00),
(1003, 3, '2025-02-01 08:00:00', 'paid', 60.00),
(1004, 4, '2025-01-31 23:50:00', 'paid', 99.00),
(1005, 5, '2025-01-12 12:00:00', 'canceled', 40.00),
(1006, 6, '2025-01-20 17:45:00', 'paid', 14.00),
(1007, 7, '2024-12-31 16:00:00', 'paid', 45.00),
(1008, 8, '2025-01-11 11:12:00', 'paid', 80.00),
(1009, 9, '2025-01-01 00:01:00', 'paid', 100.00),
(1010, 2, '2025-02-20 14:00:00', 'paid', 35.00),
(1011, 5, '2025-02-15 13:00:00', 'paid', 25.00),
(1012, 6, '2025-02-02 09:00:00', 'refunded', 14.00),
(1013, 7, '2025-03-01 10:00:00', 'paid', 10.00),
(1014, 8, '2025-02-28 07:07:00', 'paid', 15.00),
(1015, 9, '2025-02-10 10:10:00', 'canceled', 5.00),
(1016, 11, '2025-01-25 09:00:00', 'paid', 12.00),
(1017, 11, '2025-01-25 09:05:00', 'paid', 6.00),
(1018, 12, '2025-01-31 23:59:59', 'paid', 30.00),
(1019, 12, '2025-02-28 00:00:00', 'refunded', 30.00);


Критерии приёмки
В выборке только те, у кого есть хотя бы один paid в январе и ноль paid в феврале.
user_id уникальные, сортировка по возрастанию.
Нет ложных срабатываний на canceled и refunded.
Корректно отработаны границы интервалов времени.

Условия понятны? Ждем ваших ответов до 25.09👇
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥8👍7👏5😍1
Королевский подарок системным аналитикам: открывайте🎁

Системные аналитики (и все причастные), с профессиональным праздником🔥 Что тут сказать: классных проектов и карьерного роста!

В честь этого праздника мы хотим подарить вам промокод 🎁 на наше обучение (на любой тариф), чтобы вы могли ещё лучше прокачать свои скиллы.

Спец предложение действует до 1 октября.


❗️И это еще не все…

Открываем бесплатный доступ к разделу курса "Брокеры сообщений"

👉https://stepik.org/a/175243?utm_medium=tg

Далее заходите в Раздел 11 - Брокеры сообщений▶️Урок 11.1 Концепция брокеров сообщений
Проектирование архитектуры и интеграций (API / брокеры) сервисов

Кто хотел обучаться и ждал подходящего момента - welcome! 👇

✔️ Курс "Проектирование архитектуры и интеграций (API / брокеры) сервисов":

Базовый тариф - 11.000 рублей (вместо 13 990 рублей).

Тариф с поддержкой - 20.000 рублей (вместо 25.000 рублей).

Тариф с поддержкой и карьерным модулем - 35.000 рублей (вместо 44.000 рублей).

✔️ Курс "Системный анализ по-взрослому"

Единый тариф - 7.990 рублей (вместо 9.990 рублей)

Промокод: ANALYTIC25
🔥18😁2
Перестаньте путать API-ключ с токеном. Как правильно настроить авторизацию для нейросетей в n8n (с примерами)🔥

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

Что это за три сущности⁉️

1️⃣ API ключ: статическая секретная строка, часто вида sk-.... Идентифицирует ваш аккаунт или проект.

2️⃣ Токен: временный пропуск с правами. Часто JWT из трёх частей через точки. Выдаётся авторизационным сервером и протухает.

3️⃣ Код из доков: не отдельный способ. Это рецепт, какие заголовки отправить, где взять токен, как посчитать подпись.

Как понять, что именно нужно

Видите Authorization: Bearer ... это токен. Ищите, где его получить: token_url, client_id, client_secret, scope.

Видите X-API-Key это статический ключ. Берёте и кладёте в заголовок.

В тексте встречаются signature, timestamp, nonce значит нужна подпись запроса, обычно HMAC.

Строка вида aaa.bbb.ccc это почти всегда JWT токен.
Если в примере есть редиректы и код авторизации это OAuth 2.0 Authorization Code или PKCE.

✔️ Когда что выбирать
Прототипы и внутренние интеграции: API ключ.

Прод и безопасность: OAuth 2.0 токены или сервисные аккаунты, короткий срок жизни, минимальные scope(области прав).

Финтех, маркетплейсы, биржи: подпись HMAC плюс ключ или токен.

Браузер и мобилки: секреты не кладём на клиент. Клиент говорит с вашим бэкендом, бэкенд уже ходит во внешнее API. Для браузера уместен PKCE.

Мини примеры

Ключ:
curl -H "X-API-Key: $KEY" https://api.example.com/v1/me



Токен через Client Credentials:
# получаем токен
curl -X POST https://auth.example.com/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=$ID&client_secret=$SECRET&scope=read"

# используем
curl -H "Authorization: Bearer $ACCESS_TOKEN" https://api.example.com/v1/data


Диагностика, если ошибки
401 значит токен отсутствует или битый. 403 значит прав не хватает.
Проверяйте Content-Type и точный формат тела.

JWT может быть протухшим по exp. Также смотрите таймзону.
Некоторые токен‑эндпойнты требуют Basic с client_id:client_secret в Authorization.

А вы используете nocode n8n в проектах?👇
Хотели бы воркшоп на эту тему?🔥
🔥29👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Ловите лайфхак для собеседований😂

А у кого какие приколы были с HR?👇
😁24👏1
Шеф, все пропало - гипс снимают, клиент уезжает😱

А если серьезно, заботливо напоминаем, что королевский подарок системным аналитикам от Глеба Учителя истекает завтра 01 октября.

Жирный промик истекает - доступ к Уроку по Брокерам сообщений закрывается!

Успевайте забрать все подарки👍

Все подробности и как посмотреть урок👉 ТУТ
👍6
🔥 Осенний апгрейд: как провести аудит навыков и составить план, который вы не выбросите через неделю

Пока "продуктивные" гуру советуют просто рано вставать (в топку таких😂), мы предлагаем РАБОЧУЮ СХЕМУ, как провести ревизию своих скиллов и построить план развития на осень. Без воды и мотивационного спама: делитесь с коллегами.

1️⃣ Шаг 0: выдохните, это не Performance Review.

Не надо брать офисный глоссарий и ставить себе KPI. Суть в том, чтобы понять: "Что я сейчас умею, куда хочу приплыть и что для этого нужно?". Всё.

2️⃣ Шаг 1: ревизия "технического долга".

Задайте себе фундаментальный вопрос: "Что я вообще знаю?"
Разложите свои навыки на три стопки:

✔️Бэкенд (то, что уверенно юзаю)
Например, писать SQL-запросы, описывать API в Swagger, или отрисовывать макеты для дизайнера.

✔️Фронтенд (знакомо, но плаваю)
Слышал про Kafka, но никогда не настраивал. Понимаю OAuth 2.0, но путаюсь в grant types.

✔️404 Not Found (вообще не шарю)
Например, Kubernetes или event-driven архитектура.

Внимание! Тревожным айтишникам: дышите, это не список на выговор, а карта возможностей😉

3️⃣ Шаг 2: сверка с рынком 2025

Теперь смотрим, что из стопки Фронтенд и 404 реально востребовано. Только честно. Самим себе врать не надо)

❗️Актуальный чек-лист 2025 для сверки

🔹AI-ассистенты в работе

Не просто "юзаю ChatGPT", а автоматизирую им генерацию тест-кейсов или документации. Это уже не хобби, а хард-скилл.

🔹Low-code для прототипирования

Умение быстро набросать логику в n8n или Airtable - это как знать второй язык. Ценится.

👉 Кто хочет глубже в эту тему, у нас был подробный разбор в посте Low-code в 2025: почему его "смерть" сильно преувеличили (и как на этом заработать аналитику)

🔹Брокеры сообщений (Kafka/RabbitMQ)

Спрос стабильно высокий, а специалистов, кто понимает, а не просто упомянул в резюме, не так много.

💡ЛАЙФХАК: если это ваш Фронтенд, осень - идеальное время прокачать. Кстати, один из самых сильных и практических уроков в курсе Глеба Учителя как раз про брокеров - там нет сухой теории, только реальные кейсы и интеграции, которые вы сможете повторить

🔹API-интеграции и безопасность: OAuth 2.0, JWT, подписи запросов. Без этого никуда.

4️⃣ Шаг 3: составляем "спринт", а не "корпоративный водопад"

Вместо плана "Выучить всё за полгода", ставьте 2-3 конкретные цели на сезон.

Плохо: "Сразу стать seniorом".

Отлично: "До конца октября разобраться с Kafka: понять, чем она лучше RabbitMQ, и спроектировать на коленке простой обмен сообщениями между двумя сервисами".

5️⃣ Шаг 4: найти ментора в лице... проекта. Вот это поворот😂

Теория без практики = null. Лучший способ прокачаться - применить знание на реальной задаче, даже учебной с опытным наставником тогда.

Вот вам осенний стек для роста для проведения честного аудита своих скиллов.

Закрепим:

🔻 Фокус на 2-3 актуальные темы из чек-листа 2025

🔻 План-спринт с конкретным измеримым результатом

🔻 Практика на любом проекте, даже учебном.

Кто говорит "Мне и так норм" через год смотрит, как коллеги, прокачавшие осенью Kafka и AI-инструменты, уходят в x2 зарплате💸 Не ваш сценарий?

А какой один навык из вашего списка Фронтенд вы точно прокачаете этой осенью? Сейчас будет совет от "продуктивных" гуру: пишите в комментариях, чтобы зафиксировать это намерение. Или во Вселенную отправить, как вам удобнее👇😂
🔥16❤‍🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥6🔥4
У меня тут назрел вопрос...

На связи Глеб Учитель👍

А какая мотивация вообще для вас самая мощная? Напишите в комментариях, что вас мотивирует по-настоящему👇

И напоминаю, что вы можете протестировать на себе навыки проектирования интеграции и веб-сервисов с помощью бесплатных уроков в нашем БОТЕ.

Всем успехов👍
👍12
Задачку решил - консультацию Глеба Учителя выиграл🔥

Все по-честному. Поздравляем Александра с правильным ответом на ЗАДАЧУ.

Проявляйте активность - будут еще шикарные бонусы🎁
🔥14