Коллеги, всем привет 👋🏻
💬 Сегодня захотелось просто поделиться историей. На прошлой неделе были всей командой в командировке, это по-своему классно. Благо еще нам повезло с погодой (на тот момент). Удалось обсудить планы по задачам на ближайшее время, теперь всем есть чем заняться.
Но самое интересное, конечно же, не про работу. Мне только пришли оставшиеся детали на велосипед, и я все по нему доделал, как сразу подошло время забирать мотоцикл с хранения.
И я даже нашел время это сделать, но теперь погода испортилась и пока не выходит привести мот в порядок. Чуть попозже расскажу вам, что за мотик будет в этом сезоне, и как я придумал печатать детали для него (только пока никак не получается это сделать красиво)🔥
⏩ Делитесь, как ваши дела с наступлением теплого сезона?
Но самое интересное, конечно же, не про работу. Мне только пришли оставшиеся детали на велосипед, и я все по нему доделал, как сразу подошло время забирать мотоцикл с хранения.
И я даже нашел время это сделать, но теперь погода испортилась и пока не выходит привести мот в порядок. Чуть попозже расскажу вам, что за мотик будет в этом сезоне, и как я придумал печатать детали для него (только пока никак не получается это сделать красиво)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4
Про деньги, как о них говорить и о том, каким образом обсуждение з/п ожиданий влияет на рынок труда⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
Приветы! На связи Аниса 👸
Замечаю много обсуждений на рынке труда по следующему вопросу:
Существует ли черный список кандидатов?
Отвечаю серьезно с серьезным лицом по серьезной теме.
Нет. Никакого черного списка кандидатов среди компаний и их HR не существует.
Да, у Роструда с 2025 года есть реестр недобросовестных работодателей, нарушивших ТК РФ, что подтверждено в суде. Но речь здесь именно про компании.
На мой взгляд, создание черного списка кандидатов провоцирует занесение компаниями в этот список своих топовых сотрудников, чтобы их не хантили. Лютый стонкс!↗️
А также много субъективности и нездорового перекоса в карьерных взаимоотношениях между компанией и кандидатом.
Какие ещё мифы/факты вы встречали? Пишите в комментариях — будем вместе разбираться, что есть что)
Замечаю много обсуждений на рынке труда по следующему вопросу:
Существует ли черный список кандидатов?
Отвечаю серьезно с серьезным лицом по серьезной теме.
Да, у Роструда с 2025 года есть реестр недобросовестных работодателей, нарушивших ТК РФ, что подтверждено в суде. Но речь здесь именно про компании.
На мой взгляд, создание черного списка кандидатов провоцирует занесение компаниями в этот список своих топовых сотрудников, чтобы их не хантили. Лютый стонкс!
А также много субъективности и нездорового перекоса в карьерных взаимоотношениях между компанией и кандидатом.
Какие ещё мифы/факты вы встречали? Пишите в комментариях — будем вместе разбираться, что есть что)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6💯5
История работ на Gitlab. Часть 1💬
Друзья, всем привет! Сегодня расскажу одну историю из моей практики.
Однажды перед нами встала довольно понятная задача: в связи с ростом нагрузки и горизонтальным масшатбированием инстанса потребовалось вынести Sidekiq на отдельный хост.
🔴 Схема была такой: делаем основной хост с API и всем тем, что осталось и новый отдельный хост под Sidekiq. Мы проверили, что у Sidekiq есть необходимый сетевой доступ, на основном GitLab‑узле Sidekiq отключили, а на новом сервере включили.
Итог: все основные тесты прошли успешно. Стандартные фоновые задачи работали нормально. Пайплайны запускались, джобы отрабатывали без явных ошибок. А вот с динамическими пайплайнами возникла проблема, они не могли найти артефакты.
⏩ Как это выглядело
Джоба, которая должна была читать артефакты предыдущего стейджа, падала с ошибкой о том, что артефакты не найдены. Но при этом:
• В UI GitLab артефакт у предыдущей джобы был, его можно было скачать руками.
• Логи runner’а показывали стандартный запрос за артефактами, а затем падение на стороне GitLab.
Ошибка проявлялась именно в сценариях с динамической генерацией. Ну как ошибка...даже не ошибка
Чем-то похожие проблемы нашлись тут и тут.
Если логически предположить, что теперь он ищет артефакты не там, значит выносим все артефакты, чтобы условия были единые. Для этого унесем их в S3, так как его можно использовать для хранения разных объектов. НО на тот момент артефакты всё ещё лежали на локальном диске. После вынесения Sidekiq эта схема стала особенно хрупкой.
🔴 В итоге
• Унесли все CI‑артефакты в S3‑совместимое object storage
• Привели конфигурацию к единой схеме хранения, чтобы и web, и Sidekiq работали только через объектное хранилище.
• Динамические пайплайны перестали падать, GitLab стабильно находил объекты, а Sidekiq корректно обрабатывал джобы, завязанные на артефакты. Все, можно применять на проде?
Как бы не так. Новая проблема – сломавшиеся GitLab Pages❌
Как только мы пофиксили одну проблему, вылезла следующая. Пользователи начали жаловаться, что GitLab Pages перестали открываться, часть проектов стала отдавать 404, а новые деплои страниц как будто вообще не происходили. То есть:
• В репозиториях джобы pages отрабатывали успешно.
• В файловой системе на стороне GitLab мы видели новые сборки в директории, которая служит storage для Pages
• При обращении к GitLab Pages через домен выдавался 404, пока не перезапускали gitlab-pages.
В нашем случае наложились сразу несколько факторов. И пути хранения перенастроенные (после ухода в object storage артефактов), и отдельный сервер Sidekiq, который обрабатывает джобы, отвечающие за публикацию Pages.
⏩ В результате, gitlab-rails и Sidekiq думали, что Pages задеплоены на s3, складывали контент в нужное место, но сам Pages искал pages_deployments на файловой системе. Прям как тут.
Решение вроде бы простое:
• Проверяем, что все пути совпадают и перезапускаем сервис.
• Видим, что Pages вернулись к жизни и начали стабильно подхватывать новые деплои без ручных перезапусков.
🔴 Но тестирование снова не проходит. Теперь у пользователей не находятся SSH ключи.
Это последний неприятный эффект, который мы получили «бонусом» после всех изменений. Но о нем в следующей части)
Друзья, всем привет! Сегодня расскажу одну историю из моей практики.
Однажды перед нами встала довольно понятная задача: в связи с ростом нагрузки и горизонтальным масшатбированием инстанса потребовалось вынести Sidekiq на отдельный хост.
Итог: все основные тесты прошли успешно. Стандартные фоновые задачи работали нормально. Пайплайны запускались, джобы отрабатывали без явных ошибок. А вот с динамическими пайплайнами возникла проблема, они не могли найти артефакты.
Джоба, которая должна была читать артефакты предыдущего стейджа, падала с ошибкой о том, что артефакты не найдены. Но при этом:
• В UI GitLab артефакт у предыдущей джобы был, его можно было скачать руками.
• Логи runner’а показывали стандартный запрос за артефактами, а затем падение на стороне GitLab.
Ошибка проявлялась именно в сценариях с динамической генерацией. Ну как ошибка...даже не ошибка
"exception.class": "Gitlab::Ci::Artifacts::DecompressedArtifactSizeValidator::FileDecompressionError",
"exception.message": "File decompression error",
Чем-то похожие проблемы нашлись тут и тут.
Если логически предположить, что теперь он ищет артефакты не там, значит выносим все артефакты, чтобы условия были единые. Для этого унесем их в S3, так как его можно использовать для хранения разных объектов. НО на тот момент артефакты всё ещё лежали на локальном диске. После вынесения Sidekiq эта схема стала особенно хрупкой.
• Унесли все CI‑артефакты в S3‑совместимое object storage
• Привели конфигурацию к единой схеме хранения, чтобы и web, и Sidekiq работали только через объектное хранилище.
• Динамические пайплайны перестали падать, GitLab стабильно находил объекты, а Sidekiq корректно обрабатывал джобы, завязанные на артефакты. Все, можно применять на проде?
Как бы не так. Новая проблема – сломавшиеся GitLab Pages
Как только мы пофиксили одну проблему, вылезла следующая. Пользователи начали жаловаться, что GitLab Pages перестали открываться, часть проектов стала отдавать 404, а новые деплои страниц как будто вообще не происходили. То есть:
• В репозиториях джобы pages отрабатывали успешно.
• В файловой системе на стороне GitLab мы видели новые сборки в директории, которая служит storage для Pages
• При обращении к GitLab Pages через домен выдавался 404, пока не перезапускали gitlab-pages.
В нашем случае наложились сразу несколько факторов. И пути хранения перенастроенные (после ухода в object storage артефактов), и отдельный сервер Sidekiq, который обрабатывает джобы, отвечающие за публикацию Pages.
Решение вроде бы простое:
gitlab_rails['object_store']['objects']['pages']['bucket'] = 'gitlab-pages'
• Проверяем, что все пути совпадают и перезапускаем сервис.
• Видим, что Pages вернулись к жизни и начали стабильно подхватывать новые деплои без ручных перезапусков.
Это последний неприятный эффект, который мы получили «бонусом» после всех изменений. Но о нем в следующей части)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👀6❤5😱1
Коллеги, приветствую👋
Рад сообщить, что Слёрм анонсировал новый курс: Интенсив по погружению в GIT
Как проходит обучение:
➡️ 10 дней практики по 2–3 часа в день
➡️ Видеоуроки + текстовые гайды
➡️ Разбор заданий от эксперта
➡️ Командный проект с ретроспективой и проектом в портфолио
⏩ Автор и спикер курса: Кирилл Казарин, менеджер глобальных направлений DevOps/SRE в RingCentral Inc. Стаж в администрировании — 15 лет.
⏩ Старт: 20 мая
⏩ ПОЛУЧИТЬ НОВЫЕ ЗНАНИЯ
Рад сообщить, что Слёрм анонсировал новый курс: Интенсив по погружению в GIT
Как проходит обучение:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
Приветы! На связи Аниса 🤓
Легендарныедолгожданные майские начались!
Включаем режим качественного отдыха и перенимаем Правила жизни моего уважаемого альфа-кота Сырка(фото прилагаю в обязательном порядке):
Правило 1:
Сон — наш союзник
Правило 2:
Любопытство — путь к развитию
Правило 3:
Здоровый эгоизм — необходимая часть личности
Как считаете, база?
Обязательно делитесь фотками и мудростями своих пушистых домочадцев в комментариях — часто они и правда делают нас лучше)
Легендарные
Включаем режим качественного отдыха и перенимаем Правила жизни моего уважаемого альфа-кота Сырка
Правило 1:
Сон — наш союзник
Для современного кота и человека очень важно перезагружаться. Выходной — прекрасная возможность успокоиться и позволить себе вздремнуть после прогулки😴
Правило 2:
Любопытство — путь к развитию
Будь то исследование картонной коробки или истории возникновения египетских пирамид — всё это добавляет интереса к жизни и позволяет сохранить себя в роли не только работника, но и человека, самого себя.
Правило 3:
Здоровый эгоизм — необходимая часть личности
Не нравится, как гладят — уходим в домик, а если чувствуем перегруз в работе — говорим «нет» новым задачам или предлагаем двигать приоритет текущих (об этом, кстати, был пост). Быть хорошим для всех равнозначно потере самого себя.
Как считаете, база?
Обязательно делитесь фотками и мудростями своих пушистых домочадцев в комментариях — часто они и правда делают нас лучше)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6💯3
История работ на Gitlab. Часть 2💬
Мы остановились на проблеме с SSH‑доступом. Часть пользователей неожиданно перестала подключаться по SSH:
• Ключи в UI GitLab были видны, как добавленные.
• При попытке клонирования или git fetch GitLab запрашивал пароль или возвращал ошибку «Permission denied (publickey)».
🔴 В чем суть
• Когда Sidekiq был на том же сервере, он читал /var/opt/gitlab/.ssh/authorized_keys и было нормально.
• Когда мы вынесли его, он начал писать в свой /var/opt/gitlab/.ssh/authorized_keys на ноде сайдкика.
Произошла потеря мапинга ключа и прав пользователя, которая через БД. Помог ребилд этого файла из БД gitlab-rake gitlab:shell:setup. Но при добавлении или изменении ключа он писал новую инфу снова на ноду сайдкика. И так по кругу.
Решили проблему вот так.
А теперь финальное, сломалось покрытие кода. Просто перестал работать данный функционал.
Для code coverage Sidekiq парсит job.log в рилтайме, но процесс лога джобы такой, что он пумой кладётся на ФС гитлаба в одно место во время джобы (и тут он ещё не артефакт). А по завершению запаковывается уже в артефакт в другое место, по флоу в ссылке.
И раньше сайдкик нормально парсил этот job.log в директории, а после выноса он перестал видеть ФС на основной ноде и не парсил ничего, но при этом опять же все артефакты заданий в UI и S3 были.
⏩ В итоге включили инкрементальное логирование. Теперь логи шлются в Redis, а не во временный файл на ФС. Redis виден Sidekiq и он может парсить логи для поиска и отображения процентов в интерфейсе. Из плюсов, логи теперь вобще не пишутся на ФС, а из минусов, эта схема не работает с кластерным Redis.
Какая мораль
Вынос Sidekiq на отдельный сервер – шаг вполне стандартный и рекомендованный для масштабирования GitLab. Документация хорошая, но иногда совсем не ясно где искать необходимое.
При этом, он обнажает любые неаккуратности в конфигурации и особенности архитектуры.
Мы остановились на проблеме с SSH‑доступом. Часть пользователей неожиданно перестала подключаться по SSH:
• Ключи в UI GitLab были видны, как добавленные.
• При попытке клонирования или git fetch GitLab запрашивал пароль или возвращал ошибку «Permission denied (publickey)».
• Когда Sidekiq был на том же сервере, он читал /var/opt/gitlab/.ssh/authorized_keys и было нормально.
• Когда мы вынесли его, он начал писать в свой /var/opt/gitlab/.ssh/authorized_keys на ноде сайдкика.
Произошла потеря мапинга ключа и прав пользователя, которая через БД. Помог ребилд этого файла из БД gitlab-rake gitlab:shell:setup. Но при добавлении или изменении ключа он писал новую инфу снова на ноду сайдкика. И так по кругу.
Решили проблему вот так.
А теперь финальное, сломалось покрытие кода. Просто перестал работать данный функционал.
Для code coverage Sidekiq парсит job.log в рилтайме, но процесс лога джобы такой, что он пумой кладётся на ФС гитлаба в одно место во время джобы (и тут он ещё не артефакт). А по завершению запаковывается уже в артефакт в другое место, по флоу в ссылке.
И раньше сайдкик нормально парсил этот job.log в директории, а после выноса он перестал видеть ФС на основной ноде и не парсил ничего, но при этом опять же все артефакты заданий в UI и S3 были.
Какая мораль
Вынос Sidekiq на отдельный сервер – шаг вполне стандартный и рекомендованный для масштабирования GitLab. Документация хорошая, но иногда совсем не ясно где искать необходимое.
При этом, он обнажает любые неаккуратности в конфигурации и особенности архитектуры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Gitlab
Fast lookup of SSH keys | GitLab Docs
Configure a faster SSH authorization method for GitLab instances with many users.
👍4🔥4
Салют! На связи Аниса 👸
Вопрос вам на засыпку:
Знаете про Эффект ореола?
Это когда одно яркое качество создает общее впечатление обо всем остальном.
Красивая девушка = несерьёзная. Спокойный мужчина = не лидер. Рекомендация от сотрудника = особенный кандидат.
И любимое: сотрудник бигтеха = сильный и лучший кандидатс уважением ко всем бигтехам 😬
🗣 Почему так происходит?
1️⃣ Экономия когнитивных ресурсов
2⃣ Стремление к непротиворечивости
3️⃣ Влияние стереотипов
🗣 Всегда ли Эффект ореола отражает реальную картину вещей?
Конечно, нет. Однако, важно уметь использовать этот эффект в свою пользу) Да, в поиске работы психологические хитрости — это на одном уровне с софт-скилами, не иначе!
Вообще, скажу так: уловочек много! Если захотите почитать про правила для бывалых — дайте знать, с удовольствием поделюсь👸
Вопрос вам на засыпку:
Знаете про Эффект ореола?
Это когда одно яркое качество создает общее впечатление обо всем остальном.
Красивая девушка = несерьёзная. Спокойный мужчина = не лидер. Рекомендация от сотрудника = особенный кандидат.
И любимое: сотрудник бигтеха = сильный и лучший кандидат
Мозгу проще сделать быстрый вывод на основе одной детали, чем тратить время и энергию на анализ всех характеристик
Мы склонны верить, что если человек добрый, то, скорее всего он ещё умный и честный. Так проще создать в голове полный образ
Окружение и социальная среда формируют шаблоны, которые автоматически применяются к людям
Конечно, нет. Однако, важно уметь использовать этот эффект в свою пользу) Да, в поиске работы психологические хитрости — это на одном уровне с софт-скилами, не иначе!
Базовые правила Эффекта ореола:
• самый сильный козырь в резюме ставим на видное место
• буквально заучиваем самопрезентацию для собеседования, так как у первого впечатления нет второго шанса
• если случилась лажа в начале — говорим об этом вслух. Озвученное волнение имеет меньше власти над нами и лучше выглядит в глазах со беседующего в отличие от непроизнесенного
Вообще, скажу так: уловочек много! Если захотите почитать про правила для бывалых — дайте знать, с удовольствием поделюсь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥3
Коллеги, приветствую!👋
Сегодня — последний день, когда можно купить курсы Слёрма со скидкой 40% по промокоду➡️ MAY26
❗️ Это отличная возможность прокачать навыки по Docker, Terraform, Git, Ansible и другим востребованным направлениям — системно усилить свои компетенции и закрыть пробелы в знаниях
Полный список курсов, которые вы можете приобрести со скидкой доступен➡️ здесь
🔴 Важно: скидка не действует на комплекты курсов, сертификаты и подписку и доступна только для физлиц.
Успейте воспользоваться предложением, пока акция не закончилась
Сегодня — последний день, когда можно купить курсы Слёрма со скидкой 40% по промокоду
Полный список курсов, которые вы можете приобрести со скидкой доступен
Успейте воспользоваться предложением, пока акция не закончилась
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Коллеги приветствую👋
Снова отвлекусь от привычных технических тем, и расскажу историю как я хотел купить себе кепку. Типичная ситуация, как в комедии "Малкольм в центре внимания" в сцене про замену лампочки: "Как ты думаешь, что я делаю?"
🔴 Для начала я применив простой инженерный подход, думал пойти и купить просто такую-же как у меня есть, чтобы не рисковать.
Оказалось что их уже нет, а новые уже не такие.
🔴 Начал искать другие, но или выбор слишком большой, или его нет и не удалось что-то выбрать, чтобы было не хуже.
🔴 Думал сделать кепку на основе готовой, добавив логотип - узнал технические ограничения, которые не позволили реализовать желаемое.
🔴 На этом этапе я сел придумывать концепцию, генерировать векторные изображения и писать ТЗ на целый лист А4.
🔴 Собрав текстовое описание, логотипы и примерные рендеры, я пошёл в организации, которые шьют кепки с нуля. Написал в разные места. Меня либо игнорировали, либо сказали, что с таким ТЗ мне делать ничего не будут, и только одна компания отозвалась и сказала, что сделаем, но после этого перестала отвечать на сообщения.
🔴 На этом этапе можно было сдаться или упростить идею, но я решил с одной стороны дальше не прорабатывать, а с другой — из принципа дойти до конца в этой задаче.
🔴 Для этого на выставке, где разные производители одежды из Китая демонстрируют свою продукцию, был найден завод, который в своём каталоге содержал возможность пошива кепки из любого материала и с учётом всех требований. Из важного — ещё готовность работать с оплатой от меня.
🔴 Выставка закончилась, и старательный китаец, вернувшийся к себе домой, начал мучать меня каталогами тканей, странными требованиями и нежеланием читать ТЗ. Если не проверить что угодно — результат будет неожиданный. Долго думал, как бы он просто не сделал мне кепку размером с брелок. Подходящего образования, чтобы понимать в выкройке, у меня нет, но рулетка и кепка в руке помогали.
🔴 В итоге прошло несколько месяцев, и я получил свою кепку. Её можно носить, в целом всё хорошо. Но я узнал много нюансов, и во второй раз уже сделал бы ещё лучше. Но пока не знаю, захочу ли ещё раз это пройти, разве что вы поддержите мои идеи.
Ниже отправлю фото кепок, которые у меня получились⬇️
Снова отвлекусь от привычных технических тем, и расскажу историю как я хотел купить себе кепку. Типичная ситуация, как в комедии "Малкольм в центре внимания" в сцене про замену лампочки: "Как ты думаешь, что я делаю?"
Оказалось что их уже нет, а новые уже не такие.
Ниже отправлю фото кепок, которые у меня получились
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍12👏3⚡1
Приветы! На связи конечно Аниса, пятница же 😎
Ранее рассказывала об Эффекте ореола, как и почему он работает. Зафиксировали.
А сегодня расскажу о таком, уже для продвинутых:
Как использовать Эффект ореола при поиске работы?
1️⃣ Следим за первой и последней минутой общения
2️⃣ Думаем, какой образ и какие качества мы хотим транслировать
3️⃣ Ни в коем случае не обесцениваем себя вслух (очень частая ошибка 😕 )
На самом деле, таких крючков много. Однако даже если начать реально использовать эти три — положительный результат уже будет заметен. Я, кстати, сама использую такие приёмчики — рекомендую😎
Если у вас есть свои, то делитесь!)
Ранее рассказывала об Эффекте ореола, как и почему он работает. Зафиксировали.
А сегодня расскажу о таком, уже для продвинутых:
Как использовать Эффект ореола при поиске работы?
Человеческая психика круто запоминает начало и конец беседы.
Начало — первое впечатление. Конец — запоминающееся послевкусие.
Если есть волнение, можно им открыто поделиться, это обычно располагает.
Вполне нормально, что мы одновременно обладаем социальными ролями "Кореш Серёги" и "Котик" и "Кандидат на senior-разработчика". Перед собеседованием важно продумать, какими качествами может обладать последний, и транслировать их.
Еще раз: мы не играем роль. Все эти роли уже есть в нас, и их важно просто вывести на передний план.
Фразы в стиле "я, конечно, не эксперт в этом”, "у меня не так много опыта", "может быть, я не совсем подхожу" могут казаться проявлением милой скромности. Но психологически они создают такое впечатление: кандидат сам подсказывает работодателю, где в нем сомневаться.
Лучше сказать так:
"Интересно, у меня фокус в работе был в другом, однако было бы интересно погрузиться в эту задачу — меня отчасти это и заинтересовало в вакансии”.
На самом деле, таких крючков много. Однако даже если начать реально использовать эти три — положительный результат уже будет заметен. Я, кстати, сама использую такие приёмчики — рекомендую
Если у вас есть свои, то делитесь!)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3🤝2
Коллеги, приветствую👋
Рекомендую посмотреть бесплатный урок по системе контроля версий Git
Что вы узнаете на бесплатном уроке:
➡️ Зачем вообще нужны системы контроля версий
➡️ Почему Git — это стандарт, который используют все
➡️ Что такое методология управления инфраструктурой, использующая систему управления версиями кода Git как единый источник достоверной информации (GitOps) и когда код правит миром
➡️ Чем Git может быть полезен вам прямо сейчас
⏩ Забрать бесплатный урок
Рекомендую посмотреть бесплатный урок по системе контроля версий Git
Что вы узнаете на бесплатном уроке:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1