Как обойти ограничение для m2m клиентов в Auth0

В Auth0 есть два способа получить токен: Создать аккаунт для пользователя Создать m2m клиент с определенными правами. Разработчики Auth0 дали возможность хранить дополнительную мета-информацию в аккаунтах и клиентах. Если в аккаунте человека нет ограничения на объем данных - в поле можно записать текст размером до 16 мб - то для m2m у нас в распоряжении только 10 полей по 255 символов каждый. Даже на небольшой массив места не хватит. В проекте мы активно применяем метаинформацию аккаунтов для формирования токена, такие же правила хотим применить и для m2m клиентов. Хочу напомнить, что формирование токена можно кастомизировать с помощью кода на JS, который будет вызван как коллбек на события в Auth0 Flows. К сожалению, ограничения не дают нам такой возможности. Какие у нас есть варианты: ...

May 8, 2023 · 3 min · Maxim Gorbatyuk

Осознанный подход к карьере. Конспект доклада

От автора блога Посмотрел доклад Анастасии Калашниковой “Правила осознанной карьеры разработчика” по наводке блоггера. Тема мне показалась интересной, орешил сделать конспект. Рефлексия для меня - это умение остановиться и спросить себя, а не хурму ли я делаю и какие будут последствия в будущем. Действительно, во время работы легко увлечься рутиной и забыть рефлексировать. Тем не менее, нужно останавливаться, ведь это еще и часть обучения. Мало послушать доклад, важно еще и понять, не зря ли его ты послушал и какие полезные советы и практики можно извлечь из него, а тут без рефлексии никуда. ...

April 2, 2023 · 9 min · Maxim Gorbatyuk

Chat GPT - это ассистент, а не замена

Решил обновить домен для моего блога и сменить его на mgorbatyuk.dev. Мой блог хостится на GitHub Pages, поэтому смена домена не заняла много времени. Есть подробная документация, но мне стало интересно, есть ли удобный туториал а-ля “делай это, затем это, потом то, далее сё, и получишь результат” без дополнительных пояснений. Спросил у ИИ, и он дал такой туториал. Круто, что можно задавать уточняющие вопросы. В работе я постоянно пользовался GitHub Copilot и до релиза Chat GPT, мне он помогал генерировать разные утилитарные методы, которые не зависили от бизнес логики: хэширование пароля, чтение из файла, валидации, etc. Особенно много мне копайлот помог с разработкой приложения на Angular: едва ли не весь код работы с файлами и формами там был написан им, а я лишь проверял работоспособность и больше думал о бизнес-логике. Теперь появился чат с ИИ, который помогает начать осваивать новые знания - я спрашиваю, с чего мне стоит начать изучение, и он подскажет ресурсы. ...

March 26, 2023 · 2 min · Maxim Gorbatyuk

Code quality first vs business value first

TLDR: Я считаю, что на проекте за качество ответственны только разработчики, значит они должны думать больше о качестве, чем о бизнес-ценности. Но есть нюанс. Disclaimer: под термином “разработчики” в посте я имею в виду и программистов, и тестировщиков. Code quality Разработчики должны понимать, что деньги для них берутся не из тумбочки, но и проект вряд ли будет приносить деньги, если стабильность оставляет желать лучшего. В интернете масса статей, где пишут, что нужно соблюдать баланс между качеством и скоростью доставки на продакшн, но такой совет звучит как “варить суп до готовности” - непонятно, как искать этот баланс. ...

March 20, 2023 · 6 min · Maxim Gorbatyuk

Вредные советы по тестированию программ

Disclaimer: Советы ниже - вредные, доверять им не стоит. Антипаттерны придуманы не мной. В статье я стараюсь дать примеры, на которых будет видно, почему такие подходы и назвали антипаттернами Код юнит-тестов - это не second-class код, его тоже нужно писать поддерживаемым, читаемым и понятным для остальных ребят в команде. Курсивом - вредный совет, обычным шрифтов - пояснение. 0. Кукушка (Cuckoo, aka Stranger) Твой класс делает запросы к внешним системам? Отлично, проверь и вызовы тоже вместе с выходными данными. Кому хуже будет? ...

March 4, 2023 · 25 min · Maxim Gorbatyuk

Любые процессы разработки должны быть явными

Картинка взята отсюда Очевидные вещи нужно проговаривать Так говорил мой тимлид, закончивший юрфак, но ушедший в айти. Говорил он так о процессах разработки: свод правил, по которым работает команда. Этакий кодекс программиста отдела N. Этот свод правил должен быть публичным и каждый должен знать, где его прочесть. Но зачем нужно описывать то, что и так всем известно? Давайте обсудим. Правила работы в команде есть всегда, даже если они нигде не описаны и никем не проговорены. Так складывается исторически, что Ваня лучше знает платежи, Петя - как настроить тестовое окружение, а Юля - что делать, если нашел баг. И тот, кто уходит в отпуск, начинает получать сообщения в мессенджеры: “сорри что пишу, но …..”. В такой среде легко допустить ошибку, особенно новичкам. Еще хуже, когда даже не знаешь, кого можно спросить в критичный момент. ...

February 26, 2023 · 7 min · Maxim Gorbatyuk

Говори красиво. Выступай легко. Шпаргалка

Этот текст - шпаргалка по книге “Говори красиво. Выступай легко” от Нины Зверевой и Светланы Иконниковой. Я считаю, что книга очень полезная, но в ней много информации, которую легко забыть. Поэтому я решил сделать шпаргалку, чтобы в будущем можно было быстро вспомнить основные моменты. Часть 1. Сторителинг В любой истории есть герой. Во время истории с ним что-то случается, причем неожиданно. Плохое, хорошее, веселое, трагическое - любое. Нельзя Можно Рассказывать истории долго Уложить историю в 1-2 минуты Ничего не сообщить о герое - какой он, чего хочет, как выглядит В начале истории презентовать главного героя В самом начале рассказать концовку Держать интригу 10 инструментов рассказчика: Внятная речь Интонация Ваши глаза. Поглядывай по 2 сек на зрителей в разных частях ацдитории. Слова в начале истории. Как-то нужно зацепить слушателя. Тайминг. История - не более трех минут. Сдержанные эмоции. Рассказываешь анекдто - будь невозмутим. Паузы. Не будь монотонным. Картинки и фотографии. Юмор. Шути над собой, люди сильнее уважают тех, кто над собой смеется, чем тех, кого распирает от чсв. Метафоры. Части истории: Вступление. Описываем героя. Описываем быт героя, чем он живет. Что-то происходит, что влияет на жизнь героя. Возникла проблема или опасность. Подробно рассказываем, что чувствует герой. Как весь мир рухнул, как стало плохо жить. Герой собирается с духом, делает нечто для исправления ситуации. Итог. Герой пожинает лавры, возвращается к привычному. Быстро проходимся по пунктам 1-3, затем долго рассказываем о переживаниях в пункте 4, затем быстро идем по пунктам 5 и 6. ...

February 8, 2023 · 9 min · Maxim Gorbatyuk

How to increase nuget package version automatically with Github Actions

Why do you need to increase the version of the nuget package? When you push a new nuget package to nuget.org, you need to increase the version of the package. Otherwise, you will get an error. I will show you how to do it automatically with Github Actions. As an example, I will use my nuget package MaximGorbatyuk.DatabaseSqlEndpoints. TL;DR You need github.run_number variable to increase the version, The release.yml file as example for you, Code example - MaximGorbatyuk.DatabaseSqlEndpoints. Workflow Usually, I use the following workflow: ...

February 3, 2023 · 4 min · Maxim Gorbatyuk

Совету начинающему тимлиду

Disclaimer У меня есть опыт руководства командой, которая находилась в одной локации. Советы актуальны и для распределенных команд, однако для них стоит учесть разные таймзоны. Когда я пишу “разработчики”, я имею в виду не только программистов, но и тестировщиков, аналитиков, дизайнеров и всех, кто выполняет задачи бизнеса и помогает строить продукт. 1. Ты - не разработчик Время, когда можно было несколько часов подряд кодить, закончилось. Теперь твоя личка в распоряжении ПМа, продакта, бизнес-аналитика, тестировщиков и разработчиков. У тимлида всегда хотят что-то узнать, посоветоваться с ним, согласовать решение, пожаловаться на товарища. Молодому тимлиду нужно быть готовым к этому и расставлять приоритет. ...

January 3, 2023 · 6 min · Maxim Gorbatyuk

Тайм-менеджмент для студентов

Тайм менеджмент Тайм-менеджмент - дело одновременно сложное и простое: с одной стороны - делай все вовремя, но с другой - почему же с тайм-менеджментом у многих беда? Вроде занимаешься какими-то делами в течение дня, под вечер устаешь, а перед сном вдруг понимаешь, что не успел сделать еще кучу дел. Решаешь завтра обязательно сделать все, что нужно, но и следующим вечером понимаешь, что снова ничего не успел. Давайте разбираться в чем причины и как с этим быть. ...

November 2, 2022 · 8 min · Maxim Gorbatyuk