Вы когда-нибудь хотели вести логи определенных уровней в Laravel? Конечно, можно использовать опцию level config, чтобы указать минимальный уровень для логирования, но что, если нужно, чтобы логи Debug и Info попадали только в определенный логгер?
#webdev #Laravel #Logs
Please open Telegram to view this post
VIEW IN TELEGRAM
@propertyВеерное раскрытие - это разворачивающаяся анимация, при которой группа элементов появляется один за другим, рядом друг с другом, как будто они выкладываются из стопки. При этом обычно наблюдается едва уловимое подпрыгивание.
Эффект обычно достигается за счет тайминга и позиционирования каждого элемента по отдельности с очень жестко заданными значениями. Однако это может быть очень трудоемко. Но можно сделать всё немного проще, если позволить родительскому контейнеру элементов сделать это за нас.
#webdev #css #grid
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно кто-то спросил меня, обязательно ли свойства объектов JavaScript должны быть неупорядоченными и непредсказуемыми?
Разработчики знакомые с ранним JavaScript могут ответить, что
Object.keys() или for...in возвращают непредсказуемый порядок свойств объекта. Но так ли это на самом деле?Как и следовало ожидать, теперь существуют правила, которым нужно следовать.
#webdev #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
Независимо от того, опытный вы разработчик или только начинаете, эффективное управление кодовой базой имеет решающее значение для успеха. Git, широко используемая система контроля версий, помогает отслеживать изменения, сотрудничать с другими и поддерживать целостность проекта. Однако без правильного рабочего процесса Git может стать непосильной задачей. В этой статье мы расскажем о комплексном рабочем процессе Git, рассмотрим различные сценарии и лучшие практики, включая стратегии ветвления, такие как
feature-based и forking workflow, чтобы обеспечить бесперебойную совместную работу и управление проектом.#webdev #Git #workflow
Please open Telegram to view this post
VIEW IN TELEGRAM
Добро пожаловать в третий и последний пост из этой серии. В первой статье я объяснил, как JavaScript может читать из буфера обмена пользователя. В прошлой статье я объяснил обратное - запись в буфер обмена пользователя. Теперь я покажу, как добавить базовую обработку «события вставки» в ваше веб-приложение. К счастью, многое из того, что мы узнали в предыдущих двух статьях, пригодится, поскольку «форма» данных будет той же самой.
#webdev #JS #Events
Please open Telegram to view this post
VIEW IN TELEGRAM
Docker произвел революцию в создании, доставке и работе приложений, представив концепцию контейнеризации, объединяющую различные технологии для упаковки и развёртывания программного обеспечения. Давайте подробно рассмотрим все основные концепции, лежащие в основе Docker.
#webdev #Docker #HowTo
Please open Telegram to view this post
VIEW IN TELEGRAM
@scope и стили HTML блоков - это мощное сочетаниеСуществует так много различных инструментов для написания scoped CSS с очень разными взглядами на то, как это делать. Иногда это лишь подфункция инструмента, который делает другие вещи. Но в целом это считается концепцией, для реализации которой требуются инструменты.
Приходилось ли вам писать компонент React, который импортировал бы скопированные стили, возможно, в виде CSS-модуля?
#webdev #CSS #Events
Please open Telegram to view this post
VIEW IN TELEGRAM
Laravel 11 представляет новый способ конфигурирования middleware с помощью класса
Illuminate\Foundation\Configuration\Middleware. Этот мощный класс предоставляет удобный интерфейс для управления стеком middleware приложения. В статье мы рассмотрим публичные методы этого класса и покажем, как эффективно использовать их в приложении Laravel.#webdev #Laravel #Laravel11 #middleware
Please open Telegram to view this post
VIEW IN TELEGRAM
И Livewire, и Inertia - невероятно популярные стеки для создания приложений на Laravel. Если вы затрудняетесь с выбором, давайте взвесим, какой из них лучше подходит.
Прежде всего, хочу сказать, что не хотел писать эту статью, но мне часто задают этот вопрос. Я одинаково люблю и Livewire, и Inertia, так что это ни в коем случае не сравнение. Они оба невероятно ценны для экосистемы Laravel.
#webdev #Laravel #Livewire #InertiaJs
Please open Telegram to view this post
VIEW IN TELEGRAM
Я фанат побочных квестов: профессиональных касательных, подогревающих ваш интерес, оттачивающих ваше мастерство и приносящих долгосрочные дивиденды для выполнения вашего основного задания. Как правило, в любой момент у меня их несколько: одни длятся несколько недель, другие - годами.
Одно из последних - разработка цветовых систем CSS. Оно затянулось по нескольким причинам. Цвет - это мощный инструмент в наборе инструментов дизайнера, а разработка поддерживаемых, гибких, податливых, адаптируемых цветовых систем - это сложно (читай: «весело пытаться решить»). Я также люблю, чтобы все было основано на практическом применении, что означает, что в основном занимался этим сайд-квестом в контексте веб-сайтов, которые активно проектирую и создаю. В данном случае это мой личный сайт, сайт для Steady и последняя итерация моего начинающего сайта Grease. К ним мы перейдем в ближайшее время. Сначала - определения.
#webdev #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
В современном ландшафте веб-безопасности технологии фронт-энд разработки, такие как CSS и JavaScript, являются мощными инструментами для создания интерактивного пользовательского опыта. К сожалению, эти же технологии могут использоваться злоумышленниками в непредусмотренных целях. Относительно менее известным методом перехвата данных является использование CSS для кражи конфиденциальных данных, таких как нажатия клавиш и пользовательский ввод. Эта форма атаки, хотя и более сложная в исполнении, чем атаки на основе JavaScript, может быть особенно опасной, когда JavaScript ограничен или отключен. В этой статье мы рассмотрим, как злоумышленники могут использовать продвинутые техники CSS для утечки конфиденциальных данных, какие риски при этом возникают и как разработчики могут защитить свои приложения от подобных уязвимостей.
Мы рассмотрим всё, начиная с основ утечки данных с помощью CSS и заканчивая продвинутыми техниками, а также приведем примеры для разных уровней подготовки, чтобы продемонстрировать, как устроены эти атаки. Мы также рассмотрим некоторые лучшие практики для защиты ваших веб-приложений.
#webdev #CSS #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
📩 Заметки разработчика — Заметки о Frontend, Backend и немного DevOps. В основном о PHP, Laravel, JavaScript, CSS, тестировании кода и настройке серверов.
📦 Laravel packages — Пакеты Laravel Packages — созданный сообществом код для добавления дополнительной функциональности в Laravel👩💻 Осваиваем Laravel — Погрузитесь в профессиональную веб-разработку с PHP и Laravel📰 Web Dev Trends — Статьи по направлениям связанным с веб-разработкой, которые мне попались.
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики Laravel! В этой статье я покажу как интегрировать Laravel 11 с Neo4j, базой данных графов, отлично справляющейся с управлением сложными связями между данными. Хотя традиционные базы данных SQL отлично подходят для многих приложений, они не справляются со сложными связями, подобными тем, что встречаются в социальных сетях или рекомендательных системах.
Neo4j создана специально для решения таких задач, что делает ее мощной альтернативой реляционным базам данных в определенных сценариях.
Мы рассмотрим настройку и практические примеры создания приложений, таких как социальная сеть или рекомендательная система, где взаимосвязи между точками данных являются ключевыми.
#webdev #Laravel #Neo4j
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub Actions предоставляют два способа хранения файлов: кэширование для таких вещей, как
dependencies, и artifacts для результатов работы, таких как журналы или двоичные файлы. Хотя звучат они похоже, используются они для разных целей. Так, мы будем использовать кэширование, чтобы ускорить выполнение наших рабочих процессов.Еще один момент: доступ к кэшу будет ограничен только несколькими ветками:
current branch, base branch для pull requests и default branch. Кэши, созданные в несвязанных ветках, будут недоступны, но в большинстве случаев это не окажет влияния, поскольку работа ведётся либо в текущей, либо в базовой ветке.Правильное использование кэширования может помочь сократить время сборки, особенно для проектов, чьи зависимости меняются нечасто.
#webdev #GitHub #Actions #Cache
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда речь заходит о производительности веб-сайтов, на ум приходят такие приемы, как сжатие, оптимизация ресурсов или даже HTTP-кэширование. Они действительно важны, и существует множество ресурсов, рассказывающих о способах их устранения или применения. Однако некоторые менее обсуждаемые узкие места производительности могут серьезно повлиять на скорость работы сайта. В этом посте мы рассмотрим три проблемы, которые часто возникают из-за неэффективных шаблонов JavaScript:
Хотя эти проблемы не новы, современные веб-практики и веб-фреймворки могут усугублять их, вновь ставя в центр внимания.
#webdev #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
Предотвратите перехват сеанса в PHP, применяя методы безопасного управления сеансами, начиная с HTTPS и заканчивая безопасными куками и политикой истечения сеанса.
Веб-приложения полагаются на управление сеансами для сохранения состояния между запросами, в частности для управления аутентификацией пользователей. Однако неправильное управление сеансами может привести к таким уязвимостям, как перехват сеанса, когда злоумышленники захватывают контроль над активным сеансом и выдают себя за легитимных пользователей. В PHP перехват сеанса представляет собой серьезную угрозу, если сеансы не обрабатываются безопасно.
В этой статье мы рассмотрим механику перехвата сеанса, то, как слабое управление сеансами ставит под угрозу пользовательские данные в PHP-приложениях, а также лучшие практики для безопасной работы с сеансами и защиты пользовательских данных.
#webdev #PHP #Session #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы не выполняете сквозные тесты, вероятно, вам не нужен Vite для создания ресурсов перед запуском набора тестов.
#webdev #Laravel #tests
Please open Telegram to view this post
VIEW IN TELEGRAM
?=) в JavaScriptСовременная разработка на JavaScript часто сталкивается с задачами, связанными с асинхронными операциями и обработкой ошибок. Обычно для этих целей используются конструкции
try-catch и async-await. Однако они могут раздувать код и затруднять его чтение. Для решения этой проблемы был предложен новый безопасный оператор присваивания ?=, значительно упрощающий обработку ошибок и улучшающий читаемость кода. В этой статье мы рассмотрим принцип работы этого оператора, его особенности и преимущества, которые он дает разработчикам.#webdev #JavaScript #js
Please open Telegram to view this post
VIEW IN TELEGRAM
При управлении базами данных в приложениях Symfony разработчики часто сталкиваются с проблемой синхронизации схемы базы данных с моделью данных приложения. Распространенная ошибка многих разработчиков — особенно на ранних стадиях разработки — заключается в использовании команды
doctrine:schema:update --force для прямого обновления базы данных. Хотя это может показаться удобным, особенно при локальной разработке, это может привести к серьезным проблемам при работе в производственной среде.Я объясню, почему использование Doctrine Migrations является лучшим подходом, особенно в производственных средах.
#webdev #Symfony #Doctrine #Schema
Please open Telegram to view this post
VIEW IN TELEGRAM
eval() в PHP: Риски и безопасные альтернативыУзнайте об опасностях функции
eval() в PHP и о том, как предотвратить уязвимости с помощью безопасных альтернатив и лучших практик.Функция
eval() в PHP - мощный инструмент, позволяющий разработчикам выполнять PHP код, хранящийся в строках. Однако с большой мощью приходит и большая ответственность. Функция eval(), хотя и удобна в определенных ситуациях, также создает значительные риски для безопасности, особенно связанные с уязвимостями инъекции и выполнения кода. Эти риски часто остаются незамеченными, пока злоумышленник не воспользуется ими.В статье мы рассмотрим опасности, присущие функции
eval() в PHP, изучим, как может происходить инъекция кода, и рассмотрим безопасные альтернативы, позволяющие избежать этих уязвимостей.#webdev #PHP #Eval #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
При создании веб-приложений с помощью Laravel контроль над потоком HTTP запросов имеет решающее значение. Middleware Laravel предоставляет мощный механизм для фильтрации и манипулирования HTTP запросами, поступающими в приложение. В этой статье мы рассмотрим, как использовать middleware как для пред-, так и пост-обработки запросов.
#webdev #Laravel #Middleware #Request
Please open Telegram to view this post
VIEW IN TELEGRAM