https://habr.com/ru/articles/799019/
Руслан Гнатовский aka @Number55 в своей статье Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя описал известную проблему протекания бизнес-логики из агрегата, в случае если эта логика зависит от данных которые находятся вне агрегата, и предложил несколько решений этой проблемы, каждое из которых не лишено недостатков. Многие из этих недостатков были описаны в статье, а также в комментариях, поэтому я не буду здесь дублировать эту информацию а попытаюсь предложить решение, которое этих недостатков лишено.
PHP-BE1
Руслан Гнатовский aka @Number55 в своей статье Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя описал известную проблему протекания бизнес-логики из агрегата, в случае если эта логика зависит от данных которые находятся вне агрегата, и предложил несколько решений этой проблемы, каждое из которых не лишено недостатков. Многие из этих недостатков были описаны в статье, а также в комментариях, поэтому я не буду здесь дублировать эту информацию а попытаюсь предложить решение, которое этих недостатков лишено.
PHP-BE1
Хабр
Паттерн Aggregate Outside
Руслан Гнатовский aka @Number55 в своей статье Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя описал известную проблему протекания бизнес-логики из агрегата, в случае если эта...
⚡️Как эффективно работать с сущностями в Битрикс24?
Узнайте на бесплатном практическом уроке «Модели данных, ORM в Битрикс24» от OTUS, где вы вместе с опытным экспертом научитесь:
☑️ создавать новую модель списка (информационного блока);
☑️ добавлять новое поле в модель;
☑️ выводить данные с использованием registerRuntimeField и ReferenceField.
🗓Встречаемся 25 марта в 17:00 мск в рамках курса «Разработчик Битрикс24». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: регистрация
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Узнайте на бесплатном практическом уроке «Модели данных, ORM в Битрикс24» от OTUS, где вы вместе с опытным экспертом научитесь:
☑️ создавать новую модель списка (информационного блока);
☑️ добавлять новое поле в модель;
☑️ выводить данные с использованием registerRuntimeField и ReferenceField.
🗓Встречаемся 25 марта в 17:00 мск в рамках курса «Разработчик Битрикс24». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: регистрация
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Какие из следующих способов создания массива являются правильными?
Anonymous Quiz
9%
$state[0] = "codescracker";
15%
$state = array("codescracker");
72%
Все вышеперечисленное
4%
Ничего из вышеперечисленного
https://habr.com/ru/articles/800497/
12 марта 2024, года официально вышла Laravel 11. Спустя час после этой новости я решил обновлять свой небольшой пет-проект, который сделан на Laravel 10 до 11-й версии. И вот, сейчас я поделюсь с вами тем, как я обновлялся и какие подводные камни могут быть. Погнали.
PHP-BE1
12 марта 2024, года официально вышла Laravel 11. Спустя час после этой новости я решил обновлять свой небольшой пет-проект, который сделан на Laravel 10 до 11-й версии. И вот, сейчас я поделюсь с вами тем, как я обновлялся и какие подводные камни могут быть. Погнали.
PHP-BE1
Хабр
Как я обновлял свой проект на Laravel c 10-й версии на 11-ю
Сегодня, 12 марта 2024, года официально вышла Laravel 11 . Спустя час после этой новости я решил обновлять свой небольшой пет-проект, который сделан на Laravel 10 до 11-й версии. И вот, сейчас я...
К скольким предопределенным исключениям SPL предоставляет доступ?
Anonymous Quiz
32%
13
27%
14
20%
15
22%
16
https://habr.com/ru/articles/800723/
При любых изменениях в базе данных, а также ошибках запросов к некоторым внешним сервисам необходимо "записывать" эти действия с целью их последующего вывода в ответ на запрос к API.
PHP-BE1
При любых изменениях в базе данных, а также ошибках запросов к некоторым внешним сервисам необходимо "записывать" эти действия с целью их последующего вывода в ответ на запрос к API.
PHP-BE1
Хабр
Система уведомлений в ресурсах Laravel
В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения. В этой мы...
Какой из следующих фильтров проверяет, существует ли переменная указанного типа?
Anonymous Quiz
21%
filter_has_var
66%
filter_var
2%
filter_id
11%
filter_var_array
https://habr.com/ru/articles/802387/
В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и насколько они точны. Также, кроме уточнения самой доли рынка хотелось получить статистику по используемым версиям Joomla.
PHP-BE1
В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и насколько они точны. Также, кроме уточнения самой доли рынка хотелось получить статистику по используемым версиям Joomla.
PHP-BE1
Хабр
Исследование: какую долю занимает Joomla среди ru-сайтов в 2024 году?
В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и...
Численно индексированный массив PHP начинается с позиции
Anonymous Quiz
99%
0
1%
1
0%
2
0%
Ничего из вышеперечисленного
Контекстные данные для журналов Laravel
Log::withContext() - это метод в Laravel 11, который позволяет добавлять контекстные данные к журнальным записям. Вы можете использовать его для обогащения журнала информацией, связанной с текущим запросом или задачей в очереди. Например:
Log::withContext(['user_id' => $user->id])->info('User logged in');
В этом примере мы добавляем user_id в контекст журнала для записи о входе пользователя. Это полезно для отладки, мониторинга или аудита ваших приложений.
Log::withContext() - это метод в Laravel 11, который позволяет добавлять контекстные данные к журнальным записям. Вы можете использовать его для обогащения журнала информацией, связанной с текущим запросом или задачей в очереди. Например:
Log::withContext(['user_id' => $user->id])->info('User logged in');
В этом примере мы добавляем user_id в контекст журнала для записи о входе пользователя. Это полезно для отладки, мониторинга или аудита ваших приложений.
Упрощение группировки данных в JavaScript
Группировка данных в JavaScript используется для организации и категоризации данных, что облегчает их анализ и обработку.
Object.groupBy() - статический метод, который позволяет легко группировать объекты по строкам.
Пример:
const tasks = [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" },
];
const tasksByProject = Object.groupBy(tasks, (task) => task.project);
console.log(tasksByProject);
Результат:
{
"Проект A": [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" }
],
"Проект B": [
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" }
]
}
Map.groupBy() - альтернатива и используется, если ключи не строки.
Пример:
const tasksByTag = new Map().groupBy(tasks, (task) => task.tag);
Группировка данных в JavaScript используется для организации и категоризации данных, что облегчает их анализ и обработку.
Object.groupBy() - статический метод, который позволяет легко группировать объекты по строкам.
Пример:
const tasks = [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" },
];
const tasksByProject = Object.groupBy(tasks, (task) => task.project);
console.log(tasksByProject);
Результат:
{
"Проект A": [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" }
],
"Проект B": [
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" }
]
}
Map.groupBy() - альтернатива и используется, если ключи не строки.
Пример:
const tasksByTag = new Map().groupBy(tasks, (task) => task.tag);
Трансляция анонимных событий в Laravel 11.5
https://laravel.com/docs/11.x/broadcasting#anonymous-events
@php_be1
https://laravel.com/docs/11.x/broadcasting#anonymous-events
@php_be1
Уязвимость в glibc/iconv
Подробнее о переполнение буфера в glibc, которое можно использовать через PHP (CVE-2024-2961). В настоящее время не существует решения этой проблемы, но существует обходной путь.
https://www.php.net/archive/2024.php#2024-04-24-1
@php_be1
Подробнее о переполнение буфера в glibc, которое можно использовать через PHP (CVE-2024-2961). В настоящее время не существует решения этой проблемы, но существует обходной путь.
https://www.php.net/archive/2024.php#2024-04-24-1
@php_be1