en
Feedback
Заметки разработчика

Заметки разработчика

Open in Telegram

Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов. https://www.dev-notes.ru @snakenf

Show more
Buy Ad
463
Subscribers
No data24 hours
-37 days
+130 days
Posts Archive
Repost from N/a
This Collection::ensure() method has provided no shortage of value ever since it was added. 🔥 👩‍💻 @taylorotwell
This Collection::ensure() method has provided no shortage of value ever since it was added. 🔥 👩‍💻 @taylorotwell

👩‍💻 Скрытые сокровища Laravel: 18 советов для профессиональных разработчиков Laravel полон скрытых сокровищ, способных знач
👩‍💻 Скрытые сокровища Laravel: 18 советов для профессиональных разработчиков Laravel полон скрытых сокровищ, способных значительно ускорить рабочий процесс. Эти практические советы помогут писать более чистый код, создавать быстрее и добиваться большего. Laravel обладает мощными возможностями и элегантными API, но некоторые из его лучших трюков скрыты от посторонних глаз. Спрятанные на виду. Эти малоизвестные хитрости могут сделать рабочий процесс разработки более плавным, быстрым и приятным. Вне зависимости от того, масштабируете ли вы серьёзный SaaS или экспериментируете с чем-то новым, нет никакого оправдания трате времени на решение проблем, уже решённых в Laravel. Эти советы помогут извлечь максимум пользы из фреймворка: чистый код, меньше хаков и больше времени, потраченного на реальное создание. Итак, давайте разбираться. 🖥 Читать статью 📱 @dev_notes_ru #Laravel #tips

🚀 PHP 8.5: Что нас ждёт в следующем релизе (ноябрь 2025) PHP 8.5, запланированный к выпуску в ноябре 2025 года, предлагает ряд улучшений, призванных упростить разработку и сделать язык ещё мощнее. 🔧 Новые возможности и улучшения - array_first() и array_last() Быстрое получение первого или последнего элемента массива без изменения его внутреннего указателя. - Замыкания (closures) в константных выражениях Теперь можно использовать замыкания в значениях по умолчанию и константах, что повышает выразительность языка. - Атрибуты для констант Константы, включая глобальные, теперь можно помечать атрибутами, например #[Deprecated]. - Асимметричная видимость статических свойств Теперь можно задавать разные уровни доступа для чтения и записи статических свойств. - Улучшенные трассировки ошибок Сообщения о фатальных ошибках теперь содержат более детальную информацию для упрощения отладки. - Новые функции get_error_handler() и get_exception_handler() Позволяют получить текущие обработчики ошибок и исключений. - Улучшения в cURL Добавлены постоянные идентификаторы для cURL share-дескрипторов, что повышает эффективность частых HTTP-запросов. 📌 Дата выхода: 20 ноября 2025 года PHP 8.5 продолжает модернизировать язык, улучшать производительность и делать работу разработчиков удобнее! 🚀 📱 @dev_notes_ru #PHP

Стоит ли отказываться от CSS препроцессоров в 2025 году Разбираем, можно ли в 2025 году отказаться от Sass и PostCSS в пользу
Стоит ли отказываться от CSS препроцессоров в 2025 году Разбираем, можно ли в 2025 году отказаться от Sass и PostCSS в пользу нативного CSS, Lightning CSS и Tailwind. Плюсы и минусы современных инструментов. Когда-то давно в нативном CSS не хватало многих важных функций, поэтому разработчики годами придумывали всевозможные способы упростить написание CSS. Способы упрощения написания CSS можно разделить на две группы: ✅ Препроцессоры ✅ Постпроцессоры К препроцессорам относятся такие инструменты, как Sass, Less и Stylus. Как следует из названия категории, эти инструменты позволяют писать CSS в их синтаксисе, прежде чем компилировать код в валидный CSS. Постпроцессоры работают в обратном направлении — вы записываете в CSS-файл невалидный синтаксис CSS, а постпроцессоры изменяют эти значения в валидный CSS. Сегодня существует два основных постпроцессора: ✅ PostCSS ✅ LightningCSS PostCSS — это самый большой представитель этого направления, а Lightning CSS — новый и заслуживающий внимания. 🖥 Читать статью 📱 @dev_notes_ru #Frontend #CSS

👩‍💻 Значения по умолчанию с оператором нулевого слияния Оператор нулевого слияния (??) предоставляет простой способ обработ
👩‍💻 Значения по умолчанию с оператором нулевого слияния Оператор нулевого слияния (??) предоставляет простой способ обработки null или undefined значений в JavaScript. Он просто необходим, и я расскажу, почему. Один из важных элементов синтаксиса JavaScript, который я с удовольствием использую, — это оператор нулевого слияния (??). Оператор ?? обрабатывает значения по умолчанию более эффективно по сравнению с традиционным подходом, использующим логический оператор ИЛИ (||). Это 100-процентно необходимый приём. Оба оператора ?? и || возвращают правый операнд, если левый операнд является «ложным». Но ключевое различие заключается в том, что считать «ложным»… 🖥 Читать статью 📱 @dev_notes_ru #JavaScript

🚀 Laravel v12.4: Новый каст AsHtmlString для HTML-контента Laravel представил новое приведение типа для Eloquent — AsHtmlString, автоматически преобразующее атрибут модели в экземпляр HtmlString. 🔹 Пример использования:
use Illuminate\Database\Eloquent\Casts\AsHtmlString;

protected $casts = [
    'content' => AsHtmlString::class,
];
Теперь при обращении к $model->content вы получите объект HtmlString, доступный для вывода в Blade:
{!! $model->content !!}
✅ Преимущества: • Упрощает работу с HTML из базы данных • Избавляет от ручного оборачивания в new HtmlString(...) • Обеспечивает корректный вывод HTML в Blade 📌 Рекомендуется для безопасного HTML-контента. 📱 @dev_notes_ru #Laravel12

Создание кастов моделей в Laravel В статье мы рассмотрим, что такое мутаторы, аксессоры и касты и как их использовать в прило
Создание кастов моделей в Laravel В статье мы рассмотрим, что такое мутаторы, аксессоры и касты и как их использовать в приложении Laravel. Также рассмотрим, как создавать и тестировать касты в Laravel и хранить объекты в базе данных. Касты, мутаторы и аксессоры моделей — это то, с чем приходится часто работать при создании приложений Laravel. Они играют важную роль во взаимодействии с моделями и данными, лежащими в их основе. Laravel поставляется с множеством удобных встроенных кастов, обеспечивающих большинство сценариев использования. Но могут возникнуть ситуации, когда потребуется создать собственные касты для хранения и получения данных определённым образом. В статье мы рассмотрим, что такое касты, мутаторы и аксессоры моделей в Laravel. Затем рассмотрим, как можно создавать собственные классы кастов и писать для них тесты. К концу статьи вы должны чувствовать себя достаточно уверенно, приступая к использованию собственных кастов Laravel в своих приложениях. 🖥 Читать статью 📱 @dev_notes_ru #Laravel12 #Eloquent

Типы пользователей GitHub 📱 @dev_notes_ru #joke
Типы пользователей GitHub 📱 @dev_notes_ru #joke

Дресс-код 📱 @dev_notes_ru #joke
Дресс-код 📱 @dev_notes_ru #joke

Использование `attr()` в CSS для столбцов, цвета и размера шрифта Теперь можно брать значения из атрибутов HTML, имеющих типы
Использование `attr()` в CSS для столбцов, цвета и размера шрифта Теперь можно брать значения из атрибутов HTML, имеющих типы, так что если в элемент поместить атрибут data-font-size="2.2rem", то его значение можно присвоить. 🖥 Читать статью 📱 @dev_notes_ru #Frontend #CSS #attr

Глобальное предотвращение проблемы N+1 в Laravel с автоматической жадной загрузки Жадная загрузка в Laravel — это способ загр
Глобальное предотвращение проблемы N+1 в Laravel с автоматической жадной загрузки Жадная загрузка в Laravel — это способ загрузки связанных моделей при запросе к модели. Она сделана для предотвращения проблемы N+1, возникающей, при загрузке модели и последующей поочерёдной загрузке связанных с ней моделей, что приводит к многочисленным запросам к базе данных. Проблема N+1 может стать проблемой производительности, если много связанных моделей. Жадная загрузка позволяет загрузить все связанные модели в одном запросе, что может значительно повысить производительность. 🖥 Читать статью 📱 @dev_notes_ru #Laravel12 #Eloquent #EagerLoading

Разноцветное выделение текста в CSS `::selection` — это круто, но использование селекторов типа `:nth-child(5n+2)` — гораздо
Разноцветное выделение текста в CSS `::selection` — это круто, но использование селекторов типа `:nth-child(5n+2)` — гораздо интереснее. 🖥 Читать статью 📱 @dev_notes_ru #Frontend #CSS

`:only-child` Иногда возникает необходимость изменить стиль элемента, если у него нет соседних элементов, и это очень просто сделать с помощью псевдокласса :only-child. Это может быть удобно при работе с динамическим контентом, когда необходимо изменить внешний вид, если есть только один дочерний элемент, или если есть что-то вроде <figure>, где необходимо придать элементу разный стиль в зависимости от того, есть или нет <figcaption>.
figure {
  border-radius: 16px;
  padding: 4px;
  border: 1px solid black;
}

figure > img {
  border-radius: 12px 12px 0 0;
}

figure > figcaption {
  padding: 6px;
  border-radius: 0 0 12px 12px;
}

figure > img:only-child {
  border-radius: 12px;
}
Также можно сделать обратное, с помощью :not(:only-child). Недавно я обнаружил, что сочетание с :has() может быть очень удобным, когда необходимо проверить, есть ли у элемента только один дочерний элемент:
/* Карточки с одним элементом получают больший padding */
.card:has(> :only-child) {
  padding: 2rem;
}

/* Карты с несколькими дочерними элементами сохраняют стандартный padding */
.card {
  padding: 1rem;
}
📱 @dev_notes_ru #Frontend #CSS

Модернизация с Web-платформой: Уменьшение движения Демонстрация, как современная веб-платформа может упростить уменьшение дви
Модернизация с Web-платформой: Уменьшение движения Демонстрация, как современная веб-платформа может упростить уменьшение движения на старой кодовой базе. 🖥 Читать статью 📱 @dev_notes_ru #Frontend #CSS #JavaScript #A11y

Резервные значения CSS переменных Браузер не знает, является ли значение CSS переменной валидным, пока переменная не будет ра
Резервные значения CSS переменных Браузер не знает, является ли значение CSS переменной валидным, пока переменная не будет разрешена, а к тому времени её обработает каскад и отбросит возможные резервные значения. 🖥 Читать статью 📱 @dev_notes_ru #Frontend #CSS

Метод `owns()`, которого не хватает в Eloquent Хотя Eloquent ORM в Laravel довольно мощный и покрывает основные потребности д
Метод `owns()`, которого не хватает в Eloquent Хотя Eloquent ORM в Laravel довольно мощный и покрывает основные потребности для большинства случаев использования, всегда будет чего-то не хватать. Другими словами, всегда найдётся функция, которая не нужна пока не понадобится. 🖥 Читать статью 📱 @dev_notes_ru #Eloquent #owns

👩‍💻 Быстрая сортировка строк с `Intl.Collator` Улучшите сортировку строк с учётом локали, заменив повторяющиеся вызовы `Str
👩‍💻 Быстрая сортировка строк с `Intl.Collator` Улучшите сортировку строк с учётом локали, заменив повторяющиеся вызовы `String.localeCompare` одним экземпляром `Intl.Collator` для более быстрого и эффективного сравнения. Сортировка строк может создавать неожиданные проблемы с производительностью, особенно при работе с большими наборами данных, нуждающимися в соответствующей локализации. Многие разработчики полагаются на String.localeCompare для сортировки по алфавиту, но есть и более эффективный подход, заслуживающий внимания. 🖥 Читать статью 📱 @dev_notes_ru #JavaScript

Использование `currentColor` в 2025 году Нужен ли `currentColor`? Не совсем, лучше использовать CSS переменные. Однако он всё
Использование `currentColor` в 2025 году Нужен ли `currentColor`? Не совсем, лучше использовать CSS переменные. Однако он всё равно имеет свою ценность, и об этом стоит поговорить.. 🖥 Читать статью 📱 @dev_notes_ru #Frontend #CSS #currentColor