Web Dev Trends
21 subscribers
697 photos
6 videos
690 links
Полезные статьи и новости веб разработки
Download Telegram
👩‍💻 Хуки свойств на практике

Две важнейшие особенности грядущей версии PHP 8.4 - это хуки свойств и асимметричная видимость (или сокращенно "aviz"). Мы с Ильей Товило работали над ними в течение двух лет, и наконец-то они почти готовы!

Хорошо, и что теперь?

Вместо того чтобы просто повторять, что написано в соответствующих RFC (в блоге есть много постов, посвященных этому), сегодня хочу пройтись по реальному приложению, над которым работаю в качестве сайд-проекта и часть которого только что переделал под использование хуков и aviz. Надеюсь, это позволит лучше понять практическую пользу этих инструментов, а также то, где ещё могут остаться неровности.

Один из основных вариантов использования хуков - не использовать их: Они существуют на случай, если понадобится, так что не нужно делать шаблонные методы getter/setter "на всякий случай". Однако это не единственное их применение. Они также очень хороши в сочетании со свойствами интерфейса и делегированием. Давайте посмотрим.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Стилизация Shadow DOM с Web-компонентами

Я часто говорю, что Shadow DOM - это антипаттерн. Меня за это часто критикуют, потому что в течение многих лет культ JS-фреймворка позиционировал Shadow DOM как убийственную особенность Web-компонентов.

Но одна из самых больших проблем, создаваемых Shadow DOM для веб-компонентов, связана со стилизацией.

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

Давайте покопаемся!

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #WebComponent
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 5 проверенных способов ускорить работу Prettier Format-On-Save в VS Code

Вас раздражает медленное форматирование Prettier при сохранении файлов? Многие разработчики сталкиваются с этой проблемой, особенно в крупных проектах. Вот как можно значительно повысить производительность Prettier без ущерба для качества кода.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #VSCode #Prettier #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🛡 Понимание и предотвращение атак Clickjacking на основе CSS

Безопасность в Интернете — это постоянное противостояние между людьми, создающими безопасные, удобные для пользователей сайты, и злоумышленниками, пытающимися найти бреши в коде. Среди обманных методов, используемых злоумышленниками для компрометации взаимодействия с пользователем, — clickjacking. По сути, clickjacking манипулирует элементами пользовательского интерфейса, иногда делая их невидимыми или переставляя таким образом, что пользователи неосознанно кликают там, где хотят злоумышленники. Хитроумно используя CSS, злоумышленники могут обманом заставить пользователей неосознанно выполнить такие действия, как лайк сообщения, обмен конфиденциальной информацией или включение разрешений.

В последние годы CSS играет все более важную роль в этих атаках, позволяя использовать методы захвата кликов, которые даже не требуют JavaScript, что усложняет их обнаружение и предотвращение. В статье мы расскажем о том, как работает clickjacking на основе CSS, о технических последствиях и стратегиях, которые вы можете использовать, чтобы защитить свой сайт от подобных обманных трюков.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как сгенерировать UUID в Laravel 11

Здравствуйте, веб-разработчики laravel! В этой статье мы рассмотрим, как сгенерировать UUID в laravel 11. Мы рассмотрим несколько способов генерации UUID в laravel. UUID (универсальные уникальные идентификаторы) - это отличный способ генерировать уникальные идентификаторы для записей в базе данных в Laravel, особенно когда нужен идентификатор, значение которого сложно угадать или не раскрывающий такую информацию, как порядок создания.

В этой статье я покажу как генерировать UUID в Laravel 11, используя как встроенные методы, так и сторонние пакеты.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Laravel #UUID
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Отзывчивая типографика: Адаптация текста под все экраны

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

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #Typography #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как подключить JavaScript в Laravel 11

В Laravel 11 добавление JavaScript в проект не составит труда благодаря Vite, стандартному пакету ресурсов. Вот как настроить JavaScript на всевозможные сценарии, от глобального включения до условной загрузки в определенных представлениях.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Laravel #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Почему Alpine - это новый jQuery и почему это замечательно

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

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #AlpineJS #jQuery #JS #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как отменить локальные изменения в Git

Управление локальными изменениями в Git может стать настоящим кошмаром, особенно если эти изменения излишни. В статье рассматриваются различные способы избавления от локальных изменений в Git'е - от незафиксированных изменений до неотслеживаемых файлов. Знание того, как вернуть проект в требуемое состояние, является ключевым в эффективной работе с системой контроля версий. Я расскажу о наиболее эффективных командах, очищающих рабочий каталог и делающих рабочий процесс как можно более плавным.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Git #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Тайные приемы CSS, используемые разработчиками Facebook

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

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Руководство по обновлению WordPress PHP 8

Обновите свой сайт WordPress до PHP 8, чтобы повысить производительность, безопасность и чистоту кода. Это руководство проведет вас через весь процесс, включая проверку совместимости и устранение неполадок, для плавного перехода.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #WordPress #PHP8
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻👩‍💻 Интеграция Python библиотек ИИ в Laravel для создания интеллектуальных возможностей

В этом руководстве я расскажу об интеграции библиотек ИИ на базе Python, таких, как TensorFlow, в приложение Laravel. Благодаря мощным возможностям Python в области машинного обучения и обработки данных можно создавать более интеллектуальные функции в проектах Laravel, что позволит обрабатывать сложные вычисления и предоставлять аналитические данные, основанные на искусственном интеллекте, непосредственно в приложении.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Laravel #Python #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как скрыть полосу прокрутки в Tailwind CSS

Существует множество способов настройки полос прокрутки в Tailwindcss. Мы рассмотрим три подхода к работе с полосами прокрутки, каждый со своими преимуществами.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Tailwind #Tailwindcs #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Стилизация элементов Shadow DOM Web Компонента с помощью встроенных стилей

Недавно мы рассмотрели, почему стилизация элементов веб-компонентов в shadow DOM - это отстой, и я рассказал о пяти различных подходах, которые можно использовать.

Сегодня мы подробно рассмотрим первый из них: встроенный CSS.

Давайте разбираться!

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #WebComponent #ShadowDOM
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Laravel под капотом — немного о макросах

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

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Laravel #Macros
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Интерфейсы PHP: Руководство с практическими примерами

В PHP интерфейс — это способ определить образец для классов, указывающий методы, обязательные для любого класса, реализующего интерфейс. Считайте, что это контракт между интерфейсом и классом, реализующим его. Это мощный инструмент в объектно-ориентированном программировании (ООП), позволяющий разработчикам определить набор функций, подлежащих реализации, что помогает сохранить последовательность и организованность кода в рамках всего проекта.

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

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #PHP #Interface
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Глубокое погружение в JavaScript наследование - 7 мощных техник

В JavaScript наследование является важным способом многократного использования кода и управления сложными объектными отношениями. Благодаря модели, основанной на прототипах, в JavaScript существует несколько шаблонов наследования, обладающих уникальными преимуществами. Давайте изучим эти методы и поймем, когда они наиболее эффективны.

В статье рассматриваются семь основных типов наследования в JavaScript: от основополагающего наследования по цепочке прототипов до современного наследования классов в ES6. Каждый метод обладает уникальными достоинствами и недостатками, что позволяет разработчикам выбирать оптимальный подход для различных сценариев и потребностей в производительности. Поняв и реализовав эти модели наследования, вы будете лучше подготовлены к созданию структурированного и удобного кода на JavaScript.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #JavaScript #JS #Inheritance
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Дружелюбное введение в контейнерные запросы

В течение долгого времени самой востребованной функцией CSS были контейнерные запросы. Это был святой грааль, самый большой недостающий элемент в наборе инструментов CSS.

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

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #Container
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Атрибуты импорта JavaScript (ES2025)

Новый синтаксис атрибутов импорта и почему мы больше нельзя полагаться только на расширения файлов.

JavaScript получает новую функцию, делающую импорт модулей более явным и безопасным. Атрибуты импорта добавляют способ передачи метаданных о любом импортируемом модуле — будь то JSON, JavaScript или другие типы модулей.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #CSS #Container
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Архитектурное тестирование с Laravel Pest

Обеспечить, чтобы растущая кодовая база следовала лучшим практикам и не отклонялась от стандартов, необходимо для любого проекта. Однако, как правило, это можно обеспечить только вручную с помощью анализа кода и других подобных процессов. Как и любая другая ручная работа, она может отнимать много времени, быть утомительной и чреватой ошибками. Именно здесь на помощь приходит архитектурное тестирование.

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

В статье мы познакомимся с архитектурным тестированием и преимуществами его использования. Затем рассмотрим, как писать архитектурные тесты для приложений Laravel с помощью Laravel Pest, популярного фреймворка для тестирования PHP. К концу статьи вы будете уверены в написании архитектурных тестов для своих приложений Laravel.

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #Laravel #Pest
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Различные (и современные) способы переключения контента

Легко придерживаться того, что вы знаете. Когда речь идет о переключении контента, это может быть display: none или opacity: 0 с некоторым количеством JavaScript. Но сегодня веб стал более «современным», поэтому, возможно, сейчас самое время взглянуть на различные способы переключения содержимого с высоты птичьего полета — какие нативные API действительно поддерживаются сейчас, их плюсы и минусы, а также некоторые вещи, о которых вы могли не знать (например, псевдо-элементы и другие неочевидные вещи).

🖥 Читать статью (🇬🇧)

📱 @webdev_trends

#webdev #HTML #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM