Архив за Август, 2026

Квест статуи пылающего пророка в Original Sin 2

 30 Авг, 2026

На юго-западе побережья жнеца можно найти статую пылающего пророка. Перед ней несколько факелов, которые гаснут почти сразу, если пытаешься их зажечь.

Читать далее »

Эльфийские тотемы стихий на побережье Жнеца

 29 Авг, 2026

Это загадка из игры Divinity: Original Sin 2, которая находится на «Побережье Жнеца» (Reaper’s Coast). Рядом с эльфийским сооружением (в виде жаровни) вы найдёте четыре тотема, соответствующих временам года.

Читать далее »

Замеряем время выполнения в Java.

 23 Авг, 2026

Замер времени выполнения кода — не редкая задача в разработке. Мы постоянно измеряем, сколько работает запрос к БД, сколько сортируется массив, сколько выполняется тяжёлый алгоритм. Казалось бы, что тут сложного? Написал System.currentTimeMillis() до и после — и готово.

Но на практике всё немного сложнее. В этой статье мы:

  • Создадим готовое решение, которое можно сразу скопировать в проект
  • Разберём, почему стандартные подходы плохи
  • Напишем свой класс MeasureTime с нуля
  • Поймём, как правильно измерять время в разных сценариях
Читать далее »

Как полностью затереть локальную ветку и привести её к состоянию из удаленного репозитория

 21 Авг, 2026

Бывают ситуации, когда локальные изменения в ветке настолько запутались, что проще полностью сбросить всё и начать «с чистого листа» от удаленной версии. В этой статье рассмотрим два надежных способа, как это сделать.

Читать далее »

Валидация полей на примере параграфа в Drupal 11 с использованием @Constraint

 1 Авг, 2026

При разработке на Drupal рутинная необходимость это — добавление кастомной валидации для полей внутри сущностей. Стандартные средства Drupal (например, валидация через hook_form_alter) не всегда подходят, особенно когда нужно, чтобы валидация работала при любом способе сохранения сущности — через форму, REST API, JSON:API или миграции. Кроме того, в hook_form_alter сложно добраться до полей вложенных сущностей, как например, параграфы, чтобы подсветить ошибку именно там, где она произошла.

В этой статье мы рассмотрим, как добавить валидацию к полю внутри параграфа с использованием системы Constraints (ограничений) Drupal 11, например, чтобы она работала при редактировании node, в которой есть поле с параграфами.

В качестве примера мы проверим, что поле field_ticketland в параграфе типа afisha содержит корректный URL на сайт ticketland.ru.

Читать далее »