На днях у меня произошла замечательная история про помощь AI (Claude, ChatGPT).
Задача:
На одном из проектов я использую Snowflake. Для повышения безопасности я решил обновить сервисных пользователей и перевести их с User/Password на User/Key-pair (private/public key).
Многие системы поддерживают этот метод из коробки, например dbt Labs, Sigma BI, Azure Data Factory. Однако некоторые не поддерживают его вовсе, что, конечно, не очень хорошо. Например, сервис блокнотов DeepNote.
Также, как и на нашем недавнем вебинаре по dbt core на Postgres, у меня есть CI (Continuous Integration) шаг, который запускает dbt.
Раньше я передавал пароль пользователя в GitHub Actions через GitHub Secrets.
Теперь же решил передать private key.
Вместо того чтобы просто скопировать ключ в GitHub Secret как есть, я решил спросить у чата, как сделать это быстро и правильно.
Чат не предложил просто вставить ключ (copy-paste), а начал чудить с декодированием, типа:
Base64 кодирует данные в этот формат, и я сохраняю результат в GitHub Secret.
Затем он предложил в YAML-файле GitHub Action обратно декодировать его с помощью:
При этом вместо secret он предложил использовать переменную env, из-за чего мой ключ попадал в логи в открытом виде.
В итоге простая задачка неожиданно превратилась в небыструю.
Чат предлагал столько разных вариантов работы с ключами, вплоть до модификации логов, чтобы спрятать ключ от посторонних глаз.
В конце концов я просто сохранил ключ как есть – и всё заработало.
Кажется, у всех бывают такие истории. Хотел как лучше, а получилось как всегда. Уже даже мемы на эту тему есть – как бот пишет код за 5 минут, а мы потом часами его траблшутим. 😅
Задача:
На одном из проектов я использую Snowflake. Для повышения безопасности я решил обновить сервисных пользователей и перевести их с User/Password на User/Key-pair (private/public key).
Многие системы поддерживают этот метод из коробки, например dbt Labs, Sigma BI, Azure Data Factory. Однако некоторые не поддерживают его вовсе, что, конечно, не очень хорошо. Например, сервис блокнотов DeepNote.
Также, как и на нашем недавнем вебинаре по dbt core на Postgres, у меня есть CI (Continuous Integration) шаг, который запускает dbt.
Раньше я передавал пароль пользователя в GitHub Actions через GitHub Secrets.
Теперь же решил передать private key.
Вместо того чтобы просто скопировать ключ в GitHub Secret как есть, я решил спросить у чата, как сделать это быстро и правильно.
Чат не предложил просто вставить ключ (copy-paste), а начал чудить с декодированием, типа:
cat rsa_github_dbt_dev_user.p8 | base64
Base64 кодирует данные в этот формат, и я сохраняю результат в GitHub Secret.
Затем он предложил в YAML-файле GitHub Action обратно декодировать его с помощью:
base64 --decode
При этом вместо secret он предложил использовать переменную env, из-за чего мой ключ попадал в логи в открытом виде.
В итоге простая задачка неожиданно превратилась в небыструю.
Чат предлагал столько разных вариантов работы с ключами, вплоть до модификации логов, чтобы спрятать ключ от посторонних глаз.
В конце концов я просто сохранил ключ как есть – и всё заработало.
Кажется, у всех бывают такие истории. Хотел как лучше, а получилось как всегда. Уже даже мемы на эту тему есть – как бот пишет код за 5 минут, а мы потом часами его траблшутим. 😅
💯63🙈9❤🔥5👨💻4
В заключение поездки побывали в центре LA, чтобы покататься на Waymo (автономное такси). Утром еще были в Santa Monica, но был туман. Первый раз попробовал кабриолет и ford mustang. Выглядит круто, но шумоизоляция ужасная даже с закрытой крышей. Зато californication 100%
❤🔥58💯5⚡2
Не знаю насколько это новинка или нет, но народ говорит прям must have!
Компания: Что вы сделали в этом году, чтобы принести пользу? Укажите все соответствующие метрики.
Я: Я ускорил сборку кода на 90%, сэкономив время разработчиков и расходы на тестирование.
Компания: Вау, как вам это удалось?
Я: Бесчисленные часы оптимизации.
Я [в реальности]: s/pip/uv pip 😆
Компания: Что вы сделали в этом году, чтобы принести пользу? Укажите все соответствующие метрики.
Я: Я ускорил сборку кода на 90%, сэкономив время разработчиков и расходы на тестирование.
Компания: Вау, как вам это удалось?
Я: Бесчисленные часы оптимизации.
Я [в реальности]: s/pip/uv pip 😆
🌚28💯4🗿4🐳2🤷2⚡1💘1