uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку 👈

Заметки разработчика

Заметки разработчика

Відкрити в Telegram

Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов. https://www.dev-notes.ru @snakenf

Показати більше
Buy Ad
463
Підписники
Немає даних24 години
-37 днів
+130 днів
Архів дописів
Недавно команда Laravel выпустила Laravel Folio — мощный страничный маршрутизатор, предназначенный для упрощения маршрутизации в приложениях Laravel. Следом они выпустили Volt — элегантно выполненный функциональный API для Livewire, позволяющий PHP-логике компонента и шаблонам Blade сосуществовать в одном файле с минимальным количеством шаблонов. Хотя их можно использовать по отдельности, я считаю, что их совместное применение — это новый, невероятно продуктивный способ создания приложений на Laravel. В этой статье я расскажу как создать простое приложение, в котором перечисляются эпизоды подкаста Laravel News и пользователи могут их воспроизводить, причём плеер может плавно продолжать воспроизведение при загрузке страницы. https://www.dev-notes.ru/articles/laravel/livewire-volt-and-folio/

Массивы являются неотъемлемой частью TypeScript, позволяя разработчикам хранить и манипулировать коллекциями данных. Объект 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/

Мониторинг логинов по SSH на Linux-сервере очень важен для обеспечения безопасности системы. Одним из способов информирования об активности входа в систему является настройка оповещений по электронной почте при каждом входе в систему через SSH. В этом руководстве мы покажем Вам, как настроить сервер Linux на отправку уведомлений по электронной почте при входе в систему по протоколу SSH. https://www.dev-notes.ru/articles/devops/how-to-get-email-alerts-for-ssh-login-on-linux-server/

Поисковая функциональность часто оказывается крайне важной в современных веб-приложениях. Если на сайте представлены документы с большим объёмом текста, например, PDF-файлы, то часто возникает необходимость предоставить пользователям возможность перечисления и поиска в содержимом этих документов. Хотя специализированные инструменты, такие как Elasticsearch, MeiliSearch или Typesense, могут показаться привлекательными, важно учитывать их существенное влияние. При включении одного из этих инструментов в свой стек архитектура приложения становится более сложной. Необходимо не только понять, как использовать такой инструмент, но и установить, настроить, поддерживать, обеспечивать безопасность и контролировать его работу. https://www.dev-notes.ru/articles/laravel/efficient-searching-through-pdfs-with-mysql-and-laravel/

Защита типа — техника TypeScript, используемая для получения информации о типе переменной, обычно в условном блоке. Защитники типов — обычные функции, возвращающие логическое значение, принимающие тип и сообщающие TypeScript, можно ли его сузить до чего-то более конкретного. Защитники типов обладают уникальным свойством гарантировать, что проверяемое значение имеет заданный тип в зависимости от возвращаемого логического значения. TypeScript использует некоторые встроенные операторы JavaScript, такие, как typeof, instanceof и оператор in, который используется для определения того, содержит ли объект свойство. Защитники типов позволяют указать компилятору TypeScript вывести определённый тип переменной в определённом контексте, гарантируя, что тип аргумента соответствует тому, что вы говорите. Защитники типов обычно используются для сужения типа и очень похожи на обнаружение свойств, позволяя вам определить правильные методы, прототипы и свойства значения. Таким образом, вы можете легко понять, как работать с этим значением. https://www.dev-notes.ru/articles/typescript/how-to-use-type-guards-typescript/

Бывают случаи, когда действительно необходимо поддерживать определённое соотношение между шириной и высотой отзывчивых элементов на веб-странице. Долгое время это можно было сделать с помощью различных CSS-трюков. Свойство CSS aspect-ratio изменило ситуацию: теперь мы можем задавать соотношение сторон элемента в одной строке кода. Давайте рассмотрим, как использовать свойство aspect-ratio. https://www.dev-notes.ru/articles/css/css-aspect-ratio/

Одним из удобных способов информирования пользователей о ваших материалах является создание RSS-канала. Это позволит им подписываться на него с помощью программы чтения RSS. Усилия, затраченные на реализацию этой функции, стоят того, чтобы принять во внимание, поскольку у сайта появится ещё один канал распространения контента. Компания Spatie известна тем, что создала сотни хороших пакетов для Laravel. Одним из них является laravel-feed. Давайте посмотрим, как он работает. https://www.dev-notes.ru/articles/laravel/automatically-generate-rss-feeds-in-a-laravel-application/

TypeScript — бесценный инструмент для написания безопасного кода. Он отлавливает ошибки на ранней стадии и предупреждает о проблемах, которые могут вызвать исключения во время выполнения. TypeScript вычисляет тип данных, с которыми вы работаете, и избавляет вас от необходимости писать множество явных аннотаций типов в коде. Иногда бывают случаи, когда TypeScript неправильно определяет значение, и это часто происходит при фильтрации массива, содержащего данные разных типов. Это может привести к тому, что TypeScript выдаёт предупреждения для валидного кода, что может сбить с толку. В этом руководстве мы отфильтруем массив, содержащий данные смешанных типов, с помощью метода filter() и убедимся, что TypeScript правильно выводит значения. https://www.dev-notes.ru/articles/typescript/filtering-typescript-value-types/

Базовый #PHP Совет: Проверить наличие значения в массиве можно с помощью функции PHP in_array(). 🎯 Вы можете определить нали
Базовый #PHP Совет: Проверить наличие значения в массиве можно с помощью функции PHP in_array(). 🎯 Вы можете определить наличие значения без ручного перебора всего массива.

Совет #PHP: Используйте функцию PHP array_column() для извлечения одного столбца из многомерного массива. 🗂 Получение значен
Совет #PHP: Используйте функцию PHP array_column() для извлечения одного столбца из многомерного массива. 🗂 Получение значений из определенного столбца без сложных циклов.

Если вас беспокоит вопрос о том, какие SQL-запросы будут выполнены командой "artisan migrate", запустите команду с волшебным
Если вас беспокоит вопрос о том, какие SQL-запросы будут выполнены командой "artisan migrate", запустите команду с волшебным флагом --pretend! Это позволит вам увидеть все SQL-запросы, не выполняя их на самом деле.

Зачем тестировать правила валидации Laravel: - Убедиться в правильности работы правил валидации. Тестирование гарантирует, что приложение не принимает недопустимые данные, что может иметь последствия для безопасности или производительности. - Обнаружение ошибок в правилах валидации. С помощью тестов можно выявить ошибки на ранней стадии и предотвратить их появление в производстве. - Повышение качества кода. Тестирование правил валидации заставляет задуматься о том, как они работают и как их следует тестировать. https://www.dev-notes.ru/articles/laravel/testing-laravel-validation-rules-with-pest/

В этой статье мы рассмотрим некоторые трюки CSS, которые позволят нам создать анимацию наведения для раскрытия наших изображений. Мы можем подумать: "Ну, это же простая задача! Дополнительный элемент над изображением, который вы анимируете, и готово". Правда, но мы не будем использовать никакой дополнительный элемент или псевдоэлемент. Мы будем работать, используя только элемент <img>. Ничего больше! https://www.dev-notes.ru/articles/css/css-image-reveal-animation/

Выход Laravel 11 запланирован только на конец 2023 года, но некоторые новые возможности уже обнародованы, и Тейлор рассказал о некоторых новых крупных улучшениях в своём докладе на Laracon https://www.dev-notes.ru/articles/laravel/whats-coming-to-Laravel-11/

Если вы новичок в разработке на Laravel, вам может быть интересно, как добавить собственный или сторонний CSS в ваше приложение Laravel. К счастью, добавить CSS в проект Laravel очень просто, и для этого существуют различные методы. https://www.dev-notes.ru/articles/laravel/four-methods-to-quickly-add-css/

Совет по PHP. Только что узнал о полезном методе массива. У меня есть массив тегов и несколько совпадающих слов. А мне нужно
Совет по PHP. Только что узнал о полезном методе массива. У меня есть массив тегов и несколько совпадающих слов. А мне нужно было получить ключ первого элемента массива. Угадайте, что: array_key_first()

Недавно я написал статью о том, как в Laravel можно легко контролировать сессии браузера. Поводом для этой статьи послужил личный неудачный опыт кражи моего мобильного телефона. Чтобы предотвратить доступ и возможность выполнения действий другими людьми, владеющими устройством. Но мне потребовалось некоторое время, чтобы получить доступ к своим учётным записям с другого устройства и отключить сессии. Размышляя о том, как предотвратить выполнение конфиденциальных действий другими людьми, я вспомнил, что многие используемые мною сервисы время от времени запрашивают пароль для выполнения определённых действий, например: - Отключение других устройств - Изменение пароля - Удаление учётной записи - Удаление важных ресурсов https://www.dev-notes.ru/articles/laravel/password-confirmation-for-sensitive-actions-on-laravel/

Сегодня мы поговорим о том, как управлять слушателями событий, когда у вас есть несколько сценариев, которые слушают одно и то же событие. Представим, что в вашем приложении есть несколько различных сценариев, которые должны обнаруживать события click. Один скрипт открывает модальные окна. Другой переключает некоторые элементы раскрытия/расширения и сворачивания. Третий сохраняет данные формы. Когда вы прослушиваете одно и то же событие на нескольких элементах, делегирование событий — отличная стратегия! https://www.dev-notes.ru/articles/javascript/how-to-more-performantly-listen-for-the-same-event/

Laravel Folio — это новая система автоматической маршрутизации на основе файлов и каталогов. В результате вы получаете каталог "страниц"; при попадании на одну из этих страниц по URL она автоматически загружается. Выпуск Laravel Folio запланирован на следующую неделю, и вот предварительный обзор того, что Тейлор продемонстрировал на Laracon https://www.dev-notes.ru/articles/laravel/laravel-folio/

Недавно у меня украли мобильный телефон, и я понял, как много приложений не имеют функции контроля сеанса. Я не мог выйти из системы с этого устройства. К счастью, Laravel предоставляет способ аннулирования и "выхода" из сеансов активного пользователя на других устройствах без аннулирования сеанса на его текущем устройстве. https://www.dev-notes.ru/articles/laravel/invalidating-sessions-on-other-devices/