Недавно у меня украли мобильный телефон, и я понял, как много приложений не имеют функции контроля сеанса. Я не мог выйти из системы с этого устройства.
К счастью, Laravel предоставляет способ аннулирования и "выхода" из сеансов активного пользователя на других устройствах без аннулирования сеанса на его текущем устройстве.
https://www.dev-notes.ru/articles/laravel/invalidating-sessions-on-other-devices/
К счастью, Laravel предоставляет способ аннулирования и "выхода" из сеансов активного пользователя на других устройствах без аннулирования сеанса на его текущем устройстве.
https://www.dev-notes.ru/articles/laravel/invalidating-sessions-on-other-devices/
Заметки разработчика
Аннулирование сессий на других устройствах в Laravel
Laravel предоставляет способ аннулирования и 'выхода' из сеансов активного пользователя на других устройствах без аннулирования сеанса на текущем устройстве.
Laravel Folio — это новая система автоматической маршрутизации на основе файлов и каталогов. В результате вы получаете каталог "страниц"; при попадании на одну из этих страниц по URL она автоматически загружается. Выпуск Laravel Folio запланирован на следующую неделю, и вот предварительный обзор того, что Тейлор продемонстрировал на Laracon
https://www.dev-notes.ru/articles/laravel/laravel-folio/
https://www.dev-notes.ru/articles/laravel/laravel-folio/
Заметки разработчика
Laravel Folio
Laravel Folio — это новая система автоматической маршрутизации на основе файлов и каталогов.
Сегодня мы поговорим о том, как управлять слушателями событий, когда у вас есть несколько сценариев, которые слушают одно и то же событие.
Представим, что в вашем приложении есть несколько различных сценариев, которые должны обнаруживать события click. Один скрипт открывает модальные окна. Другой переключает некоторые элементы раскрытия/расширения и сворачивания. Третий сохраняет данные формы.
Когда вы прослушиваете одно и то же событие на нескольких элементах, делегирование событий — отличная стратегия!
https://www.dev-notes.ru/articles/javascript/how-to-more-performantly-listen-for-the-same-event/
Представим, что в вашем приложении есть несколько различных сценариев, которые должны обнаруживать события click. Один скрипт открывает модальные окна. Другой переключает некоторые элементы раскрытия/расширения и сворачивания. Третий сохраняет данные формы.
Когда вы прослушиваете одно и то же событие на нескольких элементах, делегирование событий — отличная стратегия!
https://www.dev-notes.ru/articles/javascript/how-to-more-performantly-listen-for-the-same-event/
Заметки разработчика
Как более эффективно прослушивать событие в разных сценариях
Сегодня мы поговорим о том, как управлять слушателями событий, когда у вас есть несколько сценариев, которые слушают одно и то же событие.
Недавно я написал статью о том, как в Laravel можно легко контролировать сессии браузера. Поводом для этой статьи послужил личный неудачный опыт кражи моего мобильного телефона. Чтобы предотвратить доступ и возможность выполнения действий другими людьми, владеющими устройством.
Но мне потребовалось некоторое время, чтобы получить доступ к своим учётным записям с другого устройства и отключить сессии. Размышляя о том, как предотвратить выполнение конфиденциальных действий другими людьми, я вспомнил, что многие используемые мною сервисы время от времени запрашивают пароль для выполнения определённых действий, например:
- Отключение других устройств
- Изменение пароля
- Удаление учётной записи
- Удаление важных ресурсов
https://www.dev-notes.ru/articles/laravel/password-confirmation-for-sensitive-actions-on-laravel/
Но мне потребовалось некоторое время, чтобы получить доступ к своим учётным записям с другого устройства и отключить сессии. Размышляя о том, как предотвратить выполнение конфиденциальных действий другими людьми, я вспомнил, что многие используемые мною сервисы время от времени запрашивают пароль для выполнения определённых действий, например:
- Отключение других устройств
- Изменение пароля
- Удаление учётной записи
- Удаление важных ресурсов
https://www.dev-notes.ru/articles/laravel/password-confirmation-for-sensitive-actions-on-laravel/
Заметки разработчика
Подтверждение паролем чувствительных действий в Laravel
Как легко предотвратить уязвимые действия в вашем Laravel приложении.
Если вы новичок в разработке на Laravel, вам может быть интересно, как добавить собственный или сторонний CSS в ваше приложение Laravel. К счастью, добавить CSS в проект Laravel очень просто, и для этого существуют различные методы.
https://www.dev-notes.ru/articles/laravel/four-methods-to-quickly-add-css/
https://www.dev-notes.ru/articles/laravel/four-methods-to-quickly-add-css/
Заметки разработчика
Четыре способа быстрого добавления CSS на Laravel сайт
В этой статье мы покажем вам четыре способа включения файла CSS в проект Laravel, включая прямое подключение из /public, URL CDN, использование Vite и Laravel Mix
Выход Laravel 11 запланирован только на конец 2023 года, но некоторые новые возможности уже обнародованы, и Тейлор рассказал о некоторых новых крупных улучшениях в своём докладе на Laracon
https://www.dev-notes.ru/articles/laravel/whats-coming-to-Laravel-11/
https://www.dev-notes.ru/articles/laravel/whats-coming-to-Laravel-11/
Заметки разработчика
Что появится в Laravel 11
Выпуск Laravel 11 запланирован на 12 марта 2024 года, но давайте рассмотрим некоторые из анонсированных новых возможностей.
В этой статье мы рассмотрим некоторые трюки CSS, которые позволят нам создать анимацию наведения для раскрытия наших изображений.
Мы можем подумать: "Ну, это же простая задача! Дополнительный элемент над изображением, который вы анимируете, и готово". Правда, но мы не будем использовать никакой дополнительный элемент или псевдоэлемент. Мы будем работать, используя только элемент <img>. Ничего больше!
https://www.dev-notes.ru/articles/css/css-image-reveal-animation/
Мы можем подумать: "Ну, это же простая задача! Дополнительный элемент над изображением, который вы анимируете, и готово". Правда, но мы не будем использовать никакой дополнительный элемент или псевдоэлемент. Мы будем работать, используя только элемент <img>. Ничего больше!
https://www.dev-notes.ru/articles/css/css-image-reveal-animation/
Заметки разработчика
Как добавить CSS-анимацию раскрытия к изображениям
В этой статье мы рассмотрим некоторые CSS трюки, которые позволят создать анимацию наведения для раскрытия наших изображений.
Зачем тестировать правила валидации Laravel:
- Убедиться в правильности работы правил валидации. Тестирование гарантирует, что приложение не принимает недопустимые данные, что может иметь последствия для безопасности или производительности.
- Обнаружение ошибок в правилах валидации. С помощью тестов можно выявить ошибки на ранней стадии и предотвратить их появление в производстве.
- Повышение качества кода. Тестирование правил валидации заставляет задуматься о том, как они работают и как их следует тестировать.
https://www.dev-notes.ru/articles/laravel/testing-laravel-validation-rules-with-pest/
- Убедиться в правильности работы правил валидации. Тестирование гарантирует, что приложение не принимает недопустимые данные, что может иметь последствия для безопасности или производительности.
- Обнаружение ошибок в правилах валидации. С помощью тестов можно выявить ошибки на ранней стадии и предотвратить их появление в производстве.
- Повышение качества кода. Тестирование правил валидации заставляет задуматься о том, как они работают и как их следует тестировать.
https://www.dev-notes.ru/articles/laravel/testing-laravel-validation-rules-with-pest/
Заметки разработчика
Тестирование правил валидации Laravel с помощью Pest PHP
Узнайте, как тестировать правила валидации Laravel с помощью Pest PHP.
Совет #PHP: Используйте функцию PHP
array_column() для извлечения одного столбца из многомерного массива. 🗂 Получение значений из определенного столбца без сложных циклов.Базовый #PHP Совет: Проверить наличие значения в массиве можно с помощью функции PHP
in_array(). 🎯 Вы можете определить наличие значения без ручного перебора всего массива.TypeScript — бесценный инструмент для написания безопасного кода. Он отлавливает ошибки на ранней стадии и предупреждает о проблемах, которые могут вызвать исключения во время выполнения. TypeScript вычисляет тип данных, с которыми вы работаете, и избавляет вас от необходимости писать множество явных аннотаций типов в коде.
Иногда бывают случаи, когда TypeScript неправильно определяет значение, и это часто происходит при фильтрации массива, содержащего данные разных типов. Это может привести к тому, что TypeScript выдаёт предупреждения для валидного кода, что может сбить с толку.
В этом руководстве мы отфильтруем массив, содержащий данные смешанных типов, с помощью метода filter() и убедимся, что TypeScript правильно выводит значения.
https://www.dev-notes.ru/articles/typescript/filtering-typescript-value-types/
Иногда бывают случаи, когда TypeScript неправильно определяет значение, и это часто происходит при фильтрации массива, содержащего данные разных типов. Это может привести к тому, что TypeScript выдаёт предупреждения для валидного кода, что может сбить с толку.
В этом руководстве мы отфильтруем массив, содержащий данные смешанных типов, с помощью метода filter() и убедимся, что TypeScript правильно выводит значения.
https://www.dev-notes.ru/articles/typescript/filtering-typescript-value-types/
Заметки разработчика
Фильтрация типов значений TypeScript
Узнайте, как работают фильтры TypeScript, включая фильтры массивов и типов значений, а также как использовать и избегать проблем с защитой типов.
Одним из удобных способов информирования пользователей о ваших материалах является создание RSS-канала. Это позволит им подписываться на него с помощью программы чтения RSS. Усилия, затраченные на реализацию этой функции, стоят того, чтобы принять во внимание, поскольку у сайта появится ещё один канал распространения контента.
Компания Spatie известна тем, что создала сотни хороших пакетов для Laravel. Одним из них является laravel-feed. Давайте посмотрим, как он работает.
https://www.dev-notes.ru/articles/laravel/automatically-generate-rss-feeds-in-a-laravel-application/
Компания Spatie известна тем, что создала сотни хороших пакетов для Laravel. Одним из них является laravel-feed. Давайте посмотрим, как он работает.
https://www.dev-notes.ru/articles/laravel/automatically-generate-rss-feeds-in-a-laravel-application/
Заметки разработчика
Автоматическая генерация RSS лент в приложении Laravel
Узнайте, как легко добавить RSS-канал на свой сайт с помощью пакета laravel-feed от Spatie
Бывают случаи, когда действительно необходимо поддерживать определённое соотношение между шириной и высотой отзывчивых элементов на веб-странице. Долгое время это можно было сделать с помощью различных CSS-трюков. Свойство CSS aspect-ratio изменило ситуацию: теперь мы можем задавать соотношение сторон элемента в одной строке кода. Давайте рассмотрим, как использовать свойство aspect-ratio.
https://www.dev-notes.ru/articles/css/css-aspect-ratio/
https://www.dev-notes.ru/articles/css/css-aspect-ratio/
Заметки разработчика
Как использовать CSS aspect-ratio
Узнайте, как использовать свойство CSS aspect-ratio, с практическими примерами, альтернативами для старых браузеров и другими полезными сведениями.
Защита типа — техника TypeScript, используемая для получения информации о типе переменной, обычно в условном блоке. Защитники типов — обычные функции, возвращающие логическое значение, принимающие тип и сообщающие TypeScript, можно ли его сузить до чего-то более конкретного. Защитники типов обладают уникальным свойством гарантировать, что проверяемое значение имеет заданный тип в зависимости от возвращаемого логического значения.
TypeScript использует некоторые встроенные операторы JavaScript, такие, как
Защитники типов обычно используются для сужения типа и очень похожи на обнаружение свойств, позволяя вам определить правильные методы, прототипы и свойства значения. Таким образом, вы можете легко понять, как работать с этим значением.
https://www.dev-notes.ru/articles/typescript/how-to-use-type-guards-typescript/
TypeScript использует некоторые встроенные операторы JavaScript, такие, как
typeof, instanceof и оператор in, который используется для определения того, содержит ли объект свойство. Защитники типов позволяют указать компилятору TypeScript вывести определённый тип переменной в определённом контексте, гарантируя, что тип аргумента соответствует тому, что вы говорите.Защитники типов обычно используются для сужения типа и очень похожи на обнаружение свойств, позволяя вам определить правильные методы, прототипы и свойства значения. Таким образом, вы можете легко понять, как работать с этим значением.
https://www.dev-notes.ru/articles/typescript/how-to-use-type-guards-typescript/
Заметки разработчика
Как использовать защиту типов в TypeScript
TypeScript использует встроенные операторы JavaScript, такие, как typeof, instance of и оператор in, используемые для определения, содержит ли объект свойство.
Поисковая функциональность часто оказывается крайне важной в современных веб-приложениях. Если на сайте представлены документы с большим объёмом текста, например, PDF-файлы, то часто возникает необходимость предоставить пользователям возможность перечисления и поиска в содержимом этих документов. Хотя специализированные инструменты, такие как Elasticsearch, MeiliSearch или Typesense, могут показаться привлекательными, важно учитывать их существенное влияние. При включении одного из этих инструментов в свой стек архитектура приложения становится более сложной. Необходимо не только понять, как использовать такой инструмент, но и установить, настроить, поддерживать, обеспечивать безопасность и контролировать его работу.
https://www.dev-notes.ru/articles/laravel/efficient-searching-through-pdfs-with-mysql-and-laravel/
https://www.dev-notes.ru/articles/laravel/efficient-searching-through-pdfs-with-mysql-and-laravel/
Заметки разработчика
Поиск в PDF-файлах с помощью MySQL и Laravel
Если на сайте представлены документы, например, PDF-файлы, то возникает необходимость предоставить пользователям возможность поиска в содержимом документов.
Мониторинг логинов по SSH на Linux-сервере очень важен для обеспечения безопасности системы. Одним из способов информирования об активности входа в систему является настройка оповещений по электронной почте при каждом входе в систему через SSH. В этом руководстве мы покажем Вам, как настроить сервер Linux на отправку уведомлений по электронной почте при входе в систему по протоколу SSH.
https://www.dev-notes.ru/articles/devops/how-to-get-email-alerts-for-ssh-login-on-linux-server/
https://www.dev-notes.ru/articles/devops/how-to-get-email-alerts-for-ssh-login-on-linux-server/
Заметки разработчика
Как настроить оповещения по электронной почте о входе по SSH на Linux
В этой статье мы покажем Вам, как настроить сервер Linux на отправку уведомлений по электронной почте при входе в систему по протоколу SSH.
Массивы являются неотъемлемой частью TypeScript, позволяя разработчикам хранить и манипулировать коллекциями данных. Объект
В этой статье мы рассмотрим, что такое
https://www.dev-notes.ru/articles/typescript/understanding-flatmap-other-typescript-arrays/
Array поставляется с различными методами, облегчающими работу с массивами. Одним из таких методов является метод flatMap().В этой статье мы рассмотрим, что такое
flatMap() и как он работает. Мы также объясним, как объявить массив в TypeScript, и приведём список других полезных методов работы с массивами, доступных в TypeScript, таких, как concat(), copyWithin(), every(), fill(), filter(), flat(), forEach(), shift(), includes() и reduce(). Давайте приступим!https://www.dev-notes.ru/articles/typescript/understanding-flatmap-other-typescript-arrays/
Заметки разработчика
Понимание flatMap() и других массивов TypeScript
В TypeScript объект Array поставляется с различными методами, облегчающими работу с массивами, включая метод flatmap().
Недавно команда Laravel выпустила Laravel Folio — мощный страничный маршрутизатор, предназначенный для упрощения маршрутизации в приложениях Laravel. Следом они выпустили Volt — элегантно выполненный функциональный API для Livewire, позволяющий PHP-логике компонента и шаблонам Blade сосуществовать в одном файле с минимальным количеством шаблонов.
Хотя их можно использовать по отдельности, я считаю, что их совместное применение — это новый, невероятно продуктивный способ создания приложений на Laravel.
В этой статье я расскажу как создать простое приложение, в котором перечисляются эпизоды подкаста Laravel News и пользователи могут их воспроизводить, причём плеер может плавно продолжать воспроизведение при загрузке страницы.
https://www.dev-notes.ru/articles/laravel/livewire-volt-and-folio/
Хотя их можно использовать по отдельности, я считаю, что их совместное применение — это новый, невероятно продуктивный способ создания приложений на Laravel.
В этой статье я расскажу как создать простое приложение, в котором перечисляются эпизоды подкаста Laravel News и пользователи могут их воспроизводить, причём плеер может плавно продолжать воспроизведение при загрузке страницы.
https://www.dev-notes.ru/articles/laravel/livewire-volt-and-folio/
Заметки разработчика
Изучение Livewire 3, Volt и Folio на примере создания плеера подкастов
В этом руководстве мы познакомимся с основами Livewire 3, Volt и Folio и создадим простое приложение, в котором будут отображаться эпизоды подкаста Laravel News