Модернизация с Web-платформой: Уменьшение движения
Демонстрация, как современная веб-платформа может упростить уменьшение движения на старой кодовой базе.
🖥 Читать статью
📱 @dev_notes_ru
#Frontend #CSS #JavaScript #A11y
Демонстрация, как современная веб-платформа может упростить уменьшение движения на старой кодовой базе.
#Frontend #CSS #JavaScript #A11y
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
`:only-child`
Иногда возникает необходимость изменить стиль элемента, если у него нет соседних элементов, и это очень просто сделать с помощью псевдокласса
Это может быть удобно при работе с динамическим контентом, когда необходимо изменить внешний вид, если есть только один дочерний элемент, или если есть что-то вроде
Также можно сделать обратное, с помощью
Недавно я обнаружил, что сочетание с
📱 @dev_notes_ru
#Frontend #CSS
Иногда возникает необходимость изменить стиль элемента, если у него нет соседних элементов, и это очень просто сделать с помощью псевдокласса
: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;
}
#Frontend #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
Разноцветное выделение текста в CSS
`::selection` — это круто, но использование селекторов типа `:nth-child(5n+2)` — гораздо интереснее.
🖥 Читать статью
📱 @dev_notes_ru
#Frontend #CSS
`::selection` — это круто, но использование селекторов типа `:nth-child(5n+2)` — гораздо интереснее.
#Frontend #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Глобальное предотвращение проблемы N+1 в Laravel с автоматической жадной загрузки
Жадная загрузка в Laravel — это способ загрузки связанных моделей при запросе к модели. Она сделана для предотвращения проблемы N+1, возникающей, при загрузке модели и последующей поочерёдной загрузке связанных с ней моделей, что приводит к многочисленным запросам к базе данных.
Проблема N+1 может стать проблемой производительности, если много связанных моделей. Жадная загрузка позволяет загрузить все связанные модели в одном запросе, что может значительно повысить производительность.
🖥 Читать статью
📱 @dev_notes_ru
#Laravel12 #Eloquent #EagerLoading
Жадная загрузка в Laravel — это способ загрузки связанных моделей при запросе к модели. Она сделана для предотвращения проблемы N+1, возникающей, при загрузке модели и последующей поочерёдной загрузке связанных с ней моделей, что приводит к многочисленным запросам к базе данных.
Проблема N+1 может стать проблемой производительности, если много связанных моделей. Жадная загрузка позволяет загрузить все связанные модели в одном запросе, что может значительно повысить производительность.
#Laravel12 #Eloquent #EagerLoading
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Использование `attr()` в CSS для столбцов, цвета и размера шрифта
Теперь можно брать значения из атрибутов HTML, имеющих типы, так что если в элемент поместить атрибут
🖥 Читать статью
📱 @dev_notes_ru
#Frontend #CSS #attr
Теперь можно брать значения из атрибутов HTML, имеющих типы, так что если в элемент поместить атрибут
data-font-size="2.2rem", то его значение можно присвоить.#Frontend #CSS #attr
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Создание кастов моделей в Laravel
В статье мы рассмотрим, что такое мутаторы, аксессоры и касты и как их использовать в приложении Laravel. Также рассмотрим, как создавать и тестировать касты в Laravel и хранить объекты в базе данных.
Касты, мутаторы и аксессоры моделей — это то, с чем приходится часто работать при создании приложений Laravel. Они играют важную роль во взаимодействии с моделями и данными, лежащими в их основе.
Laravel поставляется с множеством удобных встроенных кастов, обеспечивающих большинство сценариев использования. Но могут возникнуть ситуации, когда потребуется создать собственные касты для хранения и получения данных определённым образом.
В статье мы рассмотрим, что такое касты, мутаторы и аксессоры моделей в Laravel. Затем рассмотрим, как можно создавать собственные классы кастов и писать для них тесты.
К концу статьи вы должны чувствовать себя достаточно уверенно, приступая к использованию собственных кастов Laravel в своих приложениях.
🖥 Читать статью
📱 @dev_notes_ru
#Laravel12 #Eloquent
В статье мы рассмотрим, что такое мутаторы, аксессоры и касты и как их использовать в приложении Laravel. Также рассмотрим, как создавать и тестировать касты в Laravel и хранить объекты в базе данных.
Касты, мутаторы и аксессоры моделей — это то, с чем приходится часто работать при создании приложений Laravel. Они играют важную роль во взаимодействии с моделями и данными, лежащими в их основе.
Laravel поставляется с множеством удобных встроенных кастов, обеспечивающих большинство сценариев использования. Но могут возникнуть ситуации, когда потребуется создать собственные касты для хранения и получения данных определённым образом.
В статье мы рассмотрим, что такое касты, мутаторы и аксессоры моделей в Laravel. Затем рассмотрим, как можно создавать собственные классы кастов и писать для них тесты.
К концу статьи вы должны чувствовать себя достаточно уверенно, приступая к использованию собственных кастов Laravel в своих приложениях.
#Laravel12 #Eloquent
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
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-контента.
#Laravel12
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Значения по умолчанию с оператором нулевого слиянияОператор нулевого слияния (
??) предоставляет простой способ обработки null или undefined значений в JavaScript. Он просто необходим, и я расскажу, почему.Один из важных элементов синтаксиса JavaScript, который я с удовольствием использую, — это оператор нулевого слияния (
??). Оператор ?? обрабатывает значения по умолчанию более эффективно по сравнению с традиционным подходом, использующим логический оператор ИЛИ (||). Это 100-процентно необходимый приём.Оба оператора
?? и || возвращают правый операнд, если левый операнд является «ложным». Но ключевое различие заключается в том, что считать «ложным»…#JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Стоит ли отказываться от 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
Разбираем, можно ли в 2025 году отказаться от Sass и PostCSS в пользу нативного CSS, Lightning CSS и Tailwind. Плюсы и минусы современных инструментов.
Когда-то давно в нативном CSS не хватало многих важных функций, поэтому разработчики годами придумывали всевозможные способы упростить написание CSS.
Способы упрощения написания CSS можно разделить на две группы:
К препроцессорам относятся такие инструменты, как Sass, Less и Stylus. Как следует из названия категории, эти инструменты позволяют писать CSS в их синтаксисе, прежде чем компилировать код в валидный CSS.
Постпроцессоры работают в обратном направлении — вы записываете в CSS-файл невалидный синтаксис CSS, а постпроцессоры изменяют эти значения в валидный CSS.
Сегодня существует два основных постпроцессора:
PostCSS — это самый большой представитель этого направления, а Lightning CSS — новый и заслуживающий внимания.
#Frontend #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🚀 PHP 8.5: Что нас ждёт в следующем релизе (ноябрь 2025)
PHP 8.5, запланированный к выпуску в ноябре 2025 года, предлагает ряд улучшений, призванных упростить разработку и сделать язык ещё мощнее.
🔧 Новые возможности и улучшения
-
Быстрое получение первого или последнего элемента массива без изменения его внутреннего указателя.
- Замыкания (closures) в константных выражениях
Теперь можно использовать замыкания в значениях по умолчанию и константах, что повышает выразительность языка.
- Атрибуты для констант
Константы, включая глобальные, теперь можно помечать атрибутами, например
- Асимметричная видимость статических свойств
Теперь можно задавать разные уровни доступа для чтения и записи статических свойств.
- Улучшенные трассировки ошибок
Сообщения о фатальных ошибках теперь содержат более детальную информацию для упрощения отладки.
- Новые функции
Позволяют получить текущие обработчики ошибок и исключений.
- Улучшения в cURL
Добавлены постоянные идентификаторы для cURL share-дескрипторов, что повышает эффективность частых HTTP-запросов.
📌 Дата выхода: 20 ноября 2025 года
PHP 8.5 продолжает модернизировать язык, улучшать производительность и делать работу разработчиков удобнее!🚀
📱 @dev_notes_ru
#PHP
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 продолжает модернизировать язык, улучшать производительность и делать работу разработчиков удобнее!
#PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Laravel полон скрытых сокровищ, способных значительно ускорить рабочий процесс. Эти практические советы помогут писать более чистый код, создавать быстрее и добиваться большего.
Laravel обладает мощными возможностями и элегантными API, но некоторые из его лучших трюков скрыты от посторонних глаз. Спрятанные на виду. Эти малоизвестные хитрости могут сделать рабочий процесс разработки более плавным, быстрым и приятным.
Вне зависимости от того, масштабируете ли вы серьёзный SaaS или экспериментируете с чем-то новым, нет никакого оправдания трате времени на решение проблем, уже решённых в Laravel. Эти советы помогут извлечь максимум пользы из фреймворка: чистый код, меньше хаков и больше времени, потраченного на реальное создание.
Итак, давайте разбираться.
#Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
Forwarded from Taylor Otwell 🪐
This 🔥
👩💻 @taylorotwell
Collection::ensure() method has provided no shortage of value ever since it was added. Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
LinkedIn: На этой неделе вы появились в 367 поисковых запросах
Я: Так где же моя работа?
📱 @dev_notes_ru
#joke
Я: Так где же моя работа?
#joke
Please open Telegram to view this post
VIEW IN TELEGRAM
:w сохраняет файл в Vim. Но знаете ли вы? В Нормальном режиме нажатие ZZ (Shift + zz) делает то же самое, а ZQ (Shift + zq) завершает работу без сохранения. Готов поспорить, вы этого не знали, по крайней мере, я не знал.
#vim #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1😡1
Новые методы массивов в PHP 8.5:
Разбираем новые функции массива `array_first()` и `array_last()` в PHP 8.5: синтаксис, примеры использования и сравнение с `reset()` и `end()`. Узнайте, как упростить работу с массивами.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #Array #tips
array_first() и array_last()Разбираем новые функции массива `array_first()` и `array_last()` в PHP 8.5: синтаксис, примеры использования и сравнение с `reset()` и `end()`. Узнайте, как упростить работу с массивами.
#PHP #Array #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP 8.5: Новые возможности и изменения
PHP 8.5 — это активная ветвь разработки, в которую в настоящее время добавляются новые функции, основные изменения и новые RFC. Релиз выйдет 20 ноября 2025 год.
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP85 #features
PHP 8.5 — это активная ветвь разработки, в которую в настоящее время добавляются новые функции, основные изменения и новые RFC. Релиз выйдет 20 ноября 2025 год.
#PHP #PHP85 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP 8.5: Новые функции массивов
В PHP 8.5 добавлены две новые функции получения первого и последнего значений массива. Эти функции дополняют функции
🖥 Читать статью
📱 @dev_notes_ru
#PHP #PHP85 #features
array_first() и array_last()В PHP 8.5 добавлены две новые функции получения первого и последнего значений массива. Эти функции дополняют функции
array_key_first и array_key_last, добавленные в PHP 7.3.#PHP #PHP85 #features
Please open Telegram to view this post
VIEW IN TELEGRAM
У вас есть связь, в которой нужна только самая последняя или самая старая связанная модель?
Используйте
🖥 Ссылка на документацию
📱 @dev_notes_ru
#Laravel #tips
Используйте
latestOfMany() или oldestOfMany() с hasOne(), для доступа только к одной записи, без сложных подзапросов.#Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM