ПРО АНАЛИТИКА | СИСТЕМНЫЙ АНАЛИТИК | АЛЕКСАНДР НЕЗДЕМИНА
رفتن به کانال در Telegram
Здесь бизнес и системные аналитики превращаются в уверенных профи, которые спокойно проходят собесы и работают в 🔝 компаниях🔥 В канале больше пользы, чем на курсах крупных школ🤌🏻 Отзывы @proanalitica_feedback По всем вопросам @proanalitika_manager
نمایش بیشتر6 092
مشترکین
-124 ساعت
+77 روز
-730 روز
در حال بارگیری داده...
کانالهای مشابه
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
ژوئن '26
ژوئن '26
+72
در 0 کانالها
مه '26
+58
در 0 کانالها
Get PRO
آوریل '26
+72
در 0 کانالها
Get PRO
مارس '26
+70
در 0 کانالها
Get PRO
فوریه '26
+58
در 0 کانالها
Get PRO
ژانویه '26
+632
در 9 کانالها
Get PRO
دسامبر '25
+52
در 0 کانالها
Get PRO
نوامبر '25
+251
در 1 کانالها
Get PRO
اکتبر '25
+356
در 5 کانالها
Get PRO
سپتامبر '25
+154
در 0 کانالها
Get PRO
اوت '25
+222
در 1 کانالها
Get PRO
ژوئیه '25
+786
در 11 کانالها
Get PRO
ژوئن '25
+586
در 15 کانالها
Get PRO
مه '25
+797
در 11 کانالها
Get PRO
آوریل '25
+460
در 13 کانالها
Get PRO
مارس '25
+945
در 8 کانالها
Get PRO
فوریه '25
+187
در 7 کانالها
Get PRO
ژانویه '25
+509
در 7 کانالها
Get PRO
دسامبر '24
+2 731
در 6 کانالها
Get PRO
نوامبر '24
+52
در 2 کانالها
Get PRO
اکتبر '24
+47
در 0 کانالها
Get PRO
سپتامبر '24
+110
در 0 کانالها
Get PRO
اوت '240
در 0 کانالها
Get PRO
ژوئیه '240
در 0 کانالها
Get PRO
ژوئن '24
+16
در 0 کانالها
Get PRO
مه '24
+24
در 0 کانالها
Get PRO
آوریل '24
+20
در 0 کانالها
Get PRO
مارس '24
+28
در 1 کانالها
Get PRO
فوریه '24
+31
در 0 کانالها
Get PRO
ژانویه '24
+55
در 0 کانالها
Get PRO
دسامبر '23
+65
در 0 کانالها
Get PRO
نوامبر '23
+24
در 0 کانالها
Get PRO
اکتبر '23
+55
در 0 کانالها
Get PRO
سپتامبر '23
+487
در 0 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 27 ژوئن | +1 | |||
| 26 ژوئن | +2 | |||
| 25 ژوئن | +3 | |||
| 24 ژوئن | +3 | |||
| 23 ژوئن | +1 | |||
| 22 ژوئن | +4 | |||
| 21 ژوئن | +1 | |||
| 20 ژوئن | +2 | |||
| 19 ژوئن | +3 | |||
| 18 ژوئن | +1 | |||
| 17 ژوئن | +3 | |||
| 16 ژوئن | +1 | |||
| 15 ژوئن | +2 | |||
| 14 ژوئن | +1 | |||
| 13 ژوئن | +2 | |||
| 12 ژوئن | 0 | |||
| 11 ژوئن | +4 | |||
| 10 ژوئن | +1 | |||
| 09 ژوئن | +3 | |||
| 08 ژوئن | +1 | |||
| 07 ژوئن | +1 | |||
| 06 ژوئن | +5 | |||
| 05 ژوئن | +1 | |||
| 04 ژوئن | +13 | |||
| 03 ژوئن | +3 | |||
| 02 ژوئن | +5 | |||
| 01 ژوئن | +5 |
پستهای کانال
Думаю, что уже только ленивый не посмотрел фильм про Platа 😉
Так вот, тут попался пост РО, который ищет к себе в команду джуников.
Вдруг вам актуально
➡️ ссылка на пост
| 2 | АЛЛО ЭТО МОШЕННИКИ?
НЕТ, ЭТО HR ИЗ КОМПАНИИ N
Последнее время заметил, что HRы и рекрутеры стали звонить просто на телефон, а не пишут в чат или на почту.
Первый раз, когда меня так набрали, я признаюсь честно, сильно удивился, потому что с незнакомых номеров часто звонят или мошенники, или реклама.
И вот я задумался, почему они вдруг решили звонить?
Первая мысль, что они решили проверить не ИИ ли ты случаем. Думаю вы видели приколы, когда ИИ HR разговаривает с ИИ кандидатом 😄
Вторая мысль, возможно это из-за того, что не у всех работает телега, а ИТишники это последние люди, которые пойдут в ВК или MAX.
Ну и третья, походу рынок начинает оживать и люди хотят быстрее всех закрыть вакансию.
Например, мне вчера позвонила девушка, мы с ней пообщались и через 10 минут от другого рекрутера в чат прилетела та же вакансия. Разумеется я буду общаться с первым человеком.
➖➖➖
Ну и да, это все круто, но как на это реагировать?
Первое и главное: не теряйтесь.
Если неудобно говорить, то сами переведите на мессенджер, или попросите перезвонить в конкретное время.
Мне ни разу не отказывали перейти в тележку.
И держите наготове мини-рассказ на 60 секунд про себя, что ищете и на каких условиях. | 944 |
| 3 | А если нужно выбрать несколько статусов, то их либо можно перечислить в одном параметре:
status=PROCESSING,SHIPPED,
либо повторить параметр:
status=PROCESSING&status=SHIPPED.
Оба варианта рабочие, главное, зафиксировать в спеке, как именно надо передавать.
➖➖➖
И финалочка :)
Если мы посмотрим наш начальный запрос:
GET /orders?min_total_price=10000&status=обработка&sortByDate=desc&sortByPrice=asc
И на тот, который получился по итогу:
GET /orders?priceFrom=5000&priceTo=10000&status=PROCESSING&dateFrom=2026-06-01&dateTo=2026-06-30&sort=createdAt,desc
то, на первый взгляд, он значительно удлинился, но при этом стал более гибким и универсальным и подходит под различные кейсы.
И главное, спасает от ненужных доработок 😉
Если эта инфа была вам полезна - ставьте ОГНИЩЕ! | 885 |
| 4 | КАК ПРАВИЛЬНО ПРОЕКТИРОВАТЬ QUERY-ПАРАМЕТРЫ: ФИЛЬТРЫ И СОРТИРОВКА
Представьте, что вы проектируете админку, где по списку заказов надо поставить фильтры и сортировку. Отфильтровать по цене и статусу, ограничить период, да ещё и отсортировать.
Кажется, легко на первый взгляд.
Накидал параметров в URL и готово, но именно тут есть загвоздочка, что на скорую руку, может получится не очень гибкое решение. Например, такое:
GET /orders?min_total_price=10000&status=обработка&sortByDate=desc&sortByPrice=asc
Вроде все ок, на первый взгляд, правда?
Но все же я бы докрутил.
Как?
Давайте разбираться.
➖➖➖
1️⃣ ДИАПАЗОН значений
Возьмем дату и цену.
На первый взгляд, хочется запихнуть эти значения в один параметр, но на самом деле это всегда пара, а не одно поле.
Возьмем пример.
Мы хотим вернуть список заказов, которые были дешевле 10 000.
Ну логично же, что min_total_price вообще огонь вариант?
Нет, не огонь, потому что,
во-первых, слово min само по себе говорит про нижнюю границу, но если нам понадобится фильтр по верхней границе, то с этим значением уже не сработает.
во-вторых, заказчики люди переменчивые и там, где говорят, что хотят сейчас фильтровать только по минимальному значению, то завтра захотят не только по верхнему значению, но еще и в промежутке, например, "от 5 000 до 10 000", и хочешь-не хочешь, нам в любом случае придется вводить второй параметр.
Поэтому лучше сразу выделить 2 параметра парой:
✖️ min_total_price=10000
✔️ priceFrom=5000&priceTo=10000
В этом примере у нас и имя однозначное и гибкость и уберегли себя от уведомления старых потребителей о том, что что-то поменяли.
Кто-то скажет:
Ну это же почти то же самое!
Не совсем, давайте накину деталей
Пара закрывает все случаи:
✔️ нужна только верхняя граница - отправляем priceTo
✔️ нужна нижняя - отправляем priceFrom
✔️ нужен диапазон, оба сразу
➖➖➖
2️⃣ ОДНО СОГЛАШЕНИЕ по именам на все параметры
Когда у вас появляется большое количество параметров, то можно легко начать делать имена на параметры, которые уже есть.
Например, в одном месте - min_price, в другом - priceTo, в одном месте - date_from, в другом - createdBefore. Каждый лепит свой нейминг.
А потом у вас на проекте зоопарк похожих фильтров, а какой из них эталонный не понятно.
Поэтому, если вам надо спроектировать стиль для ваших query параметров, то подсмотрите у коллег, как лучше.
Можно на текущем проекте, если уже что-то есть, а можно подсмотреть у коллег во вне, через devtools, если проектируешь что-то с нуля.
➖➖➖
3️⃣ СОРТИРОВКА - ЭТО ОДНИ ПАРАМЕТР, а не несколько
Люди, которые проектируют редко это добро, часто хотят разбить сортировку на максимальное количество параметров.
Есть у тебя табличка визуальная на 10 колонок. Вот втыкаем 10 разных, например, sortByDate, sortByPrice.
И в целом, если у нас сортировок не сильно много, то так спроектировать ок, но если надо сортировать сразу по двум и более значениям, сразу, то тут надо продумывать, что главнее.
Поэтому проще сортировку держать в одном параметре, где есть и поле, и направление:
✖️ sortByDate=desc&sortByPrice=asc
✔️ sort=createdAt,desc&sort=price,asc
Выглядит вроде похоже, но в первом случае параметры независимы, а во втором - у нас порядок задает приоритеты. Сначала по дате, при равенстве по цене и при этом, так как параметр у нас один sort, то вы сможете докручивать логику и расширять сортировку новыми значениями, если потребуется.
➖➖➖
4️⃣ ФИЛЬТРАЦИЯ ПО КОДАМ, а не по подписям
Вернёмся к нашему параметру status=обработка.
Иногда, люди любят воткнуть кирилицу и сортировать по ней, но это просто текст с экрана. Это ненадежно, так как описание сегодня одно, а завтра другое, поэтому для статусов надо задавать ENUM значения, которые будут всегда стандартные и не будут зависеть от локализации.
Поэтому в значениях фильтра передаем так:
✖️ status=обработка
✔️ status=PROCESSING | 643 |
| 5 | КОНТАКТЫ В API: КАК ПОМЕТИТЬ ПРЕДПОЧТИТЕЛЬНЫЙ СПОСОБ СВЯЗИ
Представьте, что вам надо спроектировать экран с контактами человека и напротив одного из них поставить маркер - связываться сюда.
У нас на курсе в уроке про JSON как раз есть такой кейс и многие указывают вариант вида:
"preferredContactMethods": ["Телефон", "Почта"]
В целом вариант рабочий, и логика понятна, но если присмотреться, в нём есть пара слабых мест, и всплывут они уже на интеграции.
Давайте разбираться почему и как сделать лучше.
➖➖➖
Что не так с массивом строк?
1️⃣ "Телефон" и "Почта" - это просто подписи с экрана, а не коды.
Если завтра придёт локализация на английский или дизайнер переименует "Почта" в "E-mail", то у нас на фронте может поехать вся логика.
2️⃣ И это главное, предпочтение тут висит в воздухе.
Оно говорит "звоните на телефон", но не говорит на какой именно, а если у человека два телефона?
Т.е. получается, что маркер есть, а к конкретному значению он не привязан.
Поэтому давайте посмотрим, как передавать эти признаки по-другому.
Сразу скажу, что вариант зависит от кейса 😉
➖➖➖
Кейс 1️⃣. Массив контактов с флагом или приоритетом.
Самый частый и гибкий случай - вы храните сами значения, и контактов у человека может быть несколько.
"contacts": [
{
"type": "PHONE",
"value": "+79991234567", "isPreferred": true
},
{
"type": "EMAIL",
"value": "ivan@mail.ru", "isPreferred": false
}
]
Тут у нас есть:
type - это код (PHONE, EMAIL, TELEGRAM, и так далее), а не подпись с экрана, поэтому бэк его валидирует, а UI сам решает, как отрисовать.
И флаг isPreferred привязан к конкретному контакту, а не к абстрактному телефону.
Но может быть так, что предпочтений нужно несколько по порядку?
Тогда мы можем поменять флаг например на priority со значениями 1, 2, 3 и получить список отсартированный по важности контктов.
Кейс 2️⃣. Ссылка на предпочтительный контакт по id
Часто нам нужно выбрать какой-то один конкретный контракт, тогда мы можем реализовать это через ссылку на конкретный идентификтаор или на название параметра, если у нас только по одному значению.
"contacts": [
{ "id": "c1", "type": "PHONE", "value": "+79991234567" },
{ "id": "c2", "type": "PHONE", "value": "+79990000000" }
],
"preferredContactId": "c1"
Очень похож пример из начала поста, но тут есть нбанс. Вы показываете не просто, что предпочтение телефон, а на какой конкретно телефон надо звонить.
Кейс 3️⃣. Отдельное поле с типом, когда предпочтение одно
Если по бизнес-правилу предпочтительный канал ровно один и привязка к значению не нужна (например, "пишите в телеграм, а не звоните"), то можно сделать не очень гибкий вариант вида:
"preferredContactType": "TELEGRAM"
Но если вдруг у нас появятся два и больше предпочтиемых значения, то этот вариант не подойдет.
➖➖➖
Подытожу
Жёстко правильного варианта нет, всё зависит от кейса с которым вы работаете.
И чтобы было легче сделать выбор можно ответиь на три вопроса:
• Контакт один или их несколько?
• Нужен один предпочтительный или может быть больше одного?
• Есть ли у контактов свои id?
Зная ответы на эти вопросы - уже будет проще сформировать контракт 😉 | 709 |
| 6 | ЧТО ЗАБЫВАЮТ ПРИ ПРОЕКТИРОВАНИИ API?
Представьте, что вы спроектировали метод, отдали его в разработку и даже докатили до прода.
Дальше API-шка живет какое-то время и все вроде хорошо, а потом вы или решили сделать в ней доработку, или поддали нагрузки и вдруг что-то сломалось. И такое, часто бывает из-за того, что какие-то мелочи на старте, при проектировании, не учли.
И сегодня поговорим, про четыре таких "мелочи", которые встречаю чаще всего.
➖➖➖
1️⃣ Идемпотентность
Все же знают, что метод POST не идемпотентный? Но при проектировании вечно забывают про то, что нужно продумать поведение при ретраях или других сценариях.
Я за свою карьеру повидал очень много постановок на разработку и угадайте в скольких из них было расписано детально про идемпотентность? По ощущениям, в процентах 2-5.
Но почему важно продумывать этот кейс?
Потому что когда у вас маленькая нагрузка, все шустро работает, это может и не стрельнуть в ногу, но если у вас появляется большое количество пользователей, сервисы начинают чуть дольше отвечать, то в этом случае есть риск получить дубль. И хорошо если это дубль записи в БД, а если двойное списание деньжат? Короче, неприятно.
2️⃣ Неизменность контракта для потребителей
Например, один из частых кейсов, когда ваш сервис стоит посередине и у вас, как вам кажется, 1-2 потребителя и тут вам надо в контракте что-нибудь поменять или порефачить.
Вы оповещаете своих потребителей, меняете, синкаетесь по доработкам.
И тут прибегает еще ворох потребителей о которых вы даже не знали. Сюрприиииз 😐
Чтобы такого никогда не произошло, или не меняйте контракт и делайте версионирование, или ведите табличку с потребителями.
3️⃣ Пагинация
Пагинация - вещь про которую забывают начинающие и когда проектируют, то не смотрят на количество возвращаемых данных. И даже наличие массива объектов их не смущает, а из-за этого при реальной нагрузке, когда вам вернётся 100500 строк, можно получить "500 Internal Server Error".
Лечится просто: отдавайте данные частями, через offset и limit, или через page и size.
4️⃣ Трассировка
Про неё обычно вспоминают, когда на проде уже горит и надо срочно понять, где в цепочке Ui -> middle -> кафка -> бэк потерялся запрос, а вы открываете логи и там 100500 похожих вызовов, в которых ничего не найти.
А если прокинуть traceId, то это сэкономит кучу времени, так как вы сразу увидите всю цепочку, поэтому, если проектируете интеграцию с нуля, сразу закладывайте трассировку.
➖➖➖
Подытожу
Обычно ошибки при проектировании возникают не в каких-то сложных, а как раз в простых кейсах, которые лежат прям перед носом, поэтому обращайте на них внимание и продумывайте свои контракты более тщательно. | 912 |
| 7 | بدون متن... | 1 176 |
| 8 | Вчера общались с коллегами на тему перехода в роль Product Engeeneer
И это тот случай, когда ты с одной стороны понимаешь, что надо прокачивать себя, а с другой, что у тебя, как у аналитика, есть куча крутых навыков, которые выигрывают перед остальными ролями.
Что же входит в обязательные навыки к PE?
• Бизнес-моделирование;
• Измерение и сбор метрик;
• Интеграция и сборка систем;
• Непрерывная доставка и развёртывание;
• Обеспечение качества (Quality Assurance);
• Программирование / разработка ПО;
• Проектирование базы данных;
• Проектирование программного обеспечения;
• Управление жизненным циклом требований.
Вы бы видели глаза людей, которые это все видят впервые.
А я для себя четко понимаю, что мне надо прокачать себя лучше в разработке и CICD, а в остальном - навыки уже и так на high level.
Поэтому, господа и дамы аналитики, поздравляю, у нас с вами есть четкий план развития и навыки, которые многим надо сильно качать, а нам чисто напильничком подточить.
На картинке шкала по навыка, чтобы докачать себя до эксперта, надеюсь, что она полезна будет для вас 😉 | 1 284 |
| 9 | Мне тут задали интересный вопрос ребята на курсе, делюсь ответом и с вами 😉
Ученики тренировались смотреть вызовы в DevTools и некоторые сайты возвращают 200 ОК, а в теле реальную ошибку с кодом.
Соответсвенно возникают вопросы - Почему так? Это ошибка проектирования или нет?
Сказать ошибка это или нет - нельзя наверняка, потому что это зависит от многих факторов.
Вот давайте с ними и разберемся, в каких случаях 200 и ошибка внутри это ок, а в каких нет.
➖➖➖
Какие могут быть причины, почему появляется 200 ОК при ошибке?
1️⃣ В компании есть какое-то легаси или зоопарк систем.
Этот пункт подходит под формулировку «так исторически сложилось».
Раньше так проектировали системы для поддержки многих UI или потому что переходили, например, с SOAP на REST и из-за этого обработку решили не менять, так как за годы обрасли большим количеством потребителей, которые надо перестраивать, а это very дорого.
2️⃣ Используют технологию у которой свои правила, а HTTP используют, как транспорт.
Например, для SOAP, JSON-RPC, GraphQL такое поведение норма.
Эти протоколы просто используют HTTP как транспорт.
3️⃣ Осознанное разделение транспорта и бизнес логики.
Бывают кейсы, когда команда осознанно, принимает решение, что HTTP-коды отвечают за транспорт.
Например, дошёл запрос, авторизован ли, нашёлся ли эндпоинт, а бизнес логику помещают в тело ответа.
Например, указывают "недостаточно средств". Это, конечно, не по REST, но не все придерживаются этого стиля.
4️⃣ Просто передача кода от внешней системы.
Бывают кейсы, когда 200 прилетел не от бэка, а от шлюза, балансировщика или кривого API Gateway. Бэк возвращает 500, а наружу уже отправляется 200 с телом ошибки.
Если такой кейс возникает, то это большие вопросы к настройки инфры.
5️⃣ Просто кривой дизайн.
Такое бывает, когда разработчики просто решили делать так.
➖➖➖
Поэтому, если вы смотрите чужие реализации, например, для анализа конкурентов и хотите посмотреть, как они реализовали то или иное поведение своего приложения - просто не удивляйтесь.
Ну и когда проектируете свое решение, всегда смотрите, как принято в компании, и выясняйте почему уже реализовано так, а не по канонам какого-то стиля.
Ставь 🔥, если было полезно | 1 198 |
| 10 | Сегодня у нас день знакомства на курсе и написала девушка, которая была на моем выступлении в ЕКБ.
И я тут вспомнил, что ребята как раз подготовили видео выступлений, а я обещал им поделиться
Исправляю ситуэйшн 😉
➡️ СМОТРЕТЬ ЗДЕСЬ
➡️ СМОТРЕТЬ ЗДЕСЬ
➡️ СМОТРЕТЬ ЗДЕСЬ
Буду рад отзывам, комментариям и лайкам на youtube | 1 400 |
| 11 | УРА!!!
Сегодня 1 июня, а значит состоялся старт июньского потока курса "ИНТЕГРАЦИИ И ПРОЕКТИРОВАНИЕ API"
И это значит, что сегодня последний день, когда можно купить курс и начать уже сегодня прокачивать себя в этой не самой простой теме.
Вот программа курса:
1️⃣ неделя. Базовый блок по интеграциям
Разбираем термины и инструменты: HTTP/HTTPS, модель OSI, виды интеграций, кэширование, аутентификация и авторизация.
2️⃣ неделя. Проектирование REST API.
Ресурсы, методы, коды ответов, ошибки, идемпотентность, пагинация — как сделать так, чтобы API было понятно и разработчикам, и аналитикам.
3️⃣ неделя. Постановка на разработку интеграции.
Что должен выдать аналитик: ТЗ, схемы интеграций, маппинги данных, сценарии, чтобы потом не «переделывать по тысяче раз».
4️⃣ неделя. Практика в Swagger и Postman.
Учимся проверять API, собирать запросы, смотреть ответы, находить ошибки и формулировать понятные комментарии для команды.
5️⃣ неделя. Асинхронные интеграции.
Брокеры сообщений, очереди, события, ретраи, когда REST уже не хватает и как живут распределённые системы.
5 недель очень плотной работы.
И в качестве бонуса: 100 ответов на вопросы для подготовки к собеседованию, чтобы ты чувствовал себя уверенно на собеседовании любой сложности.
Я ИДУ НА КУРС
Я ИДУ НА КУРС
Я ИДУ НА КУРС | 1 321 |
| 12 | -1 место
➡️ ПРИСОЕДИНИТЬСЯ К НАМ
➖➖➖
Еще больше отзывов @proanalitica_feedback | 1 067 |
| 13 | Точка А
До курса я плохо разбиралась в интеграциях, не было четкой картинки в голове, просто набор непонятных слов, также было мало практики и в целом пространства, где я могла бы попрактиковаться
Точка Б
После появилась структура, опора под ногами, лучшее понимание даже через бытовые вещи, за счет чего также появилась уверенность в себе. Приняла решение для себя уйти из нынешней компании, так как не вижу зоны роста и возможности применить то, чему я научилась.
Как помог курс?
Курс помог понять, в каком направлении я хочу дальше развиваться как аналитик, дал пощупать то, чего не хватало на работе. Помимо основного курса Александр также записывал аудио про личностные характеристики, тоже своего рода прокачка произошла, когда можешь взглянуть на себя с другой стороны.
Рекомендовала бы курс другим? Почему?
Да, курс порекомендовала бы, потому что достаточно хорошо структурирована информация. Намного полезнее пройти курс с обратной связью и получить максимум, чем искать самому по крупицам из различных источников
Какие плюсы курса ты выделил/(а) бы и почему?
+ Очень классная и быстрая обратная связь, подробные ответы, дополнения и наводящие вопросы!
+ Уроки достаточно понятные 🔥
Также хорошо запоминается информация через примеры
+ Классный формат уроков по 10 минут + задание, так информация лучше усваивается
➡️ СТАРТ УЖЕ ЗАВТРА | 1 129 |
| 14 | Доверил ИИ проектирование API
В продолжение вчерашнего поста, поделюсь своим замечанием на счет ИИ.
Сейчас проектирую контракт для API-шки, которая возвращает данные для двух типов документов — Дебит и Кредит Авизо. Если простыми словами - это платёжки по иностранным переводам.
Ну и так как мы активно идем в продакт инжинеринг, я решил делегировать проектирование агенту СА.
И в целом, агент отработал очень хорошо:
• Собрал мне OPEN-API спеку,
• Расписал маппинг на основе данных и печатной формы.
И вроде все хорошо, но если внимательно почитать спеку, то мне не понравился один пункт: responce, который ИИ-шка предложила для сервиса.
Обычно, когда мы проектируем какую-то систему, то нужно думать не только о самом контракте, но и о масштабировании и о корнер кейсах.
Так вот, ИИ-шка уперлась и постоянно предлагала разделить ответ для разных документов, то сделать 2 отдельных объекта, то сделать вообще два разных метода, чтобы запрашивать эти документы.
А мы с вами, как опытные аналитики понимаем, чем больше разделения на старте — тем больше логики придётся навертеть потом, потому что если у нас появится еще один похожий документ, то нам понадобится новая ветка или новый объект.
Это как указывать документ удостоверяющий личность.
Все норовят воткнуть паспорт РФ или той страны в которой работаешь, а про другие типы документов забывают.
В итоге я забил, взял то, что нагенерил ИИ как заготовку, и собрал свой универсальный контракт. Аккуратненький, расширяемый, с понятной типизацией.
➖➖➖
К чему это всё?
ИИ - это крутой инструмент, но пока у вас нет насмотренности и собственного опыта в похожих задачах, то вы будете верить ИИ-шке на слово, а она вполне может подсунуть не самое гибкое решение с которым вы потом будете делать секс и вам это не сильно будет нравится.
Поэтому всегда верифицируйте то, что ИИ-шка выдаёт. Особенно, когда речь про контракты, схемы данных, проектирование.
Конечно можно сказать, что вайбкодеры же кодят и ЗБС, но это круто для MVP, мини проектов, но не для интерпрайза. Для работы с крупными системами нужно критическое мышление и логика.
Согласны?
➖➖➖
➡️ У НАС - 1 МЕСТО, ОСТАЛОСЬ 10 ИЗ 40
Приглашаю тех, кому нужна практика по проектированию JSON и контрактов и кстати, урок по работе с JSON - можно посмотреть бесплатно | 1 057 |
| 15 | ➡️ САЙТ КУРСА
➖➖➖
Ответы на частые вопросы по курсу можно почитать здесь + посмотреть 9 минутное видео о том, как все устроено на курсе
Если у вас есть вопросы по курсу, на которые не нашли ответы - напишите в службы заботы @proanalitika_manager | 890 |
| 16 | ДОВЕРЯТЬ НЕЛЬЗЯ КОНТРОЛИРОВАТЬ
Запятую поставьте сами, после прочтения поста 😉
Сегодня прочитал в соседнем канале, у Кати, пост, про то, как она исследует тему работы с ИИ и один из выводов к которым она пришла, что если мы хотим сделать более предсказуемый вариант что выдает ИИ и чтобы он не выдумывал, то ему как и человеку, нужно дать шаблоны, чтобы он на них опирался.
Собственно точно также, как и человеку.
И основной ее вывод: всё, что упрощало ручной труд раньше, то отлично работает и сейчас.
И вот я полностью с ней согласен.
➖➖➖
Сейчас у нас на проекте активно внедряют ИИ для всех ролей, чтобы получить конвейер по созданию фич.
Так вот, я уже в 4-ый раз переписываю агента СА, потому что появляются новые идеи по докрутке.
И вот к чему я пришел на данном этапе:
1️⃣ Чем четче правила и оркестрация у агента, тем он лучше делает свою работу.
Например, в первой итерации у нас был совмещенный pipeline со всеми ролями, са-разраб-qa и в итоге получится монстр, который лезет туда куда не нужно, поэтому в последней итерации я выделил отдельный проект, который на выход поставляет требования и все. Больше никакого иного контекста.
2️⃣ База знаний очень важна.
Столкнулся с тем, что если ты хочешь одинаковый нейминг, то тебе нужно делать прям отдельную библиотеку знаний.
Иначе у каждой новой фичи будут разные артефакты которые придется править.
3️⃣ Разбиваем навыки на отдельные куски.
Не просто написать спеку, а сделать диаграмму, сделать json, и так далее.
4️⃣ И финальное, шаблоны.
Если в компании внедрены шаблоны, то затаскивайте в агента правила по шаблону. Агенту разработчику это может и не нужно, но так как все верифицируют люди - им нужна привычная структура.
Поэтому в последней итерации я затащил все свои шаблоны, включая ресерч, постановку на UI, постановку на API и брокеры.
Вот такие дела.
Так что, как думаете, куда поставить запятую?
➖➖➖
Кстати, на курсе "ИНТЕГРАЦИИ И ПРОЕКТИРОВАНИЕ API" - эти шаблоны будут:
✔️ постановка на фронт,
✔️ постановка на бэк,
✔️ постановка на очереди,
а самое главное, что вы получаете не просто шаблоны, но еще и ревью по итогам заполнения их, когда вы будете выполнять практические задания с их использованием.
И еще, так как в этом юбилейном потоке, мы затронем тему ИИ и я поделюсь своими наработками агента.
Так что, кто хочет себя прокачать - успевайте. Осталось чуть-чуть времени и мест | 964 |
| 17 | ... курс стал тем пространством, где у меня настроился фокус и я стала смотреть, как СА. Есть понимание какие инструменты я могу использовать на разных этапах, чтобы они действительно помогли.
- к такому результату пришла ученица 5ого потока Наталья Пацей
ТОЧКА А
Я, с опытом сетевого и системного администрирование + неплохого знания sql и проектирования бд + немного программирования на python для Web (Pet-проект) пришла в достаточно большой интеграционный проект.
С КАКИМИ СЛОЖНОСТЯМИ СТОЛКНУЛАСЬ? КАК ПЫТАЛАСЬ ИХ РЕШИТЬ?
Задача : описать требования в достаточной детализации чтоб найти исполнителя. Проект предполагал обновление существующих систем, создание новых сервисов и много интеграций разного уровня (оборудование система, система-система...) разные технологии от прямых команд через ssh до rest. Надо было разговорить пользователей, так как настроения менялись от хотим все по-другому до нас все устраивает сейчас, проинспектировать системы, чтоб понять какие ресурсы есть для оценки, и вообще вникнуть в происходящее. Самое сложное для меня было определится с уровнем собираемых требований, потому что хотелось провалится в проектирование (там больше знакомого), и я постоянно теряла пользовательский фокус... Я перебирала варианты спецификации, нотации, казалось надо все, и все это должна я
ТОЧКА Б
Я уверенней принимаю решения, потому что у меня сложилось и роль СА, и детали информации, которые нужны на каком этапе, и для какой задачи. И теперь на вопросы/предложения 'а давайте сделаем ещё вот так...' я могу оценить и возможность, и целесообразность, и нужность, и по крайней мере обосновать почему да и почему нет именно в привязки к формированию требований.
КАК ПОМОГ КУРС?
Очень многое я знала до курса, много изучала сама, со многими технологиями работала, но все это было как-то разрозненно. Я смотрела на проект с точки зрения архитектуры, инфраструктуры, данных, функциональности, ценности... Но все было отдельно. А курс стал тем пространством, где у меня настроился фокус и я стала смотреть, как СА. Есть понимание какие инструменты я могу использовать на разных этапах, чтобы они действительно помогли.
РЕКОМЕНДОВАЛА БЫ КУРС ДРУГИМ? ПОЧЕМУ?
Да. Про хорошее изложение многие писали, говорили и это действительно ценность. Курс не решит всех вопросов навсегда и однозначно, но сложится понимание 'как можно', а с практикой появится вариативность.
КАКИЕ ПЛЮСЫ КУРСА ТЫ ВЫДЕЛИЛА БЫ И ПОЧЕМУ?
1. Разбор дз, каждой, индивидуально, конкретно во вашей работе, косякам, вопросам.
Это ацкая работа, она ценнна невероятно. Редко будет - все ок, ты молодец (я не помню ни одного у себя)))
скорее будет - круто, но можно ещё вот так, так і так.
2. Обратная связь и ответы на вопросы будут ровно на той глубине, которую запросите, то есть Вас не завалят тонкостями сразу, вам дадут базу, и ответят на ваши вопросы. И вы сами решите как детально вам надо.
Как по мне, это прекрасный способ настроить ваше
мышление
➖➖➖
-1 место
➡️ САЙТ КУРСА | 918 |
| 18 | Что реально нужно знать аналитику про брокеры сообщений?
Заметил такую штуку, что как только аналитику предстоит сделать интеграцию через брокер, будь-то Kafka, RabbitMQ или какая-то другая очередь, и у него нет опыта в этом, то он начинает теряться: что указать, что должен продумать, как СА, что должна делать команда.
У меня даже были кейсы, когда разрабы жаловались на моего аналитика, что он что-то не указал.
Поэтому сегодня хочу поделиться своим видением, что реально должен знать аналитик, а что нужно делегировать на разрабов и специально обученных ребят, которые шатают брокеры.
➖➖➖
Чтобы поставить задачу на разработку реально надо знать и описать 4 основных вещи:
1️⃣ Кто мы: получатель или потребитель. И в какую очередь (топик) мы кладем или забираем данные.
Какой именно брокер использовать мы сами не выбираем.
Это продумываем с разработчиками и архитекторами.
2️⃣ Какие данные и как мы их передаём.
Что за событие произошло?
Какие поля мы передаем в сообщении?
Что обязательно, что опционально?
Какой формат данных, например, JSON, XML, Protobuf?
Фактически вы описываете тут:
✔️ Структуру сообщения так же, как описываете тело POST-запроса;
✔️ Типы данных и ограничения.
3️⃣ Как мы получаем данные?
Здесь нужно зафиксировать: получатель читает сообщения сам (pull) или брокер ему пушит?
Как часто?
Пачками или по одному?
На практике это влияет на проектирование обработчика на стороне получателя. Лучше продумать это самостоятельно, чтобы разрбаотчик не выдумал своего 😁
4️⃣ Что делать с ошибками?
Часто, аналитики, которые делают постановку про этот шаг забывают и именно на этом споткнулась моя коллега на которую пожаловались.
Тут нам надо описать отклонения от успешного сценария:
✔️ Что если сообщение пришло, но обработка упала?
✔️ Сколько раз система должна попробовать повторно?
✔️ Что происходит с сообщением после N неудачных попыток, потому что надо понимать куда отправлять его, например, в dead letter queue, в лог, в алерт на почту?
По факту, это все, что нам нужно помнить.
Ну и про идемпотентность, конечно. Я вот здесь про нее писал.
На этом всё.
Остальное, это уже особенности технологий и как реализовывать - уже совместная работа с командой, потому что под капотом у брокера может быть что угодно: репликации, смещения, политики хранения. Это не ваша зона ответственности.
Ваша главная задача - чётко описать контракт на данные и логику обработки ошибок.
Кстати, в курсе, в пятом модуле, который появился, начиная с прошлого потока, вы как раз изучаете теорию и на практике делаете постановки на listener и producer.
➡️ УСПЕВАЙТЕ. ОСТАЛОСЬ 14 МЕСТ | 1 051 |
| 19 | Почему нет тарифа без обратной связи?
Каждый поток, как минимум есть пару запросов на "мне просто посмотреть".
Но я в этом вопросе принципиален, потому что убежден, что без обратной связи нет роста и развития.
Предлагаю сделать такое упражнение
Вспомните сколько вы прочитали книг? А теперь вспомните, сколько вы из этого внедрили в практику?
Если процента 2 и залетело, то супер, но не более.
Почему так происходит?
Потому что нет мотивации и понимания куда применить те знания, которые ты изучили.
Эффективная система обучения состоит из 3-х шагов:
1. Изучение теории;
2. Закрепление теории на практике.
Тут же, без откладывания на потом.
3. Передать знаний дальше кому-то другому.
И именно эта система лежит в основе моих курсах.
Как это реализовано?
Ну я думаю, что по первыми двумя шагами вопросов нет. Это БАЗОВЫЙ МИНИМУМ.
А как вот как реализуется передача знаний другому?
В курсе нет места шаблонности выполнения практических заданий.
Каждый ученик волен выполнять ДЗ, как считает правильным и дополнять своими деталями.
Но ключевое здесь, что ваши практические задания видны на платформе вашим соседям по парте и можно сходить обменяться опытом и подсмотреть, что сделал сосед по парте, чтобы вдохновиться и добавить себе в практическое задание что-то, что было вами упущено.
А еще шикарный плюс - получить обратную связь от опытных, практикующих системных аналитиков.
Посмотрите на объем обратной связи на 30-ти страничную постановку
➡️ ОСТАЛОСЬ 15 МЕСТ ИЗ 40 | 1 005 |
| 20 | 🔥 3 хороших новости 🔥
1. Сегодня я стал на один год мудрее и праздную свой ДР 🥳
2. Сегодня я наконец-то получил ключи от своей квартиры и сегодня же подписал договор на ремонт
3. Еще есть места, чтобы попасть на мой флагманский курс «ИНТЕГРАЦИИ И ПРОЕКТИРОВАНИЕ API»
До старта ровно неделя. Успей присоединиться ❤️ | 1 142 |
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
