Обновить

Бэкенд

Сначала показывать
Порог рейтинга

Что скрывают DevOps-инженеры за командой docker run?

Расскажем все секреты 24 июня в 19:00 по МСК на бесплатном вебинаре.

В онлайн-режиме мы:

  • упакуем приложение в докер;

  • развернём несколько сервисов разных версий.

А также разберём:

  • волшебный --restart=always и где он обитает;

  • -e и секреты в plaintext — чем это опасно;

  • историю команд как плохую замену документации;

  • забытый --rm и армию «зомби-контейнеров»;

  • где искать логи, если контейнер уже упал.

Готовим материалы онлайн-встречи на основе практик из курса «Docker для админов и разработчиков» и личного опыта спикеров.

Спикеры:

  1. Кирилл Борисов, SRE в VK;

  2. Павел Минкин, DevOps инженер.

Напоминание о вебинаре и ссылка для подключения придут в бота-помощника.

➡️ Перейти в бота

Теги:
Рейтинг0
Комментарии0

Шлифуем пайплайны с фидбэком от эксперта 

Запускаем трёхнедельный СI/CD практикум — будем учиться решать реальные задачи и применять best practices CI/CD.

Через 3 недели курса вы научитесь:

  • Разбираться в структуре пайплайна и GitLab CI

  • Читать документацию, находить и адаптировать решения под задачу

  • Обосновывать и отстаивать технические решения

  • Проводить технический траблшутинг

  • Определять, как автоматизировать повторяющиеся задачи и не делать руками то, что может сделать пайплайн

Автор практикума — Вячеслав Федосеев, TeamLead DevOps в «Честном знаке» и ментор курса DevOps Upgrade.

Курс для вас, если вы: уже работаете в IT от 1 года, знакомы с GitLab и GitLab CI (на базовом уровне) , хотите уверенно строить пайплайны и решать нестандартные кейсы

Если вы чувствуете, что теории недостаточно — необходимы опыт и фидбэк, присоединяйтесь к обучению — старт 21 июля.

Подробности — по ссылке

Теги:
Рейтинг0
Комментарии0

FinOps: следующая встреча 25 июня

Продолжаем погружаться в тонкости FinOps и учимся не бездумно тратить, а инвестировать.

25 июня, в 17:00 по МСК встречаемся с Виталием Лихачевым на бесплатном вебинаре «Overengineering, который медленно убивает ваш продукт»

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

На вебинаре мы:

  • разберём разные кейсы: от раздутых пайплайнов до излишнего увлечения надёжностью;

  • поговорим о причинах overengineering – от карго-культа до CV driven development.

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

Занять место в один клик — по ссылке.

Теги:
Рейтинг0
Комментарии0

Как DevOps-инженеру сэкономить часы работы и избежать ошибок с помощью AI-инструментов 

Воркшоп с Виктором Чаплыгиным, Senior Engineer в международном GameDev холдинге.

Что будет на воркшопе:

Теория: кратко о том, как работают LLM в контексте разработки и эксплуатации. Обзор инструментов:

  • Cursor IDE — AI-интегрированная IDE с поддержкой кода и терминала;

  • PSP/PSS Baseline — стандарты безопасности Kubernetes.

Практика:

  • Настройка Cursor IDE — подготовка среды для продуктивной работы с AI;

  • Создание и отладка IaC (Kubernetes YAML, Terraform) с помощью AI-ассистентов: выявление и исправление ошибок;

  • Генерация понятной и структурированной документации к проектам с помощью AI;

  • Разбор реальных кейсов и работа с командной строкой: исправление, пояснение, улучшение команд и манифестов.

А ещё — личный опыт и лучшие практики применения GPT-ассистентов для повседневных DevOps-задач, от написания инфраструктуры до исправления ошибок и генерации документации.

Когда: 5 июля 2025 года

Узнать подробности и занять место на воркшопе — через бота.

Теги:
Рейтинг0
Комментарии0

Последние из группы Поведенческих паттернов: Хранитель и Шаблонный метод

В одиннадцатой серии курса «Паттерны и практики написания кода» вместе с бэкенд-инженером Юрой Афанасьевым завершаем тему Поведенческих паттернов. Последние два подхода, которые разберем в эпизоде: Хранитель и Шаблонный метод. Подробнее про их реализацию в коде, преимущества и недостатки — в эпизоде.

Смотреть VK
Смотреть YouTube

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 25: ↑24 и ↓1+23
Комментарии0

Развернуть высоконагруженную платформу в Managed Kubernetes, ориентированную и на b2b-, и на b2c-сегменты — задачка со звездочкой. Как это сделать, рассказываем в Академии Selectel на примере кейса компании TrendTech.

Вы узнаете, как компания:

  • обеспечила отказоустойчивость сервисов, сохранив возможность гибкого масштабирования;

  • автоматизировала обновление контента из более чем 5 000 источников данных;

  • обеспечила отдачу и надежное хранение тяжелых файлов;

  • развернула удобное окружение для команды разработки.

Перенимайте опыт TrendTech и используйте Managed Kubernetes для реализации своих проектов.

Теги:
Всего голосов 7: ↑7 и ↓0+8
Комментарии0

Быстрая замена mypy на Rust'е: pyrefly

Еще одно видео про еще один новый тайпчекер для питона на расте! Много их нынче стало.

В видео:

  • Обсуждаем первую версию: pyre-check, обсудили taint analysis

  • Сравниваем pyrefly с ty и mypy

  • Смотрим на внутреннее устройство

  • Применяем на реальном проекте

Ключевые ссылки из выпуска:

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

Теги:
Всего голосов 7: ↑7 и ↓0+8
Комментарии1

Всё о назначении и применимости Наблюдателя и Цепочки Обязанностей

Это десятая серия курса «Паттерны и практики написания кода»: вместе с бэкенд-инженером Юрой Афанасьевым продолжаем изучать тему Поведенческих паттернов. В новом эпизоде разбираем два подхода, связанных с отправкой и обработкой событий: Наблюдатель и Цепочка Обязанностей.

Смотреть VK
Смотреть YouTube

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 28: ↑26 и ↓2+24
Комментарии0

Свои типы полей в Joomla.

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей.

Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути libraries/src/Form/FormField.php, а так же в libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно.

В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он?

В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"
     name="your_note_for_user"
     label="Заголовок примечания"
     title="Альтернативный способ для заголовка"
     description="Текст примечания"
     class="col-12 alert alert-info"
     heading="h1"
     close="true"
/>

heading- указывать уровень заголовка. close - позволяет закрыть это примечание.

В классе поля libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.

Поэтому берём и создаём свой класс поля, который мы унаследуем от NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля Note + то, что мы сами добавим.

В XML-манифест добавляем наше поле:

<field type="systempluginstatus" 
     name="systempluginstatus"
     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
  • type - имя файла и класса,

  • addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный

  • name - нельзя полю без имени...

Это означает, что Joomla будет использовать класс поля из файла modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php. А в классе поля будет написано следующее:

<?php
// namespace для атрибута addfieldprefix
namespace Joomla\Module\Wtquicklinks\Site\Fields;
// нельзя напрямую обращаться к этому файлу
defined('_JEXEC') or die;
// подключаем родительский класс для переопределения
use Joomla\CMS\Form\Field\NoteField;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Plugin\PluginHelper;

// имя класса и имя файла точь-в-точь
class SystempluginstatusField extends NoteField
{
     protected $type = 'Systempluginstatus'; // тип поля без "Field" в конце

     protected function getLabel()
          {
               // если плагин не включён
               if(PluginHelper::isEnabled('system','wtquicklinks')) {
                    // меняем свойства родительского класса поля
                    $this->class = 'alert alert-danger w-100';
                    $this->element['label'] = '⚠️ А-а-а-а!';
                    $this->element['description'] = 'Плагин не включён!!';
                    // и просто рендерим его с нашими свойствами
                    return parent::getLabel();
               }
          // А иначе всё хорошо, скрываем поле из виду.
          $this->parentclass = 'd-none';
          return '';
     }
}

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.

Теги:
Рейтинг0
Комментарии0

Команда и Посредник: задачи и функции

В новом эпизоде курса «Паттерны и практики написания кода» вместе с бэкенд-инженером Юрой Афанасьевым продолжаем тему Поведенческих паттернов. На рассмотрении следующие два подхода: Команда и Посредник — разберёмся, какие задачи они решают, как выглядят соответствующие UML-диаграммы, а также какие особенности следует учитывать при реализации в коде.

Смотреть VK
Смотреть YouTube

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 25: ↑24 и ↓1+23
Комментарии0

Открываем регистрацию на вебинар «SRE: когда надёжность становится дорогой ошибкой?»

Вторая бесплатная встреча в рамках проекта по FinOps состоится 18 июня, в 17:00 МСК.

Разберём реальные кейсы: как компании сокращают издержки без потери качества и обсудим:

  • как избыточная надёжность превращается в дорогостоящую ошибку;

  • почему стремление к 100% аптайму может навредить бизнесу;

  • как SRE помогает найти баланс между стабильностью и развитием.

Спикер: Кирилл Борисов, SRE-инженер в VK.

Занять место и получить ссылку на вебинар — в боте-помощнике.

Теги:
Рейтинг0
Комментарии0

Общее назначение Поведенческих паттернов

Это восьмая серия курса «Паттерны и практики написания кода», где вместе с бэкенд-инженером Юрой Афанасьевым открываем новую тему — Поведенческие паттерны. Данная группа самая обширная из всех изученных, поэтому в новом эпизоде постепенно разберём первые два подхода: Стратегия и Состояние.

Смотреть VK
Смотреть YouTube

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 24: ↑24 и ↓0+26
Комментарии1

Ближайшие события

В развитие темы Bare Metal VM, над которой я время от времени размышляю начиная аж с 2010 года, предлагаю ознакомиться с интересным и, на мой взгляд, перспективным проектом OSv.

Ещё в 10-м году я подумывал над тем, что имея сервера приложений наподобие Томката и серьёзную взрослую изоляцию на уровне загрузчика классов - можно выкинуть подлежащую ОС со всеми её ненужными сервисами из нашего стека, оставив сервер приложений на голом железе. Тогда же выяснилось, что не я один так думаю, было коммерческое предложение Oracle JRockitVE. Судя по всему, наследница вот этого приобретения Bea.

Ранее я уже писал статью об этой идее на Хабре и пытался защищать в дискуссии.

Можно попробовать снова.

Ещё можно смотреть на развитие ОС на базе грааля. Или вспомнить про JaOS.

К современным ОС типа Линукса у меня есть много претензий, и есть несколько идей, которые можно было бы реализовать для их улучшения. Некоторые из них описаны в указанном проекте. Некоторые в том или ином виде наличествуют в специализированных коммерческих предложениях (Юникс) крупных вендоров типа АйбиЭм или того же Оракла. Это касается, например,

  • файлово-дискового стека,

  • оптимизации сети,

  • использования ГПУ в неожиданных местах,

  • гибкости в использовании СУБД при разработке с контейнером.

Теги:
Всего голосов 2: ↑2 и ↓0+5
Комментарии6

Rancher в продакшен: лучшие практики

Обсудим на вебинаре 16 июня.

Будем разбирать:

  • централизованное управление кластерами через единый интерфейс;

  • автоматизированные бэкапы и восстановление;

  • настройку доступа для команд и интеграцию внешней аутентификации;

  • встроенные мониторинг и использование магазина приложений.

Подробно покажем и расскажем, как Rancher упрощает эксплуатацию k8s и управление инфраструктурой.

Эксперты встречи:

⭐️ Виталий Лихачев, SRE в крупнейшем голландском тревелтехе

⭐️ Вячеслав Федосеев, TeamLead DevOps в «Честном знаке»

Когда: 16 июня в 19:00 мск

Занять место на вебинаре — через бота

Теги:
Рейтинг0
Комментарии0

Как вы оформляете баги?

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

  1. Как оформить баг? Комментарий к задаче? Отдельная задача? Чек-лист в описании задачи?

  2. Как отметить баг выполненным? Проверенным? Повторно проявившимся?

  3. Какая система багтрекинга вам показалась наиболее удобной? Jira? Youtrack? Яндекс.Трекер? Битрикс24? Что-то из новомодного импортозамещения?

  4. Какие шаблоны описания бага приняты в вашей компании? Нет правил? Шаг 1 - шаг 2 - шаг 3 - ожидание - реальность? Скриншот со стрелочками? Видеозапись с экрана?

  5. Есть ли какая-то классификация багов? Минор / мажор? Бэк / фронт? Бэклог / критикал?

Очень интересует ваш опыт в данной теме. Буду очень признателен, если поделитесь своими знаниями в комментариях.

Теги:
Рейтинг0
Комментарии0

Какую тему для книги можно выбрать в 2025? Современный мир — насыщенный мир. Книг выходит очень много. Как, интересно, можно выбрать тему для книги? От этого зависит конечная аудитория книги всё-таки. Микросервисы? Внедрение зависимостей? Ещё что-нибудь? Я в смятении. А выбирать пора уже. Полгода как прошлая книга вышла...

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

5-дневный IT-челлендж с призами

Готовы бросить себе вызов? 💪🏻

Не успели начать июнь с грандиозных планов? У нас есть отличный способ встряхнуться и достичь своей цели — 5-дневный IT-челлендж с 16 по 20 июня.

Пять дней, пять тем: Linux, сети, Docker, SQL, безопасность. Вас ждут вопросы и практические задания в формате Google Форм. А чтобы в будничной суете не забыть об испытаниях, Telegram-бот напомнит о челлендже и поведёт вас по шагам.

Победители получат ценные призы, среди которых:

🔥 Подписка на курсы Слёрма

🔥 Курс «Администрирование Linux»

🔥 Курс «Ansible: Infrastructure as Code»

Для самых стойких участников, дошедших до конца — скидка 30% на все курсы.

Регистрация открыта до 15 июня. Итоги объявим в этом телеграм-канале 24 июня.

Участвовать в челлендже по ссылке

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Мост, Заместитель и Приспособленец: основные идеи

В cедьмой серии курса «Паттерны и практики написания кода» разберем три последних подхода в теме Структурных Паттернов: Мост, Заместитель и Приспособленец. Вместе с бэкенд-инженером Юрой Афанасьевым посмотрим, как паттерны реализуются в коде и в чём состоит их ключевое назначение.

Смотреть VK
Смотреть YouTube

Подписывайтесь на канал AvitoTech в Telegram, там мы рассказываем больше о профессиональном опыте наших инженеров, проектах и работе в Авито, а также анонсируем митапы и статьи.

Теги:
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Обновляем платформу SourceCraft и открываем доступ к ней для всех разработчиков

Сегодня Yandex B2B Tech открыла публичный доступ к платформе для разработки SourceCraft и представила её новые возможности. В платформу интегрированы инструменты безопасности, которые обеспечат защищённую разработку программных продуктов. А в ИИ‑помощнике SourceCraft Code Assistant появился чат‑режим, что увеличит скорость и эффективность разработки.

Удобство командной работы повысится за счёт бранч‑ и ревью‑политик, встроенных в интерфейс, а также аутентификации через SSO. Также появляется возможность зеркалирования репозиториев с GitHub и публичный API.

Инструменты безопасности

На платформе стали доступны инструменты безопасной разработки: сканер секретов в коде и анализ зависимостей в кодовой базе.

По данным исследования аналитиков Forrester интеграция инструментов безопасности в разработку на 81% снижает трудозатраты на ИБ‑поддержку всего проекта.

Чат‑режим в SourceCraft Code Assistant

ИИ‑помощником SourceCraft Code Assistant пользуются десятки тысяч разработчиков. Теперь в нём доступен чат‑режим, интегрированный непосредственно в среду разработки. В диалоговом режиме на естественном языке можно задать вопрос ИИ‑ассистенту, сгенерировать код, юнит‑тесты, документацию. Это ускорит поиск необходимой информации и оценку предлагаемых решений. Функциональность доступна в плагинах для VSCode и IDE от JetBrains.

Зеркалирование и бесшовная миграция

Миграция проектов с GitHub становится бесшовной — кроме кода переносятся Issues, PRs, Labels, Milestones, Comments. Также можно выбрать ветки для зеркалирования — непрерывной синхронизации кода.

Также появился федеративный доступ к платформе для компаний — авторизация через SSO.

Публичный API

Благодаря появлению публичного API платформа становится расширяемой. Пользователь сможет взаимодействовать с SourceCraft и обеспечивать автоматизацию и интеграцию с другими приложениями. Первая версия публичного API доступна для управления задачами, список будет пополняться.

Правила работы с ИТ‑проектами

В интерфейсе платформы появились бранч‑ и ревью‑политики — правила работы с ветками и проверками кода, которые интегрируются в систему контроля версий и процессы CI/CD.

Опенсорс

Появился анонимный доступ к публичным репозиториям платформы. Пользователи SourceCraft смогут создавать независимые копии репозиториев (forks) опенсорс‑проектов. Это позволит вносить персональные изменения, не затрагивая напрямую исходную кодовую базу. При этом копия сохраняет связь с оригиналом для получения обновлений.

Удобство работы с кодом

Интерфейс платформы теперь позволяет просматривать структуру файлов для шести языков программирования: Python, C++, Java, Go, TypeScript и JavaScript. Функциональность навигации по коду стала умнее и аналогично теперь поддерживает 6 языков.

Автоматизация CI/CD‑процессов

Среди обновлений, связанных со сборкой и развертыванием кода, появились self‑hosted runners — теперь можно запускать задачи как на виртуальных машинах Yandex Cloud, так и в своём окружении. Также появились flavours — теги для пользовательских задач, за счёт которых можно выбирать, где запускать задачу. Помимо этого в интерфейсе платформы появилась возможность не только разрабатывать, но сразу публиковать мобильные приложения в App Store, Google Play, RuStore, Huawei AppGalery.

Packages

Появилась возможность создавать и использовать собственные программные пакеты популярных форматов: наборы кода, библиотек, модулей или компонентов. Разработчик сможет хранить их в персональном облаке, привязанном к организации SourceCraft, и использовать в своих проектах. Packages также интегрированы с CI/CD платформы.

Вход в SourceCraft реализован через Яндекс ID аккаунт. Зайти на обновлённую платформу можно на сайте SourceCraft.

Теги:
Всего голосов 12: ↑12 и ↓0+13
Комментарии0