В этой статье рассматриваются различные эксперименты и попытки применения паттерна ADR к контроллерам Symfony. Поехали! 😎
#webdev #Symfony
Please open Telegram to view this post
VIEW IN TELEGRAM
Я использую термин «библиотека CSS» для обозначения хранилища, существующего для предоставления стилей для компонентов. Возможно, «CSS-библиотека компонента» будет более точным? Эта статья, по сути, представляет собой сборник не совсем обоснованных мнений, представленных в виде предложений.
Одна из основных идей, лежащих в основе использования CSS-библиотеки для компонентов, заключается в том, что пользователь библиотеки должен иметь возможность настраивать представление компонента, не касаясь CSS. Разработчик должен иметь возможность назвать нужную конфигурацию компонента в HTML, и стилизация должна просто работать. Давайте поговорим о том, как можно сделать API более интуитивным и простым в управлении.
#webdev #HTML #CSS #WebComponent
Please open Telegram to view this post
VIEW IN TELEGRAM
Многие разработчики сосредотачиваются на разработке основных функций приложения и практически не уделяют внимания управлению памятью, пока не исчерпают её, и их приложения не начнут сбоить, зависать или испытывать случайные падения производительности.
Оперативная память компьютеров ограничена, и всегда лучше эффективно использовать выделенные ресурсы. Попытка запустить приложение, потребляющее много памяти, на компьютере или сервере с недостаточным объемом памяти может привести к сбою в самый неподходящий момент, что негативно скажется на работе пользователей. Кроме того, большой объем памяти может повлиять на работу других приложений и фоновых служб. Если запустить приложение, потребляющее много памяти, в облаке, где ресурсы измеряются и оплачиваются по факту их использования, вы, скорее всего, получите большой счет.
Большой объем памяти может привести к нежелательным последствиям. Читайте далее, чтобы узнать, что такое управление памятью, и найти советы по снижению потребления памяти приложением Python.
#webdev #Python #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы еще не читали мою статью в блоге "Обновление сайта к 2025 году", рекомендую вернуться и прочитать её, поскольку в ней рассказывается о некоторых интересных вещах, которые я делаю для того, чтобы сайт идеально подходил для моего рабочего процесса.
Одна из вещей, которую я добавил, - это возможность встраивать код шаблона Blade в файл Markdown, что позволяет создавать пользовательские компоненты Blade для записей блога и затем добавлять их в Markdown напрямую.
Несколько человек спросили меня, как я это делаю, и я решил показать вам.
#webdev #Laravel #Blade #Markdown
Please open Telegram to view this post
VIEW IN TELEGRAM
WordPress - невероятно мощная и гибкая платформа для создания веб-сайтов, но вместе с этой мощью приходит и необходимость тщательного соблюдения правил безопасности. Одной из опасных уязвимостей WordPress и веб-приложений в целом является атака SQL-инъекции (SQLi). SQL-инъекции используют незащищенные запросы к базе данных, позволяя злоумышленникам получить доступ, манипулировать и потенциально скомпрометировать всю базу данных. Если злоумышленникам удается осуществить атаку с использованием SQL-инъекций, они могут похитить конфиденциальные данные, изменить записи, создать черные ходы и даже взять систему под контроль.
В статье подробно рассматриваются уязвимости SQL-инъекций в WordPress, различные методы атак SQLi, потенциальное воздействие этих атак и лучшие методы защиты запросов к базе данных WordPress от SQLi. Используя эти стратегии, вы сможете защитить свой сайт, его данные и своих пользователей от потенциальных угроз.
#webdev #WordPress #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
empty() чаще, isset() в PHP, и вы должны тожеПри разработке на PHP эффективная обработка проверок переменных очень важна для обеспечения надежности и безошибочности кода. Для этого часто используются две языковые конструкции -
empty() и isset(). Однако во многих случаях выбор empty() может быть предпочтительнее, isset(), в первую очередь потому, что empty() охватывает почти все сценарии, используемые isset(), наряду с дополнительными проверками. В статье рассматривается, почему в PHP лучше использовать empty(), и демонстрируется на примерах кода.#webdev #PHP #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Я только что написал в блоге о способе передачи информации от элемента, имеющего временную, к его потомкам. Идея заключается в том, чтобы установить CSS свойства с помощью
@property, а @keyframe будет анимировать их, таким образом, потомки получат к ним доступ.#webdev #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
Как разработчики, мы понимаем, насколько важен чистый, последовательный код для поддержки масштабного приложения Laravel. Хорошо отформатированный код не только повышает читабельность, но и обеспечивает согласованность в команде и помогает избежать досадных споров о форматировании при проверке кода.
Используйте Pint, мощный инструмент, представленный экосистемой Laravel, для автоматического форматирования PHP-кода в соответствии с лучшими практиками.
В статье мы рассмотрим, как интегрировать Pint в приложение Laravel и сделать ещё один шаг вперёд, запустив Pint внутри контейнера Docker используя Docker Compose.
Такой подход обеспечивает согласованность форматирования кода в разных средах и облегчает разработчикам, использующим различные настройки, поддержание единообразия в кодовой базе. Давайте погрузимся в детали!
#webdev #Laravel #Pint #Docker
Please open Telegram to view this post
VIEW IN TELEGRAM
Знакомство с новыми функциональными возможностями языков программирования сродни празднику — оно наполнено предвкушением и волнением от открытия чего-то нового. Благодаря предлагаемым функциям ECMAScript 2024 (ES2024) разработчики JavaScript находятся на пороге знакомства с новыми инструментами, обещающими сделать кодирование более эффективным, читабельным и надежным. От интуитивно понятного синтаксиса ожиданий верхнего уровня до надежности неизменяемых записей и кортежей - ES2024 содержит множество тщательно отобранных усовершенствований, призванных расширить возможности разработчиков и обогатить экосистему JavaScript.
Давайте познакомимся с некоторыми из них и узнаем, как они могут улучшить JavaScript.
#webdev #JS #JavaScript #ES2024
Please open Telegram to view this post
VIEW IN TELEGRAM
Две важнейшие особенности грядущей версии PHP 8.4 - это хуки свойств и асимметричная видимость (или сокращенно "aviz"). Мы с Ильей Товило работали над ними в течение двух лет, и наконец-то они почти готовы!
Хорошо, и что теперь?
Вместо того чтобы просто повторять, что написано в соответствующих RFC (в блоге есть много постов, посвященных этому), сегодня хочу пройтись по реальному приложению, над которым работаю в качестве сайд-проекта и часть которого только что переделал под использование хуков и aviz. Надеюсь, это позволит лучше понять практическую пользу этих инструментов, а также то, где ещё могут остаться неровности.
Один из основных вариантов использования хуков - не использовать их: Они существуют на случай, если понадобится, так что не нужно делать шаблонные методы
getter/setter "на всякий случай". Однако это не единственное их применение. Они также очень хороши в сочетании со свойствами интерфейса и делегированием. Давайте посмотрим.#webdev #PHP
Please open Telegram to view this post
VIEW IN TELEGRAM
Я часто говорю, что Shadow DOM - это антипаттерн. Меня за это часто критикуют, потому что в течение многих лет культ JS-фреймворка позиционировал Shadow DOM как убийственную особенность Web-компонентов.
Но одна из самых больших проблем, создаваемых Shadow DOM для веб-компонентов, связана со стилизацией.
Он ломает каскад и делает стилизацию вещей в миллион раз сложнее и более повторяющейся, чем она должна быть. Сегодня мы рассмотрим, почему это плохо, и какие у нас есть варианты.
Давайте покопаемся!
#webdev #CSS #WebComponent
Please open Telegram to view this post
VIEW IN TELEGRAM
Вас раздражает медленное форматирование Prettier при сохранении файлов? Многие разработчики сталкиваются с этой проблемой, особенно в крупных проектах. Вот как можно значительно повысить производительность Prettier без ущерба для качества кода.
#webdev #VSCode #Prettier #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Безопасность в Интернете — это постоянное противостояние между людьми, создающими безопасные, удобные для пользователей сайты, и злоумышленниками, пытающимися найти бреши в коде. Среди обманных методов, используемых злоумышленниками для компрометации взаимодействия с пользователем, — clickjacking. По сути, clickjacking манипулирует элементами пользовательского интерфейса, иногда делая их невидимыми или переставляя таким образом, что пользователи неосознанно кликают там, где хотят злоумышленники. Хитроумно используя CSS, злоумышленники могут обманом заставить пользователей неосознанно выполнить такие действия, как лайк сообщения, обмен конфиденциальной информацией или включение разрешений.
В последние годы CSS играет все более важную роль в этих атаках, позволяя использовать методы захвата кликов, которые даже не требуют JavaScript, что усложняет их обнаружение и предотвращение. В статье мы расскажем о том, как работает clickjacking на основе CSS, о технических последствиях и стратегиях, которые вы можете использовать, чтобы защитить свой сайт от подобных обманных трюков.
#webdev #CSS #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики laravel! В этой статье мы рассмотрим, как сгенерировать UUID в laravel 11. Мы рассмотрим несколько способов генерации UUID в laravel. UUID (универсальные уникальные идентификаторы) - это отличный способ генерировать уникальные идентификаторы для записей в базе данных в Laravel, особенно когда нужен идентификатор, значение которого сложно угадать или не раскрывающий такую информацию, как порядок создания.
В этой статье я покажу как генерировать UUID в Laravel 11, используя как встроенные методы, так и сторонние пакеты.
#webdev #Laravel #UUID
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда речь заходит о веб-дизайне, отзывчивая типографика часто отходит на второй план по сравнению с версткой, хотя читабельность текста является основополагающим фактором для удобства пользователей. Правильное использование типографики на экранах разных размеров может улучшить дизайн и обеспечить постоянную читабельность. Далее рассмотрим, как сделать типографику отзывчивой, а также некоторые трюки и инструменты CSS, помогающие тексту красиво адаптироваться на всех экранах.
#webdev #CSS #Typography #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
В Laravel 11 добавление JavaScript в проект не составит труда благодаря Vite, стандартному пакету ресурсов. Вот как настроить JavaScript на всевозможные сценарии, от глобального включения до условной загрузки в определенных представлениях.
#webdev #Laravel #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
В былые времена, когда я создавал сайты вручную, в снегу, в гору, разными способами, jQuery был моим стандартным инструментом при создании любого вида интерактивности на веб-странице. Задолго до того, как я задумался о создании приложений, jQuery был рабочей лошадкой, которая делала кроссбраузерную веб-разработку простой или, по крайней мере, чуть менее болезненной. В 2024 году он по-прежнему используется на подавляющем большинстве веб-сайтов. (Я видел разные цифры, но все они указывают на то, что это, по крайней мере, примерно три четверти веб-сайтов, используемых сегодня).
#webdev #AlpineJS #jQuery #JS #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
Управление локальными изменениями в Git может стать настоящим кошмаром, особенно если эти изменения излишни. В статье рассматриваются различные способы избавления от локальных изменений в Git'е - от незафиксированных изменений до неотслеживаемых файлов. Знание того, как вернуть проект в требуемое состояние, является ключевым в эффективной работе с системой контроля версий. Я расскажу о наиболее эффективных командах, очищающих рабочий каталог и делающих рабочий процесс как можно более плавным.
#webdev #Git #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы когда-нибудь задумывались, как Facebook удается создавать такие гладкие, отзывчивые интерфейсы, безупречно работающие на миллионах устройств? Несмотря на сложность технологического стека, многие из наиболее впечатляющих функций пользовательского интерфейса основаны на хитроумных техниках CSS, часто остающихся незамеченными. Давайте рассмотрим некоторые из скрытых жемчужин, используемых разработчиками Facebook для создания своей платформы.
#webdev #CSS #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновите свой сайт WordPress до PHP 8, чтобы повысить производительность, безопасность и чистоту кода. Это руководство проведет вас через весь процесс, включая проверку совместимости и устранение неполадок, для плавного перехода.
#webdev #WordPress #PHP8
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом руководстве я расскажу об интеграции библиотек ИИ на базе Python, таких, как TensorFlow, в приложение Laravel. Благодаря мощным возможностям Python в области машинного обучения и обработки данных можно создавать более интеллектуальные функции в проектах Laravel, что позволит обрабатывать сложные вычисления и предоставлять аналитические данные, основанные на искусственном интеллекте, непосредственно в приложении.
#webdev #Laravel #Python #AI
Please open Telegram to view this post
VIEW IN TELEGRAM