Заметки разработчика
Открыть в Telegram
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов. https://www.dev-notes.ru @snakenf
Больше463
Подписчики
Нет данных24 часа
-37 дней
+130 дней
Архив постов
#laravel #php #testing #pest #tips
Совет по Laravel 💡: Запускайте сидеры во время тестов
Знаете ли вы, что сидеры баз данных можно запускать из тестов? Это позволит сохранить чистоту тестов, переместив логику настройки в сидеры 🚀.
@dev_notes_ru
#React #Vite #JavaScript
Руководство по использованию Vite в React
Vite, разработанный Evan You (создателем Vue.js), создан для обеспечения молниеносной среды разработки. Для этого он обслуживает файлы с помощью нативных модулей ES и использует оптимизированный сервер разработки. Всё это позволяет ускорить запуск сервера и сделать разработку более отзывчивой.
React, одна из популярных библиотек для создания пользовательских интерфейсов, легко работает с Vite. Его компонентная архитектура идеально подходит для разработки динамических одностраничных приложений (SPA).
В статье мы рассмотрим, как создать проект React с помощью Vite, изучим структуру проекта, покажем, как работать с ресурсами и развернуть приложение. В конце мы рассмотрим, как Vite может улучшить опыт разработки React.
📄 Читать статью
@dev_notes_ru
#php #tips
А вы знаете, что в PHP можно пропустить выражение инициализации в традиционном цикле
for, если переменная уже была инициализирована?
Например, переменная передана в качестве параметра в функцию, с помощью которой нужно инициализировать цикл for.
Небольшой синтаксический нюанс, но интересный для понимания языка.
@dev_notes_ru#backend #php #PSR4
Стандарт автозагрузки PSR-4 в PHP
По мере роста размера и сложности PHP проектов, управление файлами, классами и пространствами имён становится всё более сложной задачей. Без надлежащей структуры разработчики будут тратить много времени на ручное включение файлов или решение конфликтов с именованием классов. Для решения этих проблем PHP-FIG представила стандарт автозагрузки PSR-4, ставший де-факто способом автозагрузки классов в современных PHP-приложениях.
В статье мы рассмотрим преимущества принятия стандарта автозагрузки PSR-4, способы его применения в проектах и причины, по которым он необходим для создания масштабируемого и поддерживаемого кода. Мы рассмотрим всё, начиная с основ и заканчивая более сложными случаями использования, включая организацию пространств имён, настройку Composer и решение проблем с автозагрузкой.
📄 Читать статью
@dev_notes_ru
#laravel #php #tips
Совет по Laravel 💡: Более безопасные пароли для пользователей
Пользователи обычно используют один и тот же пароль для всех сайтов, что подвергает их опасности в случае утечки пароля. Можно убедиться, что пользователь вводит не скомпрометированный пароль, используя правило
uncompromised 🚀.
@dev_notes_ru#react #hook #JavaScript #js
useEffect в React
Хук useEffect позволяет выполнять побочные эффекты в компонентах. Побочные эффекты — это операции, влияющие на что-то вне области действия выполняемой функции, например, получение данных, обновление DOM или настройка подписок.
До появления хуков побочные эффекты в компонентах React обрабатывались в методах жизненного цикла класса, таких как componentDidMount, componentDidUpdate и componentWillUnmount. С помощью хуков useEffect предоставляет унифицированный API для обработки этих сценариев в компонентах функций.
📄 Читать статью
@dev_notes_ru#laravel #php #tips
Laravel предоставляет множество правил валидации, позволяя с легкостью проверять входящие данные.
Среди всех этих интересных правил валидации одно из них -
prohibited.
Как следует из названия, если это правило применяется к вводимым данным, оно выбрасывает Validation Exception, если значение не пустое.
Например, вот сценарий, в котором необходимо запретить принимать адреса, если способ доставки - самовывоз, а не доставка на дом, и наоборот.
@dev_notes_ru#MySQL #GroupBy #DB #DataBase
MySQL
GROUP BY
Оператор GROUP BY в MySQL является одним из самых мощных инструментов агрегирования данных в SQL. Он позволяет группировать строки, имеющие общее значение поля, и выполнять для этих групп такие агрегатные функции, как SUM(), COUNT(), AVG(), MAX() и MIN(). Несмотря на свою простоту, GROUP BY может вызвать затруднения у новичков в SQL и даже у опытных разработчиков из-за различных нюансов и потенциальных подводных камней. Мы рассмотрим GROUP BY в MySQL, предоставим исчерпывающее объяснение, многочисленные примеры, типичные ошибки и лучшие практики, чтобы убедиться, что вы используете его эффективно.
📄 Читать статью
@dev_notes_ru#TypeScript #null #never #tips
Забавный факт из TypeScript: В любую функцию можно передать
null!
! - это утверждение о non-nullable, а null - это null, так что вместе они составляют never.
А never можно передать чему угодно!
@dev_notes_ru#laravel #php #tips
Совет по Laravel 💡: Массовая отправка
Хотя Laravel предлагает пакетную отправку заданий, иногда требуется просто отправить задание и забыть. В этом случае можно отправлять задания массово, а не по отдельности 🚀.
@dev_notes_ru
#backend #security #headers
Руководство по User Agent
User Agent — это текстовая строка, отправляемая веб-браузером или другим клиентом на веб-сервер вместе с каждым HTTP-запросом. Эта строка содержит информацию об операционной системе клиента, типе браузера, механизме рендеринга, а иногда и другие сведения, например модель устройства или версию используемого программного обеспечения. Строка User Agent позволяет серверу идентифицировать клиента и соответствующим образом адаптировать ответы.
Термин User Agent также может относиться к программному обеспечению, выполняющему запрос, например веб-браузеру, мобильному приложению или боту. Однако в статье мы сосредоточимся на строке User Agent применительно к HTTP-запросам.
📄 Читать статью
@dev_notes_ru
#laravel #php #typehint
🤔 Разве было бы не здорово, если бы появился type-hint в цикле
foreach?
📱 @dev_notes_ru#laravel #php #tips
💡 Совет по Laravel: Улучшенный
implode
Все пользовались функцией PHP implode, но знаете ли вы о хелпере join? Он делает то же самое, но при этом позволяет настроить последний разделитель 🚀.
📱 @dev_notes_ru#frontend #css #css3 #tricks
Фоны для блочной модели (и чем она может быть полезна)
Можно ограничить распространение
background-image элемента с помощью background-clip. Это означает, что можно применить различные фоны, скажем, к padding и border.
📄 Читать статью
@dev_notes_ru#laravel #model #carbon #problem
🤔 Небольшая проблема, с которой столкнулся при использовании в Laravel стандартного каста datetime в модели, заключается в том, что он возвращает простые экземпляры
Carbon вместо CarbonImmutable, поэтому при преобразовании даты они применяются к тому же экземпляру, а не к новому.
Это редкие случаи, но, может быть, они должны быть иммутабельными по умолчанию? Что вы думаете по этому поводу?
📱 @dev_notes_ru