Заметки разработчика
471 subscribers
668 photos
4 videos
1.16K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
#laravel #tips

💡Совет по Laravel: Фильтруйте только реальные электронные письма

Устали от высокого процента отказов из-за неверных адресов электронной почты? Laravel поставляется с правилом проверки dns, чтобы гарантировать, что вы получаете реальные электронные письма. Это не устранит проблему волшебным образом, но определенно улучшит доставляемость 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
#laravel #model #carbon #problem

🤔 Небольшая проблема, с которой столкнулся при использовании в Laravel стандартного каста datetime в модели, заключается в том, что он возвращает простые экземпляры Carbon вместо CarbonImmutable, поэтому при преобразовании даты они применяются к тому же экземпляру, а не к новому.

Это редкие случаи, но, может быть, они должны быть иммутабельными по умолчанию? Что вы думаете по этому поводу?

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#frontend #css #css3 #tricks

👩‍💻 Фоны для блочной модели (и чем она может быть полезна)

Можно ограничить распространение background-image элемента с помощью background-clip. Это означает, что можно применить различные фоны, скажем, к padding и border.

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #php #tips

💡 Совет по Laravel: Улучшенный implode

Все пользовались функцией PHP implode, но знаете ли вы о хелпере join? Он делает то же самое, но при этом позволяет настроить последний разделитель 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
#laravel #php #typehint

🤔 Разве было бы не здорово, если бы появился type-hint в цикле foreach?

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👎1🔥1
#backend #security #headers

👩‍💻 Руководство по User Agent

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

Термин User Agent также может относиться к программному обеспечению, выполняющему запрос, например веб-браузеру, мобильному приложению или боту. Однако в статье мы сосредоточимся на строке User Agent применительно к HTTP-запросам.

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #php #tips

💡 Совет по Laravel: Массовая отправка

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#TypeScript #null #never #tips

💡 Забавный факт из TypeScript: В любую функцию можно передать null!

! - это утверждение о non-nullable, а null - это null, так что вместе они составляют never.

А never можно передать чему угодно!

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
#laravel #php #tips

Laravel предоставляет множество правил валидации, позволяя с легкостью проверять входящие данные.

Среди всех этих интересных правил валидации одно из них - prohibited.

Как следует из названия, если это правило применяется к вводимым данным, оно выбрасывает Validation Exception, если значение не пустое.

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥2
#react #hook #JavaScript #js

👩‍💻 useEffect в React

Хук useEffect позволяет выполнять побочные эффекты в компонентах. Побочные эффекты — это операции, влияющие на что-то вне области действия выполняемой функции, например, получение данных, обновление DOM или настройка подписок.

До появления хуков побочные эффекты в компонентах React обрабатывались в методах жизненного цикла класса, таких как componentDidMount, componentDidUpdate и componentWillUnmount. С помощью хуков useEffect предоставляет унифицированный API для обработки этих сценариев в компонентах функций.

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#laravel #php #tips

💡 Совет по Laravel: Более безопасные пароли для пользователей

Пользователи обычно используют один и тот же пароль для всех сайтов, что подвергает их опасности в случае утечки пароля. Можно убедиться, что пользователь вводит не скомпрометированный пароль, используя правило uncompromised 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
#backend #php #PSR4

👩‍💻 Стандарт автозагрузки PSR-4 в PHP

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

В статье мы рассмотрим преимущества принятия стандарта автозагрузки PSR-4, способы его применения в проектах и причины, по которым он необходим для создания масштабируемого и поддерживаемого кода. Мы рассмотрим всё, начиная с основ и заканчивая более сложными случаями использования, включая организацию пространств имён, настройку Composer и решение проблем с автозагрузкой.

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
#php #tips

🤔 А вы знаете, что в PHP можно пропустить выражение инициализации в традиционном цикле for, если переменная уже была инициализирована?

Например, переменная передана в качестве параметра в функцию, с помощью которой нужно инициализировать цикл for.

Небольшой синтаксический нюанс, но интересный для понимания языка.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1
#React #Vite #JavaScript

👩‍💻 Руководство по использованию Vite в React

Vite, разработанный Evan You (создателем Vue.js), создан для обеспечения молниеносной среды разработки. Для этого он обслуживает файлы с помощью нативных модулей ES и использует оптимизированный сервер разработки. Всё это позволяет ускорить запуск сервера и сделать разработку более отзывчивой.

React, одна из популярных библиотек для создания пользовательских интерфейсов, легко работает с Vite. Его компонентная архитектура идеально подходит для разработки динамических одностраничных приложений (SPA).

В статье мы рассмотрим, как создать проект React с помощью Vite, изучим структуру проекта, покажем, как работать с ресурсами и развернуть приложение. В конце мы рассмотрим, как Vite может улучшить опыт разработки React.

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

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
#laravel #php #testing #pest #tips

💡 Совет по Laravel: Запускайте сидеры во время тестов

Знаете ли вы, что сидеры баз данных можно запускать из тестов? Это позволит сохранить чистоту тестов, переместив логику настройки в сидеры 🚀.

📱 @dev_notes_ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1