Говоря о функциях, правильно рассуждать о том чтобы она получала какие-то данные и возвращала какие-то данные. Однако, в некоторых случаях мы можем изменить что-либо внутри функции и это будет иметь последствия для кода снаружи, даже не присваивая ее результат. Рассмотрим следующий пример, как думаете, какой будет результат? Правильный ответ — «5 2». Изменив атрибут у…
Python vs Bash в ежедневных задачах
Я всегда считал, что для повседневных задач в небольших скриптах куда проще использовать Bash — он нативный для запускаемой системы, а функционала, который предоставляют системные утилиты — вполне достаточно. Однако для более сложных задач, таких как анализ данных, я предпочитаю использовать Python. Недавно я разрабатывал новый скрипт, который анализирует большое количество файлов, причем некоторые из…
Заметка про Helm, Secrets и stringData
Проблема При использовании Secrets типа stringData обнаружил проблему, что если вы удаляете в inventory какие-либо ключи из этого объекта, то после деплоя helm не удаляет эти ключи в конечном объекте, а оставляет их, удаляя значения. В OpenShift это выглядит так: Это затрагивает любые чарты, потому что проблема не в рендеринге шаблонов, а в моменте когда…
Зачем DevOps’у ООП с его классами и прочим
Долгое время после изучения основ python меня мучало два вопроса: Решая небольшие задачи и правда очень сложно найти им применение. Сейчас же я до сих пор не отрицаю, что любую задачу можно решить скриптом-одностраничником не используя всех доступных нам возможностей, однако такие скрипты будет очень сложно сопровождать не только левому человеку, но и Вам. Даже…
Личный джун на базе chatgpt
Про сhatgpt уже слышно из-под каждого утюга, поэтому я решил проверить, на что сегодня способны нейросети в контексте написания кода. Как попробовать самостоятельно https://chat.openai.comChatgpt сегодня доступен бесплатно, пока происходит «research preview». Потом, вероятно, они перейдут на платную модель использования, как и другие сетки openai.com. Для регистрации понадобится VPN, а так же подтверждение номера своего телефона,…
Несколько учетных записей git
Наверняка многие сталкивались с ситуацией использования нескольких git конфигураций. Например, одна рабочая, а вторая — личная. Раньше я использовал мини-функцию в .zshrc, которая мне клонировала репозиторий и задавала необходимые для этого репозитория user.name и user.email в локальный gitconfig. Вариант хоть и рабочий, но не очень удобный. Не всегда удобно через консоль, иногда вам необходимо более…
Как облегчить трекинг времени
Большая часть людей, работающая в IT сфере трекает время — заполняет таблицы/формы/джиру. Я это делаю в двух компаниях, соответственно на двух ресурсов. Одна из компаний при этом требует, чтобы я это делал каждый день. Порой бывает трудно себя заставить в конце рабочего дня открывать эти ресурсы и заполнять 90 процентов однотипных полей, а потом еще…
Быстрая установка oh-my-zsh с полезными плагинами
Переезжая с рабочего окружения на новое в какой-то момент я устал от постоянной настройки консоли, где-то торопишься и забываешь что-то установить, где-то забываешь «как оно работало». В идеальности, можно автоматизировать процесс использовав всякие утилиты типа «dotfiles» или Ansible. Но нет ничего надежнее простой и понятной инструкции в том числе и для тех, кто пробует настроить…