Web Dev Trends
21 subscribers
697 photos
6 videos
690 links
Полезные статьи и новости веб разработки
Download Telegram
👩‍💻 Защита WordPress: Как предотвратить брутфорс XML-RPC и DDoS-атаки

XML-RPC - протокол удаленного вызова процедур (RPC), использующий XML для кодирования вызовов и HTTP в качестве транспортного механизма. В WordPress XML-RPC обеспечивает удаленный доступ к различным функциям, позволяя пользователям взаимодействовать со своими сайтами без прямого доступа к браузеру. С его помощью работают такие функции, как мобильное приложение, trackback и внешние публикации. Однако эта, казалось бы, полезная функция также может быть использована, что делает её основной целью для брутфорса и DDoS-атак.

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

📱 @webdev_trends

#webdev #WordPress #wp #clickjacking #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Прогрессивные веб-приложения (PWA) на основе Laravel с Service Worker

Здравствуйте, веб-разработчики Laravel! В этой статье мы рассмотрим Laravel-Based Progressive Web App (PWA) с Service Worker. Прогрессивные веб-приложения (PWA) - это веб-приложения, которые сочетают в себе лучшее от веб-приложений и мобильных приложений.

Они предлагают возможность работы в автономном режиме, быстрое время загрузки и push-уведомления, что делает их удобными для пользователей и высокоэффективными. В этом руководстве мы рассмотрим, как создать PWA на Laravel, сосредоточившись на внедрении рабочих служб для стратегии кэширования, обеспечении автономной функциональности и интеграции push-уведомлений.

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

📱 @webdev_trends

#webdev #Laravel #PWA
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Новое в Symfony 7.2: Week, WordCount и ограничения Yaml

Это первая статья из цикла, в котором рассказывается о наиболее важных нововведениях в Symfony 7.2, релиз которого состоится в конце ноября 2024 года.

Symfony включает в себя десятки ограничений для проверки данных в приложениях. В Symfony 7.2 мы добавляем три новых ограничения.

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

📱 @webdev_trends

#webdev #Symfony
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Продвинутый Eloquent ORM для работы со сложными связями

Здравствуйте, веб-разработчики Laravel! В этой статье мы рассмотрим работу eloquent ORM со сложными отношениями. Если вы уже давно используете Laravel, то наверняка знакомы с основами Eloquent ORM - мощного слоя абстракции баз данных в Laravel.

Однако по мере роста приложения может понадобиться обрабатывать более сложные отношения, такие как отношения «многие-ко-многим», полиморфные отношения и глубоко вложенные запросы. Эти отношения могут стать сложными, если их не обрабатывать эффективно, что приведет к проблемам с производительностью.

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

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

📱 @webdev_trends

#webdev #Laravel #Eloquent
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 The Inertia.js v2 Beta is Here

На этой неделе была выпущена первая бета-версия Inertia.js v2. Основная библиотека была переписана для поддержки асинхронных запросов, что позволило раскрыть некоторые впечатляющие возможности, которые теперь можно получить в свои руки!

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

📱 @webdev_trends

#webdev #Laravel #Logs
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Редактирование в режиме реального времени с Laravel WebSockets

Здравствуйте, веб-разработчики Laravel! В этом руководстве я пошагово расскажу о том, как создать инструмент совместного редактирования в реальном времени с помощью Laravel WebSockets и Livewire. Эта функция позволяет нескольким пользователям одновременно редактировать один и тот же контент, при этом все изменения отражаются в реальном времени.

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

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

📱 @webdev_trends

#webdev #Laravel #WebSockets
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как создать диалоговый компонент с Alpine.js

Alpine.js - легкий JavaScript-фреймворк, позволяющий добавлять динамическое поведение в HTML с минимальными усилиями. В этом руководстве рассмотрим, как создать простой, но эффективный диалог (также известный как модальный) с помощью Alpine.js.

Эта техника идеально подходит для отображения дополнительной информации, форм или предупреждений без перехода с текущей страницы.

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

📱 @webdev_trends

#webdev #Alpine #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 CSS трюки, использующие только один градиент

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

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

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

📱 @webdev_trends

#webdev #CSS #tricks
Please open Telegram to view this post
VIEW IN TELEGRAM
#webdev #WordPress #wp #xss #security

Защита WordPress от атак межсайтового скриптинга (XSS)

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

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

@webdev_trends
👩‍💻 Как обновить устаревшую функцию PHPUnit withConsecutive()

Метод withConsecutive() был устаревшим в PHPUnit 9 и удален в PHPUnit 10. Это вызвало множество вопросов на StackOverflow, в различных проектах и на GitHub.

Это не было очень популярным нарушением обратной совместимости. Замены 1:1 не существует. Он может быть объединен с методами willReturn*(), что может сделать его еще более сложным для слияния.

При обновлении PHPUnit 95 % времени уходит на обновление этого единственного метода и 5 % - на все остальные. За последние месяцы мы провели несколько обновлений проекта с помощью Rector и узнали много нового.

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

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

📱 @webdev_trends

#webdev #PHP #PHPUnit
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Рецепты определения поддержки CSS At-правил

At-правило @supports было несколько раз расширено с момента его первого выпуска. Когда-то оно позволяло проверять поддержку только пар свойство/значение, теперь оно может проверять наличие селектора с помощью функции-обертки selector() и различных форматов и технологий шрифтов с помощью font-format() и font-tech(), соответственно. Однако сообщество всё ещё жаждет одной возможности - проверки поддержки других at-правил.

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

📱 @webdev_trends

#webdev #CSS #tricks
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Руководство по конвейерам Laravel

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

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

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

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

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

📱 @webdev_trends

#webdev #Laravel #Pipelines
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Enums в Laravel: Все, что нужно знать

Enums появились в PHP 8.1, и Laravel в полной мере использовал их возможности. Давайте посмотрим, как можно использовать Enums в ваших проектах Laravel сегодня.

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

📱 @webdev_trends

#webdev #PHP #Laravel #Enums
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Выбор Masonry Syntax в CSS

Еще в 2020 году 👩‍💻 Firefox выпустил прототип для создания «masonry» макета в CSS. Сейчас все браузеры стремятся выпустить что-то подобное, но ведутся жаркие споры о том, какой синтаксис лучше использовать.

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

📱 @webdev_trends

#webdev #CSS #feature
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как деструктуризация массивов может замедлить JavaScript код

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

🖥 Читать статью

📱 @dev_notes_ru

#JavaScript #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Глубокое погружение в сессии в Laravel

При создании приложений Laravel почти гарантированно придется иметь дело с сессиями. Они являются фундаментальной частью веб-разработки.

В этой статье мы рассмотрим, что такое сессии, как они работают в Laravel, и как с ними можно работать в приложениях Laravel.

Затем рассмотрим, как взаимодействовать с сессиями, используя «классы сессий», чтобы избежать распространенных ошибок, которые часто встречаются при работе над приложениями Laravel.

Наконец, рассмотрим, как тестировать данные сессий в Laravel.

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

📱 @webdev_trends

#webdev #Laravel #Sessions
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Понимание PHP фреймворков: Лучшие варианты для веб-разработки

Хотя время от времени возникают вопросы о популярности PHP, нет никаких сомнений в том, что PHP остается мощным инструментом в веб-разработке, а фреймворки в его экосистеме играют решающую роль в формировании эффективности, масштабируемости и ремонтопригодности приложений. В статье мы исследуем текущую конкуренцию между тремя основными PHP-фреймворками: Laravel, Symfony и CodeIgniter.

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

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

📱 @webdev_trends

#webdev #PHP #Laravel #Symfony #CodeIngiter
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Откажитесь от Git Checkout: Вместо этого используйте Git Switch и Git Restore

Если в своей повседневной работе используете Git, то git checkout - это распространенная команда. Она часто используется для переключения ветвей, и если посмотреть в документацию, то можно увидеть фразу «переключить ветви или восстановить файлы рабочего дерева». Но в UNIX должно быть «Делай одно дело и делай его хорошо». Это сбивало с толку, поэтому в Git 2.23 появилась пара команд для замены.

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

📱 @webdev_trends

#webdev #Git
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Разделение уровней логов между Stdout и Stderr с Laravel

Вы когда-нибудь хотели вести логи определенных уровней в Laravel? Конечно, можно использовать опцию level config, чтобы указать минимальный уровень для логирования, но что, если нужно, чтобы логи Debug и Info попадали только в определенный логгер?

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

📱 @webdev_trends

#webdev #Laravel #Logs
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 CSS Веерное раскрытие с Grid и @property

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

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

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

📱 @webdev_trends

#webdev #css #grid
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Секреты упорядочивания свойств объектов JavaScript

Недавно кто-то спросил меня, обязательно ли свойства объектов JavaScript должны быть неупорядоченными и непредсказуемыми?

Разработчики знакомые с ранним JavaScript могут ответить, что Object.keys() или for...in возвращают непредсказуемый порядок свойств объекта. Но так ли это на самом деле?

Как и следовало ожидать, теперь существуют правила, которым нужно следовать.

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

📱 @webdev_trends

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