27 Apr 2026, 03:31 UTC273 views1 reactionsread 8 August 2026 Photo
Уникальный индекс при мягком удалении: решаем проблему дубликатов
При использовании мягкого удаления стандартный уникальный индекс перестаёт выполнять свою функцию: запись помечена как удалённая, но её данные по-прежнему участвуют в проверке уникальности. Результат — пользователь не может восстановить аккаунт на прежний e-mail.
В новом материале рассмотрены два способа решения этой архитектурной задачи:
✅ Частичны…
👍1
23 Apr 2026, 03:30 UTC316 viewsread 8 August 2026 Photo
Статические переменные в PHP: использование static внутри функций
По данным исследования Exakat, конструкция static $var в теле функции встречается в каждой третьей PHP-кодовой базе. Несмотря на удобство реализации ленивой инициализации и мемоизации, этот подход сопряжён с рядом архитектурных ограничений.
В статье рассмотрены:
✅ Критерии допустимости использования в CLI-скриптах и средах с постоянными воркерами.
✅…
21 Apr 2026, 03:32 UTC268 viewsread 8 August 2026 Photo
Валидация массивов в Laravel без N+1: Form Request как построитель контекста
Применение правила exists к массивам в Form Request порождает проблему N+1 запросов: каждый идентификатор проверяется отдельным SQL-запросом. При росте количества элементов это создает неоправданную нагрузку на базу данных и увеличивает время ответа.
В статье рассматривается метод решения этой проблемы с помощью prepareForValidation(). Под…
13 Apr 2026, 03:29 UTC279 views5 reactionsread 8 August 2026 Photo
JSON в браузере: import или fetch — руководство по выбору
Спойлер: import из JSON — это не замена fetch()
Кажется, что новый синтаксис import data from './file.json' with { type: 'json' } проще и современнее. Но у него есть три жёстких ограничения:
🔹 Пожизненное кеширование — данные останутся в памяти на всю сессию
🔹 Нет отмены запроса — AbortController не подключается
🔹 Минимум информации об ошибках — не поймёшь,…
👍3❤1🔥1
6 Apr 2026, 03:34 UTC297 views1 reactionsread 8 August 2026 Photo
Проксирование fetch() в серверном JavaScript
Стандарт Fetch не специфицирует проксирование HTTP-запросов, поэтому каждый серверный JavaScript-рантайм реализует эту возможность по-своему. В результате разработчики сталкиваются с несовместимостью решений при смене среды исполнения.
В статье рассматриваются следующие подходы:
✅ Bun и Deno — встроенная поддержка прокси через опции fetch()
✅ Node.js — два пути: глобаль…
👍1
2 Apr 2026, 03:34 UTC308 viewsread 8 August 2026 Photo
Taskfile: Когда пора отказаться от Makefile (а когда — нет)
Makefile — инструмент с почти полувековой историей, который продолжает оставаться стандартом во многих проектах. Однако его синтаксис, ориентированный на shell-сценарии, не всегда удобен при решении современных задач: кросс-платформенная работа, интерактивные запросы, модульная организация кода.
Taskfile предлагает альтернативную модель: конфигурация на YA…
1 Apr 2026, 03:34 UTC231 views1 reactionsread 8 August 2026 Photo
Практическое руководство по элементу <img>: от основ до LCP
Смещение контента при загрузке страницы, избыточный трафик на мобильных устройствах, потерянные баллы Core Web Vitals — всё это часто следствие недооценки возможностей элемента <img>.
В новом руководстве рассматриваются ключевые аспекты работы с изображениями в HTML:
✅ указание width и height для предотвращения смещения макета (CLS);
✅ адаптивность через …
👍1
30 Mar 2026, 05:33 UTC228 views4 reactionsread 8 August 2026 Photo
Быстрый совет: не используйте <abbr>
Элемент <abbr> предназначен для обозначения аббревиатуры. Идея в том, что вы вставляете сокращение, а затем с помощью атрибута title показываете его полную расшифровку.
<p>Без <abbr title="Cascading Style Sheets">CSS</abbr> любая HTML-страница будет выглядеть как простой текстовый документ из 90-х.</p>
Проблема в том, что <abbr> — не интерактивный элемент. На него нельзя перекл…
👌4
18 Mar 2026, 03:30 UTC321 views0 reactionsread 8 August 2026 Photo
Приёмы работы с PostgreSQL, меняющие архитектуру решений
Когда речь заходит о проверке целостности данных, например, запрете пересекающихся интервалов бронирования, возникает вопрос: где разместить эту логику? В коде приложения или на стороне базы данных? PostgreSQL предоставляет инструменты, которые позволяют делегировать такие проверки уровню СУБД, снижая нагрузку на прикладной код и минимизируя риски состояний го…
15 Mar 2026, 05:35 UTC271 views5 reactionsread 8 August 2026 Photo
📱 @dev_notes_ru
#Joke
👍3🔥2
14 Mar 2026, 05:35 UTC280 views1 reactionsread 8 August 2026 Photo
Интернет без adblocker
📱 @dev_notes_ru
#Joke
🤣1
13 Mar 2026, 03:32 UTC281 viewsread 8 August 2026 Photo
Как сделать Laravel-контроллер тестируемым и перестать бояться рефакторинга
Вы уверены, что ваши тесты действительно что-то тестируют? 🤔
Представьте: вы случайно (ну, бывает) закомментировали ключевой вызов сервиса в контроллере подписки. Прогоняете тесты — все зеленое! Отличная работа, можно деплоить. А подписчики в это время не подписываются. Знакомое чувство ложной безопасности?
Статья как раз об этой проблеме:…
Showing the 12 most recent of 20 posts we hold for @dev_notes_ru. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.