Анализ, коты, цветы и Катя – Telegram
Анализ, коты, цветы и Катя
458 subscribers
277 photos
11 files
158 links
Пишу о работе системным аналитиком в IT: кейсы, ошибки, рост и жизнь по ту сторону процессов.
Автор — @Pacifica_cathul, аналитик, ментор и человек, который всё это пережил лично.
Download Telegram
Сталкивались ли вы со сложностями получения нужного ответа от ИИ?
Anonymous Poll
12%
Да, вечно отдает ерунду
78%
Да, но чаще всего умею это исправлять
10%
Нет
Промт-инжиниринг: ерунда или новая грамотность?

Несмотря на то, что ИИ уже прочно часть моей работы и жизни, я все истории про промт-инженеров и сложности составления промтов воспринимала больше как хайп и юмор.

Почему?

1️⃣ Для меня постановка задачи к команде разработки и к ИИ про одно и то же. В каждом случае вводишь в контекст, даёшь все вводные, объясняешь, что стоит использовать и к чему нужно прийти на выходе. Более того, это основа любого общения, где задача быть понятым. То есть в отношениях с родными, друзьями и всем окружающим миром.

Даже особенности работы с ИИ всё же есть, связанные с галлюцинациями, напоминают обычные правила коммуникации. Например:
— «Если не знаешь, не придумывай, а скажи, что не знаешь».
— «Если вводных недостаточно, задай вопросы».
— «Не отходи от изначальной темы».
— «Опирайся на проверенные источники».

2️⃣ Копаясь в базах данных промтов, я скорее видела, что просто не всем доступно в обычной жизни искусство разъясняться. А у аналитиков это уже профессиональное: если не хочешь результат “ХЗ”, то делай нормально ТЗ.

3️⃣ Часто к ИИ мы обращаемся не за уникальной сложной работой, а за рутиной. И там даже модели двухгодичной давности, бесплатные, справляются неплохо, с промтами, которые «ну такое себе». Отлично это демонстрирует доклад Алишера Умарова А последние модели уже и вовсе предугадывают контекст и требуют меньше данных на входе.

Между тем недавно я стала участником конкурса от Systems Education #продолжи_мысль_SE, и там многие писали именно про промты. Вначале я решила, что это не стоит моего внимания, но одновременно с конкурсом произошёл забавный случай:

Идёт обсуждение внедрения ИИ в одну из систем. И представители команды внедрения ИИ говорят: «Вам нужно будет нанять промт-инженера!». Мой мир переворачивается: почему серьёзные компании тратят деньги на «ерунду» в виде промт-инженеров?


Пришлось возвращаться к постам и осмыслять. Больше всего меня зацепил пост «Ментальная карта промтов для аналитика», как и сам канал Елены посвященный во многом промтам.

Сначала находила подтверждения скепсису, но чем глубже читала, тем яснее видела системность карты. Через некоторое время я поняла, почему
«ментальная карта промтов это способ мыслить, делегировать и усиливаться как аналитик».

«Как аналитик» здесь очень важно. Промты это возможность с помощью чужого опыта получить классное решение на рутинную и не очень задачу.

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

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

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

А ещё такая карта подойдёт тем, кто всё же не может совладать с искусством промт-инжиниринга. По карте легко изучать, осмыслять и пробовать!

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

Из минусов: большинство примеров промтов всё же на базовый и стандартный уровень. У моего супруга такой уровень SQL на работе требуется, что предложенные промты ему точно не помогут. Но это уже про особенности конкретной работы аналитиком, чем про карту.
Ещё момент: карту просто так не получишь. Я такое ограничение не одобряю, хотя оно и стимулирует не просто сохранить пост, а действительно осмысленно получить карту и потом её использовать.

Изменилось ли моё отношение к промт-инжинирингу после поста с картой? И да, и нет, но точно стало теплее.

А ещё пост навёл меня на мысль: может оказаться, что обучение промт-инжинирингу поможет не только в работе с ИИ? Может, всё больше людей сможет лучше изъясняться друг с другом и в обычной жизни? Или наоборот, мы всё заменим ИИ, например, как заменили поздравления и нецензурные письма коллегам.)
👍91
Напоминаю, что уже завтра стартует в Самаре конференция аналитиков Поволжья SAMBA_CONF

Завтра онлайн день, а в воскресенье будет оффлайн!

Жду с нетерпением, так давно такого не было в Самаре)

Я для участников подготовила воркшоп по EventStorming, сначала хотела с другой темой выступить, но так соскучилась сама по ES в живую, что решила все же пойти по уже знакомому пути.

Промокод на скидку 20% от меня
@ANALYTICAGAIN
👍2🔥1
animation.gif
13.3 KB
👋1000 дней с зелёной птицей👋

Когда я только начала заниматься в Duolingo, была в восторге! Игровые механики выкручены на максимум, добавила друзей и вот вы все собираетесь в баре, не общаетесь, а пытаетесь удовлетворить запросы Дуо, чтобы он не начал присылать вам угрозы. Заниматься каждый день получалось не всегда, но я старалась. Однажды даже в азиатском отеле, в отпуске, полчаса ждала, пока начнет работать wi-fi и я смогу сделать хоть одно задание.

После 900-го дня стало тяжко. Мотивация закончилась ещё на втором году, дисциплина уже иссякла. На фоне высокой нагрузки в других сферах я решила: всё, бросаю. В тот же день, ничего не зная, друг добавил меня в семейную подписку.
Проклятая 😗птица😗 снова захватила меня.

Есть ли эффект от ежедневных угроз? 👩‍🚀 Да, несомненно. Я точно не теряю свой уровень.

Может ли Дуо заменить полноценное обучение? Если просто делать упражнения и читать, что есть в приложении — нет. Это, кстати, и стало причиной скуки. Несмотря на геймификацию, словарный запас почти не пополнялся, речь не практиковалась вообще.

Да, я двигалась по внутренней шкале зелёной птахи. Но это просто механизм: tсли ты делаешь задания по мнению Дуо уровень растет. Даже если не растёшь на самом деле.

Несмотря на это, слезть сложно. Я целых 1000 дней уделила как такое бросить?

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

А кто ещё в плену 😪зелёной птицы😪 дайте знак и хвастайтесь своими успехами в комментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🔥2💯2
Форс-мажор как часть выступления

Уже 4 дня прошло после Самарской конференции аналитиков SAMBA_CONF а я еще ничего не сказала!

По традиции будет 2 части:

1️⃣ отзыв, как прошёл мой МК (и там сразу несколько форс-мажоров!),

2️⃣ впечатления от мероприятия в целом и других докладов.


😆Отзыв на саму себя😆

Считаю формат МК самым классным: здесь и практика, и нетворкинг. Но для меня как спикера есть проблема - пока ничего, кроме практики EventStorming, я стоящего не придумала. Увы.

Да и этим летом не было ни рабочих задач для EventStorming, ни сил, чтобы провести барный EventStorming. Поэтому я решила повторить классику в виде сессии EventStorming (хотя уже несколько новых докладов у меня уже намечены) .

Материал отработан, стикеры закуплены. Что может пойти не так?

😱Много всего 😱

Две недели до выступления прошли в режиме «выживи или умри». Готовиться приходилось по 20 минут в перерывах между сном и другой подготовкой. К воскресенью хотелось только, чтобы меня оставили в покое и дали поспать.

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

На фоне всего этого уже сидя в машине, я понимала, что энергии на спикерство у меня почти нет.

Не знаю, как бы всё прошло, если бы не другая проблема, которая в другой раз меня бы расстроила, а в этот стала палочкой-выручалочкой.

На мой МК пришло беспрецедентно мало людей. Причин было несколько: и удалённость зала, и параллельные доклады, и, наверное, слишком непонятное название «EventStorming на практике: из бизнес-событий в архитектуру».

В итоге нас было всего 5 человек. Даже на платных МК больше!

Но как же это было отлично!
Мы успели познакомиться, и это была невероятная компания: профессиональный кинолог, человек, который умеет стоять на голове, селекционер картошки, дизайнер и радиоинженер.
И вот мы начали творить EventStorming!

Было комфортно тупить, обсуждать, решать вопросы на месте и строить диалог. До конца дошли не все (так тоже бывает), но те кто дошел получили от меня памятные подарки. Как же оффлайн формат прекрасен для этого!

Что поняла для себя

👀 Для спикерства нужно много энергии. Это важно учитывать в планировании.
👀 Проводить один и тот же МК в рамках конференции (пусть даже с разными кейсами) скучно и сильно выматывает.
👀 Красивое место для выступления вдохновляет.
👀 Если мало людей легче отслеживать когда начинают скучать и можно среагировать быстрее.

В следующий раз, только с новыми докладами и, надеюсь, мастер-классами. (Воркшопы и посиделки «в баре» не в счёт, там всё-таки немного про другое 🙂)

На этом хватит обо мне. В след. посте поделюсь впечатлениями от самой конференции.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10
В одном городе на берегу Волги, на крыше с видом на неё, прошла уютная конференция самарских аналитиков и не только Samba_conf

Было спокойно, камерно, очень располагающе к общению, с сильными докладами. Атмосферу задавала автор конференции и школы СА Татьяна Крутова. Когда я вписывалась, я не очень знала, кто такая Таня. Но после конференции самарские аналитики писали мне с восторгом: «Ты была на конференции у Тани!». К этому моменту я уже сама понимала причину восхищения.

🔥Про доклады🔥

Под куполом собрались очень сильные хардовые специалисты. Я со своими 8 годами опыта чувствовала себя немного неуютно. Мысли, которые звучали, вызывали восторг и зависть («как же они так умеют, а я — нет»). Закрались мысли что многие крутые специалисты не доезжают до больших конференций, а здесь использовали возможность.

🤩 Когда я впервые увидела тему Сергей Семикина 🤩 "Все ли “проблемы” нужно решать? А если решать, то для чего и как?" я скептически подумала: ответ "Конечно нет!" о чем говорить то?. На деле Сергей разложил подход к этому вопросу по полочкам.

Понравилась мысль: проблемы не только нужно решать, но и уметь их «продавать». А перед решением спрашивать: «Что будет, если ничего не делать? Сколько стоит найти ответ на этот вопрос (анализ)?». Если стоимость решения выше последствий, решать не надо. Жёстко, но справедливо.

Отдельно запомнился момент: при проблемах все хотят защищаться. Но это мешает искать причины. Знакомо, очень знакомо.

В конце Сергей предложил делиться инсайтами в чат и строить на этом нетворкинг. Идея интересная, но аудитории почему-то не зашла.

До выступления 🤩 Татьяны Гудковой «Супервизия в IT: как психологический разбор рабочих ситуаций делает специалистов эффективнее» 🤩 я толком не знала, что такое супервизия. А это крутая практика которая обязательна если работаешь психологом, но отлично переносящаяся в ИТ. Это инструмент, который помогает справляться с синдромом самозванца, проблемами коммуникаций и выгоранием.

В свою работу я адаптированно забрала 2 приема:

В менторинге уточнять «На каком уровне человек хочет разбора вопроса?». (Я люблю увлечься деталями, а это не всегда нужно.)
В обратной связи коллегам спрашивать напрямую: «А как бы вы поступили в этой ситуации?».

И отдельный восторг: Татьяна практикующий системный аналитик и проф. психолог.

🤩Станислав Баничус в своем докладе «Франкенштейн — современная методология разработки ПО» 🤩 для меня открыл новую методологию Spotify (да, в честь одноименного сервиса). Сейчас это очень похоже на то, с чем мы работаем, но я впервые услышала, что это так называется. Мне хватило и этого, но плюс к харизма и ораторское мастерство спикера располагали просто слушать и вникать.

Завершала конференцию 🤩 Арина Сафронова 🤩. Для меня она стала глотком свежего воздуха на фоне «недоаналитиков рынка ИТ» в Telegram. К слову после её доклада я от большинства отписалась. Она чётко и честно обрисовала текущую картину рынка. Немного попугала, но и добавила позитива. А главное - предложила посмотреть на себя в этих реалиях. Было интересно и очень профессионально. Хотя были моменты, где я не была до конца согласна, но это воспринималось скорее как здоровое альтернативное мнение.
Из важного:

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

🔥 В общем, красивые виды не смогли отвлечь от докладов: было реально интересно. А вот усталость от нетворкинга накатила: в этот раз я почти не приставала к людям, просто слушала и мотала на ус.

🔥 В общем, ещё раз спасибо организаторам за возможность в родном городе увидеть людей, послушать классных спикеров и вдохновиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83
Плагины для Visual Studio Code для описания OpenAPI

Вообще описание OpenAPI-спецификации простая рутинная работа, которую можно поручать новичкам и где-то ИИ. Но я люблю иногда такие задачки оставлять на себе: когда постоянно работаешь с хаосом, рутина успокаивает и дает положительное подкрепление выполненной работы, среди долгоиграющих задач.

Но облегчать себе жизнь всё же нужно. И вот мой набор расширений для VS Code которые помогают в этом:

Редактор, проверка и валидация

🔧 YAML от RedHat🔧 Кажется, он всегда предустановлен. Но версия 1.18 косячная, лучше откатиться до 1.17. Это и редактор, и автодополнение, и переходы по $ref (в том числе между файлами). В целом может быть достаточно, если нет возможности ставить сторонние расширения.

🔧 OpenAPI (Swagger) Editor🔧 Есть шаблоны для новых документов, удобный редактор, очень нравится возможность ходить по дереву описанного документа.

🔧 Stoplight Spectral🔧 Линтер с готовыми правилами для OpenAPI. Фишка, что можно добавлять свои правила. Но пока я ленивая какашка, и не добавила в правила договорённостей в команде. Поэтому он меня часто раздражает, из-за своих правил. Но мы с коллегой договорились довести его до ума и встроить в процесс CI/CD (расскажу о результатах отдельно).

Предпросмотр

👀 Swagger Viewer 👀 Классика. Показывает, что же вы там понаписали и собирается ли это вообще. В последних версиях появился поиск — очень удобно.

Тестирование

🧪 Thunder Client 🧪 Простенький аналог Postman. Для большинства REST-задач мне хватает, плюс удобно, что всё прямо внутри VS Code.

Ну конечно еще ряд расширений для Git. Но там стандартный набор.

Вот такой нехитрый набор, который делает простую работу ещё проще. Рекомендую.

Расширения с ИИ для работы с OpenAPI-спецификацией ещё не искала, поэтому если знаете хорошие, делитесь!
🔥7👍1
Внезапно: Почему опытные айтишники учатся лучше новичков?!

Завершился летний поток курса от GetAnalyst по архитектуре, где я веду несколько уроков по брокерам. Это продвинутый курс, туда приходят чаще всего практикующие душнилы специалисты.

И какой же контраст с курсами для новичков! Вот что отличает учеников продвинутых курсов:

1️⃣ Им интересно. Они слушают, просят повторить, если что-то не поняли, осмысляют и реально делают ДЗ (хотя и не все).

2️⃣ Они задают вопросы. Много, неожиданные, дотошные. За 6 потоков вопросы ни разу не повторялись!

Отдельно хочу похвалить GetAnalyst: только у них я видела, что из-за вопросов могут добавить новые блоки в обучение или записать доп. уроки и материалы. Хотя сама программа и так продуманная.

Так что вопросы задавать не только можно, но и полезно.

3️⃣ У опытных специалистов выше процент посещаемости. Для меня это стало открытием. У людей, которые уже хорошо зарабатывают и давно в профессии, время на курс находится. А вот у тех, кто только хочет войти в профессию часто нет. И зачем вы нам такие нужны, а?

4️⃣ Делятся опытом и учатся друг у друга. Увы, не всегда. Но когда такие диалоги завязываются это очень интересно. Для меня это, пожалуй, самое ценное. В общем, продвинутые уровни, это когда учиться у соседа по парте не позор, а привилегия)

Вероятно, с опытом в ИТ люди учатся глубже мыслить и нести ответственность за своё обучение и знания.

С другой стороны, я сама чаще прохожу курсы как новичок. Молчу, прохожу только те уроки что мне интересны, как сталкер читаю переписки в чате, а копать предпочитаю в одиночку. А как вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
👀Не люблю работать с сеньорами

Самые сложные случаи работы в команде, где возникало больше всего проблем, были связаны с работой с сеньорами. Мне везло работать с классными, опытными специалистами, с которыми мы реализовывали различные фичи. Но что отличало большинство из них? Огромное количество опыта, знакомство с типовыми кейсами, уверенность в том, как должно быть.

Почему же возникали сложности?

1️⃣ Если сеньор видел, что где-то можно сделать лучше, он это делал, не предупредив и не выяснив, почему было выбрано другое решение.
К чему это приводило: переставало работать то, что уже давно работало, или происходили большие расхождения с требованиями.

2️⃣Свои гениальные решения сеньоры редко кому-то объясняют.
К чему это приводит: сборная солянка решений для однотипных задач. Команда не понимает, почему это решение лучше, обмен знаниями не происходит, рост затрудняется.

3️⃣Сеньоры часто пренебрегают чужим опытом. Они уже многое видели, и если чего-то не знают, значит, это ерунда.
К чему это приводит: к часовым созвонам и подготовке доказательств, почему твое решение имеет право на жизнь. Если это сочетать с пунктом 2, такие обсуждения превращаются в настоящие детективные расследования.

4️⃣Склонность к микроменеджменту.
К чему это приводило: меня всегда бесили те, кто из отпуска писали, что точка в ответе на ошибку важна. Лучше бы вы так делились своим опытом.

5️⃣Сеньоры не дают раскрыться другим специалистам, особенно джунам. Это такая айти-дедовщина.
К чему это приводит: часть новичков уходит, а другие становятся равнодушными. Ошибки начинают копиться, потому что всегда есть сеньор, который всё равно "достанет" тебя, как бы хорошо ты не сделал.

6️⃣Некоторые сеньоры, повидавшие "Г…", становятся равнодушными и токсичными. Часто они работают спустя рукава, а прикрываются нападками на других.
Помните мой пост про ретроспективу? Так вот, главный токсик был сеньором.

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

А как у вас обстоят дела в работе с сеньорами?

#СистемныйАнализ #КарьеравИТ #сеньор
14🤔2💯2
💃Я немного загуляла или срез августа💃

На этих выходных я немного загуляла: В субботу за обедом решила посмотреть «Удивительная миссис Мейзел», дальше на 12 часов все как в тумане: сериал, кошки, я , кровать. Ни о чём не жалею.

Если вы тоже ушли в загул и пропустили что было интересного в блоге, вот лучшая выжимка:

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

📌 Приняла участие в конкурсе блогов #продолжи_мысль_SE Не выиграла, но это был отличный повод поделиться новым для меня термином - харденинг. В свете атак, которые в августе сыпались на российские ИТ-компании, тема особенно актуальна.

📌 Под другим моим конкурсным постом развернулось отличное обсуждение про промты для ИИ Советую не пропустить: там стоящая вашего внимания ментальная карта (теперь без регистрации) от Крутого AI-аналитика. Кстати, именно она в конкурс выиграла!

📌 Разбирала на котиках что Swagger ≠ OpenAPI. В комментариях вышел не менее замечательный диалог, который вернул вопросу неоднозначность, и показал что между понятиями всё же можно ставить знак равенства.

📌Ну и без неудач этот месяц не прошел. Самый большой страх спикера выстрелил!

В общем август вышел насыщенным. Очень рада что уже появляются такие интересные диалоги и обсуждения под постами. Спасибо всем кто откликается. Ну а под этим предлагаю поделиться, какие сериалы и книги вас заставляли уйти в незапланированный загул)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94
Телу у DELETE: быть или не быть?!

Часть 1️⃣

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

Как правило, метод DELETE в REST API реализовывается без тела запроса. А над каким объектом совершаем действие указываем в URI.

 DELETE /resource/{id}


Что говорят стандарты

😮‍💨 В диссертации Роя Филдинга (родоначальника REST API) я нашла главу про REST на HTTP, но отдельные методы он подробно не разбирает.

😮‍💨 В стандарте по семантике HTTP (RFC9110, раздел 9.3.5) указывается, что тело у DELETE может быть. 🤪Но с пометкой, что семантика не регламентирована, поэтому нет гарантий, что оно будет обработано. Более того, некоторые серверы могут такой запрос отклонить из-за рисков атак.

😮‍💨 В OpenAPI 2.0 тело запроса не предусмотрено. Сколько раз на меня ругались линтеры не хочется вспоминать. Но вот уже в 3.0 такая возможность есть. Хотя и с пометкой возможного отклонение сервисами.

😎 Таким образом получается, что тело в DELETE вполне может быть. Вопрос только зачем?! 😎

😊 Множественное удаление 😊

Вполне возможно, что вместо 100 вызовов, типа
DELETE /items/{id} 

вам будет удобнее делать один
DELETE /items
{
"id": [1, 2, 3, 4]
}


😊 Удаление связей или под-ресурсов 😊
Когда в выбранном объекте нужно удалить, какую то его часть.

У Spotify есть отличный пример: удаление треков из плейлиста. + интересная работа со Snapshot.


DELETE /playlists/{playlist_id}/tracks
{
"tracks": [
{ "uri": "string" }
],
"snapshot_id": "string"
}


😂Удаление с условиями😂
Когда удаление, должно произойти, только если выполнилось некоторое условие. Я о таком читала только в книге, поэтому если сталкивались на практике поделитесь.

Ну а мне нравится, как ElasticSearch решают эту задачу без использования тела запроса

😂Подпись на удаление😂

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


DELETE /api/v3/userDataStream
{ "signature": "base64(hmac_sha256(secret, payload))" }



На практике тоже не встречала, но видела интересное обсуждение на форуме. В реальности, такой пример более «REST-канонично» можно реализовать, например как Binance.

Вероятно, могут быть другие кейсы. Я на практике использовала и встречала только 1 и 2. Поэтому если у вас есть такие из реальной практике поделитесь в комментариях 👀

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

Как раз о рисках я расскажу в следующей части.

#СистемныйАнализ #интеграции #RESTAPI #OPENAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4
Я честно ожидала более живого обсуждения под последним постом: не могу понять сложно или не интересно и все уже давно на gRPC?

Но раз от вас интересных примеров в комментариях не прилетело, вот еще несколько вариантов, когда у DELETE есть тело запроса.

1) Указание невалидного токена в теле в Oauth2. Другой пример от них же пример с API key. API Elastic Search вообще для меня находка для изучения. Много спорного, но интересно.

DELETE /_security/oauth2/token
{
"token" : "токен который нужно отозвать"
}


2) Частичное удаление из коллекции есть ArangoDB и WB

3) Массовые операции, в необычной реализации есть у Яндекса.

#интеграции #RESTAPI #OPENAPI
2
Тело у DELETE: риски разработки

Окей, решили, что у DELETE будет тело запроса. С чем мы, как разработчики, можем столкнуться?

1️⃣ Множественное удаление

1️⃣ Ваша ролевая модель должна предусматривать, что «можно удалить всё».

2️⃣ Нагрузка на БД. Нужно осмысленно формировать запросы и проводить нагрузочные тестирования.

3️⃣ Допустим, из 4 объектов удалились первые 2, а на 3-й не хватает прав. Что будете делать? Отдавать частичный успех (207)? Откатывать удаление? Или продолжать удалять дальше?

4️⃣ DELETE должен быть идемпотентным (по стандарту). Для вас критично, если это не так?

2️⃣ Удаление подресурсов

1️⃣ Здесь снова упираемся в права. У вас должны быть права не только на каталог, но и на его объекты и действия с ними. Бывают и такие тонкости: права на работу с объектами и каталогом есть, а на изменение конкретных связей — нет. Это не всегда очевидно до тестирования.

2️⃣ Все те же проблемы, что и при массовом удалении, если оно предусмотрено.

3️⃣ Удаление по условиям
1️⃣Удар по производительности: чем сложнее фильтр, тем тяжелее запрос.
2️⃣Есть простор для инъекций. Нужно реализовать «белый список» условий и операторов, плюс заморочиться с валидацией.

3️⃣Условия могут быть массовыми → добавляем к этому риски массового удаления.

4️⃣ Подпись операции
Здесь я совсем не эксперт, но отмечу из общей практики:

1️⃣ Возможность утечки. В заголовках (Authorization, Cookie/Set-Cookie, X-Api-Key, X-Signature) обычно можно скрыть данные настройками. А вот в теле запроса это уже на вас: или не логируете тело, или делаете белый список полей.

2️⃣ Потребуются настройки прокси, чтобы они понимали, как работать «с таким сюрпризом».

3️⃣ Если вы используете готовые фреймворки для возврата ошибок, убедитесь, что они не вернут всё тело запроса в ответ целиком.

Ну и помним что не все SDK и сервисы работают с телом запроса у DELETE.

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

Ну а теперь у нас есть понимание: у DELETE тело может быть, но перед этим стоит семь раз подумать. Насколько это было полезно и занимательно отметь реакциями.

👍 - Да, больше таких постов
👀 - сложно и не понятно
👎🏼 - это уже давно всем известно\я могу посмотреть это в ИИ
🤡 - я читаю ради развлекательного контента, а не вот это все
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👎1
В прошлом сентябре я подала заявку в программу Mentor in Tech

Это программа БЕСПЛАТНОГО наставничества для ЖЕНЩИН от сообщества Women in Tech. Наставниками могут стать все желающие с опытом 3+ лет в направлениях, объявленных на сайте. А вот участие в роли менти ориентировано только на женщин.

Механика простая: и наставники, и менти подают заявки через телеграм-бот, где подробно рассказывают о себе, своём опыте и запросах. Затем по совпадениям формируются пары. В течение 3–4 месяцев они встречаются минимум трижды, чтобы разбирать запросы менти.

До прошлого года я никогда не задумывалась и не осмысляла все нюансы «свободного» наставничества. Поэтому программа стала для меня открытием именно в плане обучения менторов.

Общение с менти (у меня их было трое) тоже оказалось крайне полезным: я росла как специалист и расширяла свои границы. Хотя сегодня оцениваю себя как ментора в этой программе скорее средне. Но это как говориться совсем другая история.

Главное, что я вынесла с программы: «В менторстве всегда участвуют два взрослых человека». Простая мысль, но очень важная для обеих сторон.

От души рекомендую программу и менторам, и тем кому нужна помощь в наставничестве.

Я уже подала заявку! Правда, в этот раз, в роли менти.

#КарьеравИТ #ментор #наставник
10🤡1
ЛИНТЕР придёт и покажет, кто плохо себя вёл

В постах я пару раз упоминала линтер, и у многих возникал вопрос: что это вообще за чудо?

Так называют небольшие утилиты, которые анализируют код ещё до компиляции и ищет ошибки, проблемы и подозрительные конструкции. Внутри они содержат набор правил, которым должен соответствовать код.

Я, как аналитик, чаще всего сталкиваюсь с линтерами при работе с OpenAPI и AsyncAPI спеками. Ещё один линтер был по моим требованиям написан для запросов к нашей БД.

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

А ещё линтер не устаёт. В отличие от тимлида, он будет ворчать на твой код даже в 3 часа ночи.

#автоматизация #глоссарий
8
Безумные выходные: Как из Event Storming рождается System Design

После майского воркшопа по Event Storming мне дали обратную связь: «Классно, но что дальше? Как вообще Event Storming соединять с архитектурой?»

Было и ещё одно замечание: "кейс слишком узкоспециализированный и простой". Я долго думала над выбором примера, и он был таким осознанно. Но поставив себя на место участников, поняла: да, хочется кейсов амбициозных, таких, от которых сразу мысль: «Вау!»

Сложив всё это вместе, я пошла ныть закидывать идеи Андрею Буракову.

Так родились безумные выходные: Event Storming + System Design Club, где будем разбирать процесс выпуска пластиковых карт. Про сам клуб я уже рассказывала здесь.

Для меня, как ведущей, это вызов: кейс не из моей профессиональной сферы, в рамках МК нужно строже следить, чтобы результат перетек к следующий этап. Сейчас активно меняю механику, чтобы команды не ушли слишком глубоко в дебри.

С другой стороны, для участников задача станет проще: понятна цель на Event Storming, а агрегаты на следующем этапе будут восприниматься легче. И может, наконец-то, получится наглядно донести что это такое.

Формат тестовый, и, возможно, повторений не будет.

👉 Поэтому успевайте: 27–28 сентября с 10 до 14 мск.
🔥3👍2