ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку 👈

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

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

Открыть в Telegram

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

Больше
Buy Ad
463
Подписчики
Нет данных24 часа
-37 дней
+130 дней
Архив постов
👩‍💻 PHP 8.4.0 перешёл в фазу релиз-кандидата! Официальный релиз состоится 21 ноября, поэтому самое время начать тестировать
👩‍💻 PHP 8.4.0 перешёл в фазу релиз-кандидата! Официальный релиз состоится 21 ноября, поэтому самое время начать тестировать приложения. 📱 @dev_notes_ru #php #rc

👩‍💻 Новые значения и функции в CSS 13 сентября 2024 года рабочая группа CSS выпустила первый публичный рабочий проект модул
👩‍💻 Новые значения и функции в CSS 13 сентября 2024 года рабочая группа CSS выпустила первый публичный рабочий проект модуля CSS Values and Units Module Level 5. Он является продолжением предыдущего уровня и включает несколько интересных дополнений. Вещи, которые ещё недавно были немыслимы, пробивают себе дорогу в спецификации: случайные значения, использование атрибутов в качестве значений в любом свойстве, возможность использовать порядок в вычислениях… Это выглядит многообещающе. Многие из этих функций имеют общую черту: они упрощают CSS код. То, что раньше требовало множества правил или хаков, теперь можно будет сделать с помощью пары строк CSS. Как я уже сказал, это выглядит многообещающе. Вот список новых изменений (более подробная информация ниже): ✅ Изменения в функции attr(): теперь она может использоваться с любым атрибутом и в любом свойстве CSS (не только в content). ✅ Функция calc-size(): использует в расчётах внутренние значения, такие как auto или min-content. ✅ Новая функция first-valid() позволяет избежать проблем с пользовательскими свойствами с невалидными значениями. ✅ Новое семейство функций *-mix() с новой нотацией для соотношений. ✅ Новое семейство функций *-progress() для вычисления соотношения прогресса между диапазонами или внутри media, или container. ✅ Рандомизация с помощью новых функций random() и random-item() для возвращения случайных значений из диапазона или списка (наконец-то!) ✅ Новые функции sibling-count() и sibling-index(), предоставляющие целочисленные значения для операций в зависимости от порядка и размера. ✅ Новая функция toggle() для стилизации вложенных элементов, позволяющая циклически перебирать список значений. ✅Новая функциональная нотация для аргументов со списками значений, разделённых запятыми, позволяющая избежать двусмысленности с запятой, разделяющей аргументы. ✅Новые модификаторы URL для обеспечения большего контроля над url() запросами. ✅ Расширение до типа позиции, позволяющее использовать значения относительно потока. 🖥 Читать статью 📱 @dev_notes_ru #frontend #css

👩‍💻 Внимание разработчики Laravel Если добавляете что-либо в файл .env, пожалуйста, не забудьте обновить и example.env! Это
👩‍💻 Внимание разработчики Laravel Если добавляете что-либо в файл .env, пожалуйста, не забудьте обновить и example.env! Это часть поддержания чистоты и организованности проектов. 📱 @dev_notes_ru

💡 Совет по Laravel: Метод `whereLike` В своих приложениях мы часто используем выражение where(..., 'like', ...). Знаете ли в
💡 Совет по Laravel: Метод `whereLike` В своих приложениях мы часто используем выражение where(..., 'like', ...). Знаете ли вы, что Laravel поставляется с методом whereLike, позволяющим сделать ещё один шаг вперёд и сделать оператор like нечувствительным к регистру? 🚀 📱 @dev_notes_ru #laravel #php #tips

👩‍💻 Все доступные в Laravel PHP атрибуты Атрибуты PHP — отличный способ добавить метаданные к классам, методам и свойствам.
👩‍💻 Все доступные в Laravel PHP атрибуты Атрибуты PHP — отличный способ добавить метаданные к классам, методам и свойствам. Laravel предоставляет множество атрибутов из коробки, которые можно использовать в приложениях. Обзор PHP атрибутов Laravel с примерами от Christoph Rumpel. 🖥 Читать статью 📱 @dev_notes_ru #laravel #php #attribute

💡 Совет по Laravel: Одновременное выполнение задач Начиная с Laravel v11.23, вы можете выполнять задачи одновременно. Это мо
💡 Совет по Laravel: Одновременное выполнение задач Начиная с Laravel v11.23, вы можете выполнять задачи одновременно. Это может ускорить работу, если есть независимые задачи, которые могут выполняться одновременно 🚀. 📱 @dev_notes_ru #laravel #php #tips

👩‍💻 Градиентный текст с тенью В наши дни градиентный текст довольно легко сделать с помощью background-clip: text; — но это
👩‍💻 Градиентный текст с тенью В наши дни градиентный текст довольно легко сделать с помощью background-clip: text; — но это убивает возможность использовать text-shadow. На помощь приходит SVG. 🖥 Читать статью 📱 @dev_notes_ru #frontend #css #svg

💡 Совет по Laravel: Правило Требуется, если принято (заполнено) При проверке форм иногда требуется условно требовать заполне
💡 Совет по Laravel: Правило Требуется, если принято (заполнено) При проверке форм иногда требуется условно требовать заполнение одного поля, если было заполнено другое. Laravel поставляется с правилом required_if_accepted, позволяющим сделать именно это 🚀. 📱 @dev_notes_ru #laravel #php #tips

👩‍💻 PHP 8.4: Константа E_STRICT объявлена устаревшей Все ошибки, предупреждения и уведомления в PHP имеют уровень ошибки, и
👩‍💻 PHP 8.4: Константа E_STRICT объявлена устаревшей Все ошибки, предупреждения и уведомления в PHP имеют уровень ошибки, и с помощью функций error_reporting и set_error_handler PHP приложения могут контролировать, о каких ошибках сообщается, и переопределять поведение обработки ошибок по умолчанию с помощью обратного вызова. PHP имеет широкий диапазон уровней ошибок, причём константа E_ALL является битовой маской OR всех констант E_, что означает установку сообщения об ошибках или обработчика ошибок для сообщения/обработки всех ошибок, предупреждений и уведомлений. Одним из уровней ошибок, ранее выдаваемых PHP, был E_STRICT, когда код не был строго корректным, чтобы обеспечить совместимость и дальнейшее развитие. В PHP 7.0 большинство существующих предупреждений E_STRICT были преобразованы в E_NOTICE, а начиная с PHP 8.0 все предупреждения E_STRICT были преобразованы в E_NOTICE. Поскольку все уведомления E_STRICT были преобразованы в E_NOTICE начиная с PHP 8.0, в PHP 8.4 константа E_STRICT объявлена устаревшей.
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT); // Constant E_STRICT is deprecated
🖥 Читать статью 📱 @dev_notes_ru #php #php84 #e_strict #deprecation

💡 Совет по Laravel Метод eloquent orderByRaw() позволяет просто передать сырой запрос для упорядочивания результатов. Наприм
💡 Совет по Laravel Метод eloquent orderByRaw() позволяет просто передать сырой запрос для упорядочивания результатов. Например, сортировка по разнице между двумя столбцами. 📱 @dev_notes_ru #laravel #php #tips

👩‍💻 git switch и git checkout: В чем разница Команды git switch и git checkout используются для изменения веток, но у них е
👩‍💻 git switch и git checkout: В чем разница Команды git switch и git checkout используются для изменения веток, но у них есть различия в синтаксисе и поведении. Разберёмся в чём разница между ними. Одна из важнейших особенностей Git — возможность создавать различные ветки и работать в них. Ветки — это как параллельные временные линии проекта, в которых можно работать над различными функциями или экспериментами, не затрагивая стабильный код. Мы перемещаемся между ветками с помощью git switch или git checkout. 🖥 Читать статью 📱 @dev_notes_ru #git

👩‍💻 Удаление единиц измерения из любых CSS значений Хотите преобразовать значение длины в значение без единицы измерения? И
👩‍💻 Удаление единиц измерения из любых CSS значений Хотите преобразовать значение длины в значение без единицы измерения? Из любого значения CSS можно убрать единицу измерения, для получения целого числа! ⚠️ Это экспериментальный хак ⚠️
@property --unitless-val {
  syntax: '<integer>';
  inherits: true;
  initial-value: 0; 
}
@property --_u {
  syntax: '<length>';
  inherits: true;
  initial-value: 0; 
}
:root {
  --val: 25em; /* используем любую единицу измерения длинны (px, em, ex, ch, rem, ...)*/
  
  /* умножаем, затем делим на наибольшее значение, чтобы получить единицу измерения */
  --_m: 3.35544e07; /* это значение зависит от браузера */
  --_u: calc(var(--val)*var(--_m));
  --unit: calc(var(--_u)/var(--_m)); /* = 1em  */
  
  --unitless-val: tan(atan2(var(--val),var(--unit))); /* = 25 */
  /* В ближайшем будущем можно будет сделать
    --unitless-val: calc(var(--val)/var(--unit));
  */
}
/* для Firefox нужно другое значение */
@supports (-moz-appearance: none) {
  :root {
    --_m: 3.40282e38;
  }
}
Вы можете подумать, что можно использовать Infinity в качестве наибольшего значения, но это не сработает, потому что при делении на бесконечность всегда будет получаться 0. Проверено в 👩‍💻 Firefox, 👩‍💻 Chrome и 👩‍💻 Edge. В Firefox работает только с px, потому что значение преобразуется в px внутри переменной --_u. 👩‍💻 Пример на CodePen 📱 @dev_notes_ru #css #hack

👩‍💻 Из всех функций, выпущенных недавно (после Laracon US), одной из моих любимых стала функция defer(). Функция defer(), к
👩‍💻 Из всех функций, выпущенных недавно (после Laracon US), одной из моих любимых стала функция defer(). Функция defer(), как следует из названия, позволяет отложить (проще говоря, перенести) выполнение функции или замыкания после того, как ответ будет отправлен обратно клиенту. Это удобно для небольших операций, выполняемых в фоновом режиме, когда назначение задания очереди (Queue Job) может оказаться слишком сложным - например, для отправки уведомлений. Кроме того, функция`defer() проверяет код состояния ответа (`2xx), чтобы убедиться в его успешности перед выполнением замыкания. 📱 @dev_notes_ru #laravel #defer #php #tips

💡 Совет по Laravel: Хелпер Pipeline Часто нужно обработать входные данные в несколько этапов, например, применить фильтры за
💡 Совет по Laravel: Хелпер Pipeline Часто нужно обработать входные данные в несколько этапов, например, применить фильтры запроса или очистить данные в многоступенчатой цепочке. Если столкнулись с подобной ситуацией, воспользуйтесь хелпером Pipeline 🚀. 📱 @dev_notes_ru #laravel #pipeline #tips

👩‍💻 Обновления PHP: Блокируйте регрессии с PHPStan Часто, когда думают о PHPStan, обычно думают об улучшении Type Coverage.
👩‍💻 Обновления PHP: Блокируйте регрессии с PHPStan Часто, когда думают о PHPStan, обычно думают об улучшении Type Coverage. На самом деле это лишь малая часть того, на что способен PHPStan. В статье рассмотрим, как использовать его для предотвращения регрессий обновления. Регрессия обновления — это когда в приложении есть функциональность, от которой необходимо отказаться. Это может быть код внутри приложения или код в установленной зависимости. Часто при попытке выполнить обновление не удаётся сделать всё за один раз. Вместо этого приходится вносить небольшие поэтапные изменения. В то же время не хочется, чтобы другие разработчики продолжали использовать устаревшие методы и свойства. В такой ситуации вызовы новых методов и т. д. являются регрессом в процессе обновления приложения. 🖥 Читать статью 📱 @dev_notes_ru #php #PHPStan

💡 Совет по Laravel: Пропустить задания, когда пакет отменен При работе с пакетными заданиями лучше всего проверять, не отмен
💡 Совет по Laravel: Пропустить задания, когда пакет отменен При работе с пакетными заданиями лучше всего проверять, не отменен ли пакет перед выполнением задания, и это не обязательно делать вручную, потому что middleware SkipIfBatchCancelled делает именно это 🚀. 📱 @dev_notes_ru #laravel #middleware #tips

Чем тестируете 👩‍💻?
Anonymous voting

👩‍💻 Синтаксис Pest vs PHPUnit: Примеры expect() У фреймворка тестирования Pest много поклонников, в основном из-за элегантн
👩‍💻 Синтаксис Pest vs PHPUnit: Примеры expect() У фреймворка тестирования Pest много поклонников, в основном из-за элегантного, читабельного «англоязычного» синтаксиса. Я покажу три моих любимых примера синтаксиса expect() и сравню аналогичные вещи в Pest vs PHPUnit. В целом, эта тема вызывает много мнений, и синтаксис — это личное предпочтение. На Reddit есть пост годичной давности, где люди выступают против синтаксиса Pest. Но мне он нравится. Позвольте продемонстрировать примеры. 🖥 Читать статью 📱 @dev_notes_ru #php #testing #pest #phpunit

📱 @dev_notes_ru #joke
📱 @dev_notes_ru #joke

👩‍💻 Упростите проверку существования с Eloquent через методы exists() и doesntExist() Однострочная проверка существования б
👩‍💻 Упростите проверку существования с Eloquent через методы exists() и doesntExist() Однострочная проверка существования без лишних хлопот 📱 @dev_notes_ru #laravel #eloquent #tips