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

https://www.dev-notes.ru

@snakenf
Download Telegram
👩‍💻 Гибкое кэширование в Laravel — это очень просто

Познакомьтесь с новым методом Cache::flexible() в Laravel, позволяющим сбалансировать свежесть данных и производительность в приложениях с высокой активностью.

В Laravel 11 появилась новая функция кэширования, призванная изменить подход к обработке дорогостоящих операций с данными. Новый метод Cache::flexible() реализует паттерн, позволяющий обслуживать кэшированные данные, обновляя их в фоновом режиме, предлагая разумное решение извечной проблемы баланса между свежестью данных и производительностью приложения. В статье мы рассмотрим эту функцию, начав с основ и постепенно погружаясь в более сложные сценарии использования.

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

📱 @dev_notes_ru

#Laravel #Cache
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🤔 При написании тестов часто используются случайно сгенерированные данные с Faker. В результате тест иногда может случайно провалиться, а иногда пройти.

Это затрудняет выявление проблем, так как они могут появляться случайным образом в процессе работы CI.

В таких случаях я использую метод repeat(), доступный в PestPHP, позволяющий повторить тест определенное количество раз.

После проведения тестирования с достаточным количеством повторений я удаляю вызов repeat().

Такой подход помогает обеспечить стабильность теста на протяжении нескольких итераций...

📱 @dev_notes_ru

#laravel #pest #php #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
👩‍💻 А вы знали, что если ожидается, что в Коллекции будет только один элемент, соответствующий вашим критериям, можно использовать sole.

Он работает так же, как и first, но выбрасывает исключение, если результат оказался не один.

Это очень удобно при работе со сложными Коллекциями! 🔥

📱 @dev_notes_ru

#laravel #collection #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
👩‍💻 Авторизация маршрутов на основе политики в Laravel

Система авторизации Laravel, основанная на политиках, предоставляет мощный способ управления контролем доступа в приложениях. В сочетании с middleware маршрутов она предлагает чистый и эффективный метод обеспечения безопасности маршрутов на основе прав пользователей. Рассмотрим, как реализовать авторизацию маршрутов на основе политик с помощью middleware can.

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

📱 @dev_notes_ru

#laravel #route #policy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
💡 Совет по Laravel: Пропуск заданий

Вам когда-нибудь требовалось пропустить выполнение задания? Это можно сделать и вручную, но Laravel поставляется с middleware Skip, делающим именно это 🚀.

📱 @dev_notes_ru

#laravel #Jobs #php #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🔜 Принудительная установка определенного состояния элемента

Скоро появится в DevTools. Современная эмуляция псевдо состояния для стилизации и тестирования.

Обратите внимание, как оно адаптируется к выбранному элементу .

📱 @dev_notes_ru

#DevTools #feature #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
👩‍💻 Отладка SQL запросов в Laravel

При создании сложных запросов к базе данных в Laravel наличие под рукой мощных инструментов отладки может стать решающим фактором. Laravel предоставляет набор методов, позволяющих детально изучать запросы, делая процесс отладки более плавным и эффективным. Рассмотрим эти методы и узнаем, как они могут улучшить рабочий процесс разработки.

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

📱 @dev_notes_ru

#laravel #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
💡 Совет по Laravel: Запрос подтверждения в командах

Знаете ли вы, что можно запрашивать подтверждение для рискованных команд перед их выполнением? Это можно сделать с помощью метода confirm 🚀.

📱 @dev_notes_ru

#laravel #commands #php #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
👩‍💻 Не проспите AbortController

Сегодня я хотел бы поговорить об одном из стандартных JavaScript API, который вы, скорее всего, проспали. Он называется AbortController.

AbortController — это глобальный класс в JavaScript, который можно использовать для прерывания, ну, в общем, чего угодно!

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

📱 @dev_notes_ru

#JavaScript #AbortController
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
👩‍💻 Логирование - критически важный компонент в любом приложении для разработки и мониторинга, особенно в нелокальных средах.

В Laravel есть фасад Log и несколько методов, таких как info(), debug() и т.д.

Но знаете ли вы, что также есть функция хелпер logger()? Она сохраняет сообщения уровня debug в log файл.

Поскольку это функция хелпер, нет необходимости импортировать какие-либо классы, что делает её быстрой и простой в использовании, особенно в серверных редакторах, таких как Vim.

📱 @dev_notes_ru

#laravel #debug #php #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
👩‍💻 Создание анимации орбиты с помощью CSS переменных

Давайте анимируем CSS переменные! Это мощный способ применения CSS анимации, которая в противном случае была бы утомительной или непрактичной.

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

📱 @dev_notes_ru

#frontend #css #animation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
💡 Совет по Laravel: Просмотр информации о модели

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

📱 @dev_notes_ru

#laravel #artisan #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1🤣1
👩‍💻 Практические советы по доступности, которые можно применить сегодня

Мы все бывали там, когда, торопясь уложиться в срок, создавали выпадающее меню или модальное окно, не задумываясь о его доступности. Но что, если внести несколько небольших изменений, которые могли бы значительно улучшить работу с сайтом для широкого круга пользователей? Доступность не должна быть сложной задачей или галочкой в графе соответствие. Речь идёт о создании продуктов, которыми могут пользоваться все, независимо от их способностей, технической грамотности, операционной системы или устройства.

В этой статье я поделюсь практическими советами о том, как правильно разметить три распространённых шаблона пользовательского интерфейса. Независимо от того, являетесь ли вы новичком в области доступности или просто нуждаетесь в освежении, эти советы помогут создавать более инклюзивные интерфейсы. Также привожу ссылки на примеры реализации и внешние ресурсы, чтобы можно было воочию убедиться, как эти изменения влияют на удобство использования. Вы увидите, как несколько продуманных корректировок могут изменить всё к лучшему.

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

📱 @dev_notes_ru

#frontend #a11y #html #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
💡 Совет по Laravel: Хелпер `today()`

Иногда нужно получить сегодняшнюю дату. Хотя это можно сделать несколькими способами, Laravel поставляется с понятным хелпером today(), предназначаемым именно для этого. Можно передавать часовые пояса и подключать другие полезные методы 🚀.

📱 @dev_notes_ru

#laravel #helper #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
👩‍💻 Ставить точку с запятой или нет

С тех пор как я начал изучать этот язык, JavaScript претерпел ряд серьезных изменений. В первую очередь, похоже, стало нормой не использовать точки с запятой. Популярные проекты, такие как Vue, похоже, не используют их вообще.

Люди утверждают, что автоматической вставки точки с запятой (ASI) достаточно. Не нужно печатать больше, чем нужно.

Так ли важна точки с запятой на самом деле?

Вопрос мнения

Вы можете подумать, что использование точки с запятой зависит от мнения разработчика - использовать её или нет, в зависимости от того, что он предпочитает. Однако возникает вопрос. Действительно ли они необходимы при любых обстоятельствах?

Ответ - да. Точки с запятой действительно необходима при определенных обстоятельствах, и отсутствие точки с запятой может привести к ошибкам в коде.

Рассмотрим несколько примеров, когда точка с запятой абсолютно необходима в JavaScript.

Несколько выражений в одной строке

Не знаю, зачем кому-то понадобилось писать такой код, но взгляните на него:

let x = 5; let y = 10; console.log(x + y);


Если убрать точки с запятой и вставить код в консоль, возникнет синтаксическая ошибка: unexpected token: 'let'. Возможно, нужно просто написать быстрый скрипт, чтобы сделать какую-то хитрость на веб-странице. В этом случае необходимо использовать точки с запятой.

Немедленно вызываемые функциональные выражения (IIFE)

Точка с запятой особенно важна, когда новая строка начинается с открытой круглой скобки ( или открытой квадратной скобки [. Эти символы могут быть неправильно интерпретированы движком JavaScript, если точка с запятой не поставлена, так как JavaScript может предположить, что вы пытаетесь немедленно вызвать функцию или получить доступ к массиву.

let x = 5
(function() {
console.log('Hello, world!');
})(); // Uncaught TypeError: 5 is not a function


Этот код выглядит невинно, но JavaScript попытается интерпретировать вторую строку так, как будто она является частью первой, что совершенно бессмысленно, и действительно приведет к ошибке.

Конечно, добавление точки с запятой в конце первого утверждения устраняет проблему.

Согласованность между языками

Если вы разработчик, работающий с несколькими языками программирования, использование точек с запятой поможет сохранить единый стиль кодирования. Во многих других языках, таких как Java, C# и C++, точка с запятой является обязательной.

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

Использовать или не использовать точку с запятой

JavaScript позволяет опускать точки с запятой во многих ситуациях, но я считаю, что для ясности, удобства сопровождения и во избежание головной боли (и сумасшествия) лучше использовать точки с запятой в коде. Это также поможет сохранить последовательность в разных языках. Так что, серьезно... почему бы и нет?

#JavaScript #semicolon
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3💯1🤣1
👩‍💻 Руководство по деструктуризации в JavaScript

Если вы проводите много времени, пробираясь через современный JavaScript, то, скорее всего, встречали столько многоточий (...), что даже самый задумчивый герой ролевых игр 90-х был бы посрамлён. Я не буду винить вас за то, что вы находите их немного запутанными. Конечно, я не виню вас за то, что находите что-то в JavaScript запутанным, но я всегда считал эти многоточия уникально не интуитивными с первого взгляда. Не помогает и то, что часто сталкиваетесь с этими маленькими чудаками в контексте деструктурирующего присваивания, которое само по себе является странным синтаксисом.

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

📱 @dev_notes_ru

#JavaScript #spread #rest #guide
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1👏1
🤔 А вы знаете о методе withoutDelay() в Laravel Queue?

Queue в Laravel позволяют выполнять код (Jobs) в фоновом режиме, быстро отвечая на запросы пользователей.

Чтобы отправить задания в очередь, используется метод dispatch() соответствующего класса Job.

Иногда в заданиях может быть задана задержка по умолчанию, например, переопределением метода delay().

Если в определенном сценарии необходимо отправить задание немедленно, можно добавить метод withoutDelay() к вызову метода dispatch(), и задание будет отправлено без задержки.

📱 @dev_notes_ru

#laravel #queue #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
👩‍💻 Новое в Symfony 7.2: Week, WordCount и Yaml ограничения

В Symfony 7.2 появилось три новых ограничения: первое проверяет номера недель, второе проверяет количество слов, а третье проверяет синтаксис YAML.

Это первая статья из цикла рассказывающего о наиболее важных нововведениях в Symfony 7.2, релиз которой состоится в конце ноября 2024 года.

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

📱 @dev_notes_ru

#Symfony #features
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
👩‍💻 Что такое Docker и как он устроен

Docker произвёл революцию в создании, доставке и работе приложений, представив подход контейнеризации, объединяющий различные технологии для упаковки и развёртывания программного обеспечения. Давайте рассмотрим концепции, лежащие в основе Docker.

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

📱 @dev_notes_ru

#DevOps #Docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1